/* =========================================================
   Saad Guild — Design System (converted from oklch tokens)
   Warm ivory ground, charcoal type, cognac accent.
   ========================================================= */

:root{
  --radius: 2px;
  --ivory: #F7F4EF;
  --charcoal: #211D1A;
  --cognac: #8A5A34;
  --warm-grey: #79736C;
  --line: #E4DFD6;
  --card: #FBFAF7;
  --secondary: #EDE8E0;
  --destructive: #A8452E;

  --background: var(--ivory);
  --foreground: var(--charcoal);
  --muted-foreground: var(--warm-grey);
  --border: var(--line);
  --accent: var(--cognac);

  --font-display: "Playfair Display", "Times New Roman", serif;
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

*{box-sizing:border-box;border-color:var(--border);}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html.sg-lock,html.sg-lock body{overflow:hidden;}
body{
  overflow-x:hidden;
  background-color:var(--background);
  color:var(--foreground);
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.6;
  margin:0;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-0.01em;
  margin:0;
}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
a,button{-webkit-tap-highlight-color:transparent;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
input{font-family:inherit;}
::selection{background:var(--cognac);color:var(--ivory);}

/* ---------- Layout ---------- */
.shell{width:100%;max-width:1400px;margin-inline:auto;padding-inline:1.25rem;}
@media (min-width:768px){.shell{padding-inline:2.5rem;}}
@media (min-width:1280px){.shell{padding-inline:5rem;}}

.section-y{padding-block:4.5rem;}
@media (min-width:768px){.section-y{padding-block:7rem;}}
@media (min-width:1280px){.section-y{padding-block:9rem;}}

.border-t{border-top:1px solid var(--border);}
.border-y{border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.bg-secondary{background:var(--secondary);}
.bg-foreground{background:var(--foreground);}
.text-background{color:var(--ivory);}

/* ---------- Typography utilities ---------- */
.eyebrow{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--muted-foreground);font-weight:500;
}
.display-hero{
  font-family:var(--font-display);font-weight:400;line-height:1.05;
  letter-spacing:-0.02em;font-size:clamp(2.75rem,8vw,6rem);
}
.display-section{
  font-family:var(--font-display);font-weight:400;line-height:1.12;
  letter-spacing:-0.015em;font-size:clamp(1.875rem,4.2vw,3rem);
}
.display-page{
  font-family:var(--font-display);font-weight:400;line-height:1.08;
  letter-spacing:-0.02em;font-size:clamp(2.25rem,5.5vw,4rem);
}
.muted{color:var(--muted-foreground);}
.max-w-2xl{max-width:42rem;}
.max-w-lg{max-width:32rem;}
.max-w-md{max-width:28rem;}
.max-w-xl{max-width:36rem;}
.center{text-align:center;margin-inline:auto;}

.link-underline{position:relative;}
.link-underline::after{
  content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform 300ms ease;
}
@media (hover:hover){.link-underline:hover::after{transform:scaleX(1);}}
.link-underline:focus-visible::after{transform:scaleX(1);}

/* ---------- Buttons ---------- */
.btn-base{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:var(--radius);padding:1rem 2rem;font-size:.75rem;font-weight:500;
  text-transform:uppercase;letter-spacing:.14em;
  transition:background-color 250ms ease,color 250ms ease,border-color 250ms ease;
  cursor:pointer;
}
.btn-solid{border:1px solid var(--charcoal);background:var(--charcoal);color:var(--ivory);}
.btn-solid:hover{background:transparent;color:var(--charcoal);}
.btn-outline{border:1px solid var(--charcoal);background:transparent;color:var(--charcoal);}
.btn-outline:hover{background:var(--charcoal);color:var(--ivory);}
.btn-cream{border:1px solid var(--ivory);background:var(--ivory);color:var(--charcoal);}
.btn-cream:hover{background:transparent;color:var(--ivory);}
.btn-ghost-light{border:1px solid rgba(247,244,239,.7);background:transparent;color:var(--ivory);}
.btn-ghost-light:hover{background:var(--ivory);color:var(--charcoal);}
.btn-base:disabled{opacity:.5;cursor:not-allowed;}

/* ---------- Media effects ---------- */
.zoom-media{overflow:hidden;display:block;}
.zoom-media img{transition:transform 600ms cubic-bezier(.2,.6,.2,1);will-change:transform;}
@media (hover:hover) and (pointer:fine){.zoom-media:hover img{transform:scale(1.05);}}

.js .reveal{opacity:0;transform:translateY(24px);transition:opacity 900ms cubic-bezier(.2,.6,.2,1),transform 900ms cubic-bezier(.2,.6,.2,1);}
.js .reveal.is-shown{opacity:1;transform:none;}

/* =========================================================
   Header
   ========================================================= */
.sg-header{
  position:fixed;inset-inline:0;top:0;z-index:50;
  transition:background-color 500ms ease,border-color 500ms ease;
  border-bottom:1px solid transparent;background:transparent;
}
.sg-header.is-solid{
  border-bottom:1px solid var(--border);
  background:rgba(247,244,239,.95);
  backdrop-filter:blur(6px);
}
.sg-header .shell{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  height:68px;
}
@media (min-width:768px){.sg-header .shell{height:84px;}}
.sg-logo{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-0.01em;color:var(--ivory);transition:color .4s;}
@media (min-width:768px){.sg-logo{font-size:1.5rem;}}
.sg-header.is-solid .sg-logo,
.sg-header.on-light .sg-logo{color:var(--foreground);}

.sg-nav{display:none;align-items:center;gap:2rem;}
@media (min-width:1024px){.sg-nav{display:flex;}}
.sg-nav a{font-size:13px;letter-spacing:.02em;color:var(--ivory);transition:color .4s;}
.sg-header.is-solid .sg-nav a,
.sg-header.on-light .sg-nav a{color:var(--foreground);}
.sg-nav a:hover, .sg-nav a.current{color:var(--accent);}

.sg-actions{display:flex;align-items:center;gap:.25rem;color:var(--ivory);transition:color .4s;}
.sg-header.is-solid .sg-actions,
.sg-header.on-light .sg-actions{color:var(--foreground);}
.sg-actions button,.sg-actions a{color:inherit;position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
@media (hover:hover){.sg-actions button:hover,.sg-actions a:hover{color:var(--accent);}}
.sg-cart-count{
  position:absolute;top:5px;right:2px;display:flex;align-items:center;justify-content:center;
  width:17px;height:17px;border-radius:50%;background:var(--accent);color:var(--ivory);
  font-size:10px;font-weight:500;
}
.sg-menu-toggle{display:inline-flex !important;}
@media (min-width:1024px){.sg-menu-toggle{display:none !important;}}

.sg-mobile-nav{
  position:fixed;inset:0;z-index:60;background:var(--background);
  visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s;
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding-bottom:env(safe-area-inset-bottom);
}
.sg-mobile-nav.is-open{visibility:visible;opacity:1;transition-delay:0s;}
.sg-mobile-nav .shell{display:flex;align-items:center;justify-content:space-between;height:68px;}
.sg-mobile-nav nav{display:flex;flex-direction:column;margin-top:2.5rem;padding-inline:1.25rem;}
.sg-mobile-nav nav a{
  border-bottom:1px solid var(--border);padding-block:1.25rem;min-height:56px;
  font-family:var(--font-display);font-size:1.5rem;
}

/* ---------- Hero ---------- */
.sg-hero{position:relative;display:flex;align-items:flex-end;height:100vh;height:100svh;min-height:560px;overflow:hidden;}
.sg-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.sg-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(33,29,26,.85), rgba(33,29,26,.35) 55%, rgba(33,29,26,.2));
}
.sg-hero .shell{position:relative;z-index:1;padding-bottom:6rem;}
@media (min-width:768px){.sg-hero .shell{padding-bottom:8rem;}}
.sg-hero-content{max-width:640px;}
.sg-hero-content .eyebrow{color:rgba(247,244,239,.8);}
.sg-hero-content h1{color:var(--ivory);margin-top:1.5rem;}
.sg-hero-content p{color:rgba(247,244,239,.85);margin-top:1.75rem;max-width:500px;font-size:15px;line-height:1.7;}
.sg-hero-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem;}
@media (min-width:640px){.sg-hero-actions{flex-direction:row;}}
.sg-scroll-cue{position:absolute;bottom:28px;inset-inline:0;display:flex;justify-content:center;z-index:1;color:rgba(247,244,239,.7);animation:sg-bounce 2s infinite;}
@media (max-height:700px){.sg-scroll-cue{display:none;}}
@keyframes sg-bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(6px);}}

