/* ── MarcPrints theme — light green + black (v2) ────────────────────────────── */
:root{
  --green:#6cc61f;        /* primary (buttons) */
  --green-d:#8ad63f;      /* green text/links — BRIGHT for dark bg */
  --green-l:#b6ea7d;      /* lightest accent */
  --green-100:#21301a;    /* dark-green soft panel */
  --green-50:#0f120e;     /* page background (dark) */
  --black:#080a07;        /* darkest — header/footer/hero */
  --black-2:#12160f;      /* raised dark */
  --ink:#e7ece0;          /* body text (light) */
  --muted:#95a088;        /* secondary text */
  --line:#2a3126;         /* borders */
  --card:#181d15;         /* elevated surfaces */
  --danger:#ff6f5c;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 6px 22px rgba(13,15,12,.07);
  --shadow-h:0 16px 44px rgba(13,15,12,.16);
  --ring:0 0 0 4px rgba(105,196,29,.18);
  --head:'Sora',-apple-system,Segoe UI,Roboto,sans-serif;
  --body:'Inter',-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--green-50);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand{font-family:var(--head);letter-spacing:-.02em}
a{color:var(--green-d);text-decoration:none}
a:hover{color:var(--green)}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.small{font-size:.85rem}
img{max-width:100%}
.eyebrow{font-family:var(--head);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-d)}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--green);color:#0d0f0c;border:0;border-radius:999px;
  padding:.66rem 1.3rem;font-family:var(--head);font-weight:600;font-size:.95rem;cursor:pointer;transition:.18s;line-height:1.2;box-shadow:0 4px 14px rgba(105,196,29,.32)}
