/* =========================================================
   RozeeAtelier — Design Tokens
   Palette taken from brand swatch:
   #8E793E (bronze/olive), #AD974F (gold), #231F20 (ink), #EAEAEA (soft neutral)
   ========================================================= */
:root{
  --c-bronze:#8E793E;
  --c-gold:#AD974F;
  --c-ink:#231F20;
  --c-cream:#EAEAEA;
  --c-white:#FFFFFF;
  --c-text:#3A3634;
  --c-text-muted:#6f6a66;
  --c-border:#e2ded8;

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;

  --radius:10px;
  --radius-lg:20px;
  --radius-pill:999px;
  --shadow-soft:0 10px 30px -8px rgba(142,121,62,.22);
  --shadow-soft-lg:0 24px 48px -12px rgba(35,31,32,.18);
  --glass-bg:rgba(255,255,255,.6);
  --glass-border:rgba(255,255,255,.5);
  --glass-blur:blur(16px) saturate(160%);
  --glass-dark-bg:rgba(35,31,32,.38);
  --glass-dark-border:rgba(255,255,255,.14);
  --container:1240px;
  --gap:clamp(14px,2vw,24px);
  --section-pad:clamp(40px,7vw,90px);
  --transition:200ms ease;
}

/* =========================================================
   Glassmorphism utility — frosted glass panels
   Fallback: browsers without backdrop-filter get a near-opaque
   solid tint instead (still legible, just not frosted).
   ========================================================= */
.glass{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 8px 32px rgba(35,31,32,.14);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .glass{
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(16px) saturate(160%);
    -webkit-backdrop-filter:blur(16px) saturate(160%);
  }
}
.glass--dark{
  background:rgba(35,31,32,.75);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 32px rgba(0,0,0,.25);
  color:#fff;
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .glass--dark{
    background:rgba(35,31,32,.42);
    backdrop-filter:blur(16px) saturate(160%);
    -webkit-backdrop-filter:blur(16px) saturate(160%);
  }
}

/* =========================================================
   Reset / base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-text);
  background:var(--c-white);
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--c-ink);margin:0 0 .5em;letter-spacing:.01em;}
h1{font-size:clamp(1.9rem,3.4vw + 1rem,3.2rem);line-height:1.08;}
h2{font-size:clamp(1.5rem,1.8vw + 1rem,2.1rem);line-height:1.15;}
h3{font-size:clamp(1.15rem,1vw + .9rem,1.35rem);}
p{margin:0 0 1em;color:var(--c-text-muted);}
.container{max-width:var(--container);margin:0 auto;padding:0 20px;}
.screen-reader-text{position:absolute;left:-9999px;}
.ph{
  background:linear-gradient(100deg,#eeebe4 30%,#f6f4ef 45%,#eeebe4 60%);
  background-size:250% 100%;
  animation:rozee-shimmer 2.6s ease-in-out infinite;
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
}
@keyframes rozee-shimmer{0%{background-position:120% 0;}100%{background-position:-20% 0;}}
@media(prefers-reduced-motion:reduce){ .ph{animation:none;} }

/* =========================================================
   Glassmorphism utilities
   Applied only where something sits over an image, gradient,
   or dark textured surface — where the blur actually reads.
   Falls back to a solid tint on browsers without backdrop-filter.
   ========================================================= */
.glass{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  box-shadow:0 8px 32px -8px rgba(35,31,32,.16);
}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .glass{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);}
}
.glass-dark{
  background:var(--glass-dark-bg);
  border:1px solid var(--glass-dark-border);
}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
  .glass-dark{backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);}
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 700ms ease, transform 700ms ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-stagger{opacity:0;transform:translateY(18px) scale(.98);transition:opacity 550ms cubic-bezier(.16,1,.3,1), transform 550ms cubic-bezier(.16,1,.3,1);}
.reveal-stagger.is-visible{opacity:1;transform:translateY(0) scale(1);}
@media(prefers-reduced-motion:reduce){ .reveal,.reveal-stagger{opacity:1;transform:none;transition:none;} }

/* Decorative underline under every section title */
.section__title{position:relative;padding-bottom:16px;}
.section__title::after{
  content:"";position:absolute;left:0;bottom:0;width:52px;height:2px;
  background:linear-gradient(90deg,var(--c-bronze),var(--c-gold));
}
.section--center .section__title::after{left:50%;transform:translateX(-50%);}
.section--center{text-align:center;}
.section--center .section__subtitle{margin-left:auto;margin-right:auto;}

/* Buttons: lift + soft shadow on hover for a more premium feel */
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft-lg);}
.btn:active{transform:translateY(0);}

/* Subtle dotted texture behind the value banner for depth */
.value-banner{position:relative;background:var(--c-ink);background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px);background-size:16px 16px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 28px;font-family:var(--font-body);font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;font-weight:500;white-space:nowrap;
  border-radius:var(--radius-pill);cursor:pointer;border:1px solid transparent;
  box-shadow:0 1px 2px rgba(35,31,32,.06);position:relative;overflow:hidden;
  transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}
.btn__ripple{
  position:absolute;border-radius:50%;background:rgba(255,255,255,.5);
  transform:scale(0);animation:rozee-ripple 600ms ease-out forwards;pointer-events:none;
}
.btn--outline .btn__ripple{background:rgba(35,31,32,.12);}
@keyframes rozee-ripple{to{transform:scale(2.6);opacity:0;}}
@media(prefers-reduced-motion:reduce){ .btn__ripple{display:none;} }
.btn--dark{background:var(--c-ink);color:var(--c-white);}
.btn--dark:hover{background:var(--c-bronze);}
.btn--outline{background:transparent;color:var(--c-ink);border-color:var(--c-ink);}
.btn--outline:hover{background:var(--c-ink);color:var(--c-white);border-color:var(--c-ink);}
.btn--sm{padding:10px 20px;font-size:.72rem;}

/* =========================================================
   Header
   ========================================================= */
.site-header{
  border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;
  background:rgba(35,31,32,.94);
  z-index:50;transition:box-shadow var(--transition), background var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .site-header{backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);}
}
.site-header.is-scrolled{box-shadow:0 6px 28px rgba(0,0,0,.28);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;}
.site-logo-link{display:flex;align-items:center;}
.site-logo-icon{height:clamp(42px,6vw,60px);width:auto;flex-shrink:0;transition:height var(--transition);}
/* If an admin uploads their own logo via Customizer → Site Identity, WordPress
   outputs it through the_custom_logo(); keep it aligned and capped in height. */

.main-nav__list{display:flex;gap:20px;}
.main-nav__list > li{position:relative;}
.main-nav__list > li > a{position:relative;display:flex;align-items:center;gap:5px;font-size:.82rem;letter-spacing:.03em;text-transform:uppercase;color:var(--c-cream);transition:color var(--transition);padding:26px 0;white-space:nowrap;}
.main-nav__list > li > a::after{
  content:"";position:absolute;left:0;bottom:20px;width:100%;height:1.5px;
  background:linear-gradient(90deg,var(--c-gold),var(--c-bronze));
  transform:scaleX(0);transform-origin:left;transition:transform 280ms cubic-bezier(.4,0,.2,1);
}
.main-nav__list > li > a:hover::after{transform:scaleX(1);}
.main-nav__list > li > a:hover{color:var(--c-gold);}
.mega-caret{transition:transform var(--transition);flex-shrink:0;}

/* Mega menu dropdown panel (desktop) — stays a light glass surface, so its
   links keep dark text regardless of the now-dark top-level nav color. */
.mega-panel{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:520px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft-lg);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--transition), transform var(--transition), visibility var(--transition);
  z-index:80;padding:22px;
}
@media(min-width:1181px){
  .main-nav__list > li.has-mega:hover .mega-panel,
  .main-nav__list > li.has-mega:focus-within .mega-panel{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
  }
  .main-nav__list > li.has-mega:hover > a .mega-caret{transform:rotate(180deg);}
}
.mega-panel__list{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;}
.mega-panel__item a{color:var(--c-text);padding:9px 10px;text-transform:none;letter-spacing:0;font-size:.88rem;border-radius:var(--radius);}
.mega-panel__item a:hover{background:var(--c-cream);color:var(--c-bronze);}
.mega-panel__group{padding-top:4px;}
.mega-panel__group-title{
  display:block;padding:9px 10px 4px;font-size:.72rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--c-bronze);
}
.mega-panel__sublist{display:flex;flex-direction:column;}
.mega-panel__sublist .mega-panel__item a{padding-left:10px;}
/* Fabric navbar dropdown — uses the five supplied fabric photos. */
.fabric-mega-panel{
  min-width:900px;
  padding:18px;
}
.fabric-mega-panel__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.fabric-mega-card{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
  padding:8px;
  border-radius:var(--radius);
  color:var(--c-text);
  transition:transform var(--transition),background var(--transition);
}
.fabric-mega-card:hover{
  background:var(--c-cream);
  color:var(--c-bronze);
  transform:translateY(-2px);
}
.fabric-mega-card__image{
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:8px;
  background:var(--c-cream);
}
.fabric-mega-card__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.fabric-mega-card__name{
  display:block;
  font-size:.78rem;
  font-weight:600;
  text-align:center;
  letter-spacing:.02em;
}

.site-header__actions{display:flex;align-items:center;gap:14px;}
.icon-btn{
  position:relative;background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:50%;cursor:pointer;color:var(--c-cream);
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;
  transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}
.icon-btn:hover{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-ink);transform:translateY(-2px);}
.cart-count{position:absolute;top:-4px;right:-4px;background:var(--c-gold);color:var(--c-ink);font-size:.62rem;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-weight:700;}
.site-header .btn--dark{background:var(--c-gold);color:var(--c-ink);border-color:var(--c-gold);}
.site-header .btn--dark:hover{background:var(--c-cream);border-color:var(--c-cream);}
.mobile-nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.mobile-nav-toggle span{width:22px;height:2px;background:var(--c-cream);transition:transform 320ms cubic-bezier(.4,0,.2,1), opacity 200ms ease, width 200ms ease;transform-origin:center;}
.mobile-nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.mobile-nav-toggle.is-active span:nth-child(2){opacity:0;transform:scaleX(0);}
.mobile-nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.site-search-panel{max-height:0;overflow:hidden;transition:max-height var(--transition);border-top:1px solid transparent;}
.site-search-panel.is-open{max-height:80px;border-top-color:rgba(255,255,255,.1);}
.site-search-panel__form{display:flex;gap:10px;padding:14px 20px;}
.site-search-panel__form input{flex:1;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--radius);}
.site-search-panel__form button{padding:10px 18px;background:var(--c-gold);color:var(--c-ink);border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;}

/* WhatsApp floating shortcut */
.rozee-wa-float{
  position:fixed;bottom:22px;right:22px;z-index:60;
  display:flex;align-items:center;gap:8px;
  background:#25D366;color:#fff;padding:12px 16px;border-radius:40px;
  box-shadow:0 6px 18px rgba(0,0,0,.2);font-size:.8rem;font-weight:500;
  transition:transform var(--transition);
}
.rozee-wa-float:hover{transform:translateY(-2px);}
.rozee-wa-float span{display:none;}
@media(min-width:640px){ .rozee-wa-float span{display:inline;} }
.rozee-wa-inline{display:inline-flex;align-items:center;gap:6px;color:#128C4A;font-weight:500;font-size:.85rem;margin-top:10px;}

/* Back to top */
.rozee-back-to-top{
  position:fixed;bottom:22px;right:22px;z-index:59;
  width:44px;height:44px;border-radius:50%;background:var(--c-ink);color:#fff;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.2);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity var(--transition), visibility var(--transition), transform var(--transition), background var(--transition);
}
.rozee-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.rozee-back-to-top:hover{background:var(--c-bronze);}
/* Stack above the WhatsApp button once both are visible */
.rozee-wa-float{ bottom:22px; }
.rozee-back-to-top{ bottom:78px; }
@media(min-width:640px){ .rozee-back-to-top{ bottom:88px; } }

/* On mobile the WhatsApp button is icon-only (text hidden), but it
   kept pill padding (12px 16px) making it wider than the round
   back-to-top button (44px). Both are right-aligned, so the wider
   WhatsApp button's centre sat further left — making the back-to-top
   circle look shifted off to the side instead of centred above it.
   Force both to the same fixed circle size so their centres match. */
@media(max-width:639px){
  .rozee-wa-float{width:48px;height:48px;padding:0;justify-content:center;border-radius:50%;}
  .rozee-back-to-top{width:48px;height:48px;}
  .rozee-back-to-top{bottom:80px;}
}

/* Accessible focus states (keyboard navigation) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--c-bronze);outline-offset:2px;
}

/* Comfortable touch targets on touch devices */
@media(hover:none){
  .icon-btn,.mobile-nav-toggle,.size-chip,.style-chip{min-height:40px;min-width:40px;}
  .hero-slider__dot{padding:8px 4px;background-clip:content-box;}
}

/* =========================================================
   Hero
   ========================================================= */
.hero-slider{position:relative;background:var(--c-cream);overflow:hidden;}
.hero-slider__track{position:relative;min-height:520px;}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 500ms ease;padding:60px 0;display:flex;align-items:center;}
.hero-slide.is-active{opacity:1;visibility:visible;position:relative;}
@media(prefers-reduced-motion:reduce){ .hero-slide{transition:none;} }
.hero-slider__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.6);
  box-shadow:0 6px 20px rgba(35,31,32,.12);
  font-size:1.4rem;line-height:1;cursor:pointer;color:var(--c-ink);display:flex;align-items:center;justify-content:center;
  transition:background var(--transition), transform var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .hero-slider__arrow{backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);}
}
.hero-slider__arrow:hover{background:rgba(35,31,32,.85);color:#fff;transform:translateY(-50%) scale(1.06);}
.hero-slider__arrow--prev{left:16px;}
.hero-slider__arrow--next{right:16px;}
.hero-slider__dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.hero-slider__dot{width:8px;height:8px;border-radius:50%;border:none;background:#cfc6b4;cursor:pointer;padding:0;}
.hero-slider__dot.is-active{background:var(--c-bronze);width:22px;border-radius:4px;transition:width var(--transition);}
@media(max-width:640px){ .hero-slider__arrow{display:none;} .hero-slider__track{min-height:640px;} }

.hero__grid{display:grid;grid-template-columns:1.3fr .9fr;gap:32px;align-items:center;width:100%;}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--c-bronze);margin-bottom:14px;font-weight:600;}
.hero__main h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.4em;}
.hero__main p{max-width:480px;margin-bottom:1.6em;}
.hero__ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero__side{display:grid;gap:16px;}
.hero__side-panel{aspect-ratio:4/3;background:linear-gradient(135deg,#efe9dc,#ddd2b8);border:1px solid var(--c-border);display:flex;align-items:flex-end;padding:16px;font-family:var(--font-display);font-size:1.1rem;color:var(--c-ink);}

/* Stats / trust bar */
.stats-bar{
  background:linear-gradient(120deg,var(--c-bronze) 0%,var(--c-gold) 50%,#c9a868 100%);
  position:relative;overflow:hidden;
}
.stats-bar::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.14) 1.5px, transparent 1.5px);
  background-size:22px 22px;pointer-events:none;
}
.stats-bar__row{position:relative;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:clamp(28px,4vw,40px) 20px;}
.stats-bar__item{
  flex:1;min-width:130px;text-align:center;padding:18px 12px;border-radius:var(--radius-lg);
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  transition:background var(--transition), transform var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .stats-bar__item{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);}
}
.stats-bar__item:hover{background:rgba(255,255,255,.26);transform:translateY(-3px);}
.stats-bar__num{display:block;font-family:var(--font-display);font-size:2.1rem;font-weight:700;color:#fff;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.1);}
.stats-bar__label{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-top:4px;}

/* Value banner */
.value-banner{background:var(--c-ink);}
.value-banner__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:26px 20px;}
.value-item{
  display:flex;align-items:center;gap:10px;color:var(--c-cream);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;
  flex:1;min-width:150px;justify-content:center;padding:12px 16px;border-radius:var(--radius-pill);
  background:var(--glass-dark-bg);border:1px solid var(--glass-dark-border);
  transition:background var(--transition), transform var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .value-item{backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);}
}
.value-item:hover{background:rgba(255,255,255,.1);transform:translateY(-2px);}
.value-item__icon{width:22px;height:22px;color:var(--c-gold);flex-shrink:0;}

/* =========================================================
   Sections generic
   ========================================================= */
.section{padding:var(--section-pad) 0;}
.section__title{font-size:2rem;}
.section__subtitle{max-width:560px;margin-bottom:2em;}
.page-hero{background:var(--c-cream);padding:56px 0;text-align:left;}
.page-hero h1{font-size:2.4rem;}

/* Category grid */
.categories__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--gap);}
.category-card{display:block;}
.category-card__image{aspect-ratio:3/4;margin-bottom:10px;overflow:hidden;position:relative;border-radius:var(--radius-lg);}
.category-card__image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(35,31,32,.4));opacity:0;transition:opacity var(--transition);}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .category-card__image::after{backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);}
}
.category-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease;}
.category-card:hover .category-card__image img{transform:scale(1.08);}
.category-card:hover .category-card__image::after{opacity:1;}
.category-card span{font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;color:var(--c-ink);transition:color var(--transition);display:inline-block;}
.category-card:hover span{color:var(--c-bronze);}

/* Fabrics + services two-column */
.fabrics-services{background:var(--c-cream);}
.fabrics-services__grid{display:grid;grid-template-columns:.9fr 1.4fr;gap:48px;}
.fabrics-list li{padding:10px 0;border-bottom:1px solid var(--c-border);font-family:var(--font-display);font-size:1.1rem;color:var(--c-ink);}
.services-block__cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.service-card{
  background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:28px;
  transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition), background var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .service-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.8);}
.service-card h3{font-size:1.2rem;}
.service-card ol{margin:0 0 18px;padding-left:18px;color:var(--c-text-muted);}
.service-card ol li{margin-bottom:4px;}

/* Product grid (shared: best sellers, fabrics hub, archive) */
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--gap);}
.product-card{display:block;position:relative;}
.product-card__image{aspect-ratio:3/4;margin-bottom:10px;overflow:hidden;position:relative;border-radius:var(--radius-lg);box-shadow:0 1px 3px rgba(35,31,32,.05);transition:box-shadow var(--transition);}
.product-card:hover .product-card__image{box-shadow:var(--shadow-soft-lg);}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform 500ms ease;}
.product-card:hover .product-card__image img{transform:scale(1.06);}
.product-card__quickview{
  position:absolute;left:50%;bottom:14px;z-index:2;
  transform:translate(-50%,10px);opacity:0;
  background:rgba(255,255,255,.95);backdrop-filter:blur(6px);color:var(--c-ink);
  padding:9px 20px;border-radius:var(--radius-pill);
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;white-space:nowrap;
  box-shadow:0 8px 20px rgba(35,31,32,.18);
  transition:transform var(--transition), opacity var(--transition);
}
.product-card:hover .product-card__quickview{transform:translate(-50%,0);opacity:1;}
.product-card__badge{
  position:absolute;top:12px;left:12px;z-index:2;background:linear-gradient(135deg,var(--c-bronze),var(--c-gold));color:#fff;
  font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:var(--radius-pill);font-weight:500;
  box-shadow:0 4px 10px rgba(142,121,62,.3);
}
.product-card__title{display:block;font-size:.9rem;color:var(--c-ink);margin-bottom:2px;transition:color var(--transition);}
.product-card:hover .product-card__title{color:var(--c-bronze);}
.product-card__price{display:block;font-size:.85rem;color:var(--c-bronze);font-weight:500;}