/* ---------- Category cards ---------- */
.sg-categories-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:3.5rem;}
@media (min-width:768px){.sg-categories-grid{grid-template-columns:repeat(3,1fr);margin-top:5rem;}}
.sg-cat-card{position:relative;display:block;height:440px;background:var(--secondary);}
@media (min-width:768px){.sg-cat-card{height:560px;}}
@media (min-width:1024px){.sg-cat-card{height:600px;}}
.sg-cat-card img{width:100%;height:100%;object-fit:cover;}
.sg-cat-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top, rgba(33,29,26,.8), rgba(33,29,26,.1) 60%, transparent);
  transition:opacity .5s;
}
@media (hover:hover){.sg-cat-card:hover::after{opacity:.9;}}
.sg-cat-caption{position:absolute;inset-inline:0;bottom:0;padding:2rem;text-align:center;z-index:1;}
.sg-cat-caption h3{color:var(--ivory);font-size:26px;}
@media (min-width:768px){.sg-cat-caption h3{font-size:30px;}}
.sg-cat-caption p{margin-top:.75rem;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:rgba(247,244,239,.8);}

/* ---------- Product cards ---------- */
.sg-product-grid{display:grid;grid-template-columns:1fr;gap:2rem 2rem;margin-top:3.5rem;}
@media (min-width:640px){.sg-product-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.sg-product-grid{grid-template-columns:repeat(3,1fr);gap:2rem 2rem;row-gap:4rem;}}
.sg-product-card .sg-media{aspect-ratio:4/5;background:var(--secondary);margin-bottom:1.25rem;overflow:hidden;position:relative;}
.sg-product-card .sg-media img{width:100%;height:100%;object-fit:cover;}
.sg-sale-badge{
  position:absolute;top:12px;left:12px;z-index:2;background:var(--foreground);color:var(--ivory);
  font-size:11px;text-transform:uppercase;letter-spacing:.14em;padding:5px 10px;
}
.sg-media-link{display:block;width:100%;height:100%;}
.sg-quick-add{
  position:absolute;inset-inline:0;bottom:0;z-index:2;padding:.95rem;min-height:44px;text-align:center;
  display:flex;align-items:center;justify-content:center;
  background:rgba(33,29,26,.92);color:var(--ivory);font-size:11px;text-transform:uppercase;
  letter-spacing:.14em;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;
}
.sg-quick-add:focus-visible{opacity:1;transform:none;}
@media (hover:hover) and (pointer:fine){.sg-product-card:hover .sg-quick-add{opacity:1;transform:none;}}
/* touch screens have no hover: always show the action */
@media (hover:none),(pointer:coarse){.sg-quick-add{opacity:1;transform:none;background:rgba(33,29,26,.85);}}
.sg-product-card .sg-p-cat{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);}
.sg-product-card .sg-p-name{margin-top:.5rem;font-size:16px;}
.sg-product-card .sg-p-name a{display:inline-block;padding-block:.15rem;}
.sg-product-card .sg-p-price{margin-top:.5rem;font-size:14px;}
.sg-price-strike{color:var(--muted-foreground);text-decoration:line-through;margin-right:.5rem;font-size:13px;}
.sg-price-currency{color:var(--muted-foreground);font-size:11px;margin-left:.25rem;}

