/* =============================================================================
   Chandra Paints & Hardware — public storefront
   -----------------------------------------------------------------------------
   Part 1 below is the _plans/website.html prototype <style> block, ported
   verbatim (only reformatted onto its original lines). Do not restyle it —
   the storefront is a faithful conversion of that prototype.

   Part 2 ("STOREFRONT EXTENSIONS") covers the pages the single-page prototype
   never had (shop filters, product detail, breadcrumbs, pagination, forms,
   simple page headers, the enquiry basket). It is built only from the
   prototype's own design tokens (--ink / --gold / --cream / --line / --muted).
   ========================================================================== */

/* ---------------------------------------------------------------------------
   PART 1 — prototype <style>, verbatim
   ------------------------------------------------------------------------- */
:root{--ink:#16232c;--ink2:#0e4c7c;--cream:#f5f8fa;--paper:#fff;--gold:#ec7013;--muted:#5f6c73;--line:#dde4e8;--max:1320px;--r:10px;--ease:all .28s ease}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer;border:0}.container{max-width:var(--max);margin:auto;padding:0 28px}.topbar{height:34px;background:var(--ink);color:#e6edf0;font-size:11px;display:flex;align-items:center}.topbar .container{width:100%;display:flex;justify-content:space-between}.nav{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:50;transition:box-shadow .3s}
.navLogo{height:80px;width:auto;display:block}.nav.scrolled{box-shadow:0 8px 30px #16232c12}.navin{width:100%;display:flex;align-items:center;gap:32px}.logo{display:flex;align-items:center;gap:10px;min-width:185px}.logoMark{width:43px;height:43px;border:2px solid var(--ink);border-radius:13px 13px 13px 4px;display:grid;place-items:center;font-size:22px}.logoText{font-weight:700;letter-spacing:4px;font-size:17px;line-height:1}.logoSub{font-size:8px;letter-spacing:4px;color:#77817e;margin-top:5px}.links{display:flex;gap:27px;font-size:13px;flex:1}.links a{padding:28px 0;position:relative}.links a:hover:after{width:100%}.links a:after{content:"";position:absolute;height:2px;background:var(--gold);bottom:20px;left:0;width:0;transition:.25s}.navActions{display:flex;align-items:center;gap:15px}.search{height:38px;width:210px;background:#eef2f4;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;padding:0 12px;gap:8px}.search input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.icon{font-size:19px}.cta{background:var(--ink);color:white;border-radius:5px;padding:12px 18px;font-size:12px;font-weight:600}.hamb{display:none;background:none;font-size:25px}.hero{height:610px;position:relative;overflow:hidden;background:#16232c}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .7s}.slide.active{opacity:1}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10181fcc 0%,#10181f72 48%,#10181f05 80%)}.heroContent{position:relative;z-index:2;height:100%;display:flex;align-items:center;color:#fff}.heroCopy{max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px;color:#ffb37a;font-weight:600;margin-bottom:17px}.hero h1{font:600 clamp(44px,5vw,72px)/1.02 "Playfair Display",serif;margin:0 0 18px}.hero p{font-size:18px;max-width:540px;color:#eef3f5;margin:0 0 30px}.heroBtns{display:flex;gap:12px}.goldBtn{background:var(--gold);color:#16232c;padding:14px 21px;border-radius:4px;font-weight:700;font-size:12px}.ghostBtn{border:1px solid #ffffff80;color:#fff;padding:13px 19px;border-radius:4px;background:#ffffff0d}.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:43px;height:43px;border-radius:50%;background:#fff2;color:#fff;border:1px solid #fff5;font-size:22px}.prev{left:22px}.next{right:22px}.dots{position:absolute;z-index:3;bottom:23px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dot{width:30px;height:3px;background:#fff7}.dot.active{background:#fff}.trust{border-bottom:1px solid var(--line);background:#fff}.trustGrid{display:grid;grid-template-columns:repeat(4,1fr)}.trustItem{padding:25px 22px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}.trustItem:last-child{border:0}.trustIcon{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px}.trust b{display:block;font-size:12px;margin-bottom:4px}.trust span{font-size:10px;color:var(--muted)}section{padding:82px 0}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.kicker{font-size:10px;letter-spacing:2px;color:#6b7680;text-transform:uppercase;font-weight:700;margin-bottom:7px}.sectionHead h2{font:600 38px "Playfair Display",serif;margin:0}.view{font-size:12px;font-weight:700}.view span{margin-left:8px}.catWrap{position:relative}.catGrid{display:grid;grid-template-columns:repeat(8,1fr);gap:13px;overflow:hidden}.cat{min-width:0}.catImg{aspect-ratio:1/1.05;border-radius:6px;overflow:hidden;background:#eef1f3}.catImg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.cat:hover img{transform:scale(1.06)}.cat h3{font-size:12px;margin:10px 5px 3px}.cat p{font-size:9px;color:var(--muted);margin:0 5px}.productSec{background:var(--cream)}.productGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{background:#fff;border:1px solid #dde4e8;border-radius:7px;overflow:hidden;position:relative;transition:var(--ease)}.product:hover{transform:translateY(-4px);box-shadow:0 16px 35px #16232c14}.pimg{height:260px;background:#eef1f3;position:relative;overflow:hidden}.pimg img{width:100%;height:100%;object-fit:cover;transition:.5s}.product:hover .pimg img{transform:scale(1.045)}.heart{position:absolute;right:12px;top:12px;background:#fff;border-radius:50%;width:31px;height:31px;box-shadow:0 2px 10px #0001}.pbody{padding:16px}.tag{font-size:9px;color:var(--gold);text-transform:uppercase;font-weight:700}.product h3{font-size:14px;margin:7px 0 5px}.sku{font-size:9px;color:#7a8188}.price{font-size:15px;font-weight:700;margin:14px 0}.pactions{display:flex;gap:7px}.outline,.dark{padding:10px 12px;border-radius:4px;font-size:10px;font-weight:700}.outline{border:1px solid #d7dde1;background:white}.dark{background:var(--ink);color:#fff}.partners{background:#fff}.partnerTrack{display:flex;gap:58px;align-items:center;overflow:hidden;padding:16px 0}.partner{font-size:22px;font-weight:800;letter-spacing:-1px;white-space:nowrap;opacity:.68;filter:grayscale(1);transition:.3s}.partner:hover{opacity:1;filter:none}.gallerySec{background:#f5f8fa}.galleryLayout{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:center}.galleryCopy h2{font:600 39px "Playfair Display",serif;margin:0 0 14px}.galleryCopy p{color:var(--muted);font-size:13px;line-height:1.7}.galleryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.galleryGrid img{width:100%;height:180px;object-fit:cover;border-radius:5px}.galleryGrid img:nth-child(1){height:250px}.services{padding-top:60px}.serviceGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.service{border:1px solid var(--line);padding:20px 15px;background:#fff;display:flex;gap:10px;align-items:center}.service strong{font-size:10px;display:block}.service small{font-size:8px;color:var(--muted)}.serviceIcon{font-size:22px}.banner{background:var(--ink);color:#fff;padding:52px 0;position:relative;overflow:hidden}.banner:after{content:"";position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1600&q=80") center/cover;opacity:.18}.banner .container{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}.banner h2{font:600 34px "Playfair Display",serif;margin:0 0 5px}.banner p{margin:0;color:#cdd8dc;font-size:12px}.footer{background:#fff;padding:55px 0 0}.footerGrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:35px;padding-bottom:45px}.footer .logo{margin-bottom:18px}.blogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:36px 0 10px}
.blogCard{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.blogCard:hover{transform:translateY(-4px);box-shadow:0 16px 35px #16232c14}
.blogCardImg{display:block;aspect-ratio:16/9;background:#eef1f3;overflow:hidden}
.blogCardImg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blogCard:hover .blogCardImg img{transform:scale(1.05)}
.blogCardBody{padding:20px 20px 22px;flex:1;display:flex;flex-direction:column}
.blogCardBody time{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:700}
.blogCardBody h3{font:600 17px/1.35 "Playfair Display",serif;margin:9px 0 8px}
.blogCardBody p{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0 0 14px}
.blogCardLink{margin-top:auto;font-size:11px;font-weight:700;color:var(--ink)}
.postWrap{padding:30px 0 10px}
.postHead{max-width:760px;text-align:center}
.postHead time{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}
.postHead h1{font:600 clamp(30px,4vw,46px)/1.15 "Playfair Display",serif;margin:12px 0 14px}
.postLede{font-size:16px;color:var(--muted);line-height:1.7;margin:0}
.postCover{width:100%;max-width:900px;margin:34px auto 0;display:block;border-radius:10px;aspect-ratio:16/9;object-fit:cover}
.postBody{max-width:720px;margin:34px auto 0;font-size:15.5px;line-height:1.8;color:#293840}
.postBody p{margin:0 0 18px}
.postBody h2{font:600 24px "Playfair Display",serif;margin:34px 0 12px}
.postBody h3{font:600 19px "Playfair Display",serif;margin:28px 0 10px}
.postBody ul,.postBody ol{margin:0 0 18px;padding-left:22px}
.postBody li{margin-bottom:7px}
.postBody a{color:var(--gold);text-decoration:underline}
.postBody blockquote{margin:22px 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold);color:var(--muted);font-style:italic}
.postBody img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}
.postMore{background:#f5f8fa;padding:60px 0}
.postMore h2{font:600 26px "Playfair Display",serif;margin:0}
.postMore .blogGrid{margin-top:26px}
@media(max-width:900px){.blogGrid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:600px){.blogGrid{grid-template-columns:1fr}}
.footerDesc{font-size:11px;color:var(--muted);line-height:1.7;max-width:280px}.footerSocial{display:flex;gap:10px;margin-top:14px}.footerSocial a{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);margin:0;transition:.2s}.footerSocial a:hover{color:var(--ink);border-color:var(--ink)}.footer h4{font-size:11px;margin:4px 0 16px}.footer a,.footer li{font-size:10px;color:#5f6c73;margin-bottom:10px;display:block}.footer ul{padding:0;margin:0;list-style:none}.bottom{background:var(--ink);color:#c2ccd1;font-size:9px;padding:15px 0}.bottom .container{display:flex;justify-content:space-between}.modal{position:fixed;inset:0;background:#0b1412aa;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modalBox{background:#fff;max-width:880px;width:100%;max-height:90vh;overflow:auto;border-radius:10px}.modalHead{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modalBody{padding:22px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:28px}.quick img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.close{background:none;font-size:25px}.mobileMenu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:10px 20px 20px;border-top:1px solid var(--line);box-shadow:0 12px 24px #16232c14;}
.mobileMenu a{padding:12px 0;font-size:14px;border-bottom:1px solid var(--line);}
.mobileMenu a:last-child{border-bottom:0;}
@media(max-width:1100px){.links{gap:15px}.search{width:150px}.catGrid{grid-template-columns:repeat(4,1fr);row-gap:25px}.productGrid{grid-template-columns:repeat(3,1fr)}.serviceGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.topbar{display:none}.nav{height:70px}.navLogo{height:46px}.navin{gap:12px}.logo{min-width:0;flex:1}.logoMark{width:36px;height:36px;font-size:18px}.logoText{font-size:14px}.links,.navActions .search,.navActions .icon{display:none}.hamb{display:block}.navActions{gap:8px}.hero{height:540px}.hero h1{font-size:46px}.hero p{font-size:15px}.heroContent{padding:0 20px}.trustGrid{grid-template-columns:repeat(2,1fr)}.trustItem{padding:18px 12px}.trustItem:nth-child(2){border-right:0}.trustItem:nth-child(-n+2){border-bottom:1px solid var(--line)}section{padding:58px 0}.sectionHead h2{font-size:30px}.catGrid{display:flex;overflow:auto;padding-bottom:5px}.cat{min-width:125px}.productGrid{grid-template-columns:repeat(2,1fr);gap:10px}.pimg{height:180px}.pbody{padding:11px}.product h3{font-size:12px}.pactions .outline{display:none}.galleryLayout{grid-template-columns:1fr}.galleryGrid img,.galleryGrid img:nth-child(1){height:130px}.serviceGrid{grid-template-columns:1fr 1fr}.banner .container{display:block}.banner .cta{display:inline-block;margin-top:22px}.footerGrid{grid-template-columns:1fr 1fr;gap:25px}.footerGrid>div:first-child{grid-column:1/-1}.bottom .container{display:block}.bottom .container span{display:block;margin-top:7px}.modalBody{padding:15px}.quick{grid-template-columns:1fr}}


/* ===========================================================================
   PART 2 — STOREFRONT EXTENSIONS (pages the prototype did not have)
   Tokens only: --ink / --ink2 / --gold / --cream / --paper / --muted / --line
   ======================================================================== */

/* active nav link + clickable logo/partner ---------------------------------- */
.links a.active:after{width:100%}
a.logo{cursor:pointer}
a.partner{cursor:pointer}
img.partnerLogo{height:26px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.68;transition:.3s}
a.partner:hover img.partnerLogo{opacity:1;filter:none}

/* live-search dropdown ----------------------------------------------------- */
.search{position:relative}
.searchResults{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 40px #16232c1f;overflow:hidden;display:none;z-index:60}
.searchResults.show{display:block}
.searchResults a{display:flex;gap:10px;align-items:center;padding:10px 12px;font-size:12px;border-bottom:1px solid var(--line)}
.searchResults a:last-child{border-bottom:0}
.searchResults a:hover{background:var(--cream)}
.searchResults img{width:34px;height:34px;object-fit:cover;border-radius:4px;background:#eef1f3}
.searchResults .sr-empty{padding:14px 12px;font-size:12px;color:var(--muted)}

/* simple page header (shop / gallery / services / about / contact / blog) --- */
.pageHead{background:var(--ink);color:#fff;padding:64px 0 58px}
.pageHead .eyebrow{color:#ffb37a}
.pageHead h1{font:600 clamp(34px,4vw,52px)/1.05 "Playfair Display",serif;margin:0 0 12px}
.pageHead p{margin:0;color:#cdd8dc;font-size:14px;max-width:620px;line-height:1.7}

/* breadcrumbs ------------------------------------------------------------- */
.crumbs{font-size:11px;color:var(--muted);padding:18px 0;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.crumbs a:hover{color:var(--ink)}
.crumbs span.sep{opacity:.5}
.crumbs .current{color:var(--ink);font-weight:600}

/* shop: sidebar filters + results --------------------------------------- */
.shopLayout{display:grid;grid-template-columns:250px 1fr;gap:38px;padding:40px 0 82px;align-items:start}
.filters{border:1px solid var(--line);border-radius:8px;padding:20px;position:sticky;top:96px}
.filters h4{margin:0 0 12px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#6b7680}
.filterGroup{padding:16px 0;border-top:1px solid var(--line)}
.filterGroup:first-of-type{border-top:0;padding-top:0}
.filterGroup label{display:flex;gap:8px;align-items:center;font-size:12px;padding:5px 0;color:var(--ink);cursor:pointer}
.filterGroup input[type=checkbox],.filterGroup input[type=radio]{width:14px;height:14px;accent-color:var(--gold)}
.priceRow{display:flex;gap:8px;align-items:center;margin-top:8px}
.priceRow input{width:100%;height:34px;border:1px solid var(--line);border-radius:5px;padding:0 8px;font-size:12px;font-family:inherit}
.filterActions{display:flex;gap:8px;margin-top:18px}
.filterActions .goldBtn,.filterActions .outline{flex:1;text-align:center}
.shopToolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px;flex-wrap:wrap}
.shopToolbar .count{font-size:12px;color:var(--muted)}
.shopToolbar select{height:38px;border:1px solid var(--line);border-radius:6px;padding:0 12px;font-size:12px;font-family:inherit;background:#fff}
.chipRow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{font-size:11px;background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:5px 12px;display:inline-flex;gap:6px;align-items:center}
.chip button{background:none;color:var(--muted);font-size:13px;line-height:1}
.shopGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.filtersToggle{display:none}

/* pagination ------------------------------------------------------------- */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;font-size:12px;font-weight:600;padding:0 10px}
.pagination a:hover{border-color:var(--ink)}
.pagination .active span,.pagination span[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.pagination .disabled span{opacity:.4}

/* empty state ----------------------------------------------------------- */
.emptyState{text-align:center;padding:70px 20px;color:var(--muted)}
.emptyState .ei{width:56px;height:56px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;font-size:24px}
.emptyState h3{font:600 22px "Playfair Display",serif;color:var(--ink);margin:0 0 8px}
.emptyState p{margin:0;font-size:13px}

/* categories index ------------------------------------------------------- */
.catIndexGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:50px 0 82px}
.catParent{margin-top:10px}
.catParent > h2{font:600 26px "Playfair Display",serif;margin:34px 0 4px}
.catParent > p{color:var(--muted);font-size:12px;margin:0 0 20px}
.subCatRow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}
.subCat{font-size:12px;border:1px solid var(--line);border-radius:20px;padding:7px 14px}
.subCat:hover{border-color:var(--ink)}

/* product detail ------------------------------------------------------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding:26px 0 70px}
.pdpGallery .pdpMain{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;background:#eef1f3}
.pdpThumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pdpThumbs img{width:72px;height:72px;object-fit:cover;border-radius:6px;background:#eef1f3;cursor:pointer;border:2px solid transparent}
.pdpThumbs img.active{border-color:var(--gold)}
.pdpInfo .tag{font-size:10px}
.pdpInfo h1{font:600 clamp(28px,3vw,40px)/1.1 "Playfair Display",serif;margin:8px 0 10px}
.pdpInfo .pdpSku{font-size:11px;color:#7a8188}
.pdpInfo .pdpBrand{font-size:12px;color:var(--muted);margin-top:4px}
.pdpPrice{font-size:26px;font-weight:700;margin:20px 0 6px}
.pdpPrice .was{text-decoration:line-through;color:var(--muted);font-size:16px;font-weight:600;margin-left:10px}
.pdpStock{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.pdpStock.in{color:#1c7c4a}
.pdpStock.out{color:#b23b3b}
.pdpDesc{color:#57606a;font-size:13.5px;line-height:1.8;margin:20px 0}
.pdpActions{display:flex;gap:10px;margin-top:24px}
.pdpActions .goldBtn,.pdpActions .dark{padding:14px 22px;font-size:12px}
.pdpMeta{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:var(--muted);line-height:2}
.pdpMeta b{color:var(--ink)}
.relatedSec{background:var(--cream)}

/* forms (contact / enquiry) ------------------------------------------- */
.formCard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.formField{display:flex;flex-direction:column;gap:6px}
.formField.full{grid-column:1/-1}
.formField label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#6b7680}
.formField input,.formField textarea,.formField select{border:1px solid var(--line);border-radius:6px;padding:11px 12px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink)}
.formField textarea{min-height:120px;resize:vertical}
.formField input:focus,.formField textarea:focus,.formField select:focus{outline:0;border-color:var(--gold)}
.formError{font-size:11px;color:#b23b3b;min-height:14px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contactLayout{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:50px 0 82px;align-items:start}
.contactInfo h3{font:600 24px "Playfair Display",serif;margin:0 0 16px}
.contactInfo .ciRow{display:flex;gap:12px;font-size:13px;color:#57606a;margin-bottom:16px;line-height:1.6}
.contactInfo .ciRow i{color:var(--gold);flex-shrink:0}

/* about ---------------------------------------------------------------- */
.aboutIntro{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:70px 0;align-items:center}
.aboutIntro h2{font:600 34px "Playfair Display",serif;margin:0 0 16px}
.aboutIntro p{color:#57606a;font-size:14px;line-height:1.9;margin:0 0 14px}
.aboutStats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 70px}
.aboutStat{border:1px solid var(--line);border-radius:8px;padding:24px;text-align:center}
.aboutStat b{display:block;font:600 30px "Playfair Display",serif;color:var(--ink)}
.aboutStat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}

/* gallery full grid --------------------------------------------------- */
.galleryFull{columns:3;column-gap:12px;padding:50px 0 82px}
.galleryFull figure{margin:0 0 12px;break-inside:avoid}
.galleryFull img{width:100%;border-radius:7px;display:block;background:#eef1f3}
.galleryFull figcaption{font-size:11px;color:var(--muted);margin-top:6px}

/* services full ------------------------------------------------------- */
.servicesFull{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:50px 0 82px}
.serviceCard{border:1px solid var(--line);border-radius:9px;padding:26px;background:#fff}
.serviceCard .si{width:46px;height:46px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--gold);margin-bottom:16px}
.serviceCard h3{font:600 18px "Playfair Display",serif;margin:0 0 8px}
.serviceCard p{font-size:12.5px;color:#57606a;line-height:1.75;margin:0}

/* enquiry basket drawer (ported from the sign-off mockup) ------------- */
.cta .cta-badge{background:var(--gold);color:#16232c;border-radius:20px;font-size:10px;font-weight:700;padding:1px 6px;margin-left:6px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px}
.cta .cta-badge[hidden]{display:none}

.drawer{position:fixed;inset:0;background:#0b1412aa;z-index:110;display:none;justify-content:flex-end}
.drawer.show{display:flex}
.drawerBox{background:#fff;width:412px;max-width:100%;height:100%;display:flex;flex-direction:column;box-shadow:-24px 0 60px #16232c2e}
.dhead{display:flex;align-items:flex-start;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}
.dhead b{font:600 17px "Playfair Display",serif}
.dhead .sub{font-size:11px;color:var(--muted);margin-top:1px}
.xbtn{border:0;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 4px}
.xbtn:hover{color:var(--ink)}
.dbody{flex:1;overflow-y:auto;padding:16px 20px 8px}

.lineItem{display:grid;grid-template-columns:52px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.lineItem:first-child{padding-top:2px}
.liTile{width:52px;height:52px;border-radius:6px;background:#eef1f3;object-fit:cover;display:grid;place-items:center;font:600 20px "Playfair Display",serif;color:var(--muted);overflow:hidden}
.liTile img{width:100%;height:100%;object-fit:cover}
.liMain h5{margin:0 0 3px;font-size:13px;font-weight:600;line-height:1.3}
.liMain .sku{font-size:10px;color:#7a8188;letter-spacing:.4px}
.qty{display:inline-flex;align-items:center;margin-top:8px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.qty button{width:26px;height:26px;border:0;background:#fff;color:var(--ink);font-size:14px;line-height:1;cursor:pointer}
.qty button:hover{background:#eef1f3}
.qty span{min-width:30px;text-align:center;font-size:12px;font-weight:600}
.lineItem .rm{border:0;background:none;color:var(--muted);font-size:12px;cursor:pointer;padding:2px}
.lineItem .rm:hover{color:#b23b3b}
.lineItem.removing{opacity:0;transform:translateX(12px);transition:opacity .25s,transform .25s}

.addMore{display:inline-block;font-size:12px;color:var(--gold);font-weight:600;margin:14px 0 4px}

.dbody .formTitle{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--muted);margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--line)}
.dbody .field{margin-bottom:12px}
.dbody .field label{display:block;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.dbody .field input,.dbody .field textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:9px 11px}
.dbody .field textarea{min-height:66px;resize:vertical}
.dbody .field input:focus,.dbody .field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.dbody .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dbody .err{font-size:10.5px;color:#b23b3b;margin-top:4px;min-height:12px}
.dbody .field.invalid input{border-color:#b23b3b}

.dfoot{border-top:1px solid var(--line);padding:14px 20px 16px;background:#fff}
.dfoot .meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:10px}
.sendBtn{width:100%;background:var(--gold);color:#16232c;border:0;border-radius:6px;padding:13px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.sendBtn:hover{filter:brightness(1.04)}
.sendBtn:disabled{opacity:.6;cursor:default}
.reassure{text-align:center;font-size:10.5px;color:var(--muted);margin-top:8px}

.drawer .panel{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 34px;gap:6px}
.drawer .panel .mark{width:60px;height:60px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:26px;margin-bottom:8px;color:var(--muted)}
.drawer .panel.ok .mark{border-color:#1c7c4a;color:#1c7c4a}
.drawer .panel h3{font:600 20px "Playfair Display",serif;margin:0}
.drawer .panel p{font-size:12.5px;color:var(--muted);margin:2px 0 0;max-width:34ch}
.drawer .panel .pill{margin-top:16px;background:var(--ink);color:#fff;border:0;border-radius:6px;padding:11px 20px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;display:inline-block}

.drawer.is-empty .withItemsBody,.drawer.is-submitted .withItemsBody{display:none}
.drawer.is-empty .emptyPanel{display:flex}
.drawer.is-submitted .submittedPanel{display:flex}
.basketEmpty{text-align:center;color:var(--muted);font-size:13px;padding:50px 10px}

/* toast (mirrors AdminEngine.toast) -------------------------------- */
.toast-stack{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:10px}
.web-toast{background:var(--ink);color:#fff;padding:13px 18px;border-radius:7px;font-size:12.5px;box-shadow:0 12px 30px #16232c33;max-width:320px}
.web-toast.err{background:#b23b3b}

/* responsive extensions ----------------------------------------------- */
@media(max-width:1100px){
  .shopLayout{grid-template-columns:1fr}
  .filters{position:static}
  .filtersToggle{display:inline-flex;gap:6px;align-items:center}
  .filters{display:none}
  .filters.show{display:block}
  .shopGrid{grid-template-columns:repeat(2,1fr)}
  .catIndexGrid{grid-template-columns:repeat(3,1fr)}
  .servicesFull{grid-template-columns:repeat(2,1fr)}
  .galleryFull{columns:2}
}
@media(max-width:760px){
  .pdp{grid-template-columns:1fr;gap:26px}
  .contactLayout,.aboutIntro{grid-template-columns:1fr;gap:26px}
  .aboutStats{grid-template-columns:1fr}
  .formGrid{grid-template-columns:1fr}
  .shopGrid,.catIndexGrid{grid-template-columns:repeat(2,1fr)}
  .servicesFull{grid-template-columns:1fr}
  .galleryFull{columns:1}
  .drawerBox{width:100%}
  .pageHead{padding:44px 0 40px}
}