/* Fabrics hub layout */
.fabrics-hub__grid{display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:start;}
.form-note{font-size:.78rem;color:var(--c-text-muted);border-left:2px solid var(--c-gold);padding-left:12px;margin-top:20px;}
.widget-title{font-size:1.1rem;margin-bottom:12px;}

/* Brand story / about */
.brand-story__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;}
.brand-story__image{aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);}
.brand-story__image img{width:100%;height:100%;object-fit:cover;object-position:center;}
.about-page-hero{min-height:500px;display:flex;align-items:center;background-position:center 58% !important;}
.about-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,17,.62) 0%,rgba(25,20,17,.32) 45%,rgba(25,20,17,.08) 75%);z-index:0;}
.about-page-hero>.container{position:relative;z-index:1;}
@media(max-width:640px){.about-page-hero{min-height:420px;background-position:center !important;}.about-page-hero:before{background:linear-gradient(90deg,rgba(25,20,17,.58),rgba(25,20,17,.22));}}
.contact-hub{background:var(--c-cream);}
.contact-hub__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.footer-contact li{margin-bottom:10px;color:var(--c-text-muted);}
.contact-hub__map iframe{border-radius:var(--radius);}

/* =========================================================
   Custom Stitching & Alteration forms
   ========================================================= */
.stitching-journey{background:var(--c-white);}
.journey-steps{display:flex;gap:14px;margin-bottom:32px;}
.journey-step{display:flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--c-border);border-radius:30px;font-size:.82rem;color:var(--c-text-muted);}
.journey-step__num{width:22px;height:22px;border-radius:50%;background:var(--c-border);color:var(--c-ink);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;}
.journey-step.active{border-color:var(--c-bronze);color:var(--c-ink);}
.journey-step.active .journey-step__num{background:var(--c-bronze);color:#fff;}

.form-step{border:1px solid var(--c-border);padding:28px;margin-bottom:0;}
.form-step legend{font-family:var(--font-display);font-size:1.2rem;color:var(--c-ink);padding:0 6px;}
.form-step label{display:block;margin-bottom:16px;font-size:.85rem;color:var(--c-text);}
.form-step input,.form-step select,.form-step textarea,
.alteration-form input,.alteration-form select,.alteration-form textarea{
  width:100%;padding:11px 12px;border:1px solid var(--c-border);margin-top:6px;font-family:var(--font-body);font-size:.9rem;background:#fff;
}
.style-options,.size-grid{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
.style-chip,.size-chip{border:1px solid var(--c-border);padding:9px 16px;font-size:.8rem;cursor:pointer;transition:all var(--transition);}
.style-chip:has(input:checked),.size-chip:has(input:checked){background:var(--c-ink);color:#fff;border-color:var(--c-ink);}
.style-chip input,.size-chip input{position:absolute;opacity:0;width:0;height:0;}
.size-toggle{display:flex;gap:0;margin-bottom:18px;border:1px solid var(--c-ink);width:fit-content;}
.size-toggle__btn{background:none;border:none;padding:9px 20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;}
.size-toggle__btn.is-active{background:var(--c-ink);color:#fff;}
.measurement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.measurement-grid label{margin-bottom:0;}
.form-nav{display:flex;gap:14px;margin-top:24px;}
@media(max-width:640px){
  .journey-steps{flex-wrap:wrap;gap:8px;}
  .journey-step{padding:8px 12px;font-size:.74rem;}
  .form-step{padding:18px;}
  .form-nav{flex-wrap:wrap;}
  .form-nav .btn{flex:1 1 auto;text-align:center;}
}

.alteration-intake{background:var(--c-cream);}
.alteration-form{max-width:640px;background:var(--glass-bg);border:1px solid var(--glass-border);padding:32px;border-radius:var(--radius-lg);box-shadow:0 8px 28px rgba(35,31,32,.06);}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .alteration-form{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
}
.alteration-form label{display:block;margin-bottom:16px;font-size:.85rem;}
.alteration-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.alteration-form__actions{display:flex;gap:14px;margin-top:10px;}

/* Stitching add-on (product page) */
.stitching-addon{
  border:1px dashed var(--c-gold);padding:18px;margin:20px 0;border-radius:var(--radius);
  background:rgba(251,249,244,.7);transition:background var(--transition), border-color var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .stitching-addon{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
}
.stitching-addon:hover{border-color:var(--c-bronze);background:rgba(251,249,244,.9);}
.stitching-addon__checkbox{display:flex;align-items:center;gap:10px;font-weight:500;font-size:.9rem;color:var(--c-ink);cursor:pointer;}
.stitching-addon__form{margin-top:16px;padding-top:16px;border-top:1px solid var(--c-border);}

/* =========================================================
   WooCommerce native markup (shop / category / single product /
   cart / checkout) — restyled to match the RozeeAtelier grid
   ========================================================= */
.page-hero--shop{background:none;padding:0 0 30px;}
.woocommerce-page-wrap{padding:50px 0 80px;}

.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start;}
.shop-layout__sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:26px;}
.shop-layout__sidebar .widget-title{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--c-border);padding-bottom:10px;}
.shop-layout__sidebar ul{display:flex;flex-direction:column;gap:8px;}
.shop-layout__sidebar ul a{font-size:.85rem;color:var(--c-text-muted);}
.shop-layout__sidebar ul a:hover{color:var(--c-bronze);}
.shop-layout__sidebar .widget{padding-bottom:6px;}
/* WooCommerce's own price-filter / attribute-filter widget markup, restyled */
.shop-layout__sidebar .price_slider_wrapper .ui-slider{background:var(--c-border);}
.shop-layout__sidebar .price_slider_wrapper .ui-slider .ui-slider-range{background:var(--c-bronze);}
.shop-layout__sidebar .price_slider_wrapper .ui-slider-handle{background:var(--c-ink);border-radius:50%;}
.shop-layout__sidebar .button{width:100%;margin-top:10px;}
@media(max-width:900px){ .shop-layout{grid-template-columns:1fr;} .shop-layout__sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:20px;} }

.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--gap);list-style:none;margin:0;padding:0;}
.woocommerce ul.products li.product{list-style:none;}
.woocommerce ul.products li.product{overflow:visible;}
.woocommerce ul.products li.product a img{aspect-ratio:3/4;object-fit:cover;margin-bottom:10px;transition:transform 500ms ease;}
.woocommerce ul.products li.product:hover a img{transform:scale(1.05);}
.woocommerce ul.products li.product .woocommerce-loop-product__link{display:block;overflow:hidden;}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-body);font-size:.9rem;color:var(--c-ink);font-weight:400;margin:0 0 2px;}
.woocommerce ul.products li.product .price{color:var(--c-bronze);font-weight:500;font-size:.85rem;}
.woocommerce span.onsale{background:var(--c-bronze);color:#fff;font-size:.68rem;text-transform:uppercase;}
.woocommerce div.product .woocommerce-tabs{margin-top:40px;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--c-bronze);font-size:1.3rem;}
.woocommerce div.product form.cart .button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{
  background:var(--c-ink);color:#fff;border-radius:var(--radius);padding:13px 26px;
  font-family:var(--font-body);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;border:none;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--c-bronze);}
.rozee-per-unit{font-size:.72rem;color:var(--c-text-muted);text-transform:uppercase;}
.rozee-yard-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-muted);margin-bottom:4px;}
.woocommerce nav.woocommerce-pagination ul{border:none;gap:8px;display:flex;}
.woocommerce nav.woocommerce-pagination ul li{border:1px solid var(--c-border);}

/* =========================================================
   Testimonials
   ========================================================= */
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;margin-top:10px;}
.testimonials{
  background:linear-gradient(160deg,var(--c-cream) 0%,#f6f1e6 45%,var(--c-cream) 100%);
  position:relative;overflow:hidden;
}
.testimonials::before{
  content:"";position:absolute;top:-120px;right:-80px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(173,151,79,.18),transparent 70%);pointer-events:none;
}
.testimonial-card{
  background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius-lg);padding:32px;position:relative;
  box-shadow:0 8px 28px rgba(35,31,32,.08);
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition);
}
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){
  .testimonial-card{backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);}
}
.testimonial-card:hover{background:rgba(255,255,255,.75);}
.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.testimonial-card::before{
  content:"“";position:absolute;top:10px;left:20px;font-family:var(--font-display);font-size:3rem;color:var(--c-gold);
  line-height:1;opacity:.6;
}
.testimonial-card blockquote{margin:18px 0 16px;font-size:.92rem;color:var(--c-text);font-style:italic;line-height:1.7;}
.testimonial-card figcaption{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--c-bronze);font-weight:500;}
@media(max-width:900px){ .testimonials__grid{grid-template-columns:1fr;} }

/* =========================================================
   Footer
   ========================================================= */