/* ---------- Editorial / two-col ---------- */
.sg-editorial{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
@media (min-width:1024px){.sg-editorial{grid-template-columns:3fr 2fr;gap:5rem;}}
.sg-editorial .sg-media{aspect-ratio:4/3;overflow:hidden;background:var(--secondary);}
.sg-editorial .sg-media img{width:100%;height:100%;object-fit:cover;}
.sg-editorial-text p{margin-top:1.25rem;font-size:15px;line-height:1.7;color:var(--muted-foreground);}

.sg-story{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center;}
@media (min-width:1024px){.sg-story{grid-template-columns:1fr 1fr;gap:6rem;}}
.sg-story .sg-media{aspect-ratio:1/1;overflow:hidden;background:var(--secondary);}
.sg-story .sg-media img{width:100%;height:100%;object-fit:cover;}
.sg-story-text p{margin-top:1.75rem;max-width:28rem;font-size:15px;line-height:1.7;color:var(--muted-foreground);}
.sg-story-text a{margin-top:2.25rem;display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);}

/* ---------- Social proof ---------- */
.sg-social-proof{padding-block:4rem;text-align:center;}
.sg-stars{display:flex;justify-content:center;gap:.4rem;color:var(--accent);}
.sg-stars svg{width:14px;height:14px;}
.sg-social-proof p{margin-top:1.25rem;font-size:13px;letter-spacing:.02em;color:var(--muted-foreground);}