.btn:hover{background:var(--green-l);color:#0d0f0c;transform:translateY(-2px);box-shadow:0 8px 22px rgba(105,196,29,.4)}
.btn-lg{padding:.92rem 1.9rem;font-size:1.05rem}
.btn-sm{padding:.42rem .9rem;font-size:.84rem;box-shadow:none}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn-ghost:hover{background:var(--black-2);border-color:var(--green);color:var(--green-d);box-shadow:none}
.btn-on-dark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28);box-shadow:none}
.btn-on-dark:hover{background:rgba(255,255,255,.08);border-color:var(--green-l);color:#fff}
.btn:disabled{background:#2a3126;color:#6b7460;cursor:not-allowed;transform:none;box-shadow:none}
.link-btn{background:none;border:0;color:var(--green-d);cursor:pointer;padding:0;font:inherit}
.link-btn.danger{color:var(--danger)}
.link-btn:hover{text-decoration:underline}

/* ── Storefront header ── */
.site-header{background:rgba(13,15,12,.92);backdrop-filter:saturate(140%) blur(10px);position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;font-weight:800;font-size:1.3rem}
.brand:hover{color:#fff}
.brand-mark{color:var(--green-l);transform:translateY(1px)}
.main-nav{display:flex;align-items:center;gap:1.8rem}
.main-nav a{color:#d6ddcd;font-family:var(--head);font-weight:500;font-size:.95rem}
.main-nav a:hover{color:var(--green-l)}
.cart-link{position:relative}
.cart-badge{position:absolute;top:-9px;right:-15px;background:var(--green);color:#0d0f0c;font-size:.68rem;font-weight:800;
  min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}

main.wrap{padding-top:34px;padding-bottom:64px;min-height:60vh}

/* ── Hero ── */
.hero{position:relative;overflow:hidden;border-radius:24px;margin-bottom:18px;color:#fff;
  background:radial-gradient(120% 130% at 85% 0%,#2f4d16 0%,#16190f 45%,#0d0f0c 100%)}
.hero::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(105,196,29,.5),transparent 62%);filter:blur(14px)}
.hero-inner{position:relative;padding:66px 56px;max-width:740px}
.hero .eyebrow{color:var(--green-l)}
.hero h1{font-size:3.05rem;line-height:1.06;margin:.7rem 0 .9rem;font-weight:800}
.hero .hl{color:var(--green-l)}
.hero p{font-size:1.15rem;color:#c6cfba;margin:0 0 1.7rem;max-width:540px}
.hero-cta{display:flex;gap:.8rem;flex-wrap:wrap}

/* ── Feature strip ── */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 44px}
.feature{display:flex;gap:.7rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.feature .ic{flex:none;width:38px;height:38px;border-radius:10px;background:var(--green-100);color:var(--green-d);display:flex;align-items:center;justify-content:center;font-size:1.15rem}
.feature b{display:block;font-family:var(--head);font-size:.95rem;color:var(--ink)}
.feature span{font-size:.84rem;color:var(--muted);line-height:1.4}

/* ── Sections ── */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.3rem}
.section-title{font-size:1.7rem;color:var(--ink);margin:.15rem 0 0;font-weight:800}
.search{display:flex;gap:.5rem}
.search input{border:1.5px solid var(--line);border-radius:999px;padding:.6rem 1rem;font:inherit;min-width:240px;background:var(--card)}
.search input:focus{outline:none;border-color:var(--green);box-shadow:var(--ring)}

.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.chip{background:var(--card);border:1.5px solid var(--line);color:var(--ink);padding:.4rem 1rem;border-radius:999px;font-family:var(--head);font-size:.86rem;font-weight:500;transition:.15s}
.chip:hover{border-color:var(--green);color:var(--green-d)}
.chip.on{background:var(--black);color:#fff;border-color:var(--ink)}

/* ── Product grid ── */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:24px;margin-bottom:48px}
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  display:flex;flex-direction:column;transition:.2s;border:1px solid var(--line)}
.card:hover{box-shadow:var(--shadow-h);transform:translateY(-4px);border-color:var(--green-l)}
.card-img{display:block;height:204px;background:#222c1b center/cover no-repeat;position:relative;overflow:hidden}
.card-img.ph{background:linear-gradient(135deg,#dcefc4,#eef7e0 55%,#d7ead0)}
.card-img.ph::after{content:"▲";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.4rem;color:rgba(105,196,29,.42)}
.card:hover .card-img{filter:saturate(108%)}
.tag{position:absolute;top:12px;left:12px;background:var(--green);color:#0d0f0c;font-family:var(--head);font-size:.68rem;font-weight:700;
  padding:.24rem .6rem;border-radius:6px;text-transform:uppercase;letter-spacing:.06em;z-index:2}
.tag-out{left:auto;right:12px;background:var(--black);color:#fff}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:.45rem;flex:1}
.card-cat{font-family:var(--head);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-d);font-weight:700}
.card-title{font-size:1.06rem;margin:0;line-height:1.28;font-weight:700}
.card-title a{color:var(--ink)}
.card-title a:hover{color:var(--green-d)}
.card-rating{display:flex;align-items:center;gap:.3rem;margin-top:-.1rem}
.card-rating .stars{font-size:.95rem}
.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem}
.price{font-family:var(--head);font-weight:800;color:var(--ink);font-size:1.18rem}
.price-lg{font-size:2rem;color:var(--green-d)}

/* ── Product detail ── */
.back{display:inline-block;margin-bottom:1.1rem;color:var(--muted);font-family:var(--head);font-weight:500;font-size:.9rem}
.product{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.product-img{height:440px;background:#222c1b center/cover no-repeat;border-radius:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.product-img.ph{background:linear-gradient(135deg,#dcefc4,#eef7e0 55%,#d7ead0)}
.product-img.ph::after{content:"▲";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:6rem;color:rgba(105,196,29,.4)}
.product-media{display:flex;flex-direction:column;gap:12px}
.thumbs{display:flex;gap:10px;flex-wrap:wrap}
.pthumb{width:72px;height:72px;border-radius:10px;background:#222c1b center/cover no-repeat;cursor:pointer;border:2px solid var(--line);transition:.15s}
.pthumb:hover{border-color:var(--green-l)}
.pthumb.on{border-color:var(--green);box-shadow:var(--ring)}
.product-info h1{font-size:2.2rem;color:var(--ink);margin:.4rem 0 .5rem;font-weight:800}
.stock{font-family:var(--head);font-weight:600;font-size:.9rem;margin:.2rem 0 1rem;display:inline-flex;align-items:center;gap:.4rem}
.stock::before{content:"";width:9px;height:9px;border-radius:50%}
.stock.in{color:var(--green-d)} .stock.in::before{background:var(--green)}
.stock.out{color:var(--danger)} .stock.out::before{background:var(--danger)}
.desc{white-space:pre-line;color:var(--ink);margin-bottom:1.3rem}
.add-form{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-top:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.add-form label{font-family:var(--head);font-weight:600;font-size:.82rem;color:var(--muted);display:flex;flex-direction:column;gap:.3rem}
.add-form input,.add-form select{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.6rem;font:inherit;background:var(--card)}
.add-form input[type=number]{width:84px}
.add-form select{min-width:130px}
.add-form button{margin-left:auto}

/* ── Cart ── */
.cart-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.cart-table th{background:var(--green-100);text-align:left;padding:.75rem 1rem;font-family:var(--head);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.cart-table td{padding:.8rem 1rem;border-top:1px solid var(--line);vertical-align:middle}
.thumb{display:inline-block;width:48px;height:48px;border-radius:10px;background:#222c1b center/cover no-repeat;vertical-align:middle}
.thumb.lg{width:92px;height:92px}
.qty-in{width:66px;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.4rem;font:inherit}
.cart-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1.1rem;gap:1rem;flex-wrap:wrap}
.cart-actions.end{justify-content:flex-end}
.cart-total{font-family:var(--head);font-size:1.2rem}
.cart-total strong{margin-left:.6rem;color:var(--ink)}

/* ── Checkout ── */
.checkout{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;align-items:start}
.checkout-form label{display:block;font-family:var(--head);font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:1rem}
.checkout-form input,.checkout-form textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  padding:.65rem .8rem;font:inherit;margin-top:.35rem}
.checkout-form input:focus,.checkout-form textarea:focus{outline:none;border-color:var(--green);box-shadow:var(--ring)}
.summary .sum-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed var(--line)}
.summary .sum-row.total{border-bottom:0;border-top:2px solid var(--line);margin-top:.4rem;padding-top:.85rem;font-family:var(--head);font-size:1.2rem}
.card-box{background:var(--card);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);border:1px solid var(--line)}
.card-box h3{margin-top:0;color:var(--ink)}

.confirm{max-width:540px;margin:48px auto;text-align:center}
.confirm .check{width:74px;height:74px;border-radius:50%;background:var(--green);color:#0d0f0c;font-size:2.3rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;box-shadow:0 8px 24px rgba(105,196,29,.4)}
.confirm h1{color:var(--ink);margin:.2rem 0;font-size:2rem}

.alert{padding:.75rem 1.1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-weight:600}
.alert.err{background:#fdebe8;color:var(--danger);border:1px solid #f3c4bc}
.alert.ok{background:var(--green-100);color:var(--green-d);border:1px solid var(--green-l)}
.empty{color:var(--muted);padding:34px 0;font-size:1.05rem}

/* ── Order tracking ── */
.track-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;max-width:640px;margin-bottom:24px}
.track-form label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--head);font-weight:600;font-size:.85rem;color:var(--ink);flex:1;min-width:180px}
.track-form input{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .75rem;font:inherit}
.track-result{max-width:720px}
.track-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.track-head h2{margin:.1rem 0 0;font-size:1.5rem}
.track-cancelled{color:var(--danger);font-weight:600}
.timeline{list-style:none;display:flex;padding:0;margin:0 0 1.6rem;counter-reset:s}
.timeline li{flex:1;position:relative;text-align:center;color:var(--muted)}
.timeline li .dot{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;
  margin:0 auto .5rem;background:var(--card);border:2px solid var(--line);color:var(--muted);font-weight:700;position:relative;z-index:2}
.timeline li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--line);z-index:1}
.timeline li:first-child::before{display:none}
.timeline li .tl-label{font-family:var(--head);font-size:.82rem;font-weight:600}
.timeline li.done{color:var(--green-d)}
.timeline li.done .dot{background:var(--green);border-color:var(--green);color:#0d0f0c}
.timeline li.done::before{background:var(--green)}
.timeline li.current .tl-label{color:var(--green-l)}
.track-items{margin-top:.5rem}

/* ── Reviews ── */
.stars{color:#f6a609;letter-spacing:1px}
.rating-summary{display:inline-flex;align-items:center;gap:.5rem;margin:.2rem 0 .4rem}
.rating-summary:hover{text-decoration:none}
.reviews{margin-top:48px;border-top:1px solid var(--line);padding-top:30px}
.reviews-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-items:start}
.review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow)}
.review-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}
.review-head .stars{font-size:1.05rem}
.review p{margin:.3rem 0 0;color:var(--ink)}
.review-form label{display:block;font-family:var(--head);font-weight:600;font-size:.88rem;margin-bottom:.9rem;color:var(--ink)}
.review-form input[type=text],.review-form input:not([type]),.review-form input[name=author],.review-form textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .75rem;font:inherit;margin-top:.3rem}
.review-form input:focus,.review-form textarea:focus{outline:none;border-color:var(--green);box-shadow:var(--ring)}
.star-pick{display:inline-flex;flex-direction:row-reverse;margin-top:.3rem}
.star-pick input{display:none}
.star-pick > label{font-size:1.8rem;color:#d6dccb;cursor:pointer;padding:0 1px;margin:0}
.star-pick > label:hover,.star-pick > label:hover ~ label{color:#f6a609}
.star-pick input:checked ~ label{color:#f6a609}
@media(max-width:760px){.reviews-grid{grid-template-columns:1fr}}

/* ── Gallery ── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:44px}
.proj-card{position:relative;display:block;height:260px;border-radius:var(--radius);overflow:hidden;
  background:#222c1b center/cover no-repeat;box-shadow:var(--shadow);transition:.22s;border:1px solid var(--line)}
.proj-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.proj-card.ph{background:linear-gradient(135deg,#cfe9b3,#eef7e0 55%,#cfe2c6)}
.proj-card.ph::before{content:"▲";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:3.6rem;color:rgba(105,196,29,.4)}
.proj-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.25rem;padding:18px;
  background:linear-gradient(to top,rgba(13,15,12,.82) 0%,rgba(13,15,12,.25) 45%,transparent 75%);color:#fff}
.proj-overlay h3{margin:0;font-size:1.2rem;color:#fff}
.proj-cat{font-family:var(--head);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-l);font-weight:700}
.proj-count{font-size:.82rem;color:#cdd6c2}

.proj-detail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}
.proj-desc{color:var(--ink);max-width:680px;margin:0 0 1.6rem;white-space:pre-line}
.photo-grid{column-count:3;column-gap:16px}
.photo{display:block;width:100%;margin:0 0 16px;height:240px;border-radius:14px;background:#222c1b center/cover no-repeat;
  break-inside:avoid;box-shadow:var(--shadow);cursor:zoom-in;transition:.18s}
.photo:hover{transform:scale(1.015);box-shadow:var(--shadow-h)}
.photo .lightbox{position:fixed;inset:0;background:rgba(8,10,7,.92);display:none;align-items:center;justify-content:center;z-index:100;cursor:default;padding:30px}
.photo:target .lightbox{display:flex}
.photo .lightbox img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lb-close{position:absolute;top:22px;right:28px;color:#fff;font-size:1.7rem;background:rgba(255,255,255,.12);
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-close:hover{background:rgba(255,255,255,.24);color:#fff}
@media(max-width:760px){.photo-grid{column-count:2}}
@media(max-width:480px){.photo-grid{column-count:1}}

/* ── About / FAQ ── */
.about-hero{max-width:760px;margin-bottom:34px}
.about-body{white-space:pre-line;color:var(--ink);margin:.6rem 0 1.3rem;font-size:1.06rem}
.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;box-shadow:var(--shadow);overflow:hidden}
.faq-list summary{cursor:pointer;padding:16px 20px;font-family:var(--head);font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--green-d);font-size:1.4rem;font-weight:700}
.faq-list details[open] summary::after{content:"–"}
.faq-list summary:hover{color:var(--green-d)}
.faq-a{padding:0 20px 18px;color:var(--ink);white-space:pre-line}

/* ── Footer ── */
.site-footer{background:var(--black);color:#aab39c;margin-top:48px}
.footer-nav{display:flex;gap:1.3rem;flex-wrap:wrap;margin:.2rem 0}
.footer-nav a{color:#cdd6c2;font-family:var(--head);font-size:.9rem}
.footer-nav a:hover{color:var(--green-l)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:34px 0;gap:1rem;flex-wrap:wrap}
.site-footer .brand{color:#fff;font-size:1.15rem}
.site-footer .brand-mark{font-size:1.05rem}
.site-footer p{margin:.3rem 0 0;font-size:.88rem}

/* ── Admin (kept, lightly refreshed) ── */
body.admin{display:flex;background:#0f120e;min-height:100vh}
.sidebar{width:236px;background:var(--black);color:#aab39c;min-height:100vh;position:fixed;display:flex;flex-direction:column;padding:24px 0}
.sidebar .brand{padding:0 24px 20px;font-size:1.25rem;color:#fff}
.sidebar nav{display:flex;flex-direction:column;margin-top:.5rem}
.sidebar nav a{color:#aab39c;padding:.72rem 24px;font-family:var(--head);font-weight:500;border-left:3px solid transparent}
.sidebar nav a:hover{background:#191e14;color:#fff}
.sidebar nav a.on{background:#191e14;color:var(--green-l);border-left-color:var(--green)}
.sidebar-foot{margin-top:auto;padding:18px 24px 0;display:flex;flex-direction:column;gap:.6rem;border-top:1px solid #242a1c}
.sidebar-foot a,.sidebar-foot .link-btn{color:#8b9580;font-size:.9rem;text-align:left}
.admin-main{margin-left:236px;flex:1;padding:32px 38px}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;gap:1rem;flex-wrap:wrap}
.page-head h1{margin:0;color:var(--ink);font-size:1.65rem}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:18px;margin-bottom:28px}
.stat{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);border:1px solid var(--line);border-top:3px solid var(--green)}
.stat-n{display:block;font-family:var(--head);font-size:2rem;font-weight:800;color:var(--ink);line-height:1.1}
.stat-l{color:var(--muted);font-size:.85rem}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}

.table{width:100%;border-collapse:collapse;font-size:.94rem}
.table th{text-align:left;padding:.62rem .7rem;font-family:var(--head);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:2px solid var(--line)}
.table td{padding:.7rem;border-bottom:1px solid var(--line);vertical-align:middle}
.table tr:hover td{background:#fafcf6}
.total-row td{font-weight:700;border-top:2px solid var(--line)}
.row-actions{display:flex;gap:.9rem;align-items:center}
.row-actions form{display:inline}

.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-family:var(--head);font-size:.74rem;font-weight:700;background:#eaeee3;color:#5b6452;text-transform:capitalize}
.badge.s-paid{background:var(--green-100);color:var(--green-d)}
.badge.s-pending{background:var(--card)2d2;color:#b07d12}
.badge.s-shipped{background:#d9e9fb;color:#1c6cb5}
.badge.s-completed{background:var(--green);color:#0d0f0c}
.badge.s-cancelled{background:#fdebe8;color:var(--danger)}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .full{grid-column:1 / -1}
.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--head);font-weight:600;font-size:.88rem;color:var(--ink)}
.form-grid label.inline{flex-direction:row;align-items:center;gap:.5rem;font-weight:500}
.form-grid input,.form-grid textarea,.form-grid select{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.58rem .72rem;font:inherit}
.form-grid input:focus,.form-grid textarea:focus{outline:none;border-color:var(--green);box-shadow:var(--ring)}
.cur-img{display:flex;align-items:center;gap:1rem;margin:.4rem 0}
.img-manage{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.img-tile{position:relative;height:120px;border-radius:12px;background:#222c1b center/cover no-repeat;border:2px solid var(--line)}
.img-tile.is-cover{border-color:var(--green);box-shadow:var(--ring)}
.img-tile .cover-pick{position:absolute;left:6px;bottom:6px;background:rgba(13,15,12,.78);color:#fff;font-family:var(--head);
  font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:6px;display:flex;align-items:center;gap:.3rem;cursor:pointer}
.img-tile .img-del{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;
  background:rgba(210,64,44,.92);color:#fff;cursor:pointer;font-size:.8rem;line-height:1}
.img-tile .img-del:hover{background:var(--danger)}
.admin-search{margin-bottom:1.2rem}
.status-form{display:flex;gap:.5rem;margin:.3rem 0 1rem}
.status-form select{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.5rem;font:inherit}

/* ── Login ── */
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;
  background:radial-gradient(120% 120% at 50% 0%,#2f4d16,#0d0f0c 60%)}
.login-box{background:var(--card);border-radius:20px;padding:38px 36px;width:374px;box-shadow:var(--shadow-h)}
.login-brand{font-family:var(--head);font-weight:800;font-size:1.35rem;color:var(--ink);margin-bottom:.3rem}
.login-brand .brand-mark{color:var(--green)}
.login-box h1{font-size:1.05rem;color:var(--muted);font-weight:600;margin:0 0 1.3rem}
.login-box label{display:block;font-family:var(--head);font-weight:600;font-size:.88rem;margin-bottom:.9rem;color:var(--ink)}
.login-box input{width:100%;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:.65rem .78rem;font:inherit;margin-top:.32rem}
.login-box input:focus{outline:none;border-color:var(--green);box-shadow:var(--ring)}
.login-box .btn{width:100%;justify-content:center;margin-top:.5rem}

/* ── Responsive ── */
@media(max-width:900px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .product,.checkout,.cols,.form-grid{grid-template-columns:1fr}
  .hero-inner{padding:44px 28px}.hero h1{font-size:2.1rem}
  .sidebar{position:static;width:100%;min-height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px}
  .sidebar nav{flex-direction:row;flex-wrap:wrap;margin:0}
  .sidebar nav a{border-left:0;padding:.5rem .8rem}
  .sidebar-foot{margin:0 0 0 auto;border:0;flex-direction:row;padding:0}
  body.admin{flex-direction:column}.admin-main{margin-left:0;padding:20px}
}
@media(max-width:520px){.features{grid-template-columns:1fr}.hero h1{font-size:1.8rem}}

/* ── Dark-mode surface cleanup ──────────────────────────────────────────────── */
input,textarea,select{background:var(--card);color:var(--ink);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:var(--muted)}
select option{background:var(--card);color:var(--ink)}
.table tr:hover td{background:#1d2418}
.badge{background:#242a1d;color:#a9b39a}
.badge.s-pending{background:#3a3111;color:#e2ad3e}
.badge.s-shipped{background:#152c40;color:#5aa6e6}
.badge.s-cancelled{background:#3a1a16;color:#ff8a78}
.alert.err{background:#331a17;color:#ff8a78;border-color:#5a2620}
.star-pick > label{color:#39402f}
.card-img.ph,.product-img.ph{background:linear-gradient(135deg,#243019,#171c12 60%,#202b17)}
.proj-card.ph{background:linear-gradient(135deg,#26331b,#171c12 60%,#212c18)}
.card-img.ph::after,.product-img.ph::after,.proj-card.ph::before{color:rgba(138,214,63,.34)}
.thumb,.pthumb,.img-tile{background-color:#222c1b}
.hero::before{opacity:.35}