.site-footer{background:var(--c-ink);color:var(--c-cream);padding:64px 0 0;}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;}
.footer-logo{display:flex;align-items:center;gap:10px;color:var(--c-white);font-family:var(--font-display);font-size:1.5rem;font-weight:700;}
.footer-logo__icon{height:44px;width:auto;}
.footer-col p{color:#b9b5b0;font-size:.88rem;}
.footer-col h4{color:var(--c-white);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;}
.footer-menu li{margin-bottom:10px;}
.footer-menu a{color:#c9c5c0;font-size:.88rem;}
.footer-menu a:hover{color:var(--c-gold);}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px;text-align:center;}
.site-footer__bottom p{color:#948f8a;font-size:.8rem;margin:0;}

/* =========================================================
   Responsive
   ========================================================= */
@media(max-width:1280px){
  .main-nav__list{gap:16px;}
  .mega-panel{min-width:440px;}
}
/* Nav collapses to the mobile drawer earlier than the content grids do —
   a horizontal mega-menu + logo + icons + Request Quote button gets
   visibly cramped/wraps below ~1180px, well before content needs to stack. */
@media(max-width:1180px){
  .main-nav{position:fixed;top:0;left:0;height:100vh;width:80%;max-width:320px;background:var(--c-ink);
    transform:translateX(-100%);transition:transform var(--transition);z-index:70;padding:90px 24px 24px;overflow-y:auto;
    box-shadow:12px 0 40px rgba(0,0,0,.35);}
  .main-nav.is-open{transform:translateX(0);}
  .nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:65;opacity:0;visibility:hidden;transition:opacity var(--transition), visibility var(--transition);}
  .nav-backdrop.is-open{opacity:1;visibility:visible;}
  .main-nav__list{flex-direction:column;gap:4px;}
  .main-nav__list > li > a{padding:12px 0;}
  .mobile-nav-toggle{display:flex;}

  /* Mega panel becomes an inline accordion within the dark drawer instead
     of a floating light box, so its text needs to flip light too. */
  .mega-panel{position:static;transform:none;min-width:0;background:transparent;border:none;box-shadow:none;padding:4px 0 8px 14px;
    opacity:1;visibility:visible;pointer-events:auto;display:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
  .main-nav__list > li.has-mega.is-open .mega-panel{display:block;}
  .main-nav__list > li.has-mega.is-open > a .mega-caret{transform:rotate(180deg);}
  .mega-panel__list{grid-template-columns:1fr;gap:0;}
  .mega-panel__item a{color:var(--c-cream);}
  .mega-panel__item a:hover{background:rgba(255,255,255,.08);color:var(--c-gold);}
  .mega-panel__group-title{color:var(--c-gold);}
  .fabric-mega-panel{min-width:0;padding:6px 0 10px 0;}
  .fabric-mega-panel__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .fabric-mega-card{padding:5px;color:var(--c-cream);}
  .fabric-mega-card:hover{background:rgba(255,255,255,.08);color:var(--c-gold);}
  .fabric-mega-card__name{font-size:.72rem;}

}
@media(max-width:900px){
  .hero__grid,.fabrics-services__grid,.brand-story__grid,.contact-hub__grid,.fabrics-hub__grid{grid-template-columns:1fr;}
  .hero__side{grid-template-columns:1fr 1fr;margin-top:24px;}
  .hero__side-panel{aspect-ratio:1/1;}
  .site-footer__grid{grid-template-columns:1fr 1fr;}
  .measurement-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .services-block__cards{grid-template-columns:1fr;}
  .site-footer__grid{grid-template-columns:1fr;}
  .alteration-form__row{grid-template-columns:1fr;}
  .measurement-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .site-header__inner{padding:14px 16px;gap:8px;}
  .site-header__actions{gap:8px;}
  .site-header__actions .btn{display:none;} /* Request Quote collapses on mobile — still reachable via menu/Contact */
  .icon-btn{width:34px;height:34px;}
  .icon-btn svg{width:17px;height:17px;}
  .site-logo-icon{height:46px!important;max-width:58px;}
}


/* =========================================================
   RozeeAtelier 2.0 — visual correction layer
   Keeps the theme polished even when no product photos have
   been uploaded yet. All decorative art is CSS-only.
   ========================================================= */
:root{
  --c-cream:#f5f1e9;
  --c-paper:#fbfaf7;
  --c-text:#4b4642;
}
body{background:var(--c-paper);overflow-x:hidden;}

/* Clean editorial header — intentionally light so the brand mark reads clearly. */
.site-header{
  background:rgba(251,250,247,.96)!important;
  border-bottom:1px solid rgba(35,31,32,.10)!important;
  box-shadow:0 5px 24px rgba(35,31,32,.05);
}
.site-header__inner{min-height:86px;padding:10px 20px;}
.site-logo-link{width:90px;justify-content:flex-start;}
.site-logo-icon{width:auto!important;height:78px!important;max-width:96px;object-fit:contain;}
.main-nav__list > li > a{color:var(--c-ink)!important;padding:22px 0;}
.main-nav__list > li > a:hover{color:var(--c-bronze)!important;}
.main-nav__list > li > a::after{bottom:14px;}
.icon-btn{color:var(--c-ink)!important;border-color:rgba(35,31,32,.16)!important;}
.icon-btn:hover{color:var(--c-ink)!important;}
.site-header .btn--dark{background:var(--c-ink)!important;color:#fff!important;border-color:var(--c-ink)!important;border-radius:6px;padding:13px 22px;}
.site-header .btn--dark:hover{background:var(--c-bronze)!important;border-color:var(--c-bronze)!important;}

/* Hero: replace empty grey blocks with warm editorial fabric artwork. */
.hero-slider{background:linear-gradient(135deg,#fbfaf7 0%,#f1eadf 100%);}
.hero-slider::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(rgba(142,121,62,.12) 1px,transparent 1px);background-size:22px 22px;}
.hero-slider__track{min-height:590px;}
.hero-slide{padding:72px 0 82px;}
.hero__grid{gap:clamp(30px,5vw,80px);}
.hero__main{position:relative;z-index:2;max-width:680px;}
.hero__main h1{font-size:clamp(3rem,5.2vw,5.4rem);line-height:.94;letter-spacing:-.025em;max-width:720px;}
.hero__main p{font-size:1.04rem;line-height:1.75;max-width:590px;color:#6c655f;}
.eyebrow{color:var(--c-bronze);font-weight:600;letter-spacing:.16em;}
.hero__ctas{gap:12px;}
.hero__ctas .btn{border-radius:5px;}
.hero__side{grid-template-columns:1fr;gap:14px;transform:rotate(1.2deg);}
.hero__side-panel{position:relative;overflow:hidden;min-height:225px;aspect-ratio:4/3;border:0;border-radius:4px;padding:22px;box-shadow:0 22px 45px rgba(35,31,32,.14);isolation:isolate;background:#ded4bf;}
.hero__side-panel::before,.hero__side-panel::after{content:"";position:absolute;inset:-20%;z-index:-1;}
.hero__side-panel::before{background:linear-gradient(120deg,rgba(255,255,255,.5),transparent 35%,rgba(35,31,32,.12) 75%,rgba(255,255,255,.4));mix-blend-mode:soft-light;}
.hero__side-panel::after{display:none;}
.hero__side-panel span{position:absolute;left:18px;bottom:18px;z-index:2;color:var(--c-ink);text-shadow:none;font-size:1.25rem;letter-spacing:.02em;font-weight:600;background:rgba(255,252,246,.9);padding:9px 14px;border-radius:4px;box-shadow:0 6px 18px rgba(35,31,32,.12);}
.hero-art--1{background-image:url("../img/hero-seasonal.jpg")!important;background-size:cover;background-position:center;}
.hero-art--2{background-image:url("../img/hero-silk.jpg")!important;background-size:cover;background-position:center;}
.hero-art--3{background-image:url("../img/fabrics/tussel-silk-new.png")!important;background-size:cover;background-position:center;}
.hero-art--4{background-image:url("../img/hero-crinkle.png")!important;background-size:cover;background-position:center;}
.hero-art--5{background-image:url("../img/hero-custom-stitching.png")!important;background-size:cover;background-position:center;}
.hero-art--6{background-image:url("../img/hero-alterations.png")!important;background-size:cover;background-position:center;}
.hero-slider__arrow{background:rgba(255,255,255,.9);border-color:rgba(35,31,32,.12);}
.hero-slider__dot{background:rgba(35,31,32,.22);}
.hero-slider__dot.is-active{background:var(--c-bronze);}

/* Trust bar */
.stats-bar{background:var(--c-ink);color:#fff;border:0;}
.stats-bar__num{color:var(--c-gold);}
.stats-bar__label{color:#d7d1c8;}

/* Category artwork instead of blank animated placeholders. */
.categories{background:#fff;padding-top:92px;padding-bottom:100px;}
.category-card__image{background:#e8e0d2!important;border:0!important;box-shadow:0 14px 35px rgba(35,31,32,.10);}
.category-art{position:relative;overflow:hidden;}
.category-art::before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.55);transform:rotate(4deg);}
.category-art::after{content:"";position:absolute;width:70%;height:120%;left:15%;top:-12%;border-radius:50% 50% 8% 8%;background:linear-gradient(100deg,rgba(255,255,255,.52),rgba(255,255,255,.05) 45%,rgba(35,31,32,.16));transform:rotate(7deg);box-shadow:inset 12px 0 30px rgba(255,255,255,.18),inset -18px 0 28px rgba(35,31,32,.12);}
.category-art--1{background:linear-gradient(145deg,#ded1b8,#9e8b62)!important;}
.category-art--2{background:linear-gradient(145deg,#ece6da,#b9a889)!important;}
.category-art--3{background:linear-gradient(145deg,#c8b58d,#725a3d)!important;}
.category-art--4{background:linear-gradient(145deg,#e0d0ad,#8e793e)!important;}
.category-card>span{font-family:var(--font-display);font-size:1.25rem;color:var(--c-ink);}

/* Sections */
.section{padding-top:92px;padding-bottom:92px;}
.section__subtitle{max-width:650px;}
.value-banner{background:var(--c-ink);}
.service-card,.fabrics-block{border-radius:6px;box-shadow:0 14px 35px rgba(35,31,32,.08);}
.product-card__image{border-radius:6px;overflow:hidden;}

/* Stop reveal animations from making the page look empty if an observer is blocked. */
@media(prefers-reduced-motion:reduce){.reveal,.reveal-stagger{opacity:1!important;transform:none!important;}}

@media(max-width:1180px){
  .main-nav{background:var(--c-ink)!important;}
  .main-nav__list > li > a{color:var(--c-cream)!important;}
  .site-logo-icon{height:60px!important;}
}
@media(max-width:900px){
  .hero-slider__track{min-height:0;}
  .hero-slide{padding:58px 0 72px;}
  .hero__main h1{font-size:clamp(2.7rem,9vw,4.2rem);}
  .hero__side{grid-template-columns:1fr 1fr;transform:none;}
  .hero__side-panel{min-height:220px;aspect-ratio:1/1;}
}
@media(max-width:640px){
  .site-header__inner{min-height:72px;}
  .site-logo-link{width:70px;}
  .site-logo-icon{height:52px!important;max-width:70px;}
  .hero-slide{padding:48px 0 64px;}
  .hero__side{grid-template-columns:1fr;}
  .hero__side-panel{min-height:210px;aspect-ratio:16/10;}
  .hero__ctas{flex-direction:column;align-items:stretch;}
  .hero__ctas .btn{width:100%;}
  .categories,.section{padding-top:68px;padding-bottom:68px;}
}

/* Featured Categories — supplied luxury editorial images */
.category-art::before,
.category-art::after{content:none!important;}
.category-art--1{
  background-image:url("../img/featured-seasonal-arrivals.png")!important;
  background-size:cover!important;
  background-position:center!important;
}
.category-art--2{
  background-image:url("../img/featured-traditional-crafts.png")!important;
  background-size:cover!important;
  background-position:center!important;
}
.category-art--3{
  background-image:url("../img/featured-premium-silks.png")!important;
  background-size:cover!important;
  background-position:center!important;
}
.categories__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:760px){.categories__grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.categories__grid{grid-template-columns:1fr;}}


/* =========================================================
   Shopping Region Selector — Pakistan / Canada
   ========================================================= */
.rozee-location-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.rozee-location-modal[hidden]{display:none;}
.rozee-location-modal__backdrop{position:absolute;inset:0;background:rgba(35,31,32,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
.rozee-location-modal__card{position:relative;width:min(540px,100%);padding:42px 38px 30px;background:#fff;border:1px solid #e2ded8;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28);text-align:center;animation:rozee-location-in .35s ease both;}
@keyframes rozee-location-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.rozee-location-modal__close{position:absolute;top:12px;right:15px;border:0;background:transparent;font-size:28px;line-height:1;color:#6f6a66;cursor:pointer;}
.rozee-location-modal__eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-bronze);font-weight:700;margin-bottom:8px;}
.rozee-location-modal__card h2{font-size:clamp(1.8rem,4vw,2.45rem);margin-bottom:10px;}
.rozee-location-modal__card>p{max-width:410px;margin:0 auto 24px;font-size:.95rem;}
.rozee-location-options{display:grid;gap:11px;text-align:left;}
.rozee-location-option{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid #ded8cf;background:#fbfaf7;border-radius:12px;color:var(--c-ink);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer;}
.rozee-location-option:hover{transform:translateY(-2px);border-color:var(--c-gold);box-shadow:0 10px 24px rgba(35,31,32,.09);}
.rozee-location-option__flag{font-size:28px;text-align:center;}
.rozee-location-option strong,.rozee-location-option small{display:block;}
.rozee-location-option strong{font-family:var(--font-display);font-size:1.15rem;}
.rozee-location-option small{color:var(--c-text-muted);font-size:.8rem;margin-top:2px;}
.rozee-location-option__arrow{font-size:20px;color:var(--c-bronze);}
.rozee-location-change{margin-top:18px;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:#777;font-size:.78rem;cursor:pointer;}
body.rozee-location-open{overflow:hidden;}
.rozee-location-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(35,31,32,.14);background:rgba(255,255,255,.72);color:var(--c-ink);border-radius:999px;padding:8px 11px;font:600 12px var(--font-body);cursor:pointer;white-space:nowrap;}
.rozee-shop-address{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;color:#6b645d;white-space:nowrap;}
.rozee-drawer-address{display:none;}
@media (max-width:1024px){
  .rozee-drawer-address{display:block!important;color:#c8a56a!important;font-size:.78rem!important;letter-spacing:.04em!important;padding:0 2px 16px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;margin-bottom:8px!important;}
}
.rozee-location-pill__flag{font-size:15px;}
.rozee-location-pill__chevron{font-size:13px;color:var(--c-bronze);}
.rozee-region-notice{position:absolute;left:0;right:0;bottom:-29px;height:29px;display:flex;align-items:center;justify-content:center;background:#231f20;color:#fff;font-size:11px;letter-spacing:.02em;z-index:3;overflow:hidden;}
.rozee-region-notice__ca{display:none;}
body[data-rozee-region="ca"] .rozee-region-notice__pk{display:none;}
body[data-rozee-region="ca"] .rozee-region-notice__ca{display:inline;}
body[data-rozee-region="pk"] .rozee-region-notice__pk{display:inline;}
@media(max-width:900px){.rozee-location-pill__label{display:none}.rozee-location-pill{padding:8px}.rozee-region-notice{font-size:10px}}
@media(max-width:640px){.rozee-location-modal__card{padding:38px 18px 24px}.rozee-location-option{grid-template-columns:40px 1fr auto}.rozee-location-option__flag{font-size:24px}}

/* =========================================================
   ROZEEATELIER SINGLE PRODUCT EXPERIENCE
   ========================================================= */
.single-product-page{padding:34px 0 90px;background:var(--c-ivory,#fbfaf7)}
.single-product__crumbs{margin-bottom:24px;font-size:.78rem;color:var(--c-muted,#777)}
.single-product__layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:64px;align-items:start}
.single-product__gallery .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.single-product__gallery img{border-radius:12px}
.single-product__summary{padding:8px 0}
.single-product__eyebrow,.stitching-service-card__eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-bronze,#9a6d48);font-weight:600}
.single-product__title{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1.03;margin:9px 0 12px;color:var(--c-ink,#231f20)}
.single-product__rating{margin:8px 0}.single-product__price{font-size:1.2rem;font-weight:600;margin:16px 0;color:var(--c-bronze,#9a6d48)}
.single-product__short-description{font-size:1rem;line-height:1.8;color:#625d58;max-width:650px}
.product-unit-note{background:#f1ece3;border:1px solid #e2d8ca;padding:12px 14px;margin:20px 0;font-size:.88rem;color:#5d554e}
.single-product__cart-area{margin-top:22px}.single-product__cart-area form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.single-product__cart-area .quantity input{min-height:48px}.single-product__cart-area .single_add_to_cart_button{min-height:48px;padding:0 28px;border:0;border-radius:999px;background:#231f20;color:#fff;font-weight:600}
.stitching-service-card{margin-top:28px;padding:24px;border:1px solid #ded5ca;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(35,31,32,.06)}
.stitching-service-card h2{margin:5px 0 7px;font-family:Georgia,serif;font-size:1.55rem}.stitching-service-card>div>p{color:#6d665f;line-height:1.65;font-size:.9rem}
.stitching-addon{margin-top:20px}.stitching-addon__checkbox{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #d8cec1;background:#f8f4ee;border-radius:10px;cursor:pointer}
.stitching-addon__checkbox input{margin-top:4px}.stitching-addon__checkbox strong{display:block}.stitching-addon__checkbox small{display:block;color:#776f67;margin-top:4px}
.stitching-addon__form{margin-top:16px}.stitching-form__intro{display:flex;flex-direction:column;gap:4px;margin-bottom:15px;font-size:.9rem}.stitching-form__intro span{color:#777;font-size:.78rem;line-height:1.5}
.stitching-fieldset{border:0;padding:0;margin:0 0 18px}.stitching-fieldset legend{font-weight:600;font-size:.88rem;margin-bottom:10px}.style-options,.size-grid{display:flex;flex-wrap:wrap;gap:8px}.style-chip,.size-chip{border:1px solid #d9d0c5;border-radius:999px;padding:8px 12px;background:#fff;font-size:.8rem;cursor:pointer}.style-chip input,.size-chip input{margin-right:5px}
.size-toggle{display:flex;gap:6px;margin-bottom:10px}.size-toggle__btn{border:1px solid #d7cec3;background:#fff;border-radius:999px;padding:8px 12px;font-size:.78rem;cursor:pointer}.size-toggle__btn.is-active{background:#231f20;color:#fff;border-color:#231f20}
.measurement-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.measurement-grid label,.full-field{display:flex;flex-direction:column;gap:6px;font-size:.76rem;color:#5f5953}.measurement-grid input,.full-field input,.full-field textarea{border:1px solid #d8d0c7;border-radius:7px;padding:9px;background:#fff;font:inherit}.full-field{margin-top:10px}.field-help{font-size:.7rem;color:#8a827a}.stitching-form__notice{padding:11px;background:#f6f2ec;color:#71685f;font-size:.74rem;line-height:1.55;border-radius:8px}
.single-product__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0;border-top:1px solid #e3ddd5;border-bottom:1px solid #e3ddd5;padding:18px 0}.single-product__trust div{display:flex;flex-direction:column;gap:4px}.single-product__trust strong{font-size:.76rem}.single-product__trust span{font-size:.7rem;color:#817a73;line-height:1.4}.single-product__whatsapp{margin-top:14px}.rozee-wa-inline{display:inline-flex;padding:11px 17px;border:1px solid #b89a78;border-radius:999px;color:#6d5138;text-decoration:none;font-size:.8rem;font-weight:600}
.single-product__details{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;margin-top:70px}.single-product__detail-panel{background:#fff;border:1px solid #e6e0d8;border-radius:12px;padding:28px}.single-product__detail-panel h2,.single-product__related>h2{font-family:Georgia,serif;font-size:1.65rem;margin:0 0 15px}.single-product__description{color:#635d57;line-height:1.8}.single-product__related{margin-top:70px}.single-product__related ul.products{margin-top:20px}
.product-card__quickview{display:none!important}
@media(max-width:900px){.single-product__layout{grid-template-columns:1fr;gap:34px}.single-product__details{grid-template-columns:1fr}.single-product__trust{grid-template-columns:1fr}.single-product__summary{padding:0 4px}}
@media(max-width:520px){.measurement-grid{grid-template-columns:1fr}.single-product__title{font-size:2.35rem}.stitching-service-card{padding:18px}.single-product-page{padding-top:20px}}
@media(max-width:560px){.measurement-grid{grid-template-columns:1fr}}


/* =========================================================
   ROZEEATELIER 4.0 — FINAL PREMIUM POLISH
   ========================================================= */
:root{
  --c-ivory:#faf8f4;
  --c-sand:#eee6da;
  --c-blush:#e8d5cf;
  --c-charcoal:#1f1b1b;
  --c-brass:#a88b55;
  --container:1280px;
}
body{background:var(--c-ivory);color:#3d3835;overflow-x:hidden;}
.container{max-width:var(--container);}
.site-header{background:rgba(250,248,244,.96)!important;border-bottom:1px solid rgba(31,27,27,.09)!important;box-shadow:0 5px 24px rgba(31,27,27,.04)!important;}
.site-header__inner{min-height:88px;padding:8px 20px;}
.site-logo-icon{height:68px!important;width:auto;max-width:110px;object-fit:contain;}
.main-nav__list>li>a{color:var(--c-charcoal)!important;font-size:.78rem;letter-spacing:.075em;padding:30px 0;}
.main-nav__list>li>a:hover{color:var(--c-brass)!important;}
.site-header .btn--dark{background:var(--c-charcoal)!important;color:#fff!important;border-color:var(--c-charcoal)!important;border-radius:5px;letter-spacing:.1em;padding:14px 20px;}
.site-header .btn--dark:hover{background:var(--c-brass)!important;border-color:var(--c-brass)!important;}
.site-header__actions{gap:12px;}
.icon-btn{color:var(--c-charcoal)!important;}
.rozee-location-pill{background:#fff;border-color:rgba(31,27,27,.12);}
.hero-slider{background:linear-gradient(125deg,#f8f3eb 0%,#eee3d4 100%);}
.hero-slider::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(250,248,244,.7),transparent 55%);}
.hero-slider__track{min-height:620px;}
.hero-slide{padding:72px 0 84px;}
.hero__grid{position:relative;z-index:2;align-items:center;}
.hero__main{max-width:670px;}
.hero__main h1{font-size:clamp(3rem,5.4vw,5.8rem);line-height:.94;letter-spacing:-.025em;margin-bottom:22px;}
.hero__main p{font-size:1.05rem;max-width:590px;line-height:1.85;color:#5d5650;}
.eyebrow{letter-spacing:.2em;font-size:.68rem;font-weight:700;color:var(--c-brass);}
.hero__ctas{margin-top:30px;gap:12px;}
.btn{border-radius:3px;padding:15px 25px;letter-spacing:.11em;}
.hero__side{gap:14px;}
.hero__side-panel{border-radius:2px;box-shadow:0 20px 55px rgba(45,35,28,.13);border:8px solid rgba(255,255,255,.6);}
.hero__side-panel span{background:rgba(31,27,27,.78);padding:9px 12px;color:#fff;letter-spacing:.08em;font-size:.68rem;text-transform:uppercase;}
.stats-bar{background:var(--c-charcoal);}
.rozee-trust-strip .stats-bar__num{font-family:var(--font-display);font-size:1.65rem;color:#d9c6a2;}
.rozee-trust-strip .stats-bar__label{color:#f5f0e9;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;}
.value-banner{background:#292324;background-image:none;}
.value-item{padding:28px 14px;}
.value-item span{letter-spacing:.11em;text-transform:uppercase;font-size:.7rem;}
.section{padding-top:100px;padding-bottom:100px;}
.section__title{font-size:clamp(2rem,3vw,3.1rem);letter-spacing:-.015em;}
.section__title::after{width:42px;background:var(--c-brass);}
.section__subtitle{max-width:650px;line-height:1.8;}
.categories__grid{gap:18px;}
.category-card{border-radius:2px;background:#fff;box-shadow:0 16px 50px rgba(31,27,27,.07);overflow:hidden;}
.category-card__image{min-height:430px;transition:transform .65s cubic-bezier(.2,.75,.25,1);}
.category-card:hover .category-card__image{transform:scale(1.045);}
.category-card>span{display:block;padding:18px 18px 20px;text-align:left;font-family:var(--font-display);font-size:1.35rem;color:var(--c-charcoal);}
.fabrics-services{background:#fff;}
.fabrics-services__grid{gap:70px;}
.fabrics-block,.services-block{padding:35px;background:var(--c-ivory);border:1px solid #e6dfd6;}
.fabrics-list li{padding:13px 0;border-bottom:1px solid #ded7cf;font-family:var(--font-display);font-size:1.2rem;}
.services-block__cards{gap:16px;}
.service-card{background:#fff;border:1px solid #e5ded5;box-shadow:0 10px 30px rgba(31,27,27,.05);}
.best-sellers{background:var(--c-ivory);}
.product-grid{gap:18px;}
.product-card{position:relative;background:#fff;border:1px solid #e7e0d8;overflow:hidden;border-radius:2px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
.product-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(31,27,27,.1);border-color:#d7c7b0;}
.product-card__image{aspect-ratio:4/5;overflow:hidden;background:#eee7de;}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.product-card:hover .product-card__image img{transform:scale(1.035);}
.product-card__title{font-family:var(--font-display);font-size:1.25rem;color:var(--c-charcoal);}
.product-card__price{font-size:.83rem;color:#756d65;margin-top:5px;}
.product-card__meta{padding:16px 16px 20px;display:flex;flex-direction:column;}
.product-card__badge{top:12px;left:12px;border-radius:2px;background:var(--c-charcoal);padding:7px 9px;letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;z-index:2;}
.page-hero{background:linear-gradient(125deg,#f8f3eb,#eee3d4);padding:92px 0 86px;position:relative;overflow:hidden;}
.page-hero:after{content:"";position:absolute;width:380px;height:380px;right:-120px;top:-160px;border:1px solid rgba(168,139,85,.2);border-radius:50%;box-shadow:0 0 0 40px rgba(168,139,85,.035),0 0 0 80px rgba(168,139,85,.025);}
.page-hero h1{font-size:clamp(2.7rem,5vw,5rem);max-width:850px;line-height:.98;}
.page-hero p{font-size:1.02rem;max-width:700px;line-height:1.85;}
.shop-hero__links{display:flex;gap:12px;margin-top:28px;}
.page-hero--photo{background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;color:#fff;}
.page-hero--photo:after{display:none;}
.page-hero--photo .eyebrow,.page-hero--photo .category-hero__eyebrow{color:#f1e6d2;}
.page-hero--photo h1,.page-hero--photo .category-hero__title{color:#fff;}
.page-hero--photo p,.page-hero--photo .category-hero__copy{color:#f2ede4;}
.page-hero--photo .btn--outline{border-color:#fff;color:#fff;}
.page-hero--photo .btn--outline:hover{background:#fff;color:var(--c-charcoal);}
.shop-catalog{background:#fff;}
.shop-catalog__layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:46px;align-items:start;}
.shop-filters{padding:24px;position:sticky;top:110px;background:#faf8f4;border:1px solid #e5ddd3;box-shadow:none;}
.shop-filters h2{font-size:1.65rem;margin:2px 0 20px;}
.shop-filter-group{padding:18px 0;border-top:1px solid #ded7cf;display:flex;flex-direction:column;gap:9px;}
.shop-filter-group strong{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px;}
.shop-filter-group a{font-size:.8rem;color:#6b645d;transition:color .2s ease,padding .2s ease;}
.shop-filter-group a:hover{color:var(--c-brass);padding-left:4px;}
.shop-filter-link--img{display:flex;align-items:center;gap:10px;}
.shop-filter-link__thumb{width:38px;height:38px;border-radius:8px;object-fit:cover;object-position:top center;flex:0 0 auto;box-shadow:0 0 0 1px #e5ddd3;}
.shop-filter-link--img:hover .shop-filter-link__thumb{box-shadow:0 0 0 1px var(--c-brass);}
.shop-results__top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px;}
.shop-results__top h2{font-size:2.25rem;margin-top:3px;}
.shop-sort select{border:1px solid #ddd5cc;background:#fff;padding:10px 12px;font:inherit;font-size:.78rem;}
.rozee-pagination{margin-top:40px;text-align:center;}
.rozee-pagination .page-numbers{display:inline-flex;gap:6px;align-items:center;justify-content:center;}
.rozee-pagination .page-numbers li{display:inline-block;}
.rozee-pagination .page-numbers a,.rozee-pagination .page-numbers span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid #ded7cf;background:#fff;font-size:.75rem;}
.rozee-pagination .page-numbers .current{background:var(--c-charcoal);color:#fff;border-color:var(--c-charcoal);}
.single-product-page{background:var(--c-ivory);padding-top:55px;}
.single-product__layout{gap:75px;}
.single-product__gallery .woocommerce-product-gallery__image img{border-radius:2px;}
.single-product__gallery .woocommerce-product-gallery__image.rozee-gallery-selected img{outline:2px solid var(--c-brass,#a88955);outline-offset:-2px;}
.single-product__gallery .flex-control-thumbs li.rozee-gallery-selected img{outline:2px solid var(--c-brass,#a88955);outline-offset:-2px;}
.single-product__title{font-size:clamp(2.8rem,5vw,5rem);}
.single-product__price{font-family:var(--font-display);font-size:1.65rem;color:var(--c-charcoal);}
.stitching-service-card{border-radius:2px;padding:28px;background:#fff;box-shadow:0 18px 45px rgba(31,27,27,.06);}
.stitching-service-card h2{font-size:1.9rem;}
.stitching-addon__checkbox{border-radius:2px;background:#f6f0e8;border-color:#dfd2c1;}
.stitching-fieldset{padding:18px;background:#faf8f4;border:1px solid #e6ded5;margin-bottom:16px;}
.style-chip,.size-chip{border-radius:2px;background:#fff;padding:10px 14px;}
.style-chip:has(input:checked),.size-chip:has(input:checked){border-color:var(--c-brass);box-shadow:0 0 0 1px var(--c-brass) inset;background:#f7f0e5;}
.single-product__details{gap:18px;}
.single-product__detail-panel{border-radius:2px;background:#fff;}
.stitching-intro-strip{padding:24px 0;background:#292324;}
.service-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);}
.service-pillars span{background:#292324;color:#f4ede4;text-align:center;padding:13px;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;}
.alteration-form,.stitching-form{background:#fff;border:1px solid #e5ddd4;padding:30px;box-shadow:0 18px 50px rgba(31,27,27,.06);}
.alteration-form label,.stitching-form label{font-size:.77rem;letter-spacing:.02em;color:#5e5751;}
.alteration-form input,.alteration-form textarea,.alteration-form select,.stitching-form input,.stitching-form textarea,.stitching-form select{border:1px solid #d9d0c7;background:#fff;border-radius:2px;padding:12px 13px;}
.rozee-wa-float{box-shadow:0 14px 35px rgba(25,90,60,.18);}
.site-footer{background:#201c1d!important;}
.footer-bottom{border-top-color:rgba(255,255,255,.12)!important;}
@media(max-width:980px){
  .main-nav{display:none;}
  .site-header__inner{min-height:78px;}
  .site-logo-icon{height:60px!important;}
  .shop-catalog__layout{grid-template-columns:1fr;}
  .shop-filters{position:relative;top:auto;}
  .hero__grid{grid-template-columns:1fr;}
  .hero__main{max-width:760px;}
  .hero__side{margin-top:25px;}
}
@media(max-width:680px){
  .site-header__inner{padding:8px 14px;}
  .site-logo-icon{height:56px!important;max-width:86px;}
  .hero-slide{padding:54px 0 70px;}
  .hero__main h1{font-size:3.1rem;}
  .hero__side{grid-template-columns:1fr 1fr;}
  .hero__side-panel{min-height:190px;}
  .section{padding-top:72px;padding-bottom:72px;}
  .service-pillars{grid-template-columns:1fr;}
  .shop-results__top{display:block;}
  .shop-sort{margin-top:15px;}
  .shop-hero__links{flex-direction:column;align-items:stretch;}
  .btn{width:100%;}
}
@media(max-width:640px){
  .hero__side{grid-template-columns:1fr;}
}

.rozee-form-success{margin-top:24px;padding:16px 18px;border:1px solid #d8c7ad;background:#f6efe4;color:#4e463e;font-size:.82rem;line-height:1.6;}


/* FINAL FIX — visible brand mark + reliable navigation */
.site-branding{display:flex;align-items:center;min-width:150px;}
.site-logo-link{display:flex!important;align-items:center!important;width:auto!important;min-width:130px;}
.site-logo-icon{display:block!important;height:82px!important;width:auto!important;max-width:132px!important;object-fit:contain!important;}
.site-header__inner{min-height:96px!important;padding:6px 20px!important;}
@media (max-width:1180px){
  .site-logo-icon{height:74px!important;max-width:118px!important;}
  .site-branding{min-width:125px;}
}
@media (max-width:760px){
  .site-header__inner{min-height:78px!important;padding:6px 14px!important;}
  .site-logo-icon{height:64px!important;max-width:100px!important;}
  .site-branding{min-width:105px;}
}


/* v7 product-first polish: horizontal wordmark + explicit product links */
.site-branding{min-width:150px!important;}
.site-logo-link{width:150px!important;min-width:150px!important;}
.site-logo-icon{width:150px!important;height:89px!important;max-width:150px!important;object-fit:contain!important;}
.product-card__link{display:block!important;color:inherit!important;text-decoration:none!important;}
.product-card__cta{display:inline-flex;align-items:center;justify-content:center;margin:12px 16px 18px;padding:11px 14px;border:1px solid #2b2726;background:#2b2726;color:#fff;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;}
.product-card:hover .product-card__cta{background:#a88955;border-color:#a88955;}
.collection-note{margin:10px 0 0;font-size:.78rem;color:#756d65;}
.collection-product-grid{margin-top:30px;}
@media(max-width:1180px){.site-branding{min-width:160px!important}.site-logo-link{width:160px!important;min-width:160px!important}.site-logo-icon{width:160px!important;height:58px!important;max-width:160px!important}.main-nav__list{gap:14px}.main-nav__list>li>a{font-size:.76rem}}
@media(max-width:900px){.site-branding{min-width:145px!important}.site-logo-link{width:145px!important;min-width:145px!important}.site-logo-icon{width:145px!important;height:54px!important;max-width:145px!important}}

/* v8 product-first responsive polish */
.site-logo-link{display:flex;align-items:center;min-width:150px;}
.site-logo-icon{display:block;width:150px!important;height:auto!important;max-width:150px!important;object-fit:contain;}
.single-product__categories{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 4px;}
.single-product__categories a{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8b6a4d;border:1px solid #ddd2c5;border-radius:999px;padding:6px 10px;text-decoration:none;}
.single-product__categories a:hover{background:#231f20;color:#fff;border-color:#231f20;}
.single-product__related{margin-top:70px;}
.single-product__related ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:20px 0 0!important;padding:0!important;}
.single-product__related ul.products li.product{width:auto!important;margin:0!important;}
.empty-state{grid-column:1/-1;padding:36px;border:1px dashed #d9d0c5;background:#fff;border-radius:12px;}
.product-card__quickview{display:none!important;}
.product-card__link{display:block;height:100%;text-decoration:none;color:inherit;}
.product-card__cta{display:inline-block;margin-top:8px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#8b6a4d;font-weight:600;}
@media(max-width:1100px){.site-logo-link{min-width:125px}.site-logo-icon{width:125px!important;max-width:125px!important}.single-product__layout{grid-template-columns:1fr 1fr;gap:36px}.single-product__related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.site-logo-link{min-width:115px}.site-logo-icon{width:115px!important;max-width:115px!important}.single-product__layout{grid-template-columns:1fr;gap:28px}.single-product__gallery{max-width:760px;margin:0 auto;width:100%}.single-product__details{grid-template-columns:1fr!important;margin-top:44px}.single-product__trust{grid-template-columns:1fr 1fr}.single-product__related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.site-header__inner{min-height:76px;padding:10px 14px}.site-logo-link{min-width:105px}.site-logo-icon{width:105px!important;max-width:105px!important}.single-product-page{padding:20px 0 60px}.single-product__title{font-size:clamp(2rem,10vw,3rem)}.single-product__cart-area form.cart{display:grid!important;grid-template-columns:1fr;gap:10px}.single-product__cart-area .quantity{width:100%}.single-product__cart-area .quantity input{width:100%}.single-product__cart-area .single_add_to_cart_button{width:100%;min-height:52px}.single-product__trust{grid-template-columns:1fr;gap:14px}.single-product__detail-panel{padding:20px}.single-product__related ul.products{grid-template-columns:1fr 1fr!important;gap:14px}}
@media(max-width:420px){.site-logo-icon{width:95px!important;max-width:95px!important}.single-product__related ul.products{grid-template-columns:1fr!important}}


/* =========================================================
   v9 — REAL MOBILE E-COMMERCE NAV + FABRIC CATEGORY PAGES
   ========================================================= */
@media (max-width:980px){
  /* The mobile drawer must remain displayable; an older rule hid it. */
  .main-nav{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:min(88vw,360px)!important;
    height:100dvh!important;
    max-width:360px!important;
    padding:96px 22px 30px!important;
    background:#231f20!important;
    transform:translateX(-105%)!important;
    transition:transform .28s ease!important;
    z-index:100!important;
    overflow-y:auto!important;
    box-shadow:18px 0 50px rgba(0,0,0,.28)!important;
  }
  .main-nav.is-open{transform:translateX(0)!important;}
  .nav-backdrop{z-index:90!important;}
  .main-nav__list{display:flex!important;flex-direction:column!important;gap:2px!important;}
  .main-nav__list>li{width:100%;border-bottom:1px solid rgba(255,255,255,.10);}
  .main-nav__list>li>a{
    color:#f8f3eb!important;
    width:100%;
    min-height:52px;
    padding:15px 2px!important;
    font-size:.84rem!important;
    letter-spacing:.10em!important;
    justify-content:space-between;
  }
  .main-nav__list>li>a::after{display:none!important;}
  .main-nav__list>li>a:hover{color:#c8a56a!important;}
  .mega-panel{
    display:none!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    padding:2px 0 12px 12px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .main-nav__list>li.has-mega.is-open>.mega-panel{display:block!important;}
  .mega-panel__list{display:flex!important;flex-direction:column!important;gap:0!important;}
  .mega-panel__item,.mega-panel__group{width:100%;}
  .mega-panel__item a,.mega-panel__group-title{
    display:block!important;
    color:#ded7ce!important;
    padding:11px 4px!important;
    font-size:.76rem!important;
  }
  .mega-panel__item a:hover,.mega-panel__group-title:hover{color:#c8a56a!important;background:rgba(255,255,255,.05)!important;}
  .mobile-nav-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    padding:0!important;
    border:1px solid rgba(35,31,32,.22)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#231f20!important;
    position:relative!important;
    z-index:110!important;
  }
  .mobile-nav-toggle span{width:19px!important;height:2px!important;background:#231f20!important;}
  .mobile-nav-toggle.is-active{background:#231f20!important;border-color:#231f20!important;}
  .mobile-nav-toggle.is-active span{background:#fff!important;}
  .site-header__actions{gap:7px!important;}
  .site-header__actions #rozee-search-toggle,
  .site-header__actions>a[aria-label="Account"]{display:none!important;}
  .site-header__actions .cart-icon{display:flex!important;}
  .site-header__actions .btn{display:none!important;}
  .site-logo-link{min-width:145px!important;width:145px!important;}
  .site-logo-icon{width:145px!important;max-width:145px!important;height:auto!important;}
  .site-header__inner{min-height:76px!important;padding:9px 14px!important;}
  body.rozee-nav-open{overflow:hidden!important;}
}
@media (max-width:420px){
  .site-logo-link{min-width:136px!important;width:136px!important;}
  .site-logo-icon{width:136px!important;max-width:136px!important;}
  .site-header__inner{padding-left:11px!important;padding-right:11px!important;}
  .site-header__actions{gap:5px!important;}
  .cart-icon{width:40px!important;height:40px!important;}
  .mobile-nav-toggle{width:42px!important;height:42px!important;min-width:42px!important;}
}

/* Fabric category archives feel like real store collection pages. */
.rozee-category-page .page-hero{padding-top:76px;padding-bottom:56px;}
.rozee-category-page .category-hero__eyebrow{margin-bottom:10px;}
.rozee-category-page .category-hero__title{font-size:clamp(2.7rem,6vw,5.4rem);margin-bottom:16px;}
.rozee-category-page .category-hero__copy{max-width:680px;font-size:1rem;line-height:1.75;color:#6b645d;}
.rozee-category-page .category-shop-bar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #ded6cd;}
.rozee-category-page .category-shop-bar h2{margin:0;font-size:1.5rem;}
.rozee-category-page .category-shop-bar p{margin:6px 0 0;color:#777069;font-size:.82rem;}
.rozee-category-page .product-card__image{aspect-ratio:4/5;overflow:hidden;background:#eee7dc;}
.rozee-category-page .product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.rozee-category-page .product-card:hover .product-card__image img{transform:scale(1.035);}
.rozee-category-page .product-card__meta{padding:14px 2px 0;}
.rozee-category-page .product-card__title{font-size:1rem;}
.rozee-category-page .product-card__price{margin-top:6px;display:block;}
.rozee-category-page .fabric-unit{font-size:.72rem;color:#8b6a4d;margin-top:5px;display:block;}
@media(max-width:700px){
  .rozee-category-page .page-hero{padding-top:48px;padding-bottom:38px;}
  .rozee-category-page .category-shop-bar{display:block;}
  .rozee-category-page .category-shop-bar .shop-sort{margin-top:16px;}
}

.category-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
.category-entry-card{background:#fff;border:1px solid #e5ddd4;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;border-radius:2px;}
.category-entry-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(35,31,32,.10);}
.category-entry-card__link{display:block;color:inherit;}
.category-entry-card__image{aspect-ratio:4/5;overflow:hidden;background:#eee7dc;}
.category-entry-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.category-entry-card:hover .category-entry-card__image img{transform:scale(1.04);}
.category-entry-card__body{padding:22px;}
.category-entry-card__body h2{margin:7px 0 8px;font-size:1.7rem;}
.category-entry-card__body p{color:#6e6760;line-height:1.65;margin:0 0 18px;font-size:.9rem;}
.category-entry-card__cta{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#8b6a4d;}
@media(max-width:900px){.category-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.category-entry-grid{grid-template-columns:1fr;gap:18px;}.category-entry-card__body{padding:18px;}}
.rozee-form-error{margin-top:24px;padding:16px 18px;border:1px solid #b88972;background:#fbefea;color:#5a3025;font-size:.82rem;line-height:1.6;}
.contact-form{margin-top:28px;display:grid;gap:14px;}
.contact-form .btn{justify-self:start;}
@media (max-width:640px){.contact-form .btn{width:100%;}}

/* =========================================================
   FINAL NAVBAR — single source of truth
   One breakpoint (1024px) for the whole header/nav system.
   Everything above supersedes older scattered nav patches
   because it is !important and last in the cascade.
   ========================================================= */

/* ---- Shared header shell (all widths) ---- */
.site-header{background:rgba(250,248,244,.97)!important;border-bottom:1px solid rgba(31,27,27,.09)!important;box-shadow:0 5px 24px rgba(31,27,27,.05)!important;position:sticky!important;top:0!important;z-index:80!important;}
.site-header__inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;min-height:88px!important;padding:10px 24px!important;flex-wrap:nowrap!important;}
.site-branding{display:flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important;}
.site-logo-link{display:flex!important;align-items:center!important;width:auto!important;min-width:0!important;}
.site-logo-icon{display:block!important;width:auto!important;height:56px!important;max-width:170px!important;object-fit:contain!important;}
.site-header__actions{display:flex!important;align-items:center!important;gap:10px!important;flex:0 0 auto!important;}
.icon-btn{width:38px!important;height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;border:1px solid rgba(35,31,32,.16)!important;color:var(--c-ink,#231f20)!important;flex:0 0 auto!important;}
.rozee-location-pill{flex:0 0 auto!important;}

/* ---- Desktop / laptop (wide only): single-row horizontal nav, mega on hover ----
   Set to 1180px so the horizontal nav actually shows on common laptop
   screens (1280–1440px). Spacing/font-size is tightened at the lower end
   of this range (see the 1180–1400px block below) so 10 top-level items
   still fit on one nowrap row instead of wrapping. Below 1180px it falls
   back to the hamburger + slide-in drawer. */
@media (min-width:1180px){
  .main-nav{position:static!important;transform:none!important;height:auto!important;width:auto!important;max-width:none!important;padding:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;flex:1 1 auto!important;display:flex!important;justify-content:center!important;}
  .main-nav__list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:clamp(10px,1.6vw,26px)!important;}
  .main-nav__list>li{position:relative!important;width:auto!important;border:0!important;}
  .main-nav__list>li>a{display:flex!important;align-items:center!important;gap:5px!important;color:var(--c-charcoal,#1f1b1b)!important;font-size:clamp(.72rem,.85vw,.82rem)!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap!important;padding:30px 0!important;min-height:0!important;}
  .main-nav__list>li>a:hover{color:var(--c-brass,#a88b55)!important;}
  .main-nav__list>li.has-mega:hover>.mega-panel,
  .main-nav__list>li.has-mega:focus-within>.mega-panel{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translate(-50%,0)!important;}
  .mega-panel{display:block!important;position:absolute!important;top:100%!important;left:50%!important;transform:translate(-50%,8px)!important;min-width:380px!important;background:#fff!important;border:1px solid #e6dfd6!important;box-shadow:0 26px 60px rgba(31,27,27,.14)!important;border-radius:6px!important;padding:18px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;z-index:85!important;}
  .mega-panel__list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px 22px!important;}
  .mega-panel__item>a,.mega-panel__group-title{color:var(--c-charcoal,#1f1b1b)!important;padding:9px 10px!important;display:block!important;text-transform:none!important;letter-spacing:0!important;font-size:.86rem!important;border-radius:4px!important;}
  .mega-panel__item>a:hover{background:#f5f0e7!important;color:var(--c-brass,#a88b55)!important;}
  .nav-backdrop,.mobile-nav-toggle{display:none!important;}
  .site-header__inner{padding:10px 32px!important;}
  .site-header__actions .btn{display:inline-flex!important;}
}

/* Slightly tighter spacing on the lower end of the wide-desktop range
   (1180–1600px) so the mega menu + logo + icons + Request Quote never
   wrap onto a second line even with 10 top-level items. */
@media (min-width:1180px) and (max-width:1600px){
  .site-header__inner{padding:10px 18px!important;gap:10px!important;}
  .site-logo-icon{height:56px!important;max-width:170px!important;}
  .main-nav__list{gap:clamp(6px,.9vw,14px)!important;}
  .main-nav__list>li>a{font-size:.66rem!important;padding:28px 0!important;}
  .site-header__actions{gap:6px!important;}
  .site-header__actions .btn{padding:11px 16px!important;font-size:.72rem!important;}
  .rozee-shop-address{display:none!important;}
}
@media (min-width:1180px) and (max-width:1310px){
  .main-nav__list{gap:clamp(4px,.6vw,8px)!important;}
  .main-nav__list>li>a{font-size:.6rem!important;letter-spacing:.03em!important;}
}

/* ---- Mobile / tablet (<1180px): hamburger + slide-in drawer ---- */
@media (max-width:1179px){
  .site-header__inner{min-height:72px!important;padding:10px 16px!important;}
  .site-logo-icon{height:54px!important;max-width:160px!important;}

  .mobile-nav-toggle{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:46px!important;height:46px!important;min-width:46px!important;border-radius:50%!important;border:2px solid #1f1b1b!important;background:#ffffff!important;position:relative!important;z-index:110!important;flex:0 0 auto!important;box-shadow:0 2px 8px rgba(0,0,0,.12)!important;}
  .mobile-nav-toggle span{display:block!important;width:20px!important;height:3px!important;border-radius:2px!important;background:#1f1b1b!important;}
  .mobile-nav-toggle.is-active{background:#1f1b1b!important;border-color:#1f1b1b!important;}
  .mobile-nav-toggle.is-active span{background:#ffffff!important;}

  .nav-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(20,17,17,.55)!important;opacity:0!important;visibility:hidden!important;transition:opacity .25s ease,visibility .25s ease!important;z-index:95!important;}
  .nav-backdrop.is-open{opacity:1!important;visibility:visible!important;}

  .main-nav{display:block!important;position:fixed!important;top:0!important;left:0!important;width:min(86vw,340px)!important;max-width:340px!important;height:100dvh!important;overflow-y:auto!important;background:var(--c-charcoal,#1f1b1b)!important;padding:92px 22px 30px!important;transform:translateX(-105%)!important;transition:transform .3s ease!important;box-shadow:18px 0 50px rgba(0,0,0,.3)!important;z-index:100!important;}
  .main-nav.is-open{transform:translateX(0)!important;}

  .main-nav__list{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;}
  .main-nav__list>li{width:100%!important;border-bottom:1px solid rgba(255,255,255,.1)!important;position:static!important;}
  .main-nav__list>li>a{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:50px!important;padding:14px 2px!important;color:#f8f3eb!important;font-size:.85rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;}
  .main-nav__list>li>a:hover{color:#c8a56a!important;}
  .mega-caret{flex:0 0 auto!important;}

  .mega-panel{display:none!important;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 0 10px 12px!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;}
  .main-nav__list>li.has-mega.is-open>a .mega-caret{transform:rotate(180deg)!important;}
  .main-nav__list>li.has-mega.is-open>.mega-panel{display:block!important;}
  .mega-panel__list{display:flex!important;flex-direction:column!important;gap:0!important;}
  .mega-panel__item,.mega-panel__group{width:100%!important;}
  .mega-panel__item>a,.mega-panel__group-title{display:block!important;color:#ded7ce!important;padding:10px 4px!important;font-size:.78rem!important;text-transform:none!important;letter-spacing:0!important;}
  .mega-panel__item>a:hover,.mega-panel__group-title:hover{color:#c8a56a!important;background:rgba(255,255,255,.05)!important;}
  .mega-panel__sublist .mega-panel__item>a{padding-left:12px!important;}

  .site-header__actions{gap:6px!important;}
  .site-header__actions #rozee-search-toggle,
  .site-header__actions>a[aria-label="Account"]{display:none!important;}
  .site-header__actions .btn{display:none!important;}
  .rozee-shop-address{display:none!important;}
  .rozee-location-pill{display:inline-flex!important;padding:8px!important;}
  .rozee-location-pill__label,.rozee-location-pill__chevron{display:none!important;}
  .cart-icon{width:38px!important;height:38px!important;}

  body.rozee-nav-open{overflow:hidden!important;}
}

@media (max-width:400px){
  .site-logo-icon{max-width:96px!important;}
  .site-header__inner{padding:8px 12px!important;}
}

/* Project-brief completion: paid stitching + fabric unit + pickup UX */
.stitching-price{font-weight:600;margin-left:4px;white-space:nowrap}
.rozee-fabric-unit-picker{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:10px 12px;background:#faf8f4;border:1px solid #e5ddd3;border-radius:2px;flex-wrap:wrap}
.rozee-fabric-unit-picker .rozee-yard-label{margin:0 6px 0 0;font-weight:600}
.rozee-fabric-unit-picker label{font-size:.82rem;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.rozee-fabric-unit-picker input{accent-color:#231f20}
.alteration-offer__list{list-style:none;margin:0 0 24px;padding:0;}
.alteration-offer__list li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--c-border);font-size:.95rem;color:var(--c-text);}
.alteration-offer__list li:last-child{border-bottom:none;}
.alteration-offer__check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--c-bronze);color:var(--c-white);font-size:.7rem;font-weight:700;}
.alteration-offer__note{display:flex;align-items:center;gap:8px;background:var(--c-cream);border:1px solid var(--c-border);border-radius:var(--radius);padding:14px 16px;font-size:.85rem;color:var(--c-text-muted);}
@media(max-width:768px){.alteration-grid{grid-template-columns:1fr;}}
.alteration-pickup-fields,.alteration-pickup-address{display:none}
.alteration-form:has(button[value="pickup"]){ }
@media(max-width:720px){.rozee-fabric-unit-picker{width:100%}.rozee-fabric-unit-picker label{min-height:38px}.stitching-price{display:block;margin:3px 0 0}}

/* ---- How Custom Stitching Works (4-step strip) ---- */
.stitching-how-it-works{padding-top:clamp(40px,6vw,64px);padding-bottom:0;}
.stitching-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.stitching-steps__item{border-left:2px solid var(--c-border);padding-left:18px;}
.stitching-steps__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--c-ink);color:var(--c-white);font-family:var(--font-display);font-size:.95rem;margin-bottom:12px;}
.stitching-steps__item p{margin:0;font-size:.88rem;line-height:1.6;color:var(--c-text-muted);}
@media(max-width:900px){.stitching-steps{grid-template-columns:1fr 1fr;row-gap:26px;}}
@media(max-width:560px){.stitching-steps{grid-template-columns:1fr;}}

/* ---- Payment policy red CTA banner ---- */
.stitching-cta-banner{padding-top:clamp(28px,4vw,40px);}
.stitching-cta-banner__box{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(120deg,#9c2b23,#c0392b);border-radius:var(--radius);padding:clamp(24px,4vw,40px);color:#fff;}
.stitching-cta-banner__eyebrow{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:10px;}
.stitching-cta-banner__box h2{margin:0 0 8px;font-size:clamp(1.3rem,2.4vw,1.9rem);color:#fff;max-width:640px;}
.stitching-cta-banner__box p{margin:0;font-size:.85rem;color:rgba(255,255,255,.85);max-width:560px;line-height:1.6;}
.stitching-cta-banner__btn{flex:0 0 auto;background:#fff!important;color:#9c2b23!important;border:none!important;padding:14px 26px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:4px;}
.stitching-cta-banner__btn:hover{background:#f5f0e7!important;}
@media(max-width:700px){.stitching-cta-banner__box{flex-direction:column;align-items:flex-start;}.stitching-cta-banner__btn{width:100%;text-align:center;}}

/* Functional catalog filters */

.shop-filter-toggle{display:none;width:100%;border:1px solid #ded5ca;background:#fff;padding:13px 16px;font:inherit;font-weight:600;text-align:left;margin-bottom:14px;cursor:pointer}
.rozee-filter-form{padding:0 0 8px}
.filter-price-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.filter-price-row input,.rozee-filter-form select{width:100%;border:1px solid #d8d0c7;background:#fff;padding:10px;font:inherit}
.filter-check{font-size:.8rem;display:flex;align-items:center;gap:7px;cursor:pointer}
.filter-submit{width:100%;margin-top:6px}.filter-reset{display:block;text-align:center;margin-top:10px;font-size:.75rem;color:#6b645d}
@media(max-width:900px){.shop-filter-toggle{display:block}.shop-catalog__layout{display:block}.shop-filters{display:none;position:relative;top:auto;margin-bottom:18px}.shop-filters.is-open{display:block}.shop-results{width:100%}}

/* =========================================================
   FINAL HEADER RESET — single source of truth for header/nav.
   Everything above this block fought over logo size, header
   height and nav breakpoints (v7, v8, "4.0 polish", "final fix"
   all disagreed). This block wins because it's last, and it is
   the ONLY place these properties should be edited from now on.
   Modeled on the clean single-row "RozeeAtelier" reference:
   serif wordmark + plain uppercase links, no clutter.
   ========================================================= */
.site-header{
  background:rgba(251,250,247,.97)!important;
  border-bottom:1px solid rgba(31,27,27,.08)!important;
  box-shadow:0 4px 18px rgba(31,27,27,.04)!important;
}
.site-header__inner{
  min-height:80px!important;padding:0 24px!important;gap:20px!important;
}
.site-branding,.site-logo-link{
  min-width:0!important;width:auto!important;
}
.site-logo-icon{
  display:block!important;width:auto!important;height:58px!important;max-width:210px!important;
  object-fit:contain!important;
}
.main-nav__list{gap:26px!important;}
.main-nav__list>li>a{
  color:var(--c-charcoal,#1f1b1b)!important;font-size:.78rem!important;
  letter-spacing:.08em!important;padding:28px 0!important;
}
.main-nav__list>li>a:hover{color:var(--c-brass,#a88b55)!important;}
.mega-panel{min-width:460px!important;}
.icon-btn{
  color:var(--c-charcoal,#1f1b1b)!important;border-color:rgba(31,27,27,.15)!important;
  width:36px!important;height:36px!important;
}
.site-header .btn--dark{
  background:var(--c-charcoal,#1f1b1b)!important;color:#fff!important;
  border-color:var(--c-charcoal,#1f1b1b)!important;border-radius:5px!important;
  padding:12px 20px!important;font-size:.72rem!important;letter-spacing:.08em!important;
}
.site-header .btn--dark:hover{background:var(--c-brass,#a88b55)!important;border-color:var(--c-brass,#a88b55)!important;}
.site-header__actions{gap:12px!important;flex:0 0 auto!important;}
.rozee-shop-address{display:inline-flex!important;}
.rozee-location-pill{background:#fff!important;}

/* One single, clean breakpoint: below 1180px the row can no longer
   fit logo + 7 links + icons + button, so switch to the drawer.
   Above it, everything stays in one row — no more mid-range
   squeeze/jump. */
@media(max-width:1180px){
  .main-nav{
    display:block!important;position:fixed!important;top:0!important;left:0!important;
    width:min(84vw,340px)!important;max-width:340px!important;height:100dvh!important;
    overflow-y:auto!important;background:var(--c-charcoal,#1f1b1b)!important;
    padding:90px 22px 30px!important;transform:translateX(-105%)!important;
    transition:transform .3s ease!important;box-shadow:18px 0 50px rgba(0,0,0,.3)!important;
    z-index:100!important;
  }
  .main-nav.is-open{transform:translateX(0)!important;}
  .main-nav__list{flex-direction:column!important;gap:2px!important;}
  .main-nav__list>li>a{color:#f5f0e9!important;padding:13px 0!important;}
  .rozee-drawer-address{display:block!important;color:#c8a56a!important;font-size:.78rem!important;padding:0 2px 16px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;margin-bottom:8px!important;}
  .rozee-shop-address{display:none!important;}
  .site-header .btn--dark{display:none!important;}
  .mobile-nav-toggle{display:flex!important;}
}
@media(min-width:1181px){
  .rozee-drawer-address{display:none!important;}
  .mobile-nav-toggle{display:none!important;}
}
@media(max-width:640px){
  .site-header__inner{min-height:68px!important;padding:0 16px!important;}
  .site-logo-icon{height:46px!important;max-width:160px!important;}
  .rozee-location-pill__label{display:none!important;}
  #rozee-search-toggle{display:none!important;}
}

/* =========================================================
   CART & CHECKOUT — RESPONSIVE (previously unstyled)
   WooCommerce's default cart/checkout tables have zero
   custom CSS, so on mobile they overflow horizontally.
   Below: brand the table on desktop, and stack rows into
   cards on mobile using WooCommerce's built-in data-title
   attributes (no PHP template edits needed).
   ========================================================= */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content{padding:40px 0 80px;}
.woocommerce table.shop_table{border-collapse:collapse;width:100%;border:1px solid #e6e0d8;background:#fff;margin-bottom:28px;}
.woocommerce table.shop_table th{background:#f8f4ee;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;color:#6b645d;padding:14px;text-align:left;border-bottom:1px solid #e6e0d8;}
.woocommerce table.shop_table td{padding:16px 14px;border-bottom:1px solid #eee7de;vertical-align:middle;}
.woocommerce table.shop_table td.product-thumbnail img{width:64px;height:auto;border-radius:6px;}
.woocommerce table.shop_table td.product-remove a{color:#a33;font-size:1.2rem;}
.woocommerce-cart-form .quantity input{width:60px;padding:8px;border:1px solid #d8d0c7;border-radius:6px;}
.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order{background:#231f20!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:13px 26px!important;font-size:.8rem!important;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.woocommerce button.button:hover,.woocommerce #place_order:hover{background:var(--c-bronze,#a88955)!important;}
.woocommerce-cart .cart-collaterals{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start;margin-top:20px;}
.woocommerce-cart .cart_totals{background:#faf8f4;border:1px solid #e5ddd3;padding:26px;}
.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-additional-fields textarea{width:100%;padding:11px;border:1px solid #d8d0c7;border-radius:6px;background:#fff;font:inherit;}
.woocommerce-checkout #order_review{background:#faf8f4;border:1px solid #e5ddd3;padding:26px;}

@media(max-width:900px){
  .woocommerce-cart .cart-collaterals{grid-template-columns:1fr;}
  .woocommerce-checkout #customer_details{grid-template-columns:1fr;gap:0;}
}

@media(max-width:640px){
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content{padding:24px 0 60px;}
  /* Stack the cart table into cards using WooCommerce's built-in
     data-title attribute on each <td> — no template edit needed. */
  .woocommerce table.shop_table thead{display:none;}
  .woocommerce table.shop_table,
  .woocommerce table.shop_table tbody,
  .woocommerce table.shop_table tr,
  .woocommerce table.shop_table td{display:block;width:100%;}
  .woocommerce table.shop_table tr{border:1px solid #e6e0d8;border-radius:10px;margin-bottom:14px;padding:6px 4px;}
  .woocommerce table.shop_table td{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right;border-bottom:1px solid #f1ece4;padding:10px 12px;}
  .woocommerce table.shop_table td:last-child{border-bottom:0;}
  .woocommerce table.shop_table td[data-title]::before{content:attr(data-title);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#8a827a;text-align:left;}
  .woocommerce table.shop_table td.product-thumbnail{justify-content:flex-start;}
  .woocommerce table.shop_table td.product-thumbnail::before{content:none;}
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review{padding:18px;}
}

/* =========================================================
   PRODUCT CARD — even "View Details" button + centered text
   Fixes: title wrapping to 1 vs 2 lines was pushing the
   button to different heights across cards in the same row.
   Now the card stretches full height and the button is
   pinned to the bottom, so every button sits on one line.
   ========================================================= */
.product-grid, .woocommerce ul.products{align-items:stretch;}
.product-card{height:100%;}
.product-card__link{display:flex;flex-direction:column;height:100%;}
.product-card__meta{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.product-card__title{text-align:center;}
.product-card__price{text-align:center;}
.product-card__cta{
  margin-top:auto!important;
  align-self:center;
  background:#fff!important;
  color:#231f20!important;
  border:1px solid #231f20!important;
}
.product-card:hover .product-card__cta{
  background:#231f20!important;
  color:#fff!important;
  border-color:#231f20!important;
}

/* =========================================================
   PRODUCT CARD — "View Details" button hidden until hover/tap
   Desktop: button appears only when hovering the product card.
   Mobile/touch (no hover support): button stays visible always,
   since there's no hover state on a phone to reveal it.
   ========================================================= */
.product-card__cta{
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease,visibility .25s ease;
}
.product-card:hover .product-card__cta,
.product-card:focus-within .product-card__cta{
  opacity:1;
  visibility:visible;
}
@media(hover:none){
  .product-card__cta{opacity:1;visibility:visible;}
}

/* =========================================================
   MOBILE — buttons squeezed side-by-side on narrow screens.
   A global mobile rule makes every .btn width:100%, which
   inside a row-flex container (no wrap) makes two buttons
   fight for space and shrink to look half-cut. Any button
   pair now stacks cleanly, full width, one under the other.
   ========================================================= */
@media(max-width:680px){
  .alteration-form__actions{flex-direction:column;align-items:stretch;gap:10px;}
  .page-hero__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .hero__ctas{flex-direction:column;align-items:stretch;}
}

/* =========================================================
   PAGINATION — page number buttons cut off at screen edge.
   The row didn't wrap, so with many pages the last button(s)
   ran past the viewport and got sliced in half.
   ========================================================= */
@media(max-width:640px){
  .rozee-pagination .page-numbers{flex-wrap:wrap;row-gap:8px;}
  .rozee-pagination .page-numbers a,
  .rozee-pagination .page-numbers span{min-width:34px;height:34px;font-size:.72rem;}
}

/* FINAL HERO IMAGE CLEANUP
   Remove the decorative frame and line overlays from slideshow images. */
.hero__side-panel{
  border:0 !important;
  box-shadow:0 20px 55px rgba(45,35,28,.13);
}
.hero__side-panel::before,
.hero__side-panel::after{
  display:none !important;
  content:none !important;
}

/* =========================================================
   FINAL CLEAN NAVBAR FIT — desktop/laptop
   Keeps the complete header on one row at 1280–1440px.
   ========================================================= */
@media (min-width:1180px){
  .site-header__inner{
    padding:8px 14px!important;
    gap:10px!important;
    min-width:0!important;
  }
  .site-branding{
    flex:0 0 124px!important;
    width:124px!important;
    min-width:124px!important;
  }
  .site-logo-link{
    width:124px!important;
    min-width:124px!important;
  }
  .site-logo-icon{
    width:124px!important;
    max-width:124px!important;
    height:auto!important;
    max-height:58px!important;
  }
  .main-nav{
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:center!important;
  }
  .main-nav__list{
    width:auto!important;
    min-width:0!important;
    gap:clamp(5px,.65vw,10px)!important;
  }
  .main-nav__list>li>a{
    font-size:clamp(.61rem,.66vw,.70rem)!important;
    letter-spacing:.025em!important;
    padding:27px 0!important;
  }
  .main-nav__list>li>a .mega-caret{
    width:8px!important;
    height:8px!important;
  }
  .site-header__actions{
    flex:0 0 auto!important;
    gap:5px!important;
    min-width:0!important;
  }
  .rozee-shop-address{display:none!important;}
  .rozee-location-pill{
    padding:7px 9px!important;
    gap:4px!important;
    font-size:11px!important;
  }
  .rozee-location-pill__flag{font-size:13px!important;}
  .icon-btn{
    width:35px!important;
    height:35px!important;
  }
  .icon-btn svg{width:18px!important;height:18px!important;}
  .site-header__actions .btn{
    display:inline-flex!important;
    min-width:108px!important;
    justify-content:center!important;
    padding:11px 12px!important;
    font-size:.62rem!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
}

@media (min-width:1180px) and (max-width:1320px){
  .site-header__inner{padding-left:10px!important;padding-right:10px!important;gap:7px!important;}
  .site-branding,.site-logo-link{flex-basis:112px!important;width:112px!important;min-width:112px!important;}
  .site-logo-icon{width:112px!important;max-width:112px!important;}
  .main-nav__list{gap:4px!important;}
  .main-nav__list>li>a{font-size:.57rem!important;letter-spacing:.015em!important;}
  .site-header__actions{gap:4px!important;}
  .rozee-location-pill{padding:6px 7px!important;}
  .icon-btn{width:33px!important;height:33px!important;}
  .site-header__actions .btn{min-width:98px!important;padding:10px 8px!important;font-size:.58rem!important;}
}


/* =========================================================
   ULTIMATE NAVBAR POSITION + SPACING FIX
   This final block deliberately neutralizes older conflicting
   navbar patches and prevents the menu/notice from jumping
   into the hero area or appearing as a floating second row.
   ========================================================= */

/* Header must behave as one normal vertical stack */
.site-header,
.site-header *,
.site-header::before,
.site-header::after{
  box-sizing:border-box;
}

.site-header{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  isolation:isolate!important;
}

.site-header__inner{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  min-height:84px!important;
  padding:10px 28px!important;
  gap:22px!important;
}

.site-branding{
  position:relative!important;
  flex:0 0 150px!important;
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  margin:0!important;
}

.site-logo-link{
  display:flex!important;
  align-items:center!important;
  width:150px!important;
  min-width:150px!important;
}

.site-logo-icon{
  display:block!important;
  width:150px!important;
  max-width:150px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
}

/* Desktop: menu can NEVER become a drawer/floating block */
@media (min-width:1180px){
  .site-header__inner{
    overflow:visible!important;
  }

  .main-nav,
  .main-nav.is-open{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:auto!important;
    display:flex!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
    justify-content:center!important;
    align-items:center!important;
  }

  .main-nav__list{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    gap:clamp(12px,1.15vw,22px)!important;
    background:transparent!important;
    transform:none!important;
  }

  .main-nav__list > li{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:0!important;
  }

  .main-nav__list > li > a{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    margin:0!important;
    padding:30px 0!important;
    font-size:clamp(.64rem,.70vw,.76rem)!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    white-space:nowrap!important;
  }

  .rozee-drawer-address,
  .mobile-nav-toggle,
  .nav-backdrop{
    display:none!important;
  }

  .site-header__actions{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
    width:auto!important;
  }

  .rozee-shop-address{
    display:none!important;
  }

  .rozee-location-pill{
    flex:0 0 auto!important;
    padding:8px 11px!important;
    white-space:nowrap!important;
  }

  .icon-btn{
    width:37px!important;
    height:37px!important;
  }

  .site-header__actions .btn{
    flex:0 0 auto!important;
    min-width:112px!important;
    padding:12px 15px!important;
    white-space:nowrap!important;
  }

  /* Region notice stays directly under THIS header */
  .rozee-region-notice{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    transform:none!important;
    clear:both!important;
    z-index:auto!important;
  }
}

/* Compact desktop/laptop: reduce only enough to fit, without cramping */
@media (min-width:1180px) and (max-width:1400px){
  .site-header__inner{
    padding-left:20px!important;
    padding-right:20px!important;
    gap:14px!important;
  }

  .site-branding,
  .site-logo-link{
    flex-basis:132px!important;
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
  }

  .site-logo-icon{
    width:132px!important;
    max-width:132px!important;
  }

  .main-nav__list{
    gap:clamp(7px,.75vw,12px)!important;
  }

  .main-nav__list > li > a{
    font-size:clamp(.59rem,.63vw,.68rem)!important;
    letter-spacing:.025em!important;
  }

  .site-header__actions{
    gap:6px!important;
  }

  .rozee-location-pill{
    padding:7px 8px!important;
    font-size:.68rem!important;
  }

  .icon-btn{
    width:35px!important;
    height:35px!important;
  }

  .site-header__actions .btn{
    min-width:104px!important;
    padding:11px 11px!important;
    font-size:.62rem!important;
  }
}

/* If a previous mobile state survives a resize, hard-reset it */
@media (min-width:1180px){
  body.rozee-nav-open{
    overflow:auto!important;
  }
  body.rozee-nav-open::after{
    display:none!important;
    content:none!important;
  }
}

/* Tablet/mobile drawer remains a separate mode */
@media (max-width:1179px){
  .site-header__inner{
    min-height:76px!important;
    padding:8px 16px!important;
    gap:12px!important;
  }
}


/* =========================================================
   FINAL NAVBAR POLISH — compact labels + centered region bar
   Keeps the desktop nav on one clean responsive row and
   preserves the hamburger drawer below 1180px.
   ========================================================= */
@media (min-width:1180px){
  .site-header__inner{
    min-height:78px!important;
    padding:0 20px!important;
    gap:12px!important;
  }

  .site-branding,
  .site-logo-link{
    flex:0 0 138px!important;
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
  }

  .site-logo-icon{
    width:138px!important;
    max-width:138px!important;
    max-height:54px!important;
  }

  .main-nav{
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:center!important;
  }

  .main-nav__list{
    gap:clamp(7px,.72vw,12px)!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
  }

  .main-nav__list > li > a{
    font-size:clamp(.57rem,.60vw,.66rem)!important;
    letter-spacing:.018em!important;
    gap:3px!important;
    padding:25px 0!important;
    line-height:1!important;
  }

  .mega-caret{width:8px!important;height:8px!important;}

  .site-header__actions{
    gap:6px!important;
  }

  .rozee-location-pill{
    padding:7px 9px!important;
    font-size:.66rem!important;
  }

  .icon-btn{
    width:35px!important;
    height:35px!important;
  }

  .site-header__actions .btn--dark{
    min-width:104px!important;
    padding:11px 12px!important;
    font-size:.62rem!important;
    letter-spacing:.055em!important;
  }
}

/* The Pakistan/Canada service strip sits cleanly under the navbar
   and keeps its message centered at every screen width. */
.rozee-region-notice{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  width:100%!important;
  max-width:none!important;
  height:29px!important;
  min-height:29px!important;
  margin:0!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  background:#231f20!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
}

.rozee-region-notice__pk,
.rozee-region-notice__ca{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media(max-width:640px){
  .rozee-region-notice{
    height:27px!important;
    min-height:27px!important;
    font-size:9.5px!important;
    padding:0 8px!important;
  }
}

/* FINAL NAV READABILITY FIX — desktop/laptop only
   Keeps the existing header structure intact while giving each menu item
   enough breathing room to remain readable instead of looking compressed. */
@media (min-width:1180px){
  .main-nav{min-width:0!important;}
  .main-nav__list{
    gap:clamp(10px,1vw,16px)!important;
  }
  .main-nav__list>li>a{
    font-size:clamp(.72rem,.76vw,.78rem)!important;
    letter-spacing:.055em!important;
    padding:28px 0!important;
  }
}

@media (min-width:1180px) and (max-width:1400px){
  .main-nav__list{gap:clamp(9px,.85vw,12px)!important;}
  .main-nav__list>li>a{font-size:.72rem!important;letter-spacing:.045em!important;}
  .site-header__actions{gap:7px!important;}
  .site-header__actions .btn{padding:11px 14px!important;font-size:.7rem!important;}
}

/* =========================================================
   FINAL RESPONSIVE POLISH — safe overrides only
   Keeps existing design/functionality intact while making the
   catalog, cards, hero, filters and controls fluid at every size.
   ========================================================= */

html,body{max-width:100%;overflow-x:hidden;}
*,*::before,*::after{box-sizing:border-box;}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:clamp(14px,2vw,28px);}

/* Shop/category hero */
.rozee-category-page .shop-hero,
.rozee-shop-page .shop-hero{min-height:clamp(300px,38vw,520px);display:flex;align-items:center;}
.rozee-category-page .shop-hero .container,
.rozee-shop-page .shop-hero .container{width:100%;}
.rozee-category-page .category-hero__title,
.rozee-shop-page .category-hero__title{font-size:clamp(2.15rem,5vw,4.8rem);line-height:1.02;max-width:900px;overflow-wrap:anywhere;}
.rozee-category-page .category-hero__copy,
.rozee-shop-page .category-hero__copy{max-width:min(700px,100%);font-size:clamp(.88rem,1.4vw,1.02rem);}
.shop-hero__links{display:flex;flex-wrap:wrap;gap:12px;}
.shop-hero__links .btn{min-width:0;}

/* Catalog layout */
.shop-catalog__layout{grid-template-columns:minmax(220px,245px) minmax(0,1fr);gap:clamp(22px,3vw,46px);min-width:0;}
.shop-filters,.shop-results{min-width:0;}
.category-shop-bar{min-width:0;}
.category-shop-bar>div:first-child{min-width:0;}
.category-shop-bar h2,.category-shop-bar p{overflow-wrap:anywhere;}
.shop-sort{flex:0 0 auto;min-width:0;}
.shop-sort select{max-width:100%;}

/* Product grid: 4 → 3 → 2 → 1 columns */
.rozee-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);min-width:0;}
.rozee-category-page .product-card{min-width:0;width:100%;}
.rozee-category-page .product-card__link{min-width:0;}
.rozee-category-page .product-card__image{width:100%;aspect-ratio:4/5;}
.rozee-category-page .product-card__image img{display:block;width:100%;height:100%;object-fit:cover;}
.rozee-category-page .product-card__meta{min-width:0;padding:14px 10px 18px;}
.rozee-category-page .product-card__title{display:block;width:100%;font-size:clamp(.92rem,1.2vw,1.05rem);line-height:1.35;overflow-wrap:anywhere;}
.rozee-category-page .product-card__price{font-size:clamp(.78rem,1vw,.9rem);}
.rozee-category-page .product-card__cta{max-width:100%;white-space:nowrap;}

/* Touch devices: never rely on hover */
@media (hover:none){
  .rozee-category-page .product-card:hover{transform:none;}
  .rozee-category-page .product-card:hover .product-card__image img{transform:none;}
  .rozee-category-page .product-card__cta{opacity:1;visibility:visible;}
}

/* Large tablet / small laptop */
@media (max-width:1100px){
  .rozee-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .shop-catalog__layout{gap:24px;}
  .shop-filters{padding:20px;}
}

/* Tablet: filters become a clean collapsible section */
@media (max-width:900px){
  .shop-catalog__layout{display:block;}
  .shop-filter-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:13px 16px;border:1px solid #ded7cf;background:#faf8f4;color:#231f20;font:inherit;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
  .shop-filters{position:relative;top:auto;width:100%;margin-bottom:22px;}
  .shop-results{width:100%;}
  .rozee-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .category-shop-bar{align-items:flex-start;}
}

/* Small tablet / large phone */
@media (max-width:700px){
  .rozee-category-page .shop-hero,
  .rozee-shop-page .shop-hero{min-height:340px;}
  .rozee-category-page .shop-hero .container,
  .rozee-shop-page .shop-hero .container{padding-inline:18px;}
  .shop-hero__links{flex-direction:column;align-items:stretch;}
  .shop-hero__links .btn{width:100%;text-align:center;}
  .category-shop-bar{display:block!important;margin-bottom:22px;padding-bottom:16px;}
  .category-shop-bar .shop-sort{margin-top:14px!important;width:100%;}
  .category-shop-bar .shop-sort select{width:100%;}
  .rozee-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .rozee-category-page .product-card__meta{padding:12px 8px 16px;}
  .rozee-category-page .product-card__cta{font-size:.67rem;padding:9px 12px;}
}

/* Phone */
@media (max-width:480px){
  .container{padding-inline:14px;}
  .rozee-category-page .shop-hero,
  .rozee-shop-page .shop-hero{min-height:300px;padding-top:44px;padding-bottom:42px;}
  .rozee-category-page .category-hero__title,
  .rozee-shop-page .category-hero__title{font-size:clamp(2rem,10vw,3rem);}
  .rozee-category-page .category-hero__copy,
  .rozee-shop-page .category-hero__copy{line-height:1.65;}
  .shop-catalog{padding-top:44px;padding-bottom:56px;}
  .shop-filters{padding:16px;}
  .filter-price-row{grid-template-columns:1fr 1fr;gap:8px;}
  .rozee-product-grid{grid-template-columns:1fr;gap:20px;}
  .rozee-category-page .product-card__image{aspect-ratio:4/5;}
  .rozee-category-page .product-card__title{font-size:1rem;}
  .rozee-category-page .product-card__meta{padding:13px 8px 18px;}
}

/* Very narrow phones: prevent any control/title from overflowing */
@media (max-width:360px){
  .container{padding-inline:12px;}
  .rozee-category-page .shop-hero .container,
  .rozee-shop-page .shop-hero .container{padding-inline:14px;}
  .shop-filter-toggle{font-size:.68rem;padding:12px;}
  .shop-filters{padding:14px;}
  .filter-price-row{grid-template-columns:1fr;}
  .rozee-category-page .product-card__cta{width:100%;text-align:center;}
}

/* Header stays inside the viewport on narrow devices */
@media (max-width:640px){
  .site-header__inner{width:100%;max-width:100%;min-width:0;}
  .site-branding,.site-logo-link{min-width:0!important;}
  .site-header__actions{min-width:0;flex-shrink:0;}
  .site-header__actions .icon-btn,.site-header__actions .mobile-nav-toggle{flex-shrink:0;}
}

/* Announcement bar: readable and never creates horizontal page overflow */
@media (max-width:640px){
  .rozee-region-notice{width:100%;max-width:100%;overflow:hidden;white-space:nowrap;}
}


/* Rozee Atelier — mobile product/category responsiveness polish */
@media (max-width: 767px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  .site, .site-content, main, .container, .content-area {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Product/category grids: one clean card per row on phones */
  .products,
  ul.products,
  .product-grid,
  .shop-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .products > *,
  ul.products > *,
  .product-grid > *,
  .shop-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Prevent product media from becoming excessively tall or cropped */
  .product-card img,
  .products img,
  ul.products img,
  .woocommerce ul.products li.product img {
    width: 100%;
    height: auto;
    max-height: 72vh;
    object-fit: cover;
    display: block;
  }

  .product-card,
  .products .product,
  ul.products li.product {
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Product titles/prices/buttons stay inside the card */
  .product-card .product-title,
  .product-card h2,
  .product-card h3,
  .products .woocommerce-loop-product__title,
  ul.products .woocommerce-loop-product__title {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.25 !important;
  }

  .product-card .price,
  .products .price,
  ul.products .price {
    white-space: normal !important;
    max-width: 100% !important;
  }

  .product-card button,
  .product-card .button,
  .products .button,
  ul.products .button {
    max-width: 100% !important;
    min-height: 44px;
    box-sizing: border-box;
  }

  /* Product detail page */
  .single-product .site-main,
  .single-product .product,
  .single-product .summary,
  .single-product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .single-product .product {
    display: flex !important;
    flex-direction: column !important;
  }

  .single-product .woocommerce-product-gallery img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Header controls remain within the viewport */
  header, .site-header, .main-header, .header-inner, .navbar {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Announcement strip should scroll horizontally rather than force page width */
  .announcement-bar, .top-bar, .promo-bar {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Floating controls must not cover product text/buttons */
  .whatsapp-float, .whatsapp-button {
    right: 14px !important;
    bottom: 74px !important;
    z-index: 50 !important;
  }

  .back-to-top, .scroll-top {
    right: 14px !important;
    bottom: 138px !important;
    z-index: 51 !important;
  }

  /* Remove accidental desktop gutters/negative margins */
  .row, .woocommerce .columns, .woocommerce-page .columns {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 380px) {
  .products,
  ul.products,
  .product-grid,
  .shop-grid {
    padding-left: 10px !important;
    padding-right: 10px !important;
    gap: 14px !important;
  }

  .whatsapp-float, .whatsapp-button,
  .back-to-top, .scroll-top {
    right: 10px !important;
  }
}



/* FINAL ROZEE ATELIER MOBILE LOGO FIX — use the supplied full logo, never a stretched wordmark. */
.site-logo-picture { display: block; line-height: 0; }
@media (max-width: 767px) {
  .site-logo-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 94px !important;
    min-width: 94px !important;
    height: 76px !important;
    overflow: visible !important;
  }
  .site-logo-picture {
    display: block !important;
    width: 78px !important;
    height: 70px !important;
  }
  .site-logo-icon {
    display: block !important;
    width: 78px !important;
    height: 70px !important;
    max-width: 78px !important;
    max-height: 70px !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}
@media (max-width: 420px) {
  .site-logo-link { width: 88px !important; min-width: 88px !important; }
  .site-logo-picture, .site-logo-icon { width: 72px !important; max-width: 72px !important; height: 66px !important; max-height: 66px !important; }
}

/* =========================================================
   CART DESKTOP / LAPTOP FIX — safe override
   Keep the mobile card layout untouched. On tablets/laptops,
   force WooCommerce cart back into a clean horizontal table.
   ========================================================= */
@media (min-width:641px){
  .woocommerce-cart .entry-content{
    width:100%;
    max-width:none;
    overflow:visible;
  }

  .woocommerce-cart .woocommerce{
    width:100%;
    max-width:1180px;
    margin-inline:auto;
  }

  .woocommerce-cart-form{
    width:100%;
    min-width:0;
  }

  .woocommerce-cart-form table.shop_table.cart{
    width:100%!important;
    table-layout:auto!important;
    display:table!important;
    border-collapse:collapse!important;
  }

  .woocommerce-cart-form table.shop_table.cart thead{
    display:table-header-group!important;
  }

  .woocommerce-cart-form table.shop_table.cart tbody{
    display:table-row-group!important;
  }

  .woocommerce-cart-form table.shop_table.cart tr{
    display:table-row!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
  }

  .woocommerce-cart-form table.shop_table.cart th,
  .woocommerce-cart-form table.shop_table.cart td{
    display:table-cell!important;
    text-align:left!important;
    vertical-align:middle!important;
    white-space:normal!important;
  }

  .woocommerce-cart-form table.shop_table.cart th.product-remove,
  .woocommerce-cart-form table.shop_table.cart td.product-remove{width:52px;text-align:center!important;}
  .woocommerce-cart-form table.shop_table.cart th.product-thumbnail,
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail{width:96px;}
  .woocommerce-cart-form table.shop_table.cart th.product-name{width:auto;}
  .woocommerce-cart-form table.shop_table.cart th.product-price,
  .woocommerce-cart-form table.shop_table.cart td.product-price{width:120px;white-space:nowrap!important;}
  .woocommerce-cart-form table.shop_table.cart th.product-quantity,
  .woocommerce-cart-form table.shop_table.cart td.product-quantity{width:150px;text-align:center!important;}
  .woocommerce-cart-form table.shop_table.cart th.product-subtotal,
  .woocommerce-cart-form table.shop_table.cart td.product-subtotal{width:140px;white-space:nowrap!important;text-align:right!important;}

  .woocommerce-cart-form table.shop_table.cart td.product-name a{
    display:inline-block;
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img{
    width:72px!important;
    height:72px!important;
    object-fit:cover;
    margin:0;
  }

  .woocommerce-cart-form table.shop_table.cart .quantity{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .woocommerce-cart-form table.shop_table.cart .quantity input{
    width:64px!important;
    min-width:64px;
    text-align:center;
  }

  .woocommerce-cart-form table.shop_table.cart td.actions{
    display:table-cell!important;
    text-align:right!important;
    padding:16px 14px!important;
  }

  .woocommerce-cart-form table.shop_table.cart td.actions .coupon{
    float:left;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }

  .woocommerce-cart-form table.shop_table.cart td.actions .coupon .input-text{
    width:180px!important;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #d8d0c7;
    border-radius:6px;
  }

  .woocommerce-cart-form table.shop_table.cart td.actions .button{
    min-height:44px;
    white-space:nowrap!important;
  }

  .woocommerce-cart .cart-collaterals{
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important;
    gap:36px!important;
    align-items:start!important;
  }

  .woocommerce-cart .cart_totals{
    width:100%!important;
    max-width:380px;
    margin-left:auto;
  }

  .woocommerce-cart .cart_totals table.shop_table{
    width:100%!important;
    table-layout:auto!important;
    margin-bottom:20px!important;
  }

  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td{
    display:table-cell!important;
    padding:12px 0!important;
    white-space:normal!important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:center!important;
    white-space:nowrap!important;
    margin:0!important;
  }
}

/* Tablet: give the cart enough room without allowing a horizontal page scroll. */
@media (min-width:641px) and (max-width:900px){
  .woocommerce-cart .cart-collaterals{
    grid-template-columns:minmax(0,1fr) minmax(280px,340px)!important;
    gap:22px!important;
  }
  .woocommerce-cart-form table.shop_table.cart th,
  .woocommerce-cart-form table.shop_table.cart td{padding:12px 9px!important;}
  .woocommerce-cart-form table.shop_table.cart th.product-thumbnail,
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail{width:78px;}
  .woocommerce-cart-form table.shop_table.cart th.product-quantity,
  .woocommerce-cart-form table.shop_table.cart td.product-quantity{width:110px;}
}


/* =========================================================
   FINAL MOBILE / TOUCH RESPONSIVE PASS
   Keeps desktop cart fix intact and improves phones/tablets.
   ========================================================= */
@media (max-width: 640px){
  html, body{max-width:100%;overflow-x:hidden;}
  .container{width:100%;max-width:100%;padding-left:14px!important;padding-right:14px!important;box-sizing:border-box;}

  /* All theme buttons: comfortable touch target + no clipped text. */
  .btn,
  button.btn,
  a.btn,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce a.button,
  .woocommerce #place_order,
  .single_add_to_cart_button{
    min-height:48px!important;
    max-width:100%;
    box-sizing:border-box;
    white-space:normal!important;
    overflow-wrap:anywhere;
    line-height:1.2!important;
    padding:12px 16px!important;
  }

  /* Product cards: title/price/CTA are always centered and contained. */
  .product-card,
  .products .product,
  ul.products li.product{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  .product-card__meta{width:100%;min-width:0;align-items:center!important;text-align:center!important;}
  .product-card__title,
  .product-card .product-title,
  .product-card h2,
  .product-card h3,
  .products .woocommerce-loop-product__title,
  ul.products .woocommerce-loop-product__title{
    width:100%!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    line-height:1.28!important;
  }
  .product-card__price,
  .product-card .price,
  .products .price,
  ul.products .price{
    width:100%!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .product-card__cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    min-height:44px!important;
    margin:12px auto 0!important;
    text-align:center!important;
  }

  /* Cart rows: product name in the CENTER, never pushed to the side. */
  .woocommerce-cart-form table.shop_table.cart td.product-name{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    gap:5px!important;
    width:100%!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name::before{
    content:none!important;
    display:none!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name a{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name dl,
  .woocommerce-cart-form table.shop_table.cart td.product-name .variation{
    width:100%!important;
    text-align:center!important;
    margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name dl dd,
  .woocommerce-cart-form table.shop_table.cart td.product-name dl dt{
    float:none!important;
    display:inline!important;
    margin:0 3px!important;
  }

  /* Thumbnail centered on its own row. */
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img{
    width:86px!important;
    height:86px!important;
    object-fit:cover!important;
    margin:0 auto!important;
  }

  /* Price, quantity and subtotal stay readable without horizontal overflow. */
  .woocommerce-cart-form table.shop_table.cart td.product-price,
  .woocommerce-cart-form table.shop_table.cart td.product-quantity,
  .woocommerce-cart-form table.shop_table.cart td.product-subtotal{
    min-height:46px;
    box-sizing:border-box;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity input{
    width:64px!important;
    min-width:64px!important;
    min-height:42px!important;
    text-align:center!important;
    box-sizing:border-box;
  }

  /* Cart actions/coupon: stack cleanly and make every control tappable. */
  .woocommerce-cart-form table.shop_table.cart td.actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:14px 12px!important;
    text-align:center!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions .coupon{
    float:none!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions .coupon .input-text{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions .button{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
  }

  /* Cart totals: full width, readable labels and button. */
  .woocommerce-cart .cart-collaterals{width:100%!important;display:block!important;margin-top:16px!important;}
  .woocommerce-cart .cart_totals{width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important;padding:18px 16px!important;}
  .woocommerce-cart .cart_totals h2{text-align:center!important;font-size:1.35rem!important;}
  .woocommerce-cart .cart_totals table.shop_table{width:100%!important;margin-bottom:16px!important;}
  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td{padding:11px 0!important;vertical-align:middle!important;}
  .woocommerce-cart .wc-proceed-to-checkout{padding:0!important;}
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    text-align:center!important;
    margin:0!important;
  }

  /* Woo notices and checkout fields: prevent long text from breaking layout. */
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error{margin:0 0 14px!important;padding:12px 14px!important;overflow-wrap:anywhere!important;}
  .woocommerce-checkout #customer_details{display:block!important;}
  .woocommerce-checkout #customer_details .form-row{width:100%!important;float:none!important;box-sizing:border-box!important;}
  .woocommerce-checkout #customer_details input,
  .woocommerce-checkout #customer_details select,
  .woocommerce-checkout #customer_details textarea{width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:46px;}
}

/* =========================================================
   ADD-TO-CART SUCCESS POPUP / TOUCH FEEDBACK
   ========================================================= */
.rozee-cart-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translate(-50%,18px);
  z-index:100000;
  width:min(420px,calc(100vw - 28px));
  box-sizing:border-box;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:14px;
  background:#231f20;
  color:#fff;
  box-shadow:0 16px 45px rgba(0,0,0,.24);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  font-size:.9rem;
  line-height:1.35;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.rozee-cart-toast.is-visible{opacity:1;transform:translate(-50%,0);}
.rozee-cart-toast__check{font-size:1.05rem;flex:0 0 auto;}
@media(max-width:640px){
  .rozee-cart-toast{bottom:16px;width:calc(100vw - 24px);padding:13px 14px;font-size:.84rem;}
}

/* =========================================================
   ROZEE ATELIER — PRODUCT CARDS FINAL RESPONSIVE / YUMMY PASS
   Scoped to catalog + reusable product cards. No product data or
   WooCommerce functionality is changed.
   ========================================================= */
.product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border-radius:10px;
  isolation:isolate;
}

.product-card__link{
  width:100%;
  min-width:0;
  color:inherit;
  text-decoration:none;
}

.product-card__image{
  width:100%;
  aspect-ratio:4 / 5;
  min-width:0;
  overflow:hidden;
  border-radius:10px;
  background:#f2eee8;
}

.product-card__image img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}

.product-card__meta{
  width:100%;
  min-width:0;
  padding:14px 10px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
}

.product-card__title{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  text-align:center;
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
  line-height:1.35;
}

.product-card__price,
.product-card__price .price{
  display:block;
  width:100%;
  min-width:0;
  margin-top:6px;
  text-align:center;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:break-word;
}

.product-card__cta{
  display:flex !important;
  width:fit-content;
  max-width:calc(100% - 8px);
  min-height:44px;
  margin:12px auto 0 !important;
  padding:10px 18px !important;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
  line-height:1.2;
  border-radius:6px;
}

@media (hover:hover) and (min-width:701px){
  .product-card__image img{transition:transform .45s ease;}
  .product-card:hover .product-card__image img{transform:scale(1.035);}
  .product-card:hover{transform:translateY(-3px);}
}

/* Laptop / desktop: cards never become too narrow or stretch awkwardly. */
@media (min-width:1101px){
  .rozee-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .product-card__title{font-size:1rem;}
}

/* Tablet: 3 comfortable columns. */
@media (min-width:701px) and (max-width:1100px){
  .rozee-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .product-card__meta{padding:13px 8px 16px;}
  .product-card__title{font-size:.96rem;}
  .product-card__cta{font-size:.7rem;}
}

/* Phones: 2 cards where there is room; each card remains fully contained. */
@media (max-width:700px){
  .rozee-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    width:100% !important;
    min-width:0 !important;
  }
  .rozee-category-page .product-card,
  .rozee-product-grid .product-card{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .rozee-category-page .product-card__image,
  .rozee-product-grid .product-card__image{
    width:100% !important;
    aspect-ratio:4 / 5 !important;
    border-radius:8px;
  }
  .rozee-category-page .product-card__meta,
  .rozee-product-grid .product-card__meta{
    width:100% !important;
    min-width:0 !important;
    padding:10px 5px 13px !important;
    align-items:center !important;
    text-align:center !important;
  }
  .rozee-category-page .product-card__title,
  .rozee-product-grid .product-card__title{
    width:100% !important;
    font-size:.88rem !important;
    line-height:1.3 !important;
    text-align:center !important;
  }
  .rozee-category-page .product-card__price,
  .rozee-product-grid .product-card__price{
    width:100% !important;
    margin-top:5px !important;
    font-size:.78rem !important;
    line-height:1.3 !important;
    text-align:center !important;
  }
  .rozee-category-page .product-card__cta,
  .rozee-product-grid .product-card__cta{
    width:100% !important;
    max-width:100% !important;
    min-height:42px !important;
    margin:10px auto 0 !important;
    padding:9px 7px !important;
    font-size:.63rem !important;
    letter-spacing:.06em !important;
    border-radius:5px;
    opacity:1 !important;
    visibility:visible !important;
  }
}

/* Very small phones: keep two columns but tighten safely. */
@media (max-width:380px){
  .rozee-product-grid{gap:9px !important;}
  .rozee-category-page .product-card__meta,
  .rozee-product-grid .product-card__meta{padding:9px 4px 11px !important;}
  .rozee-category-page .product-card__title,
  .rozee-product-grid .product-card__title{font-size:.8rem !important;}
  .rozee-category-page .product-card__price,
  .rozee-product-grid .product-card__price{font-size:.72rem !important;}
  .rozee-category-page .product-card__cta,
  .rozee-product-grid .product-card__cta{
    min-height:40px !important;
    padding:8px 5px !important;
    font-size:.58rem !important;
  }
}

/* Standalone product grids used outside the category archive. */
@media (max-width:700px){
  .product-grid:not(.rozee-product-grid){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    min-width:0 !important;
  }
  .product-grid:not(.rozee-product-grid) .product-card__meta{padding:10px 5px 13px;}
  .product-grid:not(.rozee-product-grid) .product-card__title{font-size:.88rem;}
  .product-grid:not(.rozee-product-grid) .product-card__cta{width:100%;font-size:.63rem;}
}


/* Stitched product size selector — scoped only to the Stitched category. */
.rozee-stitched-size-field{display:flex;flex-direction:column;gap:7px;min-width:150px}
.rozee-stitched-size-field label{font-size:.88rem;color:#231f20}
.rozee-stitched-size-field label span{color:#9b6d35}
.rozee-stitched-size-field select{min-height:48px;padding:0 38px 0 14px;border:1px solid #d8d0c7;border-radius:8px;background:#fff;color:#231f20;font:inherit;cursor:pointer}
@media(max-width:640px){
  .rozee-stitched-size-field{width:100%;min-width:0}
  .rozee-stitched-size-field select{width:100%}
}

/* =========================================================
   ROZEE ATELIER — FINAL RESPONSIVE SAFETY NET
   Audit pass: mobile / tablet / laptop / desktop.
   CSS-only overrides; product data, PHP logic, navbar markup and
   stitched S/M/L validation are intentionally untouched.
   ========================================================= */
html{width:100%;max-width:100%;overflow-x:hidden;}
body{width:100%;max-width:100%;overflow-x:hidden;}
img,svg,video,iframe,canvas{max-width:100%;}
button,input,select,textarea{font:inherit;max-width:100%;}
textarea{resize:vertical;}

/* Any flex/grid child is allowed to shrink instead of creating a page-wide
   horizontal scrollbar from a long title, price or control. */
.site-header__inner > *,
.main-nav,
.main-nav__list > li,
.site-header__actions > *,
.shop-results,
.shop-filters,
.single-product__layout > *,
.single-product__details > *,
.site-footer__grid > *,
.hero__grid > *,
.fabrics-services__grid > *,
.brand-story__grid > *,
.contact-hub__grid > *,
.fabrics-hub__grid > *{min-width:0;}

/* Search / filter / form controls remain fluid at every width. */
.site-search-panel__form input,
.site-search-panel__form button,
.shop-filter-group input,
.shop-filter-group select,
.shop-sort select,
.rozee-filter-form select,
.rozee-filter-form input,
.alteration-form input,
.alteration-form select,
.alteration-form textarea,
.stitching-addon input,
.stitching-addon select,
.stitching-addon textarea,
.rozee-stitched-size-field select{max-width:100%;box-sizing:border-box;}

/* Tables that are wider than the viewport get a contained scroll region,
   rather than forcing the entire page wider. */
.woocommerce table.shop_table{max-width:100%;}
.woocommerce-cart-form{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Desktop/laptop: preserve the polished multi-column catalog. */
@media (min-width:1181px){
  .rozee-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .product-grid:not(.rozee-product-grid){grid-template-columns:repeat(4,minmax(0,1fr));}
  .site-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}
}

/* Tablet: balanced three-column product/catalog layout and readable content. */
@media (min-width:701px) and (max-width:1180px){
  .rozee-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .product-grid:not(.rozee-product-grid){grid-template-columns:repeat(3,minmax(0,1fr));}
  .categories__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Phones: compact two-up shopping cards, full-width controls and no
   clipped text. The two-column catalog is kept intentionally airy. */
@media (max-width:700px){
  .site-header__inner{padding-left:12px!important;padding-right:12px!important;gap:8px!important;}
  .site-header__actions{gap:5px!important;}
  .site-logo-link{flex:0 1 auto!important;}

  .hero__ctas,.page-hero__actions,.shop-hero__links{width:100%;}
  .hero__ctas .btn,.page-hero__actions .btn,.shop-hero__links .btn{width:100%;max-width:100%;}

  .categories__grid,
  .services-block__cards,
  .measurement-grid{grid-template-columns:1fr!important;}

  .rozee-product-grid,
  .product-grid:not(.rozee-product-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
  }
  .rozee-product-grid > *,
  .product-grid:not(.rozee-product-grid) > *{min-width:0!important;max-width:100%!important;}

  .product-card__image{aspect-ratio:4/5!important;}
  .product-card__meta{padding-left:5px!important;padding-right:5px!important;}
  .product-card__title{font-size:.86rem!important;line-height:1.3!important;}
  .product-card__price{font-size:.76rem!important;}
  .product-card__cta{width:100%!important;max-width:100%!important;min-height:42px!important;padding:9px 6px!important;font-size:.62rem!important;}

  .single-product__layout{grid-template-columns:1fr!important;gap:26px!important;}
  .single-product__details{grid-template-columns:1fr!important;gap:16px!important;margin-top:42px!important;}
  .single-product__gallery,.single-product__summary{width:100%!important;max-width:100%!important;}
  .single-product__gallery img{width:100%!important;height:auto!important;}
  .single-product__cart-area form.cart{width:100%!important;}
  .single-product__cart-area .single_add_to_cart_button{width:100%!important;}
  .single-product__trust{grid-template-columns:1fr!important;}

  .stitching-addon,.stitching-addon__form,.stitching-fieldset{max-width:100%;min-width:0;}
  .style-options,.size-grid,.size-toggle{width:100%;}
  .style-chip,.size-chip,.size-toggle__btn{min-height:44px;}
  .rozee-stitched-size-field{width:100%!important;min-width:0!important;}

  .site-footer__grid{grid-template-columns:1fr!important;}
  .rozee-location-modal__card{width:min(92vw,520px);max-width:92vw;}
}

@media (max-width:480px){
  .container{padding-left:12px!important;padding-right:12px!important;}
  .rozee-product-grid,.product-grid:not(.rozee-product-grid){gap:10px!important;}
  .product-card__title{font-size:.82rem!important;}
  .product-card__price{font-size:.72rem!important;}
  .product-card__cta{min-height:40px!important;font-size:.58rem!important;padding:8px 4px!important;}
  .site-logo-link{width:84px!important;min-width:84px!important;}
  .site-logo-picture,.site-logo-icon{max-width:72px!important;}
  .shop-filters{padding:14px!important;}
  .filter-price-row{grid-template-columns:1fr!important;}
  .single-product__title{font-size:clamp(2rem,10vw,2.7rem)!important;}
  .single-product__detail-panel{padding:18px!important;}
}

@media (max-width:360px){
  .site-header__inner{padding-left:9px!important;padding-right:9px!important;}
  .site-header__actions{gap:3px!important;}
  .site-logo-link{width:78px!important;min-width:78px!important;}
  .site-logo-picture,.site-logo-icon{max-width:66px!important;width:66px!important;}
  .rozee-product-grid,.product-grid:not(.rozee-product-grid){gap:8px!important;}
  .product-card__title{font-size:.78rem!important;}
  .product-card__price{font-size:.68rem!important;}
  .product-card__cta{font-size:.55rem!important;min-height:38px!important;}
}

/* =========================================================
   FINAL MOBILE VISUAL FIX — product CTAs + WooCommerce zoom
   Keep the existing desktop design intact. On touch/mobile,
   CTAs use one consistent treatment and the WooCommerce
   magnifier/zoom overlay is removed so it cannot cover the
   product image or create a broken-looking giant icon.
   ========================================================= */
@media (max-width:700px){
  .rozee-category-page .product-card__cta,
  .rozee-product-grid .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card__cta{
    background:#231f20!important;
    color:#fff!important;
    border:1px solid #231f20!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .rozee-category-page .product-card:hover .product-card__cta,
  .rozee-product-grid .product-card:hover .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card:hover .product-card__cta,
  .rozee-category-page .product-card:focus-within .product-card__cta,
  .rozee-product-grid .product-card:focus-within .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card:focus-within .product-card__cta{
    background:#231f20!important;
    color:#fff!important;
    border-color:#231f20!important;
  }

  /* WooCommerce gallery zoom must not sit over the image on phones. */
  .single-product .woocommerce-product-gallery__trigger,
  .single-product .woocommerce-product-gallery .zoomImg,
  .single-product .woocommerce-product-gallery__image .zoomImg{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .single-product .woocommerce-product-gallery,
  .single-product .woocommerce-product-gallery__wrapper,
  .single-product .woocommerce-product-gallery__image{
    overflow:hidden!important;
    max-width:100%!important;
  }
}

/* =========================================================
   FINAL CLEAN RESPONSIVE PASS — mobile catalog + Woo notices
   Fixes uneven product-card CTAs and accidental global nowrap.
   Does not change product/PHP/stitched functionality.
   ========================================================= */
@media (max-width: 767px){
  /* Never force the whole document into one unbroken line. */
  html, body{
    white-space:normal!important;
  }

  /* Keep the mobile catalog as a clean two-column grid. */
  .rozee-product-grid,
  .product-grid:not(.rozee-product-grid){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;
    grid-auto-rows:1fr!important;
  }

  .rozee-product-grid > .product-card,
  .product-grid:not(.rozee-product-grid) > .product-card{
    height:100%!important;
    min-height:0!important;
  }

  .rozee-product-grid > .product-card > .product-card__link,
  .product-grid:not(.rozee-product-grid) > .product-card > .product-card__link{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
  }

  .rozee-product-grid .product-card__meta,
  .product-grid:not(.rozee-product-grid) .product-card__meta{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:center!important;
  }

  /* Same CTA treatment + same bottom position in every card row. */
  .rozee-product-grid .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card__cta{
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    margin-top:auto!important;
    margin-bottom:0!important;
    padding:10px 5px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#231f20!important;
    color:#fff!important;
    border:1px solid #231f20!important;
    border-radius:5px!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    white-space:nowrap!important;
  }

  .rozee-product-grid .product-card:hover .product-card__cta,
  .rozee-product-grid .product-card:focus-within .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card:hover .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card:focus-within .product-card__cta{
    background:#231f20!important;
    color:#fff!important;
    border-color:#231f20!important;
  }

  /* WooCommerce's "View cart" notice/link stays contained and readable. */
  .woocommerce .woocommerce-message,
  .woocommerce .woocommerce-info,
  .woocommerce .woocommerce-error{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    line-height:1.45!important;
  }

  .woocommerce .woocommerce-message .button,
  .woocommerce .woocommerce-message a.button.wc-forward,
  .woocommerce .woocommerce-info .button,
  .woocommerce .woocommerce-info a.button.wc-forward{
    float:none!important;
    order:2!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:10px 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:380px){
  .rozee-product-grid,
  .product-grid:not(.rozee-product-grid){
    gap:9px!important;
  }
  .rozee-product-grid .product-card__cta,
  .product-grid:not(.rozee-product-grid) .product-card__cta{
    min-height:40px!important;
    font-size:.58rem!important;
    padding:9px 4px!important;
  }
}


/* =========================================================
   ROZEE ATELIER — STITCHED CARD SIZE + RESPONSIVE FINAL PASS
   Keeps the existing visual language. Size controls are shown only
   for stitched/finished-apparel products; cart validation remains
   on the product form so a size is mandatory before checkout.
   ========================================================= */
.product-card__size{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin:10px 0 2px;
}
.product-card__size-label{
  flex:0 0 auto;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-ink,#231f20);
}
.product-card__size-select{
  width:92px;
  min-height:38px;
  padding:0 28px 0 10px;
  border:1px solid rgba(35,31,32,.22);
  border-radius:6px;
  background:#fff;
  color:#231f20;
  font:inherit;
  font-size:.76rem;
  cursor:pointer;
  box-sizing:border-box;
}
.product-card__size-select:focus{
  outline:2px solid rgba(155,109,53,.35);
  outline-offset:2px;
}
@media(max-width:700px){
  .product-card__size{
    gap:5px;
    margin:8px 0 2px;
  }
  .product-card__size-label{font-size:.62rem;}
  .product-card__size-select{
    width:76px;
    min-height:36px;
    padding-left:8px;
    padding-right:22px;
    font-size:.68rem;
  }

  /* Keep the selector interactive without turning the whole card into a
     navigation target. The card still opens normally when the CTA/image
     is tapped. */
  .product-card__size-select{position:relative;z-index:3;}
}

/* Prevent accidental horizontal overflow in dense header/navigation areas. */
@media(max-width:1100px){
  .site-header__inner{flex-wrap:nowrap;}
  .main-nav{min-width:0;}
  .main-nav__list{min-width:0;}
  .shop-catalog__layout{min-width:0;}
  .category-shop-bar{min-width:0;}
  .category-shop-bar > *{min-width:0;}
}
@media(max-width:700px){
  .shop-catalog__layout{
    display:block;
  }
  .shop-results{width:100%;min-width:0;}
  .category-shop-bar{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .shop-sort{width:100%;}
  .shop-sort select{width:100%;max-width:100%;}
  .shop-filters{width:100%;max-width:100%;box-sizing:border-box;}
  .shop-filter-toggle{width:100%;max-width:100%;box-sizing:border-box;}

  /* Long names/prices can never stretch a grid track. */
  .product-card__title,
  .product-card__price,
  .product-card__price *{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .product-card__price del,
  .product-card__price ins{display:inline-block;max-width:100%;}
}
@media(max-width:380px){
  .product-card__size-select{width:70px;font-size:.64rem;}
  .product-card__size-label{font-size:.58rem;}
}


/* Product cards: keep every card and View Details button level even when
   product titles have different lengths. Size selection is intentionally
   handled on the dedicated product page, not inside the card. */
.rozee-product-grid{align-items:stretch;}
.rozee-product-grid .product-card{height:100%;}
.rozee-product-grid .product-card__link{height:100%;display:flex;flex-direction:column;}
.rozee-product-grid .product-card__meta{flex:1;display:flex;flex-direction:column;align-items:center;}
.rozee-product-grid .product-card__cta{margin-top:auto!important;}

/* Dedicated product page: stitched size remains available there. */
@media (max-width:700px){
  .rozee-product-grid .product-card__cta{max-width:calc(100% - 8px);}
}


/* =========================================================
   ROZEE ATELIER — COMPACT FABRIC NAV
   Desktop/laptop: small image cards, all categories visible.
   Mobile/tablet: text-only compact category names.
   ========================================================= */
@media (min-width:1181px){
  .fabric-mega-panel{
    width:min(860px,76vw)!important;
    min-width:min(860px,76vw)!important;
    max-width:860px!important;
    max-height:calc(100vh - 120px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }

  .fabric-mega-panel__grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }

  .fabric-mega-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    min-width:0!important;
    padding:4px!important;
    border-radius:7px!important;
    box-sizing:border-box!important;
  }

  .fabric-mega-card__image{
    display:block!important;
    width:100%!important;
    max-width:82px!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    border-radius:6px!important;
  }

  .fabric-mega-card__image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }

  .fabric-mega-card__name{
    display:block!important;
    width:100%!important;
    min-height:30px!important;
    font-size:.66rem!important;
    line-height:1.15!important;
    font-weight:600!important;
    text-align:center!important;
    letter-spacing:0!important;
    overflow-wrap:anywhere!important;
  }
}

@media (max-width:1180px){
  .fabric-mega-menu .fabric-mega-panel{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    max-height:55vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:2px 0 8px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .fabric-mega-menu .fabric-mega-panel__grid{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    width:100%!important;
  }

  .fabric-mega-menu .fabric-mega-card{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:9px 2px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    transform:none!important;
  }

  .fabric-mega-menu .fabric-mega-card__image,
  .fabric-mega-menu .fabric-mega-card__image img{
    display:none!important;
    width:0!important;
    height:0!important;
    max-width:0!important;
    max-height:0!important;
    min-width:0!important;
    min-height:0!important;
    visibility:hidden!important;
  }

  .fabric-mega-menu .fabric-mega-card__name{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    color:var(--c-cream,#f5efe7)!important;
    font-size:.78rem!important;
    line-height:1.3!important;
    font-weight:600!important;
  }
}

/* =========================================================
   FINAL CATALOG GRID FIX — desktop rows + related products
   Prevents WooCommerce's default float/list layout from stacking
   every product vertically. Desktop/laptop gets 4 clean columns;
   tablets 3; phones 2.
   ========================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products,
.rozee-shop-page ul.products,
.rozee-category-page ul.products,
.single-product__related ul.products{
  display:grid!important;
  list-style:none!important;
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  gap:22px!important;
  box-sizing:border-box!important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{display:none!important;content:none!important;}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:block!important;width:100%!important;}
.woocommerce ul.products li.product img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 0 10px!important;
  object-fit:cover!important;
}
@media (min-width:1181px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .rozee-shop-page ul.products,
  .rozee-category-page ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .single-product__related ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (min-width:701px) and (max-width:1180px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .rozee-shop-page ul.products,
  .rozee-category-page ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .single-product__related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width:700px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .rozee-shop-page ul.products,
  .rozee-category-page ul.products,
  .single-product__related ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media (max-width:420px){
  .single-product__related ul.products{grid-template-columns:1fr 1fr!important;gap:12px!important;}
}


/* Fabric landing page: keep category cards in a clean desktop row. */
@media (min-width:1181px){
  .fabrics-hub-page .category-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
}
@media (min-width:701px) and (max-width:1180px){
  .fabrics-hub-page .category-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;}
}


/* =========================================================
   NATIVE WOOCOMMERCE PRODUCT GALLERY — RESPONSIVE
   FlexSlider owns slide positioning and visibility. We only style the
   gallery container, image size and horizontal thumbnail row.
   ========================================================= */
.single-product .single-product__gallery,.single-product .single-product__summary{min-width:0!important;box-sizing:border-box!important;}
.single-product .single-product__gallery .woocommerce-product-gallery{width:100%!important;max-width:100%!important;float:none!important;margin:0!important;box-sizing:border-box!important;}
.single-product .single-product__gallery .woocommerce-product-gallery__wrapper{max-width:100%!important;margin:0!important;}
.single-product .single-product__gallery .woocommerce-product-gallery__image img{display:block!important;max-width:100%!important;height:auto!important;margin:0 auto!important;object-fit:contain!important;}
.single-product .single-product__gallery .flex-control-thumbs{display:flex!important;flex-wrap:nowrap!important;gap:9px!important;width:100%!important;max-width:100%!important;margin:12px 0 0!important;padding:0 0 4px!important;float:none!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;}
.single-product .single-product__gallery .flex-control-thumbs li{float:none!important;flex:0 0 76px!important;width:76px!important;margin:0!important;padding:0!important;list-style:none!important;opacity:.72!important;}
.single-product .single-product__gallery .flex-control-thumbs li.flex-active{opacity:1!important;}
.single-product .single-product__gallery .flex-control-thumbs img{display:block!important;width:76px!important;height:76px!important;max-width:none!important;object-fit:cover!important;border-radius:7px!important;}
.single-product .single-product__gallery .flex-control-thumbs li.flex-active img{outline:2px solid var(--c-brass,#a88955)!important;outline-offset:-2px!important;}
@media (min-width:1181px){.single-product .single-product__gallery .woocommerce-product-gallery__image img{max-height:620px!important;}.single-product .single-product__gallery .flex-control-thumbs li{flex-basis:82px!important;width:82px!important;}.single-product .single-product__gallery .flex-control-thumbs img{width:82px!important;height:82px!important;}}
@media (min-width:701px) and (max-width:1180px){.single-product .single-product__gallery .woocommerce-product-gallery__image img{max-height:540px!important;}.single-product .single-product__gallery .flex-control-thumbs li{flex-basis:72px!important;width:72px!important;}.single-product .single-product__gallery .flex-control-thumbs img{width:72px!important;height:72px!important;}}
@media (max-width:700px){.single-product .single-product__gallery{width:100%!important;max-width:100%!important;padding:0 6px!important;margin:0!important;}.single-product .single-product__gallery .woocommerce-product-gallery,.single-product .single-product__gallery .woocommerce-product-gallery__wrapper{width:100%!important;max-width:100%!important;}.single-product .single-product__gallery .woocommerce-product-gallery__image img{width:100%!important;max-width:100%!important;max-height:68vh!important;}.single-product .single-product__gallery .flex-control-thumbs{gap:7px!important;scrollbar-width:none!important;}.single-product .single-product__gallery .flex-control-thumbs::-webkit-scrollbar{display:none!important;}.single-product .single-product__gallery .flex-control-thumbs li{flex:0 0 64px!important;width:64px!important;}.single-product .single-product__gallery .flex-control-thumbs img{width:64px!important;height:64px!important;}}
@media (max-width:380px){.single-product .single-product__gallery .flex-control-thumbs li{flex-basis:58px!important;width:58px!important;}.single-product .single-product__gallery .flex-control-thumbs img{width:58px!important;height:58px!important;}}

/* Fabric mega menu: compact on desktop, names-only on smaller screens. */
@media (min-width:1181px){
  .fabric-mega-panel{
    width:min(820px,72vw)!important;
    max-width:820px!important;
    min-width:0!important;
    max-height:calc(100vh - 110px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }
  .fabric-mega-panel__grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .fabric-mega-card{
    min-width:0!important;
    padding:4px!important;
    gap:4px!important;
    border-radius:7px!important;
  }
  .fabric-mega-card__image{
    width:100%!important;
    max-width:76px!important;
    aspect-ratio:1/1!important;
    border-radius:6px!important;
    overflow:hidden!important;
  }
  .fabric-mega-card__image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .fabric-mega-card__name{
    width:100%!important;
    font-size:.64rem!important;
    line-height:1.12!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }
}
@media (max-width:1180px){
  .fabric-mega-menu .fabric-mega-panel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    max-height:55vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0!important;
  }
  .fabric-mega-menu .fabric-mega-panel__grid{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    width:100%!important;
  }
  .fabric-mega-menu .fabric-mega-card{
    width:100%!important;
    min-width:0!important;
    padding:9px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    box-sizing:border-box!important;
  }
  .fabric-mega-menu .fabric-mega-card__image,
  .fabric-mega-menu .fabric-mega-card__image img{
    display:none!important;
  }
  .fabric-mega-menu .fabric-mega-card__name{
    width:100%!important;
    font-size:.78rem!important;
    line-height:1.3!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
  }
}

/* Prevent horizontal overflow at every responsive breakpoint. */
html,body{max-width:100%;overflow-x:hidden!important;}
img,svg,video,iframe{max-width:100%;}
*,*::before,*::after{box-sizing:border-box;}
@media (max-width:700px){
  .container,.site-container,.page-width,.content-width{width:100%!important;max-width:100%!important;}
  .woocommerce,.woocommerce-page{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
}


/* =========================================================
   FINAL PRODUCT GALLERY + CART RESPONSIVE FIX
   Replaces fragile FlexSlider positioning with a stable,
   touch-friendly gallery and keeps the cart usable at every
   viewport width.
   ========================================================= */

/* Product gallery */
.single-product__gallery,
.single-product__gallery *{box-sizing:border-box;}

.rozee-product-gallery{width:100%;max-width:100%;min-width:0;}
.rozee-gallery-main{position:relative;width:100%;display:flex;align-items:center;justify-content:center;min-width:0;}
.rozee-gallery-stage{position:relative;width:100%;min-width:0;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#faf9f7;border-radius:10px;}
.rozee-gallery-image{display:none!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:680px!important;object-fit:contain!important;margin:0!important;border-radius:10px!important;}
.rozee-gallery-image.is-active{display:block!important;}
.rozee-gallery-arrow{
  position:absolute;z-index:4;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border:1px solid rgba(35,31,32,.16);border-radius:50%;
  background:rgba(255,255,255,.94);color:#231f20;display:flex!important;
  align-items:center;justify-content:center;font-size:30px;line-height:1;
  cursor:pointer;padding:0;box-shadow:0 5px 18px rgba(0,0,0,.08);
  -webkit-tap-highlight-color:transparent;
}
.rozee-gallery-arrow:hover{background:#fff;}
.rozee-gallery-prev{left:12px;}
.rozee-gallery-next{right:12px;}
.rozee-gallery-thumbs-wrap{width:100%;margin-top:12px;overflow:hidden;}
.rozee-gallery-thumbs{
  display:flex;flex-wrap:wrap;gap:9px;width:100%;max-width:100%;
  overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px;
  scrollbar-width:thin;-webkit-overflow-scrolling:touch;
}
.rozee-gallery-thumb{
  flex:0 0 78px;width:78px;height:78px;padding:0;border:0;
  border-radius:8px;background:transparent;cursor:pointer;overflow:hidden;
  opacity:.72;-webkit-tap-highlight-color:transparent;
}
.rozee-gallery-thumb:hover,.rozee-gallery-thumb.is-active{opacity:1;}
.rozee-gallery-thumb.is-active{outline:2px solid var(--c-brass,#a88955);outline-offset:-2px;}
.rozee-gallery-thumb img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:8px!important;margin:0!important;}
.rozee-gallery-thumb:focus-visible,.rozee-gallery-arrow:focus-visible{outline:2px solid var(--c-brass,#a88955);outline-offset:2px;}

@media (min-width:1181px){
  .rozee-gallery-image{max-height:650px!important;}
  .rozee-gallery-thumb{flex-basis:82px;width:82px;height:82px;}
}
@media (min-width:701px) and (max-width:1180px){
  .rozee-gallery-image{max-height:560px!important;}
  .rozee-gallery-thumb{flex-basis:74px;width:74px;height:74px;}
}
@media (max-width:700px){
  .single-product__gallery{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;}
  .rozee-gallery-stage{border-radius:8px;}
  .rozee-gallery-image{max-height:70vh!important;border-radius:8px!important;}
  .rozee-gallery-arrow{width:40px;height:40px;font-size:27px;}
  .rozee-gallery-prev{left:8px;}
  .rozee-gallery-next{right:8px;}
  .rozee-gallery-thumbs{
    flex-wrap:nowrap;gap:7px;padding-bottom:5px;
    scroll-snap-type:x proximity;
  }
  .rozee-gallery-thumb{
    flex:0 0 64px;width:64px;height:64px;scroll-snap-align:center;
  }
}
@media (max-width:380px){
  .rozee-gallery-thumb{flex-basis:58px;width:58px;height:58px;}
  .rozee-gallery-arrow{width:36px;height:36px;font-size:24px;}
}

/* Cart: clean cards from phone through tablet; wide table on larger screens. */
@media (max-width:980px){
  html,body{max-width:100%;overflow-x:hidden;}
  .woocommerce-cart .entry-content{width:100%!important;max-width:100%!important;padding:28px 0 60px!important;box-sizing:border-box;}
  .woocommerce-cart .woocommerce{width:100%!important;max-width:100%!important;margin:0 auto!important;box-sizing:border-box;}
  .woocommerce-cart-form{width:100%!important;max-width:100%!important;overflow:visible!important;}
  .woocommerce-cart-form table.shop_table.cart{
    width:100%!important;max-width:100%!important;display:block!important;
    table-layout:auto!important;border:0!important;background:transparent!important;
  }
  .woocommerce-cart-form table.shop_table.cart thead{display:none!important;}
  .woocommerce-cart-form table.shop_table.cart tbody{display:block!important;width:100%!important;}
  .woocommerce-cart-form table.shop_table.cart tr{
    display:block!important;width:100%!important;max-width:100%!important;
    margin:0 0 16px!important;padding:7px!important;
    border:1px solid #e6e0d8!important;border-radius:12px!important;
    background:#fff!important;box-sizing:border-box!important;
  }
  .woocommerce-cart-form table.shop_table.cart td{
    display:flex!important;width:100%!important;max-width:100%!important;
    min-width:0!important;float:none!important;box-sizing:border-box!important;
    align-items:center!important;justify-content:space-between!important;
    gap:14px!important;padding:12px 10px!important;
    text-align:right!important;white-space:normal!important;
    border-bottom:1px solid #f0ebe5!important;
  }
  .woocommerce-cart-form table.shop_table.cart td:last-child{border-bottom:0!important;}
  .woocommerce-cart-form table.shop_table.cart td[data-title]::before{
    content:attr(data-title)!important;display:block!important;flex:0 0 auto!important;
    margin:0!important;font-size:.67rem!important;line-height:1.2!important;
    text-transform:uppercase!important;letter-spacing:.07em!important;color:#8a827a!important;
    text-align:left!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail{
    justify-content:center!important;text-align:center!important;padding:14px 10px!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail::before{display:none!important;content:none!important;}
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img{
    display:block!important;width:92px!important;height:92px!important;
    max-width:92px!important;object-fit:cover!important;margin:0 auto!important;border-radius:8px!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name{
    display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;
    text-align:center!important;gap:5px!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name::before{display:none!important;content:none!important;}
  .woocommerce-cart-form table.shop_table.cart td.product-name a{
    display:block!important;width:100%!important;text-align:center!important;
    overflow-wrap:anywhere!important;word-break:normal!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name dl,
  .woocommerce-cart-form table.shop_table.cart td.product-name .variation{
    width:100%!important;text-align:center!important;margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-name dl dt,
  .woocommerce-cart-form table.shop_table.cart td.product-name dl dd{
    float:none!important;display:inline!important;margin:0 3px!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.product-quantity .quantity input{
    width:66px!important;min-width:66px!important;height:44px!important;
    min-height:44px!important;text-align:center!important;box-sizing:border-box!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;
    justify-content:center!important;gap:10px!important;padding:14px 10px!important;text-align:center!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions::before{display:none!important;content:none!important;}
  .woocommerce-cart-form table.shop_table.cart td.actions .coupon{
    width:100%!important;float:none!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important;margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions .coupon .input-text{
    width:100%!important;min-width:0!important;min-height:46px!important;
    box-sizing:border-box!important;margin:0!important;
  }
  .woocommerce-cart-form table.shop_table.cart td.actions .button{
    min-height:46px!important;max-width:100%!important;margin:0!important;white-space:normal!important;
  }
  .woocommerce-cart .cart-collaterals{
    width:100%!important;display:block!important;margin-top:16px!important;
  }
  .woocommerce-cart .cart_totals{
    width:100%!important;max-width:none!important;margin:0!important;
    box-sizing:border-box!important;padding:18px!important;
  }
  .woocommerce-cart .cart_totals table.shop_table{width:100%!important;margin-bottom:16px!important;}
  .woocommerce-cart .cart_totals table.shop_table th,
  .woocommerce-cart .cart_totals table.shop_table td{
    display:table-cell!important;width:auto!important;padding:11px 0!important;
    border-bottom:1px solid #eee7de!important;text-align:left!important;
  }
  .woocommerce-cart .cart_totals table.shop_table td{text-align:right!important;}
  .woocommerce-cart .wc-proceed-to-checkout{padding:0!important;}
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    display:flex!important;width:100%!important;min-height:52px!important;
    align-items:center!important;justify-content:center!important;box-sizing:border-box!important;
    margin:0!important;white-space:normal!important;text-align:center!important;
  }
}

@media (max-width:520px){
  .woocommerce-cart .entry-content{padding:20px 0 50px!important;}
  .woocommerce-cart-form table.shop_table.cart tr{padding:5px!important;margin-bottom:12px!important;}
  .woocommerce-cart-form table.shop_table.cart td{padding:10px 8px!important;gap:10px!important;}
  .woocommerce-cart-form table.shop_table.cart td.product-thumbnail img{width:82px!important;height:82px!important;}
  .woocommerce-cart-form table.shop_table.cart td.actions .coupon{grid-template-columns:1fr!important;}
  .woocommerce-cart .cart_totals{padding:16px!important;}
}