/* ---------- Benefits ---------- */
.sg-benefits{display:grid;grid-template-columns:1fr;gap:3rem;}
@media (min-width:640px){.sg-benefits{grid-template-columns:1fr 1fr;}}
@media (min-width:1024px){.sg-benefits{grid-template-columns:repeat(4,1fr);gap:2.5rem;}}
.sg-benefit svg{width:28px;height:28px;color:var(--accent);}
.sg-benefit h3{margin-top:1.5rem;font-family:var(--font-sans);font-size:15px;font-weight:500;}
.sg-benefit p{margin-top:.6rem;max-width:240px;font-size:14px;line-height:1.6;color:var(--muted-foreground);}

/* ---------- Newsletter ---------- */
.sg-newsletter{text-align:center;}
.sg-newsletter h2{color:var(--ivory);}
.sg-newsletter p{margin-top:1.25rem;font-size:14px;color:rgba(247,244,239,.7);}
.sg-newsletter-form{display:flex;flex-direction:column;gap:.75rem;margin-top:2.5rem;}
@media (min-width:640px){.sg-newsletter-form{flex-direction:row;}}
.sg-newsletter-form input{
  flex:1;border:1px solid rgba(247,244,239,.3);background:transparent;padding:1rem 1.25rem;
  font-size:16px;color:var(--ivory);outline:none;border-radius:0;
}
.sg-newsletter-form input::placeholder{color:rgba(247,244,239,.45);}
.sg-newsletter-form input:focus{border-color:var(--ivory);}
.sg-newsletter-msg{margin-top:1rem;font-size:13px;color:rgba(247,244,239,.7);}
.sg-newsletter-msg.error{color:#f0b3a5;}

/* =========================================================
   Footer
   ========================================================= */
.sg-footer{background:var(--foreground);color:rgba(247,244,239,.75);padding-block:5rem 2.5rem;}
.sg-footer .sg-logo{color:var(--ivory);font-size:1.35rem;}
.sg-footer-grid{display:grid;grid-template-columns:1fr;gap:3rem;padding-bottom:4rem;}
@media (min-width:640px){.sg-footer-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.sg-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}
.sg-footer h4{
  font-family:var(--font-sans);font-size:12px;text-transform:uppercase;letter-spacing:.16em;
  color:var(--ivory);margin-bottom:1.5rem;font-weight:500;
}
.sg-footer ul li{margin-bottom:.35rem;font-size:14px;}
.sg-footer ul a{display:inline-block;padding-block:.5rem;}
@media (hover:hover){.sg-footer a:hover{color:var(--ivory);}}
.sg-footer-bottom{
  border-top:1px solid rgba(247,244,239,.15);padding-top:2rem;
  display:flex;flex-direction:column;gap:1rem;font-size:12px;
}
@media (min-width:640px){.sg-footer-bottom{flex-direction:row;justify-content:space-between;}}
.sg-footer-bottom a{display:inline-block;margin-right:1.5rem;padding-block:.5rem;}
.sg-footer{padding-bottom:calc(2.5rem + env(safe-area-inset-bottom));}

/* =========================================================
   Inner / content pages
   ========================================================= */
.sg-page-hero{position:relative;height:46vh;min-height:320px;display:flex;align-items:flex-end;overflow:hidden;}
.sg-page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sg-page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(33,29,26,.75), rgba(33,29,26,.15));}
.sg-page-hero .shell{position:relative;z-index:1;padding-bottom:3.5rem;}
.sg-page-hero h1{color:var(--ivory);}

.sg-content{max-width:44rem;}
.sg-content p{margin-top:1.25rem;font-size:15px;line-height:1.75;color:var(--muted-foreground);}
.sg-content h2{margin-top:3rem;font-size:1.5rem;}
.sg-content h3{margin-top:2rem;font-size:1.15rem;font-family:var(--font-sans);font-weight:600;}

.sg-breadcrumb{font-size:12px;letter-spacing:.05em;color:var(--muted-foreground);text-transform:uppercase;margin-bottom:2rem;}
.sg-breadcrumb a:hover{color:var(--accent);}

/* Contact */
.sg-form{max-width:36rem;}
.sg-field{margin-bottom:1.5rem;}
.sg-field label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);margin-bottom:.6rem;}
.sg-field input, .sg-field textarea{
  width:100%;border:1px solid var(--border);background:var(--card);padding:.9rem 1rem;
  font-size:16px;outline:none;transition:border-color .25s;font-family:inherit;border-radius:0;
}
.sg-field input:focus, .sg-field textarea:focus{border-color:var(--foreground);}
.sg-field textarea{min-height:140px;resize:vertical;}
.sg-form-msg{margin-top:1rem;font-size:13px;}
.sg-form-msg.success{color:#3f6b3f;}
.sg-form-msg.error{color:var(--destructive);}

/* FAQ accordion */
.sg-accordion-item{border-bottom:1px solid var(--border);}
.sg-accordion-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding-block:1.5rem;text-align:left;font-family:var(--font-display);font-size:1.05rem;
}
.sg-accordion-trigger svg{width:16px;height:16px;flex-shrink:0;transition:transform .3s;}
.sg-accordion-item.is-open .sg-accordion-trigger svg{transform:rotate(180deg);}
.sg-accordion-panel{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.sg-accordion-panel-inner{padding-bottom:1.5rem;font-size:14px;line-height:1.7;color:var(--muted-foreground);max-width:38rem;}

/* Shop / category archive */
.sg-shop-header{padding-block:4rem 2rem;}
.sg-shop-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border);}
.sg-shop-toolbar select{border:1px solid var(--border);background:var(--card);padding:.75rem 1rem;min-height:44px;font-size:16px;border-radius:0;}

/* Single product */
.sg-single-product{display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:6rem;min-width:0;}
@media (min-width:1024px){.sg-single-product{grid-template-columns:1.3fr 1fr;gap:4rem;}}
.sg-single-product>*{min-width:0;}
.sg-gallery{min-width:0;}
.sg-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;background:var(--secondary);outline-offset:2px;}
.sg-gallery-track::-webkit-scrollbar{display:none;}
.sg-gallery-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;aspect-ratio:4/5;overflow:hidden;}
.sg-gallery-slide img{width:100%;height:100%;object-fit:cover;}
.sg-gallery-dots{display:flex;justify-content:center;gap:.5rem;margin-top:.9rem;}
.sg-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .25s,transform .25s;}
.sg-dot.is-active{background:var(--foreground);transform:scale(1.25);}
.sg-product-thumbs{display:none;gap:.75rem;margin-top:.75rem;}
@media (min-width:1024px){.sg-product-thumbs{display:flex;}.sg-gallery-dots{display:none;}}
.sg-thumb{padding:0;width:72px;height:90px;opacity:.6;transition:opacity .25s;overflow:hidden;}
.sg-thumb img{width:100%;height:100%;object-fit:cover;}
.sg-thumb.is-active{opacity:1;outline:1px solid var(--foreground);outline-offset:2px;}
@media (hover:hover){.sg-thumb:hover{opacity:1;}}
.sg-single-info .sg-p-cat{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);}
.sg-single-info h1{margin-top:.75rem;font-size:clamp(1.75rem,3vw,2.5rem);}
.sg-single-info .sg-p-price{margin-top:1rem;font-size:1.15rem;}
.sg-single-info .sg-p-desc{margin-top:1.5rem;font-size:15px;line-height:1.75;color:var(--muted-foreground);}
.sg-single-info .sg-p-desc p+p{margin-top:1rem;}
.sg-size-row{display:flex;gap:.6rem;margin-top:.9rem;flex-wrap:wrap;}
.sg-size-error{margin-top:.75rem;font-size:13px;color:var(--destructive);}
.sg-size-btn{border:1px solid var(--border);min-width:48px;min-height:48px;padding:.6rem .75rem;font-size:14px;text-align:center;}
.sg-size-btn.is-active{border-color:var(--foreground);background:var(--foreground);color:var(--ivory);}
@media (hover:hover){.sg-size-btn:hover{border-color:var(--foreground);}}
.sg-qty-row{display:flex;align-items:stretch;gap:1rem;margin-top:2rem;}
.sg-qty-row input{width:72px;min-height:52px;border:1px solid var(--border);background:var(--card);padding:.75rem;text-align:center;font-size:16px;border-radius:0;}
.sg-add-cart{flex:1;margin-top:0;min-height:52px;}
.sg-accordion-mini summary{cursor:pointer;padding-block:1.1rem;min-height:48px;border-top:1px solid var(--border);font-size:13px;text-transform:uppercase;letter-spacing:.1em;}
.sg-accordion-mini p{padding-bottom:1rem;font-size:14px;color:var(--muted-foreground);line-height:1.7;}

/* Cart drawer (WooCommerce mini-cart wrapper) */
.sg-cart-drawer{
  position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;background:var(--background);
  z-index:70;transform:translateX(100%);visibility:hidden;
  transition:transform .4s cubic-bezier(.2,.6,.2,1),visibility 0s .4s;
  display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.15);
  padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:contain;
}
.sg-cart-drawer.is-open{transform:translateX(0);visibility:visible;transition-delay:0s;}
.sg-cart-overlay{position:fixed;inset:0;background:rgba(33,29,26,.5);z-index:65;opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s;}
.sg-cart-overlay.is-open{opacity:1;visibility:visible;transition-delay:0s;}
.sg-cart-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem 1rem 1.5rem;border-bottom:1px solid var(--border);}
.sg-cart-drawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.5rem;}
.sg-cart-drawer-foot{padding:1.5rem;border-top:1px solid var(--border);}

/* Icon buttons (svg sizing helper) */
.icon-18{width:18px;height:18px;}
.icon-20{width:20px;height:20px;}

/* Screen-reader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* =========================================================
   v1.1 — mobile, touch & accessibility layer
   ========================================================= */
.sg-close-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit;}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;margin:0;clip:auto;padding:.75rem 1rem;background:var(--foreground);color:var(--ivory);z-index:100;}
.sg-main:focus{outline:none;}
.sg-hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}

/* page top spacing: clears the fixed header without wasting a phone screen */
.sg-page-top{padding-top:6.5rem;}
.section-y.sg-page-top{padding-top:6.5rem;}
@media (min-width:768px){.sg-page-top,.section-y.sg-page-top{padding-top:9rem;}}
.sg-content-wide{max-width:64rem;}

/* search overlay */
.sg-search-overlay .sg-search-shell{display:block;height:auto;padding-top:5.5rem;}
.sg-search-form{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--foreground);padding-bottom:.75rem;}
.sg-search-form input[type=search]{flex:1;min-width:0;background:transparent;border:none;outline:none;font-family:var(--font-display);font-size:1.5rem;color:var(--foreground);-webkit-appearance:none;appearance:none;border-radius:0;}
.sg-search-results{margin-top:1.5rem;display:flex;flex-direction:column;}
.sg-search-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border);min-height:64px;}
.sg-search-item img{width:56px;height:70px;object-fit:cover;background:var(--secondary);}
.sg-search-item strong{display:block;font-family:var(--font-display);font-weight:400;font-size:1.1rem;}
.sg-search-item em{font-style:normal;font-size:13px;color:var(--muted-foreground);}
.sg-search-all{align-self:flex-start;margin-top:1.25rem;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);padding-block:.5rem;}

/* shop toolbar / pagination */
.sg-sort{display:inline-block;}
.sg-pagination{margin-top:4rem;}
.sg-pagination .nav-links,.navigation.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .75rem;border:1px solid var(--border);font-size:14px;}
.page-numbers.current{background:var(--foreground);color:var(--ivory);border-color:var(--foreground);}
.sg-post-summary{padding-block:2rem;border-bottom:1px solid var(--border);}
.sg-post-summary a:hover{color:var(--accent);}

/* WooCommerce notices + mini cart (inherit the theme look) */
.woocommerce-message,.woocommerce-error,.woocommerce-info{list-style:none;margin:0 0 1.5rem;padding:1rem 1.25rem;border:1px solid var(--border);background:var(--card);font-size:14px;}
.woocommerce-error{border-color:var(--destructive);color:var(--destructive);}
.woocommerce-mini-cart{list-style:none;margin:0;padding:0;}
.woocommerce-mini-cart-item{position:relative;display:block;padding:1rem 2.5rem 1rem 0;border-bottom:1px solid var(--border);min-height:80px;font-size:14px;}
.woocommerce-mini-cart-item img{float:left;width:56px;height:70px;object-fit:cover;margin-right:1rem;}
.woocommerce-mini-cart-item a.remove{position:absolute;right:0;top:.75rem;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:22px;line-height:1;color:var(--muted-foreground);}
.woocommerce-mini-cart-item dl.variation{margin:.25rem 0 0;font-size:12px;color:var(--muted-foreground);}
.woocommerce-mini-cart-item dl.variation dt,.woocommerce-mini-cart-item dl.variation dd,.woocommerce-mini-cart-item dl.variation p{display:inline;margin:0;}
.woocommerce-mini-cart__total{display:flex;justify-content:space-between;margin:1.25rem 0;font-size:15px;}
.woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:.6rem;}
.woocommerce-mini-cart__buttons .button{display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--charcoal);font-size:12px;text-transform:uppercase;letter-spacing:.14em;}
.woocommerce-mini-cart__buttons .button.checkout{background:var(--charcoal);color:var(--ivory);}
.woocommerce-mini-cart__empty-message{color:var(--muted-foreground);}
.sg-content-wide .woocommerce table{width:100%;border-collapse:collapse;}
.sg-content-wide .woocommerce input,.sg-content-wide .woocommerce select,.sg-content-wide .woocommerce textarea{font-size:16px;max-width:100%;}
.sg-content-wide .woocommerce .button{min-height:48px;}
.sg-content-wide .woocommerce table.shop_table{display:block;overflow-x:auto;}

/* sticky add-to-cart bar (phones/tablets) */
.sg-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom));background:rgba(247,244,239,.97);border-top:1px solid var(--border);box-shadow:0 -10px 30px -20px rgba(33,29,26,.35);transform:translateY(110%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.6,.2,1),visibility 0s .35s;}
.sg-sticky-atc.is-visible{transform:none;visibility:visible;transition-delay:0s;}
.sg-sticky-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.sg-sticky-name{font-family:var(--font-display);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sg-sticky-price{font-size:13px;color:var(--muted-foreground);}
.sg-sticky-atc .btn-base{width:auto;padding:.9rem 1.5rem;min-height:48px;flex-shrink:0;}
@media (min-width:1024px){.sg-sticky-atc{display:none;}}

/* phones */
@media (max-width:767px){
  input,select,textarea{font-size:16px;} /* stops iOS Safari zooming the page on focus */
  .sg-badge,.sg-sale-badge{font-size:11px;}
  .sg-p-cat,.sg-breadcrumb{font-size:12px;}
  .sg-cat-caption p{font-size:12px;}
  .btn-base{min-height:50px;width:100%;}
  .sg-hero-actions .btn-base{width:100%;}
  .sg-qty-row .btn-base{width:auto;}
  .sg-footer-bottom a{margin-right:1rem;}
  .sg-cart-drawer{max-width:100%;}
}
@media (max-width:379px){
  .sg-actions{gap:0;}
  .sg-logo{font-size:1.1rem;}
}
