:root{--bg:#f3f0ea;--paper:#fff;--ink:#161616;--muted:#756f67;--line:rgba(22,22,22,.09);--dark:#171717;--radius:28px;--safe-bottom:max(10px,env(safe-area-inset-bottom));--safe-top:max(0px,env(safe-area-inset-top));--shadow:0 18px 55px rgba(34,25,17,.08);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body.decen-remake-body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased}.decen-remake-body button,.decen-remake-body input,.decen-remake-body select{font:inherit}.decen-remake-body a{color:inherit;text-decoration:none}.decen-app{min-height:100dvh;padding:calc(84px + var(--safe-top)) 0 calc(92px + var(--safe-bottom))}.app-header{position:fixed;z-index:120;top:calc(9px + var(--safe-top));left:50%;transform:translateX(-50%);width:min(1220px,calc(100% - 22px));height:64px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.82);backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);border-radius:23px;display:flex;align-items:center;justify-content:space-between;padding:7px 9px 7px 18px;box-shadow:0 15px 40px rgba(0,0,0,.07)}.brand{display:flex;align-items:center;min-width:90px;height:45px}.brand img{max-width:112px;max-height:34px;width:auto;height:auto}.brand span{font:800 19px/1 Arial,sans-serif;letter-spacing:.22em}.header-actions{display:flex;gap:5px}.icon-button{height:46px;min-width:46px;border:0;border-radius:15px;background:transparent;color:#111;cursor:pointer;font-weight:750;padding:0 12px;position:relative}.icon-button:hover{background:rgba(0,0,0,.05)}.cart-badge{position:absolute;top:3px;right:2px;background:#111;color:white;border-radius:99px;height:18px;min-width:18px;padding:0 5px;font:700 10px/18px Arial}.preview-badge{position:fixed;z-index:119;top:calc(78px + var(--safe-top));left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.12em;font-weight:850;background:#fff3bf;border:1px solid rgba(0,0,0,.08);padding:6px 9px;border-radius:99px;box-shadow:0 5px 18px rgba(0,0,0,.06)}.app-view{width:min(1240px,calc(100% - 24px));margin:auto;outline:none}.page{min-height:60vh}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.eyebrow.dark{color:#5f594f}.hero{height:min(760px,77vh);min-height:570px;position:relative;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#d6c8b8,#a89c8e);display:flex;align-items:flex-end;isolation:isolate}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.03) 20%,rgba(0,0,0,.64) 100%)}.hero-copy{color:white;padding:clamp(28px,5vw,66px);max-width:800px}.hero h1,.shop-head h1,.product-panel h1,.rooms-hero h1{font-family:Arial,sans-serif;font-weight:750;letter-spacing:-.055em;margin:12px 0 18px}.hero h1{font-size:clamp(48px,7.4vw,90px);line-height:.92}.hero p{font-size:clamp(16px,2vw,20px);line-height:1.5;max-width:650px;margin:0}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 21px;font-weight:780;cursor:pointer;min-height:48px}.btn.light{background:#fff;color:#111}.btn.dark{background:#111;color:white}.btn.glass{background:rgba(255,255,255,.14);color:white;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px)}.btn.full{width:100%}.btn:disabled{opacity:.43;cursor:not-allowed}.section{margin-top:58px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 5px 20px}.section-head.compact{margin-bottom:12px}.section-head h2{font:750 clamp(30px,4vw,48px)/.98 Arial,sans-serif;letter-spacing:-.045em;margin:6px 0 0}.section-head>a{font-weight:750;color:#5f594f}.category-scroll,.review-scroll,.room-options{display:grid;grid-auto-flow:column;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.category-scroll::-webkit-scrollbar,.review-scroll::-webkit-scrollbar,.room-options::-webkit-scrollbar{display:none}.category-scroll{grid-auto-columns:minmax(220px,24%);gap:12px}.category-card{height:270px;position:relative;border-radius:26px;overflow:hidden;background:#ded7cc;scroll-snap-align:start}.category-card img{width:100%;height:100%;object-fit:cover}.category-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}.category-card span{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff;font-size:18px;font-weight:780}.category-fallback{height:100%;background:linear-gradient(145deg,#e8e2da,#b9aa99)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product-card-wrap{min-width:0}.product-card{display:block;background:#fff;border-radius:25px;overflow:hidden;position:relative;height:100%;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.product-media{aspect-ratio:1/.98;background:#e9e4dc;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.product-card:hover .product-media img{transform:scale(1.018)}.product-info{padding:15px 16px 18px}.product-name{font-weight:760;line-height:1.25}.product-price{margin-top:8px;color:#625d55;line-height:1.35}.product-price del,.price-big del{opacity:.45;margin-right:7px}.product-price ins,.price-big ins{text-decoration:none;font-weight:800}.sale-pill{position:absolute;z-index:3;top:12px;left:12px;background:#fff;padding:7px 10px;border-radius:99px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.promo-card{background:#171717;color:white;border-radius:24px;padding:24px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}.promo-card:nth-child(2n){background:#d9ccb9;color:#1a1815}.promo-badge{align-self:flex-start;background:white;color:#111;padding:7px 9px;border-radius:99px;font-size:10px;font-weight:900}.promo-card h3{font:750 28px/1 Arial;margin:8px 0}.promo-card p{margin:0;line-height:1.45;opacity:.76}.room-builder-cta{border-radius:32px;background:linear-gradient(135deg,#2a2723,#121212);color:white;padding:clamp(28px,5vw,58px);display:flex;justify-content:space-between;align-items:end;gap:30px}.room-builder-cta h2{font:750 clamp(34px,5vw,62px)/.95 Arial;letter-spacing:-.05em;margin:10px 0;max-width:690px}.room-builder-cta p{max-width:640px;color:#d3cec6;line-height:1.5}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{background:white;border-radius:24px;padding:22px;min-height:220px;display:flex;flex-direction:column;position:relative}.mini-tag{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#756e65}.service-card h3{font:750 24px/1.05 Arial;margin:34px 0 10px;letter-spacing:-.03em}.service-card p{color:#766f66;line-height:1.45;margin:0}.service-card .arrow{position:absolute;right:20px;bottom:18px;font-size:24px}.review-scroll{grid-auto-columns:minmax(300px,34%);gap:12px}.review-card{background:white;border-radius:24px;padding:22px;scroll-snap-align:start;min-height:210px}.stars{letter-spacing:.08em;font-size:14px}.review-card p{line-height:1.55;color:#49453f}.review-card strong,.review-card small{display:block}.review-card small{margin-top:5px;color:#817a72}.trust-band{display:grid;grid-template-columns:repeat(3,1fr);background:#e3dbcf;border-radius:28px;overflow:hidden}.trust-band>div{padding:30px;border-right:1px solid rgba(0,0,0,.08)}.trust-band>div:last-child{border:0}.trust-band strong,.trust-band span{display:block}.trust-band strong{font:750 29px/1 Arial;margin-bottom:7px}.trust-band span{color:#655e55}.shop-head{padding:34px 5px 16px}.shop-head h1{font-size:clamp(48px,7vw,82px);line-height:.94}.shop-head p{color:var(--muted)}.shop-toolbar{position:relative;z-index:40;background:transparent;padding:4px 0 20px;display:grid;gap:10px}.shop-filter-dock{position:sticky;top:83px;z-index:42;width:100%;padding:6px 0;background:transparent;transform:translate3d(0,calc(-100% - 14px),0);opacity:0;pointer-events:none;transition:transform .46s cubic-bezier(.22,.72,.22,1),opacity .18s ease;will-change:transform}.shop-filter-dock.is-direction-visible{transform:translate3d(0,0,0);opacity:1;pointer-events:auto}.shop-sort-row{display:flex;justify-content:flex-end}.filter-pills{display:flex;gap:7px;overflow:auto;scrollbar-width:none;flex:1;background:transparent}.filter-pills::-webkit-scrollbar{display:none}.pill{border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:999px;padding:10px 14px;white-space:nowrap;font-weight:720;cursor:pointer}.pill.active{background:#171717;color:#fff}.sort-select{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 34px 10px 14px;font-weight:720;max-width:170px}.product-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:15px;align-items:start}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:9px}.main-photo{grid-column:1/-1;background:#e7e0d7;border-radius:29px;overflow:hidden;aspect-ratio:1/.73}.main-photo img,.thumb-photo img{width:100%;height:100%;object-fit:cover}.thumb-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.thumb-photo{border:0;padding:0;background:#e7e0d7;border-radius:24px;overflow:hidden;aspect-ratio:1/.8;cursor:pointer}.product-panel{position:sticky;top:90px;background:white;border-radius:29px;padding:27px}.product-panel h1{font-size:clamp(38px,4.6vw,62px);line-height:.94}.price-big{font-size:23px;margin:0 0 9px}.stock-line{font-size:12px;font-weight:750;color:#6d675e}.lead{line-height:1.55;color:#5e5951}.variation-group{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.variation-label{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:820;text-transform:uppercase;letter-spacing:.04em}.variation-label b{color:#8a8278;font-weight:650;text-transform:none;letter-spacing:0}.variation-options{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.option{border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px 12px;cursor:pointer}.option.selected{background:#171717;color:#fff}.option:disabled{opacity:.22;text-decoration:line-through}.qty-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.qty-row label{font-size:12px;font-weight:800}.qty-control{display:grid;grid-template-columns:38px 44px 38px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.qty-control button,.qty-control input{height:38px;border:0;background:#fff;text-align:center}.qty-control input{width:44px;outline:0}.native-contract{background:#f0ece6;border-radius:18px;padding:17px;margin:20px 0}.native-contract p{font-size:13px;line-height:1.5;margin:6px 0 0;color:#645e56}.delivery-note{display:grid;gap:4px;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:13px}.delivery-note span{color:#6b655c}.product-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;font-size:12px;font-weight:750}.product-links a{text-decoration:underline;text-underline-offset:3px}.product-description{background:white;border-radius:29px;padding:30px}.prose{line-height:1.65;color:#45413c;max-width:900px}.prose img{max-width:100%;height:auto}.rooms-hero{background:#171717;color:white;border-radius:34px;padding:clamp(30px,5vw,60px);display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:end}.rooms-hero h1{font-size:clamp(48px,7vw,82px);line-height:.92;max-width:800px}.rooms-hero p{max-width:760px;color:#cbc5bd;line-height:1.55}.room-summary{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:22px;padding:20px;min-width:190px}.room-summary span,.room-summary strong,.room-summary small{display:block}.room-summary strong{font:750 28px/1 Arial;margin:7px 0}.room-steps{display:grid;gap:14px;margin-top:20px}.room-step{background:white;border-radius:27px;padding:22px}.room-step-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.room-step-head h2{font:750 28px/1 Arial;margin:0}.room-step-head span{color:#817a71;font-size:12px}.room-options{grid-auto-columns:minmax(190px,23%);gap:9px;margin-top:17px}.room-option{border:1px solid var(--line);background:#f8f6f2;border-radius:20px;padding:0;overflow:hidden;text-align:left;cursor:pointer;scroll-snap-align:start}.room-option.selected{outline:2px solid #171717;outline-offset:1px}.room-option img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e5ded4}.room-option>span{display:block;padding:11px}.room-option b,.room-option small{display:block}.room-option b{line-height:1.25}.room-option small{margin-top:6px;color:#6f695f}.room-sticky{position:sticky;z-index:45;bottom:calc(78px + var(--safe-bottom));margin:14px auto 0;max-width:640px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.75);border-radius:23px;padding:10px 10px 10px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:var(--shadow)}.room-sticky span,.room-sticky strong{display:block}.room-sticky span{font-size:11px;color:#736d64}.room-sticky strong{font-size:19px;margin-top:2px}.bottom-nav{position:fixed;z-index:130;left:50%;bottom:var(--safe-bottom);transform:translateX(-50%);width:min(610px,calc(100% - 20px));height:68px;padding:7px;background:rgba(20,20,20,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:23px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;box-shadow:0 20px 45px rgba(0,0,0,.25)}.bottom-nav a,.bottom-nav button{border:0;background:transparent;color:#aaa;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;min-width:0}.bottom-nav span{font-size:19px;line-height:18px}.bottom-nav b{font-size:9px}.bottom-nav .active{background:rgba(255,255,255,.1);color:white}.drawer{position:fixed;z-index:200;inset:0;background:rgba(0,0,0,.36);opacity:0;pointer-events:none;transition:opacity .2s}.drawer.open{opacity:1;pointer-events:auto}.drawer-panel{margin-left:auto;height:100%;width:min(470px,100%);background:#f6f3ee;padding:22px;overflow:auto;transform:translateX(100%);transition:transform .24s}.drawer.open .drawer-panel{transform:none}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head h2{font:750 36px/1 Arial;margin:7px 0 18px}.close{width:42px;height:42px;border:0;border-radius:50%;background:#e5ded5;font-size:22px;cursor:pointer}.drawer-items{display:grid;gap:4px}.cart-item{display:grid;grid-template-columns:82px 1fr;gap:12px;background:white;border-radius:19px;padding:10px}.cart-item.is-child{margin-left:18px;background:#ece7df}.cart-item>img{width:82px;height:82px;object-fit:cover;border-radius:14px;background:#e6dfd5}.cart-item-body strong{font-size:14px}.cart-meta{font-size:11px;color:#7c756c;margin-top:5px}.cart-price{font-size:13px;font-weight:750;margin-top:6px}.drawer-qty{display:flex;align-items:center;gap:7px;margin-top:8px}.drawer-qty>button:not(.remove-link){width:27px;height:27px;border:1px solid var(--line);border-radius:9px;background:#fff}.remove-link{border:0;background:transparent;text-decoration:underline;color:#777;font-size:11px;margin-left:auto}.bundle-lock{font-size:10px;color:#756e65;margin-top:7px}.drawer-total{position:sticky;bottom:-22px;background:linear-gradient(transparent,#f6f3ee 12%);padding:30px 0 22px;margin-top:8px}.drawer-total>div{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.drawer-total span{color:#716a62}.drawer-total strong{font-size:24px}.native-cart-link{display:block;text-align:center;margin-top:12px;font-size:12px;font-weight:750;text-decoration:underline}.search-modal{position:fixed;z-index:210;inset:0;background:rgba(246,243,238,.97);backdrop-filter:blur(22px);display:none;overflow:auto}.search-modal.open{display:block}.search-wrap{width:min(980px,calc(100% - 26px));margin:calc(50px + var(--safe-top)) auto 90px}.search-top{display:flex;justify-content:space-between;align-items:center}.search-input{width:100%;border:0;border-bottom:1px solid #8f887f;background:transparent;outline:0;padding:16px 0;font:750 clamp(34px,5.7vw,66px)/1 Arial;letter-spacing:-.04em}.search-suggestions,.search-cats{display:flex;gap:7px;overflow:auto;margin-top:14px}.search-suggestions button,.search-cats button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:9px 13px;white-space:nowrap}.search-results{margin-top:24px}.search-products{display:grid;grid-template-columns:1fr 1fr;gap:8px}.search-products button{border:0;background:white;border-radius:18px;padding:9px;display:grid;grid-template-columns:72px 1fr;gap:10px;text-align:left;align-items:center}.search-products img{width:72px;height:72px;border-radius:13px;object-fit:cover}.search-products b,.search-products small{display:block}.search-products small{margin-top:5px;color:#746d65}.empty-state{padding:80px 20px;text-align:center}.empty-state.compact{padding:40px 10px}.empty-inline{padding:18px;color:#766f66}.decen-toast{position:fixed;z-index:260;left:50%;bottom:calc(88px + var(--safe-bottom));transform:translate(-50%,14px);background:#171717;color:white;border-radius:99px;padding:12px 16px;font-size:13px;font-weight:750;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 14px 34px rgba(0,0,0,.25)}.decen-toast.show{opacity:1;transform:translate(-50%,0)}.decen-toast[data-type=error]{background:#7c2823}.skeleton{background:linear-gradient(90deg,#e5dfd6 25%,#eee9e2 37%,#e5dfd6 63%);background-size:400% 100%;animation:sk 1.35s ease infinite;border-radius:26px}@keyframes sk{0%{background-position:100% 0}100%{background-position:0 0}}.hero-skeleton{height:min(740px,74vh)}.hero-skeleton.small{height:190px;margin-bottom:14px}.card-skeleton{aspect-ratio:1/.8}
@media(max-width:900px){.decen-app{padding-top:calc(76px + var(--safe-top))}.app-header{height:59px;top:calc(6px + var(--safe-top));border-radius:20px}.app-view{width:calc(100% - 14px)}.preview-badge{top:calc(70px + var(--safe-top))}.hero{min-height:610px;height:76vh;border-radius:27px}.hero-copy{padding:25px}.product-grid{grid-template-columns:1fr 1fr;gap:8px}.category-scroll{grid-auto-columns:72%;gap:8px}.promo-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.review-scroll{grid-auto-columns:82%}.product-layout{grid-template-columns:1fr}.product-panel{position:static}.rooms-hero{grid-template-columns:1fr}.room-summary{margin-top:20px}.room-options{grid-auto-columns:58%}.shop-filter-dock{top:72px}.shop-sort-row{justify-content:stretch}.sort-select{max-width:none;width:100%}.trust-band{grid-template-columns:1fr}.trust-band>div{border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}.room-builder-cta{align-items:flex-start;flex-direction:column}.bottom-nav{height:66px}.product-description{padding:22px}}
@media(max-width:520px){.header-actions .icon-button:first-child{display:none}.hero h1{font-size:49px}.hero p{font-size:15px}.section{margin-top:44px}.section-head{align-items:flex-start}.section-head h2{font-size:34px}.product-info{padding:11px 12px 14px}.product-name{font-size:13px}.product-price{font-size:12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:170px}.review-scroll{grid-auto-columns:91%}.shop-head h1{font-size:50px}.product-panel{padding:21px}.product-panel h1{font-size:43px}.thumb-grid{gap:6px}.main-photo,.thumb-photo{border-radius:20px}.rooms-hero{border-radius:26px;padding:25px}.rooms-hero h1{font-size:49px}.room-step{padding:16px;border-radius:22px}.room-step-head{align-items:flex-start;flex-direction:column;gap:5px}.room-options{grid-auto-columns:76%}.room-sticky{bottom:calc(75px + var(--safe-bottom));border-radius:20px}.room-sticky .btn{padding:12px 14px;font-size:12px}.search-products{grid-template-columns:1fr}.bottom-nav b{font-size:8px}.bottom-nav span{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none;transition:none}}

/* ==========================================================================
   DECEN REMAKE 0.3 — Viewport Frame
   Inspired by the validated Interfaz Digital approach: the page owns a fixed
   visual frame; browser theme-color is only a best-effort fallback.
   ========================================================================== */
:root{
  --frame-color:#e9e4dc;
  --frame-top:max(12px,env(safe-area-inset-top));
  --frame-right:max(12px,env(safe-area-inset-right));
  --frame-bottom:max(12px,env(safe-area-inset-bottom));
  --frame-left:max(12px,env(safe-area-inset-left));
  --frame-radius:27px;
}
body.decen-remake-body.has-viewport-frame{
  padding:var(--frame-top) var(--frame-right) var(--frame-bottom) var(--frame-left);
  background:var(--frame-color);
  min-height:100dvh;
}
body.decen-remake-body.has-viewport-frame::before{
  content:"";
  position:fixed;
  z-index:2147483000;
  top:var(--frame-top);
  right:var(--frame-right);
  bottom:var(--frame-bottom);
  left:var(--frame-left);
  border-radius:var(--frame-radius);
  box-shadow:0 0 0 100vmax var(--frame-color),inset 0 0 0 1px rgba(33,27,21,.10);
  pointer-events:none;
}
.has-viewport-frame .decen-app{
  min-height:calc(100dvh - var(--frame-top) - var(--frame-bottom));
  padding:84px 0 92px;
  background:var(--bg);
}
.has-viewport-frame .app-header{
  top:calc(var(--frame-top) + 8px);
  width:min(1220px,calc(100% - var(--frame-left) - var(--frame-right) - 20px));
}
.has-viewport-frame .preview-badge{top:calc(var(--frame-top) + 77px)}
.has-viewport-frame .bottom-nav{
  bottom:calc(var(--frame-bottom) + 8px);
  width:min(610px,calc(100% - var(--frame-left) - var(--frame-right) - 20px));
}
.has-viewport-frame .drawer,
.has-viewport-frame .search-modal{
  top:var(--frame-top);
  right:var(--frame-right);
  bottom:var(--frame-bottom);
  left:var(--frame-left);
  border-radius:calc(var(--frame-radius) - 1px);
}
.has-viewport-frame .drawer{overflow:hidden}
.has-viewport-frame .search-modal{overflow:auto}
.has-viewport-frame .search-wrap{margin:50px auto 90px}
.has-viewport-frame .decen-toast{bottom:calc(96px + var(--frame-bottom))}
.has-viewport-frame .room-sticky{bottom:calc(84px + var(--frame-bottom))}
.has-viewport-frame .shop-filter-dock{top:calc(var(--frame-top) + 73px)}
.has-viewport-frame .product-panel{top:calc(var(--frame-top) + 82px)}

/* ==========================================================================
   DECEN REMAKE 0.3 — Motion Hero
   Desktop/tablet: scroll scrub. Mobile: muted autoplay to avoid continuous
   seeking on Safari while preserving the same three-beat story.
   ========================================================================== */





.motion-story{position:absolute;inset:0;z-index:2;pointer-events:none}
.motion-beat{
  position:absolute;
  left:clamp(26px,5.5vw,82px);
  top:clamp(104px,16vh,160px);
  width:min(650px,48vw);
  color:#fff;
  opacity:0;
  will-change:opacity,filter,transform;
}
.motion-beat:first-child{opacity:1}
.motion-beat.beat-two{left:auto;right:clamp(26px,5.5vw,82px);top:clamp(150px,22vh,220px);text-align:right}
.motion-beat.beat-two p{margin-left:auto}
.motion-beat.beat-three{top:auto;bottom:clamp(56px,8vh,92px)}
.motion-beat .eyebrow{margin-bottom:12px}
.motion-beat h1,.motion-beat h2{
  margin:0;
  max-width:680px;
  font:750 clamp(40px,5.5vw,76px)/.93 Arial,sans-serif;
  letter-spacing:-.055em;
}
.motion-beat p{
  max-width:590px;
  margin:16px 0 0;
  font-size:clamp(16px,1.65vw,21px);
  line-height:1.45;
}
.motion-beat .button-row{pointer-events:auto}
.motion-progress{
  position:absolute;
  z-index:4;
  right:24px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:9px;
  min-width:150px;
  padding:9px 12px;
  border-radius:999px;
  color:#fff;
  background:rgba(18,18,18,.46);
  backdrop-filter:blur(12px);
  font:750 11px/1 Arial,sans-serif;
}
.motion-progress i{display:block;width:84px;height:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.28)}
.motion-progress b{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#fff;border-radius:inherit}







@media(max-width:900px){
  :root{
    --frame-top:max(10px,env(safe-area-inset-top));
    --frame-right:max(10px,env(safe-area-inset-right));
    --frame-bottom:max(10px,env(safe-area-inset-bottom));
    --frame-left:max(10px,env(safe-area-inset-left));
    --frame-radius:22px;
  }
  .has-viewport-frame .decen-app{padding-top:76px}
  .has-viewport-frame .app-header{
    top:calc(var(--frame-top) + 6px);
    height:59px;
    width:calc(100% - var(--frame-left) - var(--frame-right) - 12px);
    border-radius:18px;
  }
  .has-viewport-frame .preview-badge{top:calc(var(--frame-top) + 68px)}
  .has-viewport-frame .bottom-nav{
    width:calc(100% - var(--frame-left) - var(--frame-right) - 12px);
    bottom:calc(var(--frame-bottom) + 6px);
  }
  
}
@media(max-width:767px){
  
  
  
  .motion-beat{
    left:18px;
    right:18px;
    top:max(82px,calc(env(safe-area-inset-top) + 74px));
    width:auto;
  }
  .motion-beat.beat-two{
    left:18px;
    right:18px;
    top:clamp(115px,19svh,150px);
    width:auto;
    text-align:left;
  }
  .motion-beat.beat-two p{margin-left:0}
  .motion-beat.beat-three{
    left:18px;
    right:18px;
    top:auto;
    bottom:22px;
    width:auto;
  }
  .motion-beat h1,.motion-beat h2{font-size:clamp(31px,10vw,48px);line-height:.96}
  .motion-beat p{font-size:clamp(13px,3.7vw,16px);line-height:1.35;max-width:94%}
  .motion-beat .button-row{gap:7px;margin-top:15px}
  .motion-beat .btn{min-height:42px;padding:10px 14px;font-size:12px}
  .motion-progress{display:none}
}


/* ==========================================================================
   DECEN REMAKE 0.3.1 — Responsive shell, opaque Safari surfaces, usable icons
   ========================================================================== */
:root{
  --content-max:1440px;
  --section-max:1280px;
  --header-surface:#fffdfa;
  --nav-surface:#171717;
}
html,body.decen-remake-body{background:var(--frame-color);}
body.decen-remake-body{overflow-x:hidden;overscroll-behavior-x:none;}
.has-viewport-frame .decen-app{
  border-radius:calc(var(--frame-radius) - 1px);
  background:var(--bg);
}
.app-view{width:min(var(--content-max),calc(100% - 40px));}
.home-page>.section,.home-page>[data-home-sections]>.section,.home-page>[data-home-sections]>[data-home-secondary]>.section{
  width:min(var(--section-max),100%);
  margin-left:auto;
  margin-right:auto;
}
.app-header{
  background:var(--header-surface);
  border-color:rgba(40,31,23,.08);
  box-shadow:0 12px 34px rgba(27,22,18,.09);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.brand{min-width:118px;padding-left:3px;}
.brand img{display:block;width:108px;height:auto;max-width:108px;max-height:none;object-fit:contain;}
.header-actions{gap:2px;}
.icon-button{display:grid;place-items:center;padding:0;width:46px;min-width:46px;}
.ui-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}
.bottom-nav{
  background:var(--nav-surface);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border:1px solid rgba(255,255,255,.08);
}
.bottom-nav a,.bottom-nav button{min-height:52px;gap:4px;-webkit-tap-highlight-color:transparent;}
.bottom-nav .ui-icon{width:21px;height:21px;}
.bottom-nav b{font-size:9.5px;letter-spacing:.01em;}
.bottom-nav .active{background:#2a2a2a;color:#fff;}
.preview-badge{pointer-events:none;}

/* Keep the page itself behind Safari's translucent browser chrome. */
body.decen-remake-body.has-viewport-frame::after{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  background:var(--frame-color);
  pointer-events:none;
}

/* Desktop editorial distribution. */
@media(min-width:1180px){
  .app-view{width:min(var(--content-max),calc(100% - 56px));}
  .section{margin-top:72px;}
  .category-scroll{grid-auto-columns:minmax(218px,20.5%);gap:14px;}
  .category-card{height:300px;}
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
  .room-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .service-grid{gap:16px;}
  .service-card{min-height:235px;padding:26px;}
  .promo-grid{gap:14px;}
  .promo-card{min-height:205px;padding:28px;}
  .review-scroll{grid-auto-columns:minmax(300px,31%);gap:14px;}
}
@media(min-width:901px) and (max-width:1179px){
  .app-view{width:calc(100% - 30px);}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .room-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .category-scroll{grid-auto-columns:minmax(220px,30%);}
  .service-grid{grid-template-columns:repeat(2,1fr);}
}

/* Review cards: fixed rhythm regardless of review length. */
.review-card{
  height:226px;
  min-height:226px;
  display:flex;
  flex-direction:column;
  padding:22px 22px 20px;
}
.review-card p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
  margin:14px 0 16px;
  min-height:6.2em;
  max-height:6.2em;
}
.review-card footer{margin-top:auto;}
.review-count{font-size:12px;color:var(--muted);font-weight:700;}
.review-skeleton{height:226px;min-width:300px;scroll-snap-align:start;}
.home-strip-skeleton{height:130px;margin-bottom:16px;border-radius:28px;}
.home-loading-sections{padding-top:4px;}

/* Motion Hero 0.3.1: scroll drives the video on every device. The section is
   deliberately short enough that a fast scroll can skip it; it never traps the user. */


.motion-hint{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  color:#fff;
  font-size:11px;
  font-weight:750;
  letter-spacing:.02em;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.48);
  pointer-events:none;
  transition:opacity .18s linear;
}
.motion-hint span{display:inline-block;margin-left:5px;}


@media(max-width:900px){
  .app-view{width:calc(100% - 14px);}
  .app-header{padding-left:13px;padding-right:7px;}
  .brand{min-width:102px;}
  .brand img{width:98px;max-width:98px;}
  .header-actions .icon-button:first-child{display:grid;}
  .bottom-nav{height:68px;padding:6px;}
  .bottom-nav b{font-size:9px;}
  .section{margin-top:48px;}
  .section-head{gap:12px;margin-bottom:16px;}
  .section-head>a{font-size:12px;white-space:nowrap;}
  .category-scroll,.review-scroll,.room-options{scroll-padding-left:2px;-webkit-overflow-scrolling:touch;}
  .review-card{height:214px;min-height:214px;padding:19px;}
  .review-card p{-webkit-line-clamp:4;min-height:5.9em;max-height:5.9em;font-size:14px;}
  .review-skeleton{height:214px;}
  .review-count{display:none;}
}
@media(max-width:767px){
  
  
  .motion-beat{top:max(84px,calc(env(safe-area-inset-top) + 78px));}
  .motion-beat.beat-two{top:clamp(118px,19svh,154px);}
  .motion-beat.beat-three{bottom:54px;}
  .motion-hint{bottom:15px;font-size:10px;padding:8px 10px;}
  .product-grid{gap:9px;}
  .product-card{border-radius:20px;}
  .product-media{aspect-ratio:1/1.08;}
  .service-card{border-radius:20px;}
}
@media(max-width:420px){
  :root{--frame-right:max(8px,env(safe-area-inset-right));--frame-left:max(8px,env(safe-area-inset-left));}
  .app-header{width:calc(100% - var(--frame-left) - var(--frame-right) - 8px);}
  .bottom-nav{width:calc(100% - var(--frame-left) - var(--frame-right) - 8px);}
  .brand img{width:92px;max-width:92px;}
  .icon-button{width:42px;min-width:42px;height:42px;}
  .bottom-nav .ui-icon{width:20px;height:20px;}
  .bottom-nav b{font-size:8.5px;}
  .section-head h2{font-size:31px;}
  .category-scroll{grid-auto-columns:78%;}
  .review-scroll{grid-auto-columns:88%;}
}

/* Safari-specific opacity guard: do not let browser/translucency make the app bars look unfinished. */
@supports (-webkit-touch-callout:none){
  .app-header{background:#fffdfa;}
  .bottom-nav{background:#171717;}
  .drawer-panel,.search-modal{background:#f6f3ee;}
}

/* ==========================================================================
   DECEN REMAKE 0.3.2 — deterministic scroll frames, compact categories,
   native PDP gallery and warm-neutral image staging.
   ========================================================================== */
:root{
  --bg:#f1efeb;
  --paper:#fcfbf8;
  --media:#f6f5f1;
  --warm-line:rgba(38,31,24,.085);
}
html,body.decen-remake-body{background:var(--frame-color,#e9e4dc);}
.decen-app{background:var(--bg);}
.product-card,.product-panel,.service-card,.review-card,.room-step,.product-description{background:var(--paper);}
.product-media,.cart-item>img,.room-option img{background:var(--media);}
.product-media img{object-fit:cover;}

/* Keep below-fold Home rendering out of the critical first paint where supported. */
.home-page>[data-home-sections]>.section,
.home-page>[data-home-sections]>[data-home-secondary]>.section{
  content-visibility:auto;
  contain-intrinsic-size:520px;
}

/* Wootabbed-inspired category rhythm: small, square and image-led. */
.category-scroll{
  grid-auto-columns:148px;
  gap:11px;
  scroll-padding-inline:2px;
}
.category-card{
  width:148px;
  height:148px;
  aspect-ratio:1/1;
  border-radius:20px;
  background:#ded8cf;
  border:1px solid var(--warm-line);
}
.category-card img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.002);
}
.category-card:after{inset:42% 0 0;background:linear-gradient(transparent,rgba(16,14,12,.58));}
.category-card span{
  left:12px;right:12px;bottom:11px;
  font-size:13px;line-height:1.12;font-weight:790;
}
.category-fallback{height:100%;background:linear-gradient(145deg,#eeeae4,#cbc0b3);}

/* Frame sequence replaces MP4 seek/scrub. One image is decoded at a time. */







/* Product gallery: native swipe + scroll-snap, no FlexSlider/jQuery dependency. */
.product-gallery{min-width:0;}
.gallery-stage{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  background:var(--media);
  border:1px solid var(--warm-line);
}
.gallery-track{
  display:flex;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.gallery-track::-webkit-scrollbar{display:none;}
.gallery-slide{
  flex:0 0 100%;
  width:100%;
  margin:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  aspect-ratio:3/2;
  background:var(--media);
  cursor:grab;
}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-nav,.gallery-zoom{
  position:absolute;z-index:5;
  border:1px solid rgba(22,22,22,.08);
  background:rgba(252,251,248,.92);
  color:#24211e;
  display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  cursor:pointer;
}
.gallery-nav{top:50%;width:42px;height:42px;border-radius:50%;transform:translateY(-50%);}
.gallery-nav.prev{left:12px;}.gallery-nav.next{right:12px;}
.gallery-arrow-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.gallery-zoom{right:12px;top:12px;width:39px;height:39px;border-radius:50%;}
.gallery-zoom svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
.gallery-counter{
  position:absolute;z-index:4;left:50%;bottom:12px;transform:translateX(-50%);
  background:rgba(20,20,20,.66);color:#fff;border-radius:99px;padding:7px 10px;
  font-size:10px;letter-spacing:.02em;backdrop-filter:blur(8px);
}
.gallery-counter b{font-weight:850;}.gallery-counter span{opacity:.72;margin-left:3px;}
.gallery-thumbs{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/4);
  gap:8px;overflow-x:auto;overflow-y:hidden;margin-top:8px;
  scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
}
.gallery-thumbs::-webkit-scrollbar{display:none;}
.gallery-thumb{
  border:1px solid transparent;padding:0;border-radius:12px;overflow:hidden;
  aspect-ratio:800/533;background:var(--media);cursor:pointer;scroll-snap-align:start;
  opacity:.72;transition:opacity .15s,border-color .15s,transform .15s;
}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.gallery-thumb.active{opacity:1;border-color:#3d3934;}
.gallery-thumb:hover{opacity:1;}
.product-lightbox{
  position:fixed;z-index:320;inset:0;padding:max(16px,var(--safe-top)) max(16px,env(safe-area-inset-right)) max(16px,var(--safe-bottom)) max(16px,env(safe-area-inset-left));
  background:rgba(18,17,15,.93);display:none;place-items:center;
}
.product-lightbox.open{display:grid;}
.product-lightbox img{max-width:min(1500px,96vw);max-height:92dvh;object-fit:contain;border-radius:20px;}
.product-lightbox-close{position:absolute;top:max(16px,var(--safe-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:25px;cursor:pointer;}

@media(min-width:1180px){
  .category-scroll{grid-auto-columns:156px;gap:12px;}
  .category-card{width:156px;height:156px;}
  .product-layout{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:18px;}
  .gallery-stage{border-radius:28px;}
}
@media(max-width:900px){
  .category-scroll{grid-auto-columns:118px;gap:9px;}
  .category-card{width:118px;height:118px;border-radius:17px;}
  .category-card span{font-size:11.5px;left:10px;right:10px;bottom:9px;}
  .gallery-nav{width:38px;height:38px;}
  .gallery-stage{border-radius:21px;}
  .gallery-thumbs{gap:6px;grid-auto-columns:calc((100% - 18px)/4);}
  .gallery-thumb{border-radius:10px;}
}
@media(max-width:767px){
  
  
  .category-scroll{grid-auto-columns:108px;}
  .category-card{width:108px;height:108px;}
  .gallery-slide{aspect-ratio:4/3;}
  .gallery-nav{display:none;}
  .gallery-counter{bottom:9px;}
}
@media(max-width:420px){
  .category-scroll{grid-auto-columns:101px;gap:8px;}
  .category-card{width:101px;height:101px;border-radius:15px;}
  .category-card span{font-size:10.5px;}
}

/* ==========================================================================
   DECEN REMAKE 0.3.5 — mobile scrub zone, indexed catalog/search, native account
   ========================================================================== */
html,body.decen-remake-body{max-width:100%;overflow-x:hidden;}
.decen-remake-body button,.decen-remake-body input,.decen-remake-body select{color:inherit;-webkit-appearance:none;appearance:none;}
.shop-page,.shop-toolbar,.filter-pills{min-width:0;max-width:100%;}
.shop-page{overflow-x:clip;}
.filter-pills{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
}
.pill{color:var(--ink);-webkit-tap-highlight-color:transparent;}
.pill.active{color:#fff;}
.indexed-product-grid .product-card-wrap{content-visibility:auto;contain-intrinsic-size:360px;}

/* Search behaves like an in-app layer, but the bottom navigation stays visible. */
.search-modal{
  z-index:126;
  bottom:calc(82px + var(--safe-bottom));
  background:#f6f3ee;
}
.search-wrap{margin-bottom:24px;}
.search-start{display:grid;gap:6px;padding:28px 2px;color:var(--muted);}
.search-start strong{color:var(--ink);font-size:18px;}
.search-suggestions,.search-cats{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;}
.search-suggestions button,.search-cats button{color:var(--ink);-webkit-appearance:none;appearance:none;}
.bottom-nav{z-index:140;}

/* Cart is preloaded; if a first request is still in flight, use a silent visual placeholder. */
.drawer{transition:opacity .30s ease;}
.drawer-panel{transition:transform .38s cubic-bezier(.22,.78,.24,1);}
.cart-preload-placeholder{display:grid;gap:10px;padding:12px 0;}
.cart-preload-placeholder i{display:block;height:94px;border-radius:18px;background:linear-gradient(90deg,#e5dfd6 25%,#eee9e2 37%,#e5dfd6 63%);background-size:400% 100%;animation:sk 1.35s ease infinite;}

/* Secondary navigation belongs in the header menu, not in the primary bottom nav. */
.menu-drawer .drawer-panel{width:min(430px,100%);}
.secondary-menu{display:grid;border-top:1px solid var(--line);}
.secondary-menu a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 2px;border-bottom:1px solid var(--line);font-weight:760;}
.secondary-menu a b{font-size:20px;font-weight:500;}
.menu-note{margin-top:28px;color:var(--muted);font-size:12px;}

/* Native Mi DECEN. WooCommerce remains the account/order data source, not the UI. */
.account-page{width:min(1180px,100%);margin:0 auto;}
.account-hero{background:linear-gradient(135deg,#e5ddd2,#f8f5f0);border:1px solid var(--warm-line);border-radius:32px;padding:clamp(28px,5vw,58px);display:flex;justify-content:space-between;align-items:end;gap:24px;}
.account-hero h1{font:750 clamp(42px,6vw,74px)/.94 Arial,sans-serif;letter-spacing:-.052em;margin:9px 0 12px;}
.account-hero p{margin:0;color:var(--muted);font-size:16px;}
.account-login-card{margin-top:14px;background:var(--paper);border-radius:28px;padding:clamp(22px,4vw,38px);display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start;}
.account-login-card h2,.account-panel h2{font:750 30px/1 Arial,sans-serif;letter-spacing:-.035em;margin:9px 0 10px;}
.account-login-card p{color:var(--muted);line-height:1.5;}
.account-login-card form{display:grid;gap:13px;}
.account-login-card label{display:grid;gap:7px;font-size:12px;font-weight:760;}
.account-login-card input[type=text],.account-login-card input[type=password],.account-login-card input:not([type]){width:100%;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 13px;outline:0;}
.account-login-card .remember-row{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--muted);}
.account-login-card .remember-row input{width:18px;height:18px;border:1px solid #999;border-radius:5px;background:#fff;}
.account-login-card .remember-row input:checked{background:#171717;box-shadow:inset 0 0 0 4px #fff;}
.account-form-status{min-height:18px;margin:0;color:#9b2f28;font-size:12px;}
.account-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
.account-benefits article{background:#e5ddd2;border-radius:22px;padding:22px;min-height:130px;}
.account-benefits strong,.account-benefits span{display:block;}.account-benefits span{margin-top:8px;color:#675f56;font-size:13px;line-height:1.45;}
.account-dashboard{display:grid;grid-template-columns:1.35fr .9fr;gap:12px;margin-top:12px;}
.account-panel{background:var(--paper);border-radius:26px;padding:24px;}
.account-orders{grid-row:span 2;}
.account-order{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line);}
.account-order>div{display:grid;gap:5px;}.account-order>div:last-child{text-align:right;}
.account-order span{font-size:12px;color:var(--muted);}.account-order strong{font-size:14px;}.account-order b{font-size:14px;}
.address-card{padding:14px 0;border-top:1px solid var(--line);}.address-card p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5;white-space:pre-line;}
.account-help a{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-top:1px solid var(--line);font-weight:720;}
.account-logout{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:720;cursor:pointer;}

@media(max-width:767px){
  /* The Hero itself is only ~55% of the screen. Gestures that start on the Hero scrub
     the sequence; gestures that start on Categories scroll the page normally. */
  
  
  
  
  .motion-beat{left:16px;right:16px;top:max(76px,calc(env(safe-area-inset-top) + 70px));width:auto;}
  .motion-beat.beat-two{left:16px;right:16px;top:max(92px,calc(env(safe-area-inset-top) + 84px));text-align:left;}
  .motion-beat.beat-three{left:16px;right:16px;top:auto;bottom:14px;width:auto;}
  .motion-beat h1,.motion-beat h2{font-size:clamp(28px,8.8vw,38px);line-height:.96;}
  .motion-beat p{font-size:12.5px;line-height:1.32;max-width:96%;margin-top:9px;}
  .motion-beat .button-row{margin-top:10px;gap:7px;}
  .motion-beat .btn{min-height:38px;padding:8px 12px;font-size:11px;}
  .motion-hint{bottom:10px;font-size:9px;padding:7px 9px;}
  .motion-progress{display:none;}
  .home-page>[data-home-sections]>.section:first-child{margin-top:18px;}

  .filter-pills{flex:0 0 auto;width:100%;padding:2px 0 4px;background:transparent;}
  .sort-select{width:100%;max-width:none;color:var(--ink);}
  .search-modal{left:0;right:0;top:0;bottom:calc(80px + var(--safe-bottom));border-radius:0;}
  .search-wrap{width:calc(100% - 22px);margin:calc(76px + var(--safe-top)) auto 18px;}
  .search-input{font-size:clamp(30px,10vw,44px);}
  .search-products{grid-template-columns:1fr;}
  .drawer-panel{padding-bottom:calc(20px + var(--safe-bottom));}

  .account-hero{border-radius:24px;padding:24px 20px;align-items:flex-start;flex-direction:column;}
  .account-hero h1{font-size:43px;}
  .account-login-card{grid-template-columns:1fr;border-radius:22px;padding:20px;gap:16px;}
  .account-benefits{grid-template-columns:1fr 1fr;}
  .account-benefits article:last-child{grid-column:1/-1;}
  .account-dashboard{grid-template-columns:1fr;}
  .account-orders{grid-row:auto;}
  .account-panel{border-radius:22px;padding:20px;}
}

/* ==========================================================================
   DECEN REMAKE 0.3.8 — cool greige system, nav visibility, modern categories,
   deterministic mobile scrub and progressive entrance motion.
   ========================================================================== */
:root{
  --bg:#f5f5f2;
  --paper:#ffffff;
  --media:#f7f7f5;
  --ink:#171817;
  --muted:#6f716d;
  --line:rgba(23,24,23,.085);
  --warm-line:rgba(23,24,23,.08);
  --frame-color:#ecece8;
  --shadow:0 18px 48px rgba(32,34,31,.065);
}
html,body.decen-remake-body{background:var(--frame-color);}
.decen-app{background:var(--bg);}
.has-viewport-frame .decen-app{background:var(--bg);}
body.decen-remake-body.has-viewport-frame{background:var(--frame-color);}
.app-header{background:#fff;border-color:rgba(22,23,22,.06);box-shadow:0 12px 34px rgba(29,31,28,.07);}
.search-modal,.drawer-panel{background:#f7f7f5;}
.product-card,.product-panel,.service-card,.review-card,.room-step,.product-description,.account-login-card,.account-panel{background:#fff;}
.product-media,.gallery-stage,.gallery-slide,.gallery-thumb,.room-option img{background:var(--media);}
.trust-band,.account-benefits article{background:#eeefeb;}
.account-hero{background:linear-gradient(135deg,#eff0ed,#fafaf8);}
.account-benefits span{color:var(--muted);}

/* Preserve all five primary nav items. The 0.3.5 global button color rule made
   Search and Cart inherit dark body text on the dark navigation surface. */
.bottom-nav,.bottom-nav a,.bottom-nav button{color:#bfc1bd;}
.bottom-nav a,.bottom-nav button{-webkit-appearance:none;appearance:none;}
.bottom-nav .ui-icon{stroke:currentColor;fill:none;}
.bottom-nav .active{color:#fff;background:#2b2c2a;}
.bottom-nav a:hover,.bottom-nav button:hover{color:#fff;}
.bottom-nav button{background:transparent;border:0;}

/* A subtler viewport frame keeps the rounded app-window without reading as a beige margin. */
body.decen-remake-body.has-viewport-frame{--frame-top:max(8px,env(safe-area-inset-top));--frame-right:max(8px,env(safe-area-inset-right));--frame-bottom:max(8px,env(safe-area-inset-bottom));--frame-left:max(8px,env(safe-area-inset-left));}
body.decen-remake-body.has-viewport-frame::before{box-shadow:0 0 0 100vmax var(--frame-color),inset 0 0 0 1px rgba(20,21,20,.08);}

/* Hero begins flush with the app canvas. There is no extra editorial gap above it. */





/* Modern image-led categories: no brown overlay gradient. */
.category-scroll{gap:12px;padding:2px 2px 8px;}
.category-card{
  background:#fff;
  border:1px solid rgba(24,25,24,.075);
  box-shadow:0 9px 24px rgba(29,31,28,.055);
  padding:5px;
  border-radius:19px;
  transition:transform .24s cubic-bezier(.22,.72,.24,1),box-shadow .24s ease,border-color .24s ease;
}
.category-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(29,31,28,.085);border-color:rgba(24,25,24,.12);}
.category-card:after{display:none;content:none;}
.category-card img,.category-fallback{
  width:100%;height:100%;object-fit:cover;
  border-radius:14px;
  background:#f3f4f1;
}
.category-fallback{background:linear-gradient(145deg,#f5f6f3,#e8eae6);}
.category-card span{
  left:11px;right:11px;bottom:10px;
  width:auto;
  color:#232421;
  background:rgba(255,255,255,.91);
  border:1px solid rgba(23,24,23,.065);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:10px;
  padding:7px 9px;
  font-size:12px;line-height:1.08;font-weight:780;
  text-shadow:none;
}

/* Product photography remains unfiltered; only its staging surface is cooled. */
.product-media img,.gallery-slide img,.gallery-thumb img,.category-card img{filter:none;}
.product-price,.shop-head p,.service-card p,.review-card p,.lead{color:var(--muted);}
.shop-toolbar{background:transparent;}
.pill{background:#fff;color:#292a28;border-color:rgba(24,25,24,.085);}
.pill.active{background:#1b1c1a;color:#fff;border-color:#1b1c1a;}
.sort-select{background:#fff;color:#292a28;}

/* 8 favorites on desktop = two rows of four. Mobile intentionally caps at six. */
.featured-section .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));}

/* Entry motion is progressive and never blocks interaction. */
.decen-reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .46s ease var(--reveal-delay,0ms),transform .58s cubic-bezier(.2,.72,.2,1) var(--reveal-delay,0ms);will-change:opacity,transform;}
.decen-reveal.is-visible{opacity:1;transform:none;will-change:auto;}
.product-card-wrap.decen-reveal{transform:translate3d(0,13px,0) scale(.992);}
.product-card-wrap.decen-reveal.is-visible{transform:none;}

@media(max-width:767px){
  
  
  
  .motion-beat{top:max(70px,calc(env(safe-area-inset-top) + 64px));}
  .motion-beat.beat-two{top:max(80px,calc(env(safe-area-inset-top) + 72px));}
  .motion-beat.beat-three{bottom:12px;}
  .home-page>[data-home-sections]>.section:first-child{margin-top:20px;}
  .featured-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .featured-section .product-card-wrap:nth-child(n/**/+7){display:none;}
  .category-scroll{grid-auto-columns:112px;gap:9px;}
  .category-card{width:112px;height:112px;padding:4px;border-radius:16px;}
  .category-card img,.category-fallback{border-radius:12px;}
  .category-card span{left:8px;right:8px;bottom:7px;padding:6px 7px;font-size:10.5px;border-radius:8px;}
  .search-modal{background:#f7f7f5;}
}
@media(max-width:420px){
  .category-scroll{grid-auto-columns:104px;}
  .category-card{width:104px;height:104px;}
}
@media(prefers-reduced-motion:reduce){
  .decen-reveal,.product-card-wrap.decen-reveal{opacity:1;transform:none;transition:none;}
}

/* ==========================================================================
   DECEN REMAKE 0.3.8 — local hero scrub, cart hierarchy, PDP conversion layout
   ========================================================================== */
/* The hero has no scroll-tail. It is one visible stage; wheel/touch gestures that
   start over it are consumed by hero-critical.js while the sequence can advance. */





/* Route-specific skeletons match the final geometry instead of showing generic cards. */
.loading-page{min-height:58vh;}
.loading-shop-head{height:126px;border-radius:24px;margin:24px 0 14px;}
.loading-pills{height:44px;border-radius:999px;margin-bottom:18px;width:min(720px,92%);}
.loading-product-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:18px;align-items:start;}
.loading-gallery-main{aspect-ratio:3/2;border-radius:28px;}
.loading-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;}
.loading-gallery-thumbs i{display:block;aspect-ratio:800/533;border-radius:12px;}
.loading-product-panel{padding:26px;border-radius:28px;background:#fff;}
.loading-product-panel .skeleton{height:18px;border-radius:9px;margin-bottom:12px;}
.loading-product-panel .title{height:64px;width:88%;}.loading-product-panel .price{height:28px;width:38%;}.loading-product-panel .copy{height:80px;width:100%;}
.loading-product-panel .option-row{height:46px;width:100%;margin-top:20px;}.loading-product-panel .cta{height:52px;width:100%;border-radius:999px;margin-top:20px;}
.loading-account-hero{height:220px;border-radius:30px;margin-bottom:14px;}.loading-account-panel{height:260px;border-radius:26px;}
.loading-account-page{width:min(1180px,100%);margin:0 auto}.loading-account-hero-shell{min-height:220px;align-items:end}.loading-account-hero-shell>div{width:min(620px,76%)}
.loading-account-page .skeleton{display:block}.account-sk-tag{width:96px;height:11px;border-radius:999px;margin-bottom:15px}.account-sk-title{width:min(520px,86%);height:58px;border-radius:18px;margin-bottom:13px}.account-sk-copy{width:min(360px,68%);height:17px;border-radius:9px}.loading-account-dashboard{align-items:start}.loading-account-orders{min-height:350px}.loading-account-side{display:grid;gap:12px}.account-sk-panel-title{width:58%;height:31px;border-radius:11px;margin:12px 0 22px}.account-sk-row{height:52px;border-radius:12px;margin-top:9px}.account-sk-address{height:72px;border-radius:14px;margin-top:9px}.account-sk-link{height:42px;border-radius:10px;margin-top:9px}
@media(max-width:767px){.loading-account-dashboard{grid-template-columns:1fr}.loading-account-hero-shell{min-height:180px}.account-sk-title{height:44px}.loading-account-orders{min-height:280px}}

/* Cart: hierarchy first. Bundle parent is a compact summary; children carry detail. */
.drawer-panel{border-radius:28px 0 0 28px;box-shadow:-18px 0 48px rgba(20,21,20,.10);}
.cart-item.bundle-parent{grid-template-columns:72px 1fr;background:#fff;border:1px solid rgba(23,24,23,.07);margin-top:8px;}
.cart-item.bundle-parent>img{width:72px;height:72px;}
.cart-item.is-child{margin-left:22px;background:#f1f2ef;border:1px solid rgba(23,24,23,.05);position:relative;}
.cart-item.is-child:before{content:"";position:absolute;left:-13px;top:-8px;bottom:50%;width:10px;border-left:1px solid #cfd1cc;border-bottom:1px solid #cfd1cc;border-radius:0 0 0 8px;}
.bundle-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:10px;color:var(--muted);}
.bundle-remove{border:0;background:transparent;color:#5d5f5b;text-decoration:underline;font-size:11px;padding:4px 0;cursor:pointer;}
.cart-item.bundle-parent .cart-meta{display:none;}

/* PDP: gallery is the stable left rail; configuration and persuasive details scroll. */
@media(min-width:901px){
  .product-layout{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:22px;}
  .product-gallery{position:sticky;top:calc(var(--frame-top,8px) + 82px);align-self:start;max-height:calc(100dvh - 104px);}
  .product-panel{position:static;top:auto;}
}
.product-rating-row{display:flex;align-items:center;gap:8px;margin:8px 0 10px;font-size:12px;color:var(--muted);}
.product-rating-row strong{color:#242522;letter-spacing:.05em;font-size:13px;}.product-rating-row b{color:#242522;}
.product-includes{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;}
.product-includes summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.product-includes summary::-webkit-details-marker{display:none;}.product-includes summary:after{content:"+";font-size:18px;font-weight:500;}.product-includes[open] summary:after{content:"−";}
.product-includes-content{font-size:13px;line-height:1.52;color:#555852;margin-top:12px;max-height:250px;overflow:auto;}
.product-includes-content ul{padding-left:18px;}.product-includes-content p:first-child{margin-top:0;}
.product-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0 0;}
.product-trust-row div{background:#f1f2ef;border-radius:13px;padding:10px;min-width:0;}.product-trust-row strong,.product-trust-row span{display:block;}.product-trust-row strong{font-size:11px;}.product-trust-row span{font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.25;}
.product-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;}.product-links a{display:flex;justify-content:center;align-items:center;text-align:center;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:11px;text-decoration:none;}
.product-description .prose{max-width:900px;font-size:16px;line-height:1.68;}
.product-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}

@media(max-width:900px){
  .loading-product-layout{grid-template-columns:1fr;}.loading-product-panel{margin-top:2px;}
  .product-gallery{position:static;max-height:none;}
  .product-trust-row{grid-template-columns:repeat(3,1fr);}
  .product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  
  
  
  
  .drawer-panel{border-radius:24px 0 0 24px;}
  .product-links{grid-template-columns:1fr;}
}
.product-addons-preview{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;}
.product-addon-links{display:grid;gap:6px;margin-top:9px;}
.product-addon-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f4f5f2;border-radius:12px;padding:10px 11px;font-size:11px;font-weight:720;}
.product-addon-links a span{font-size:16px;font-weight:500;}

/* ==========================================================================
   DECEN REMAKE 0.3.8 — conversion PDP, native BOPO/options, collapsing hero
   ========================================================================== */
:root{
  --bg:#f6f6f3;
  --paper:#ffffff;
  --muted:#6e706c;
  --line:rgba(30,32,30,.085);
}
html,body.decen-remake-body{background:#eceeeb;}
.decen-app{background:var(--bg);}

/* Hero: a single compact viewport. The page-coloured lower edge rises as the
   local scrub progresses, so the scene feels physically collapsed rather than
   followed by a long artificial scroll runway. */



.motion-story{z-index:7}.motion-progress,.motion-hint{z-index:8}



/* PDP: make the full gallery rail genuinely sticky, and size the media so its
   thumbnails remain above the persistent bottom navigation on desktop. */
@media(min-width:901px){
  .product-layout{grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);gap:24px;align-items:start;}
  .product-gallery{
    position:sticky;
    top:calc(max(8px,var(--safe-top)) + 82px);
    align-self:start;
    height:auto;
    max-height:calc(100dvh - 178px);
    overflow:visible;
  }
  .gallery-stage{height:min(55dvh,560px);min-height:350px;aspect-ratio:auto;}
  .gallery-track,.gallery-slide{height:100%;min-height:0;}
  .gallery-slide{aspect-ratio:auto;}
  .gallery-slide img{height:100%;object-fit:contain;background:#f8f8f6;}
  .gallery-thumbs{height:84px;margin-top:8px;}
  .gallery-thumb{height:78px;aspect-ratio:1.35/1;}
  .gallery-thumb img{height:100%;object-fit:cover;}
  .product-panel{padding:25px;}
}

/* Native related-product add-ons: purchasing happens inline rather than by
   sending a shopper through another PDP. */
.native-addons{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;}
.native-addons-intro{margin:7px 0 11px;color:var(--muted);font-size:12px;line-height:1.45;}
.native-addon-list{display:grid;gap:8px;}
.addon-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:11px;padding:9px;background:#f4f5f2;border:1px solid rgba(30,32,30,.055);border-radius:17px;align-items:start;}
.addon-card>img{width:78px;height:78px;object-fit:cover;border-radius:12px;background:#fff;}
.addon-copy{min-width:0}.addon-head{display:flex;align-items:start;justify-content:space-between;gap:9px;}.addon-head strong{font-size:12px;line-height:1.25;}.addon-head span{font-size:11px;white-space:nowrap;color:#484a47;}
.addon-recommended{display:block;margin-top:4px;color:#5e655d;font-size:9.5px;font-weight:750;}
.addon-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;}
.addon-attribute span{display:block;font-size:9px;font-weight:800;color:var(--muted);margin:0 0 3px;}
.addon-attribute select{width:100%;min-width:0;border:1px solid var(--line);background:#fff;color:#292b28;border-radius:10px;padding:7px 24px 7px 8px;font-size:10px;-webkit-appearance:auto;appearance:auto;}
.addon-add{border:0;background:#1c1d1b;color:#fff;border-radius:999px;min-height:32px;padding:6px 12px;font-size:10px;font-weight:800;margin-top:8px;cursor:pointer;}
.addon-add:disabled{opacity:.38;cursor:not-allowed}.addon-status{font-size:9px;color:#5d625a;margin-left:7px;}

/* BOPO PDP: each slot is a compact room component with an explicit switcher.
   DECEN BOPO remains the pricing/cart authority; this is only its new UI. */
.bopo-layout .product-gallery{z-index:2}.bopo-configurator{position:static;}
.bopo-intro{color:var(--muted);font-size:13px;line-height:1.5;margin:4px 0 18px;}
.bopo-slots{display:grid;gap:9px;}
.bopo-slot{border:1px solid var(--line);border-radius:18px;background:#fafaf8;padding:9px;}
.bopo-slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 3px 7px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;color:#62645f;}
.bopo-slot-head small{font-size:9px;font-weight:700;text-transform:none;letter-spacing:0;}
.bopo-selected-card{width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;background:#fff;border-radius:13px;padding:7px;text-align:left;cursor:pointer;color:#20211f;}
.bopo-selected-card img{width:62px;height:62px;border-radius:10px;object-fit:cover;background:#f3f4f1;}
.bopo-selected-card span{min-width:0}.bopo-selected-card strong,.bopo-selected-card small{display:block}.bopo-selected-card strong{font-size:12px;line-height:1.2}.bopo-selected-card small{font-size:9.5px;color:var(--muted);margin-top:4px;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bopo-selected-card em{font-style:normal;font-size:10px;font-weight:800;color:#555954;border:1px solid var(--line);border-radius:999px;padding:6px 8px;}
.bopo-choice-panel{display:grid;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);max-height:330px;overflow:auto;}
.bopo-choice{border:1px solid transparent;border-radius:13px;background:#fff;overflow:hidden}.bopo-choice.selected{border-color:#707570;box-shadow:0 0 0 1px rgba(35,38,34,.05);}
.bopo-choice-main{width:100%;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;background:transparent;color:#242522;text-align:left;padding:7px;cursor:pointer;}
.bopo-choice-main img{width:50px;height:50px;border-radius:9px;object-fit:cover;background:#f3f4f1}.bopo-choice-main span strong,.bopo-choice-main span small{display:block}.bopo-choice-main strong{font-size:11px}.bopo-choice-main small{font-size:9px;color:var(--muted);margin-top:2px}.bopo-choice-main>b{font-size:9px;color:#626660;}
.bopo-variant-select{width:calc(100% - 14px);margin:0 7px 7px;border:1px solid var(--line);background:#f7f8f5;color:#292b28;border-radius:10px;padding:8px 9px;font-size:10px;}
.bopo-total-card{position:sticky;bottom:82px;z-index:5;margin-top:13px;padding:14px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 35px rgba(24,26,23,.09);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.bopo-total-card>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}.bopo-total-card span{font-size:10px;color:var(--muted)}.bopo-total-card strong{font-size:23px;letter-spacing:-.025em}.bopo-savings{display:flex;justify-content:space-between;gap:10px;margin:5px 0 8px}.bopo-savings strong{font-size:10px;color:#4f6655}.bopo-status{display:block;min-height:15px;margin:4px 0;font-size:9.5px;}

/* Cart removal feedback is immediate even when WooCommerce needs a moment. */
.cart-item.is-removing{opacity:.52;transform:scale(.985);pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
.cart-item.is-removed{opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden;transition:opacity .18s ease,max-height .28s ease,margin .28s ease,padding .28s ease;}

@media(max-width:767px){
  
  
  
  .addon-card{grid-template-columns:68px minmax(0,1fr)}.addon-card>img{width:68px;height:68px}.addon-attributes{grid-template-columns:1fr;}
  .bopo-selected-card{grid-template-columns:56px minmax(0,1fr) auto}.bopo-selected-card img{width:56px;height:56px}.bopo-total-card{bottom:78px;}
}
.bopo-no-choice{width:100%;border:1px dashed #c8ccc6;background:#f7f8f5;color:#60645f;border-radius:11px;padding:8px;font-size:10px;font-weight:750;cursor:pointer;margin-bottom:7px;}
.bopo-options-loading{display:flex;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:10px}.bopo-options-loading i{width:13px;height:13px;border:2px solid #d0d3ce;border-top-color:#555a54;border-radius:50%;animation:decenSpin .75s linear infinite}@keyframes decenSpin{to{transform:rotate(360deg)}}

/* ==========================================================================
   DECEN REMAKE 0.4.0 — overlap hero, cooler skeletons, swatches, compact add-ons
   ========================================================================== */
/* Keep accessible helper text available to assistive technologies without
   leaking WooCommerce's verbose sale-price narration into our clean shell. */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;
  position:absolute;width:1px;word-wrap:normal;
}

/* Cooler loading language across every route. */
.skeleton,
.cart-preload-placeholder i{
  background:linear-gradient(90deg,#e2e5e2 24%,#f2f4f1 39%,#e2e5e2 64%);
  background-size:400% 100%;
}
.loading-product-panel,.loading-page{background:transparent;}

/* The NEXT home container physically moves over the hero. There is no inner
   masking panel inside the image anymore. */
.home-page{margin-top:calc(-84px - var(--safe-top));}


.home-page>[data-home-sections]{
  --hero-overlap:0px;
  position:relative;z-index:9;
  margin-top:calc(-1 * var(--hero-overlap));
  padding-top:1px;
  background:var(--bg);
  border-radius:28px 28px 0 0;
  box-shadow:0 -12px 32px rgba(30,32,30,.045);
  will-change:margin-top;
}
.home-page>[data-home-sections]>.section:first-child{margin-top:24px;}

/* Infinite category strip: clones are visually identical, JS rewinds one set
   without animation when the second set reaches the viewport origin. */
.category-scroll[data-category-loop]{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;}
.category-scroll[data-category-loop] [data-loop-clone="1"]{pointer-events:auto;}

/* Sale prices: only old red strike + active price. Never expose Woo prose. */
.decen-price{display:inline-flex;align-items:baseline;gap:7px;flex-wrap:wrap;line-height:1.15;}
.decen-price-old,
.product-price .decen-price-old,
.price-big .decen-price-old{
  color:#a8443e;opacity:1;text-decoration-color:#a8443e;
  text-decoration-thickness:1.5px;margin:0;font-weight:650;
}
.decen-price-current,
.product-price .decen-price-current,
.price-big .decen-price-current{color:#202220;text-decoration:none;font-weight:820;}
.product-price del,.price-big del{opacity:1;}

/* Payment message mirrors DECEN's existing commercial convention while keeping
   it visually secondary to the product price. */
.product-payment-line{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;margin:2px 0 13px;padding:9px 11px;border-radius:12px;background:#f4f5f3;border:1px solid rgba(27,29,27,.055);}
.product-payment-line>span{font-size:9.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;color:#656864;}
.product-payment-line>strong{font-size:11.5px;color:#2a2c29;justify-self:end;}
.product-payment-line>small{grid-column:1/-1;font-size:9px;color:#80837e;}

/* Flash-sale-inspired variation pills: material/color dot plus plain label. */
.variation-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.option{
  min-height:43px;padding:7px 8px;border-radius:999px;min-width:0;
  display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;
  color:#242624;background:#fff;border:1px solid #dde0dc;
  box-shadow:none;-webkit-appearance:none;appearance:none;
}
.option.has-swatch{padding-left:7px;}
.option-swatch{display:inline-block;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#f4f4f2;border:1px solid rgba(20,22,20,.13);box-shadow:inset 0 0 0 2px rgba(255,255,255,.5);}
.option-swatch.is-image{background-size:cover;background-position:center;background-repeat:no-repeat;}
.option>span{font-size:10px;font-weight:720;line-height:1.05;min-width:0;overflow-wrap:anywhere;}
.option.selected{background:#20211f;color:#fff;border-color:#20211f;}
.option.selected .option-swatch{border-color:rgba(255,255,255,.58);box-shadow:0 0 0 1px rgba(255,255,255,.18),inset 0 0 0 2px rgba(255,255,255,.45);}
.option:disabled{opacity:.33;}

/* Related/add-on products use compact disclosure rows; their configuration only
   occupies space when the shopper opens that product. */
.native-addon-list{gap:7px;}
details.addon-card{
  display:block;padding:0;background:#f7f8f6;
  border:1px solid rgba(30,32,30,.07);border-radius:16px;overflow:hidden;
}
.addon-summary{
  list-style:none;display:grid;grid-template-columns:58px minmax(0,1fr) 24px;gap:10px;
  align-items:center;padding:7px;cursor:pointer;min-height:72px;background:#f7f8f6;
}
.addon-summary::-webkit-details-marker{display:none;}
.addon-summary .addon-image{width:58px;height:58px;object-fit:cover;border-radius:11px;background:#fff;}
.addon-summary-copy{min-width:0;display:block;}
.addon-summary-copy strong,.addon-summary-copy small{display:block;}
.addon-summary-copy strong{font-size:11.5px;line-height:1.24;}
.addon-summary-copy small{font-size:10px;margin-top:5px;color:#555954;white-space:normal;}
.addon-chevron{font-style:normal;font-size:18px;color:#70736f;text-align:center;transition:transform .2s ease;}
details.addon-card[open] .addon-chevron{transform:rotate(180deg);}
.addon-body{padding:0 10px 10px;border-top:1px solid rgba(30,32,30,.055);background:#fff;}
.addon-attributes{display:grid;gap:10px;margin-top:10px;}
.addon-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.addon-status{margin-left:0;}

/* Desktop PDP: sticky belongs to a dedicated rail wrapper. Avoiding overflow-x
   hidden on the document is essential because it can defeat sticky in WebKit. */
html,body.decen-remake-body{max-width:100%;overflow-x:clip;}
@media(min-width:901px){
  .product-layout{grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:26px;align-items:start;}
  .product-gallery-sticky{
    position:sticky;top:calc(max(8px,var(--safe-top)) + 76px);
    align-self:start;z-index:12;min-width:0;
  }
  .product-gallery-sticky>.product-gallery{position:relative;top:auto;max-height:none;overflow:visible;}
  .gallery-stage{height:min(48dvh,500px);min-height:330px;}
  .gallery-thumbs{height:76px;margin-top:7px;}
  .gallery-thumb{height:70px;}
}

@media(max-width:900px){
  .product-gallery-sticky{position:static;}
}
@media(max-width:767px){
  .home-page{margin-top:calc(-76px - var(--safe-top));}
  
  .home-page>[data-home-sections]{border-radius:22px 22px 0 0;}
  .addon-body{padding:0 9px 9px;}
  .addon-summary{grid-template-columns:52px minmax(0,1fr) 22px;}
  .addon-summary .addon-image{width:52px;height:52px;}
  .product-payment-line{grid-template-columns:1fr;gap:3px;}
  .product-payment-line>strong{justify-self:start;}
}

/* ========================================================================== 
   DECEN REMAKE 0.4.0 — FINAL PHASE OVERRIDES
   One responsibility per block: browser chrome, Home hero, category strip,
   PDP viewport, skeleton contract. These rules intentionally supersede the
   historical 0.3.x experiments above without deleting rollback context.
   ========================================================================== */
:root{
  --frame-color:#eef0ed;
  --bg:#f7f8f6;
  --paper:#ffffff;
  --media:#f4f6f3;
  --ink:#191b19;
  --muted:#6f746e;
  --home-hero-height:clamp(480px,70svh,720px);
}
html,body.decen-remake-body{background:var(--frame-color);}
.decen-app{background:var(--bg);}

/* Safari/iPhone browser chrome: port the proven Interfaz Digital principle.
   These are REAL fixed edge elements at physical top/bottom, not pseudo-only
   backgrounds. Safari can sample them when its chrome becomes translucent. */
#decen-edge-top,#decen-edge-bottom{
  position:fixed;
  left:0;right:0;
  height:12px;
  background:var(--frame-color);
  z-index:2147483647;
  pointer-events:none;
  transform:translateZ(0);
}
#decen-edge-top{top:0;}
#decen-edge-bottom{bottom:0;}
body.decen-remake-body.has-viewport-frame{
  --frame-top:max(12px,env(safe-area-inset-top));
  --frame-right:max(12px,env(safe-area-inset-right));
  --frame-bottom:max(12px,env(safe-area-inset-bottom));
  --frame-left:max(12px,env(safe-area-inset-left));
}

/* Brand is intentionally ~30% larger than the previous 108px lockup. */
.brand{min-width:154px;height:48px;}
.brand img{width:140px;max-width:140px;max-height:40px;height:auto;}

/* HOME — fixed visual stage + real following section covering it.
   No inner mask. No fake collapse stripe. The page content itself scrolls over
   the fixed scene exactly like the user's validated hero-test approach. */
.home-page{
  position:relative;
  margin-top:calc(-84px - var(--safe-top));
  min-height:calc(var(--home-hero-height) + 100vh);
}




.home-page>[data-home-sections]{
  position:relative;
  z-index:10;
  margin-top:var(--home-hero-height);
  padding:1px 0 0;
  background:var(--bg);
  border-radius:30px 30px 0 0;
  box-shadow:0 -18px 45px rgba(28,31,27,.055);
}
.home-page>[data-home-sections]>.section:first-child{margin-top:30px;}

/* HOME CATEGORIES — white, visual-only, compact labels, continuous strip. */
.category-scroll{
  grid-auto-columns:150px;
  gap:10px;
  padding:3px 3px 10px;
  overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-inline:contain;
}
.category-card{
  width:150px;height:150px;
  padding:5px;
  background:#fff;
  border:1px solid rgba(27,30,27,.075);
  border-radius:18px;
  box-shadow:0 8px 22px rgba(26,30,25,.045);
  overflow:hidden;
}
.category-card:after,.category-fallback{display:none;}
.category-card img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;border-radius:13px;}
.category-card span{
  left:8px;right:8px;bottom:7px;
  display:block;width:auto;
  padding:6px 6px;
  text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:10px;line-height:1;font-weight:780;
  color:#242724;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(25,28,25,.055);
  border-radius:9px;
  box-shadow:none;
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}

/* PDP — two independent desktop viewports. Gallery stays visible; the purchase
   panel also stays fixed-in-place and scrolls internally, so its content never
   runs underneath the browser/app header. */
@media(min-width:901px){
  .product-layout{
    grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);
    gap:24px;align-items:start;
  }
  .product-gallery-sticky{
    position:sticky;
    top:calc(var(--frame-top) + 78px);
    height:calc(100dvh - var(--frame-top) - var(--frame-bottom) - 164px);
    max-height:760px;
    align-self:start;z-index:12;
    overflow:hidden;
  }
  .product-gallery-sticky>.product-gallery{
    height:100%;display:grid;
    grid-template-rows:minmax(0,1fr) 76px;
    gap:8px;overflow:hidden;
  }
  .gallery-stage{height:100%;min-height:0;max-height:none;overflow:hidden;}
  .gallery-track,.gallery-slide{height:100%;min-height:0;}
  .gallery-slide{aspect-ratio:auto;background:var(--media);}
  .gallery-slide img{
    width:100%;height:100%;
    object-fit:cover;object-position:center;
    background:var(--media);
  }
  .gallery-thumbs{height:76px;margin:0;min-height:0;}
  .gallery-thumb{height:70px;aspect-ratio:1.34/1;}
  .gallery-thumb img{width:100%;height:100%;object-fit:cover;}
  .product-panel{
    position:sticky;
    top:calc(var(--frame-top) + 78px);
    height:calc(100dvh - var(--frame-top) - var(--frame-bottom) - 164px);
    max-height:760px;
    min-height:430px;
    overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    padding:24px;
    align-self:start;z-index:11;
  }
  .product-panel::-webkit-scrollbar{width:6px;}
  .product-panel::-webkit-scrollbar-thumb{background:#d4d8d2;border-radius:99px;}
  .product-panel::-webkit-scrollbar-track{background:transparent;}
}

/* Quantity is intentionally absent: different finishes require separate add flows. */
.qty-row,.qty-control,[data-qty-minus],[data-qty-plus],[data-qty-input]{display:none;}

/* Native add-ons are staged in the current product purchase and reflected in
   the primary CTA total before WooCommerce is mutated. */
details.addon-card.is-selected{border-color:#8b968b;background:#f3f7f2;box-shadow:inset 0 0 0 1px rgba(76,95,77,.07);}
details.addon-card.is-selected .addon-summary{background:#f3f7f2;}
details.addon-card.is-selected .addon-add{background:#314536;}
.product-primary-cta{position:sticky;bottom:12px;z-index:28;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-top:14px;background:#111;color:#fff;opacity:1;box-shadow:0 14px 34px rgba(24,28,24,.18);}
.product-primary-cta .product-cta-label{font-weight:820;text-align:left}.product-primary-cta .product-cta-prices{display:flex;align-items:center;gap:8px;margin-left:auto}.product-primary-cta del{opacity:.7;font-size:11px}.product-primary-cta strong{font-size:14px;white-space:nowrap}.product-availability{margin-top:12px;padding:9px 11px;border-radius:12px;background:#f4f6f2;border:1px solid rgba(29,34,29,.06);font-weight:760}.product-includes{margin-top:12px;padding-top:12px}.addon-variation-options{grid-template-columns:repeat(4,minmax(0,1fr))}.addon-variation-select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);padding:10px 38px 10px 12px;font-size:12px;font-weight:720}.addon-add{display:inline-flex;align-items:center;justify-content:center;min-width:132px;white-space:nowrap}

/* Conversion footer is always four cards: 4x1 desktop, 2x2 mobile. */
.product-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.product-related-grid>.product-card-wrap:nth-child(n/**/+5){display:none;}

/* SKELETON CONTRACT — mirrors 0.4.0 geometry and cooler visual language. */
.skeleton,.cart-preload-placeholder i{
  background:linear-gradient(90deg,#e5e8e4 22%,#f6f7f5 39%,#e5e8e4 64%);
  background-size:400% 100%;
  border-radius:16px;
}
.loading-product-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:24px;align-items:start;}
.loading-gallery-rail{
  display:grid;grid-template-rows:minmax(330px,1fr) 76px;gap:8px;
  height:calc(100dvh - var(--frame-top) - var(--frame-bottom) - 164px);max-height:760px;
  position:sticky;top:calc(var(--frame-top) + 78px);
}
.loading-gallery-main{height:100%;min-height:330px;border-radius:24px;}
.loading-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;height:76px;}
.loading-gallery-thumbs i{height:70px;border-radius:12px;}
.loading-product-panel{
  position:sticky;top:calc(var(--frame-top) + 78px);
  height:calc(100dvh - var(--frame-top) - var(--frame-bottom) - 164px);max-height:760px;
  padding:24px;border-radius:28px;background:#fff;overflow:hidden;
}
.loading-product-panel .sk-eyebrow{width:22%;height:11px;}
.loading-product-panel .title{width:72%;height:58px;margin-top:10px;}
.loading-product-panel .price{width:32%;height:27px;}
.loading-product-panel .payment{width:100%;height:44px;}
.loading-product-panel .includes{width:100%;height:92px;margin-top:16px;}
.loading-product-panel .option-row{width:100%;height:48px;margin-top:13px;}
.loading-addon-skeletons{display:grid;gap:7px;margin-top:14px;}
.loading-addon-skeletons i{display:block;width:100%;height:68px;border-radius:15px;}
.loading-product-panel .cta{height:50px;margin-top:14px;border-radius:999px;}
.loading-category-row{
  display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:10px;
  overflow:hidden;padding:3px;
}
.loading-category-row i{display:block;width:150px;height:150px;background:#fff;border:1px solid #e5e8e4;border-radius:18px;position:relative;overflow:hidden;}
.loading-category-row i:before{content:"";position:absolute;inset:8px 8px 30px;background:linear-gradient(90deg,#edf0ec,#f8f9f7,#edf0ec);background-size:400% 100%;animation:sk 1.35s ease infinite;border-radius:12px;}
.home-product-skeleton{display:block;aspect-ratio:1/.98;border-radius:23px;}
.home-loading-featured .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}

@media(max-width:900px){
  .brand{min-width:132px;}
  .brand img{width:120px;max-width:120px;max-height:36px;}
  .category-scroll{grid-auto-columns:108px;gap:8px;}
  .category-card{width:108px;height:108px;padding:4px;border-radius:15px;}
  .category-card img{border-radius:11px;}
  .category-card span{left:6px;right:6px;bottom:6px;padding:5px 4px;font-size:8.5px;border-radius:7px;}
  .product-gallery-sticky,.product-panel{position:static;height:auto;max-height:none;overflow:visible;}
  .gallery-slide img{object-fit:cover;}
  .product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .loading-product-layout{grid-template-columns:1fr;gap:10px;}
  .loading-gallery-rail{position:static;height:auto;grid-template-rows:minmax(280px,52svh) 66px;}
  .loading-gallery-thumbs{height:66px;}.loading-gallery-thumbs i{height:62px;}
  .loading-product-panel{position:static;height:auto;min-height:560px;}
  .loading-category-row{grid-auto-columns:108px;gap:8px;}.loading-category-row i{width:108px;height:108px;}
  .home-loading-featured .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .home-loading-featured .home-product-skeleton:nth-child(n/**/+7){display:none;}
}
@media(max-width:420px){
  .category-scroll{grid-auto-columns:102px;}
  .category-card{width:102px;height:102px;}
  .category-card span{font-size:8px;}
}
/* Static-Hero feature-flag fallback: do not reserve the fixed-motion runway. */
.home-page>.static-home-hero + [data-home-sections]{margin-top:0;}

/* 0.4.4 — DECEN APP Marketing bridge. Inline APP colors are canonical. */
.promo-grid .promo-card{background:var(--decen-promo-bg,#171717);color:var(--decen-promo-accent,#fff);border:1px solid color-mix(in srgb,var(--decen-promo-accent,#fff) 16%,transparent);text-decoration:none}
.promo-grid .promo-card:nth-child(2n){background:var(--decen-promo-bg,#171717);color:var(--decen-promo-accent,#fff)}
.promo-grid .promo-card .eyebrow,.promo-grid .promo-card h3,.promo-grid .promo-card p{color:inherit}
.promo-grid .promo-card[href]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.promo-grid .promo-card[href]:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.09)}

/* ========================================================================== 
   DECEN REMAKE 0.4.4 — HERO INPUT CONTRACT + SUPPORT CONTENT
   Hero has its own rounded lower corners. The following Home surface is full
   width and rectangular; normal page scroll physically reduces the fixed Hero.
   Wheel/touch that STARTS over the visible Hero is reserved for frame scrub.
   ========================================================================== */
.home-page>[data-home-sections]::before,
.home-page>[data-home-sections]::after{display:none;content:none;}
.home-page>[data-home-sections]{
  width:calc(100vw - var(--frame-left) - var(--frame-right));
  max-width:none;
  left:50%;
  transform:translateX(-50%);
  margin-top:var(--home-hero-height);
  background:var(--bg);
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.home-page>[data-home-sections]>.section,
.home-page>[data-home-sections]>.room-builder-cta,
.home-page>[data-home-sections]>.trust-band{
  width:min(var(--content-max),calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}






/* PDP interaction resilience. Critical controls always sit in their own layer;
   optional-product errors may not cover or disable the base purchase controls. */
.product-gallery-sticky,.product-panel{isolation:isolate;}
.product-gallery button,.product-panel button,.product-panel select,.product-panel a{position:relative;pointer-events:auto;}
.addon-card.addon-bind-failed{opacity:.72;}
.addon-card.addon-bind-failed .addon-body:after{content:"Opciones temporalmente no disponibles";display:block;font-size:11px;color:#8b3d38;margin-top:8px;}

/* New REMAKE support pages. Their source content is WordPress, their visual
   representation belongs to the App Shell. */
.content-page,.instructions-page,.instruction-detail-page{padding:12px 0 20px;}
.content-hero{
  background:#fff;border:1px solid rgba(25,29,25,.07);border-radius:30px;
  padding:clamp(28px,5vw,56px);display:flex;justify-content:space-between;
  align-items:end;gap:28px;box-shadow:0 16px 42px rgba(26,31,26,.045);
}
.content-hero h1{font:760 clamp(44px,7vw,82px)/.93 Arial,sans-serif;letter-spacing:-.055em;margin:8px 0 12px;}
.content-hero p{max-width:720px;color:var(--muted);font-size:16px;line-height:1.55;margin:0;}
.content-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start;margin-top:16px;}
.content-toc{position:sticky;top:calc(var(--frame-top) + 82px);background:#fff;border-radius:22px;padding:18px;display:grid;gap:5px;border:1px solid rgba(25,29,25,.07);}
.content-toc .mini-tag{margin-bottom:7px;}
.content-toc a{padding:9px 10px;border-radius:10px;font-size:12px;font-weight:720;color:#5d625d;}
.content-toc a:hover{background:#f0f2ef;color:#171917;}
.content-stack{display:grid;gap:12px;min-width:0;}
.content-card,.instruction-document{background:#fff;border:1px solid rgba(25,29,25,.07);border-radius:24px;padding:clamp(20px,3vw,34px);scroll-margin-top:100px;}
.semantic-content{color:#444944;line-height:1.68;overflow-wrap:anywhere;}
.semantic-content h1,.semantic-content h2,.semantic-content h3,.semantic-content h4{font-family:Arial,sans-serif;color:#171917;letter-spacing:-.025em;line-height:1.05;margin:1.45em 0 .55em;}
.semantic-content h2{font-size:30px}.semantic-content h3{font-size:23px}.semantic-content h4{font-size:18px}
.semantic-content p{margin:.65em 0 1em}.semantic-content li{margin:.38em 0}.semantic-content a{text-decoration:underline;text-underline-offset:3px;font-weight:650;}
.semantic-content img,.semantic-content video,.semantic-content iframe{display:block;max-width:100%;height:auto;border-radius:18px;margin:18px auto;background:var(--media);}
.semantic-content iframe{width:100%;min-height:420px;}
.semantic-content table{width:100%;border-collapse:collapse;display:block;overflow:auto;}
.semantic-content th,.semantic-content td{border-bottom:1px solid var(--line);padding:10px;text-align:left;}
.content-back{display:inline-flex;margin-bottom:18px;font-size:12px;font-weight:760;color:#676c67;}
.instructions-hero{align-items:center;}
.instruction-search{width:min(430px,100%);display:grid;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.instruction-search input{width:100%;border:1px solid rgba(25,29,25,.10);border-radius:999px;background:#f5f7f4;padding:14px 18px;outline:none;text-transform:none;letter-spacing:0;}
.instruction-search input:focus{border-color:#7e887e;background:#fff;box-shadow:0 0 0 3px rgba(84,103,86,.08);}
.instruction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;}
.instruction-card{min-width:0;background:#fff;border:1px solid rgba(25,29,25,.07);border-radius:20px;padding:10px;display:grid;grid-template-rows:150px auto auto;gap:10px;transition:transform .2s ease,box-shadow .2s ease;}
.instruction-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(25,30,25,.06);}
.instruction-card>img,.instruction-icon{width:100%;height:150px;object-fit:cover;border-radius:14px;background:#f1f3f0;display:grid;place-items:center;font-size:34px;color:#747a74;}
.instruction-card strong,.instruction-card small{display:block}.instruction-card strong{font-size:14px;line-height:1.2}.instruction-card small{font-size:11px;color:var(--muted);margin-top:5px}.instruction-card>b{font-size:11px;color:#606660;}
.instruction-empty{margin-top:12px;background:#fff;border-radius:18px;text-align:center;}
.instruction-document{margin-top:16px;}
.content-loading-hero{height:260px;border-radius:30px;}
.content-loading-grid{display:grid;grid-template-columns:260px 1fr;gap:16px;margin-top:16px;}.content-loading-grid>i{height:280px}.content-loading-grid>div{display:grid;gap:12px}.content-loading-grid>div i{height:170px;}

@media(max-width:900px){
  
  .home-page>[data-home-sections]>.section,
  .home-page>[data-home-sections]>.room-builder-cta,
  .home-page>[data-home-sections]>.trust-band{width:calc(100% - 24px);}
  
  .content-hero{border-radius:24px;padding:24px;display:grid;align-items:start;}
  .content-hero h1{font-size:48px;}
  .content-layout{grid-template-columns:1fr;}.content-toc{position:static;display:flex;overflow:auto;white-space:nowrap;border-radius:18px;}
  .content-toc .mini-tag{display:none}.content-toc a{flex:0 0 auto;background:#f3f5f2;}
  .instruction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .instruction-card{grid-template-rows:120px auto auto}.instruction-card>img,.instruction-icon{height:120px;}
  .semantic-content iframe{min-height:240px;}
  .content-loading-grid{grid-template-columns:1fr}.content-loading-grid>i{height:80px}.content-loading-grid>div i{height:130px;}
}

/* ========================================================================== 
   DECEN REMAKE 0.4.4 — HERO POLISH + MOBILE PROMOS + PDP/GALLERY CONTRACT
   ========================================================================== */
/* The Hero owns its rounded lower edge, but it is the BACKDROP layer.
   The following Home surface must paint above it while normal page scroll covers it. */

.home-page>[data-home-sections]{z-index:20;}




/* PDP media rail: desktop fixed viewport; mobile stage follows active image ratio. */
@media(min-width:901px){
  .product-gallery-sticky{z-index:20;}
  .product-panel{z-index:19;}
}
@media(max-width:900px){
  .product-gallery{width:100%;min-width:0;overflow:hidden;}
  .gallery-stage{
    width:100%;
    height:auto;
    min-height:250px;
    max-height:68svh;
    transition:height .22s ease;
    border-radius:20px;
  }
  .gallery-track{height:100%;align-items:stretch;}
  .gallery-slide{
    flex:0 0 100%;
    width:100%;
    height:100%;
    min-height:0;
    aspect-ratio:auto;
  }
  .gallery-slide img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    background:#fff;
  }
  .gallery-thumbs{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:72px;
    gap:7px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    padding:1px;
  }
  .gallery-thumb{width:72px;height:58px;aspect-ratio:auto;scroll-snap-align:center;}
  .gallery-thumb img{object-fit:cover;}
}

/* Updated PDP skeleton mirrors the actual 0.4.4 viewport and controls. */
.loading-product-layout{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);}
.loading-product-panel .includes{height:116px;}
.loading-addon-skeletons i{height:58px;}
@media(max-width:900px){
  .loading-product-layout{display:grid;grid-template-columns:1fr;gap:12px;}
  .loading-gallery-rail{
    position:static;
    height:auto;
    max-height:none;
    grid-template-rows:minmax(260px,46svh) 58px;
    gap:7px;
  }
  .loading-gallery-main{min-height:260px;border-radius:20px;}
  .loading-gallery-thumbs{height:58px;display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:72px;overflow:hidden;}
  .loading-gallery-thumbs i{width:72px;height:58px;border-radius:10px;}
  .loading-product-panel{position:static;height:auto;max-height:none;min-height:620px;padding:18px;border-radius:22px;}
  .loading-product-panel .title{height:44px;width:76%;}
  .loading-product-panel .payment{height:42px;}
  .loading-product-panel .includes{height:104px;}
  .loading-product-panel .option-row{height:48px;}
  .loading-addon-skeletons i{height:56px;}
}

/* ========================================================================== 
   DECEN REMAKE 0.4.21 — CANONICAL RELEASE UI
   ========================================================================== */

/* Home and route skeletons use the same cool greige geometry as their views. */
.home-loading{display:grid;gap:28px}.home-loading-hero{height:min(720px,72vh);min-height:520px;border-radius:30px}.home-loading-cats{display:grid;grid-auto-flow:column;grid-auto-columns:108px;gap:8px;overflow:hidden}.home-loading-cats i{display:block;width:108px;height:108px;border-radius:22px}.home-loading-featured{display:grid;gap:16px}.home-loading-title{width:min(320px,58%);height:44px;border-radius:14px}.home-loading-featured .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* Shop header is intentionally compact; the fixed category dock never reserves a blank band. */
.shop-head{padding:18px 5px 5px}.shop-head h1{margin:8px 0 8px}.shop-head p{margin:0}.shop-page .shop-toolbar{padding:4px 0 14px;position:relative;z-index:40;background:transparent}.shop-sort-row{min-height:42px;align-items:center}.shop-page .shop-filter-dock{position:fixed;z-index:118;top:83px;left:50%;width:min(1220px,calc(100% - 24px));padding:5px 0;background:transparent;opacity:0;pointer-events:none;transform:translate3d(-50%,calc(-100% - 18px),0);transition:transform .46s cubic-bezier(.22,.72,.22,1),opacity .2s ease;will-change:transform,opacity}.shop-page .shop-filter-dock.is-direction-visible{opacity:1;pointer-events:auto;transform:translate3d(-50%,0,0)}.shop-page .shop-filter-dock .filter-pills{padding:0 2px;background:transparent;mask-image:none;-webkit-mask-image:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.has-viewport-frame .shop-page .shop-filter-dock{top:calc(var(--frame-top) + 72px);width:min(1220px,calc(100% - var(--frame-left) - var(--frame-right) - 20px))}

/* Search: first row = quick refinements, second row = catalog navigation. */
.search-suggestions{margin-top:14px}.search-suggestions button{border-color:#171817;background:#171817;color:#fff;padding:9px 15px;font-weight:760}.search-cats{margin-top:14px;margin-bottom:20px;padding-bottom:2px}.search-cats button{padding:7px 11px;background:#fff;color:var(--ink);font-size:12px}.search-results{margin-top:18px}.search-products small em{font-style:normal;color:#686d67;font-weight:700}

/* Side-cart and More drawer entrance is deliberate rather than instantaneous. */
.drawer{transition:opacity .32s ease}.drawer-panel{transition:transform .56s cubic-bezier(.18,.74,.18,1)}

/* One canonical horizontal rail contract for Home. */
.home-rail-viewport{overflow:hidden;border-radius:24px;clip-path:inset(0 round 24px);-webkit-clip-path:inset(0 round 24px)}.category-scroll,.promo-grid{scroll-snap-type:x mandatory;scroll-padding-inline:12px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-scroll::-webkit-scrollbar,.promo-grid::-webkit-scrollbar{display:none}.category-card,.promo-grid .promo-card{scroll-snap-align:start;scroll-snap-stop:always}

/* PDP desktop keeps its two-column sticky contract. */
.product-layout{grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);gap:24px;align-items:start}.product-gallery-sticky{position:sticky;top:92px;min-width:0}.product-gallery-sticky>.product-gallery{position:relative;top:auto;max-height:none;overflow:visible}.product-panel{position:sticky;top:92px;max-height:calc(100dvh - 184px);overflow:auto;padding:24px}.gallery-thumbs{grid-auto-columns:calc((100% - 32px)/5);gap:8px}.gallery-thumb{width:100%;min-width:0}

/* PDP skeleton follows the exact gallery/panel proportions. */
.loading-product-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);gap:24px;align-items:start}.loading-gallery-rail{display:grid;grid-template-rows:minmax(420px,60vh) 72px;gap:8px}.loading-gallery-main{height:100%;border-radius:24px}.loading-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;height:72px}.loading-gallery-thumbs i{width:100%;height:72px;border-radius:12px}.loading-product-panel{padding:24px;border-radius:24px;min-height:570px}.loading-product-panel .title{width:72%;height:50px}.loading-product-panel .price{width:32%;height:25px}.loading-product-panel .payment{width:100%;height:42px}.loading-product-panel .includes{width:100%;height:92px;margin-top:14px}.loading-product-panel .option-row{height:46px;margin-top:12px}.loading-addon-skeletons{display:grid;gap:7px;margin-top:13px}.loading-addon-skeletons i{display:block;height:54px;border-radius:14px}.loading-product-panel .cta{height:48px;margin-top:14px;border-radius:999px}

@media(max-width:900px){
  .shop-head{padding:12px 4px 3px}.shop-head h1{font-size:clamp(40px,12vw,54px);margin:7px 0}.shop-page .shop-toolbar{padding:2px 0 10px}.shop-page .shop-filter-dock{top:72px;width:calc(100% - 14px)}.has-viewport-frame .shop-page .shop-filter-dock{top:calc(var(--frame-top) + 64px);width:calc(100% - var(--frame-left) - var(--frame-right) - 10px)}
  .home-page>[data-home-sections] .home-rail-viewport{width:calc(100% + 24px);margin-left:-12px;border-radius:22px;clip-path:inset(0 round 22px);-webkit-clip-path:inset(0 round 22px)}.home-page>[data-home-sections] .category-scroll,.home-page>[data-home-sections] .promo-grid{width:100%;max-width:none;margin:0;padding:0 12px;overflow-x:auto;overflow-y:hidden}.category-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:108px;gap:8px}.category-card{width:108px;height:108px}.promo-grid{display:flex;gap:10px;touch-action:pan-x pan-y}.promo-grid .promo-card{flex:0 0 calc(100% - 28px);width:calc(100% - 28px);min-width:calc(100% - 28px);max-width:calc(100% - 28px)}
  .product-page{padding-top:0}.product-layout{display:grid;grid-template-columns:1fr;gap:8px}.product-gallery-sticky,.product-panel{position:static;height:auto;max-height:none;overflow:visible}.product-gallery{width:100%;min-width:0;overflow:hidden}.gallery-stage{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;border-radius:18px}.gallery-track{height:100%;align-items:stretch}.gallery-slide{flex:0 0 100%;width:100%;height:100%;min-height:0;aspect-ratio:auto}.gallery-slide img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}.gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/5);gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px}.gallery-thumb{width:100%;height:auto;aspect-ratio:1/1;scroll-snap-align:start;border-radius:9px}.gallery-thumb img{object-fit:cover}.product-panel{padding:13px;border-radius:18px}.product-panel .eyebrow{font-size:9px}.product-panel h1{font-size:clamp(27px,8.3vw,34px);line-height:.98;margin:6px 0 9px}.price-big{font-size:18px;margin-bottom:5px}.stock-line{font-size:11px}.product-payment-line{padding:8px 9px;margin-bottom:8px}.product-includes{margin-top:10px;padding-top:10px}.product-includes summary{font-size:12px}.product-includes-content{font-size:12px;max-height:none}.variation-group{margin-top:11px;padding-top:10px}.variation-label{font-size:11px}.variation-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.option{padding:7px 5px;font-size:11px}.native-addons{margin-top:11px}.addon-summary{min-height:48px}.product-primary-cta{min-height:44px;margin-top:11px;font-size:13px}.product-trust-row{margin-top:11px}.delivery-note{margin-top:12px;padding-top:11px}.product-links{margin-top:11px}.product-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .loading-product-layout{display:grid;grid-template-columns:1fr;gap:8px}.loading-gallery-rail{position:static;height:auto;max-height:none;grid-template-rows:auto auto;gap:6px}.loading-gallery-main{width:100%;height:auto;aspect-ratio:4/3;min-height:0;border-radius:18px}.loading-gallery-thumbs{height:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:hidden}.loading-gallery-thumbs i{width:100%;height:auto;aspect-ratio:1/1;border-radius:9px}.loading-product-panel{position:static;height:auto;max-height:none;min-height:430px;padding:13px;border-radius:18px}.loading-product-panel .title{height:32px;width:76%}.loading-product-panel .price{height:20px}.loading-product-panel .payment{height:34px}.loading-product-panel .includes{height:76px}.loading-product-panel .option-row{height:38px}.loading-addon-skeletons i{height:46px}.loading-product-panel .cta{height:44px}.home-loading-hero{height:58svh;min-height:390px;border-radius:24px}.home-loading-featured .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-loading-featured .product-card-wrap:nth-child(n+7){display:none}
}
@media(max-width:620px){.product-panel{padding-bottom:calc(92px + var(--safe-bottom))}.product-primary-cta{bottom:calc(76px + var(--safe-bottom));border-radius:18px;margin-left:-4px;margin-right:-4px;padding:12px 14px;background:#111;color:#fff;opacity:1}.product-primary-cta:disabled{opacity:1;background:#2b2b2a;color:#fff}.product-primary-cta .product-cta-label{font-size:12px}.product-primary-cta strong{font-size:13px}.addon-variation-options{grid-template-columns:repeat(4,minmax(0,1fr))}.option>span{font-size:9px}.addon-variation-select{font-size:16px}}
@media(max-width:520px){.search-wrap{width:calc(100% - 18px)}.search-input{font-size:34px}.search-cats{margin-bottom:22px}.search-products{grid-template-columns:1fr}.search-products button{grid-template-columns:62px 1fr}.search-products img{width:62px;height:62px}.product-panel{padding:12px}.product-panel h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.drawer,.drawer-panel,.shop-page .shop-filter-dock{transition:none}}

/* 0.4.49 — Canonical Storefront presentation contracts ----------------------
   This block intentionally replaces the stacked 0.4.39/0.4.41/0.4.44 tails.
   One implementation owns native CMS pages, PDP first paint/handoff and motion. */

/* Public native bridge: WordPress/plugin content stays authoritative while
   Storefront owns its visual container. No theme-level presentation leaks. */
.decen-remake-body.has-native-bridge .app-view{padding-top:18px}
.decen-remake-body .native-bridge-page{width:min(1120px,calc(100% - 24px));margin:0 auto 72px}
.decen-remake-body .cms-bridge-page .content-hero{padding:28px 6px 18px}
.decen-remake-body .cms-bridge-page .content-hero h1{font:750 clamp(42px,7vw,76px)/.94 Arial,sans-serif;letter-spacing:-.05em;margin:8px 0}
.decen-remake-body .native-bridge-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 18px}
.decen-remake-body .native-bridge-top a{color:var(--ink);font-weight:750;text-decoration:none}
.decen-remake-body .native-content-body,.decen-remake-body .native-product-bridge{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:clamp(22px,4vw,46px);box-shadow:0 18px 55px rgba(34,25,17,.05);overflow:hidden;min-width:0}
.decen-remake-body .native-content-body>*:first-child{margin-top:0}.decen-remake-body .native-content-body>*:last-child{margin-bottom:0}
.decen-remake-body .native-content-body h1,.decen-remake-body .native-content-body h2,.decen-remake-body .native-content-body h3,.decen-remake-body .native-content-body h4{font-family:Arial,sans-serif;letter-spacing:-.025em;color:var(--ink);line-height:1.05}
.decen-remake-body .native-content-body h2{font-size:clamp(28px,4vw,44px)}.decen-remake-body .native-content-body h3{font-size:clamp(21px,3vw,30px)}
.decen-remake-body .native-content-body p,.decen-remake-body .native-content-body li{font-size:15px;line-height:1.65;color:#555850}
.decen-remake-body .native-content-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.decen-remake-body .native-content-body img{max-width:100%;height:auto;border-radius:20px}
.decen-remake-body .native-content-body iframe,.decen-remake-body .native-content-body video{display:block;width:100%;max-width:100%;border:0;border-radius:20px}
.decen-remake-body .native-content-body form{display:grid;gap:13px;width:100%;max-width:900px;min-width:0}
.decen-remake-body .native-content-body label{min-width:0;color:var(--ink)}
.decen-remake-body .native-content-body input:not([type=checkbox]):not([type=radio]),.decen-remake-body .native-content-body select,.decen-remake-body .native-content-body textarea{width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #d5d9d3;border-radius:15px;background:#f8f7f4;padding:12px 14px;font:inherit;color:var(--ink)}
.decen-remake-body .native-content-body textarea{min-height:120px;resize:vertical}
.decen-remake-body .native-content-body button,.decen-remake-body .native-content-body input[type=submit],.decen-remake-body .native-content-body .button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#171717;color:#fff;padding:13px 20px;font-weight:800;min-height:46px;width:auto;text-decoration:none}
.decen-remake-body .native-content-body table{width:100%;max-width:100%;border-collapse:collapse;display:table;table-layout:auto}
.decen-remake-body .native-content-body td,.decen-remake-body .native-content-body th{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
/* Elementor/block/plugin content is constrained instead of inheriting a second
   page canvas inside the Storefront card. */
.decen-remake-body .native-content-body .elementor,.decen-remake-body .native-content-body .elementor-section,.decen-remake-body .native-content-body .elementor-container,.decen-remake-body .native-content-body .elementor-column,.decen-remake-body .native-content-body .elementor-widget-wrap,.decen-remake-body .native-content-body .elementor-widget-container,.decen-remake-body .native-content-body .e-con,.decen-remake-body .native-content-body [class^="wp-block-"],.decen-remake-body .native-content-body [class*=" wp-block-"]{max-width:100%;min-width:0;box-sizing:border-box}
.decen-remake-body .native-content-body>.elementor,.decen-remake-body .native-content-body>.wp-block-group,.decen-remake-body .native-content-body>.wp-block-columns{width:100%;margin-left:0;margin-right:0}
.decen-remake-body .native-content-body .elementor-widget:not(:last-child){margin-bottom:14px}
.decen-remake-body .native-content-body .wp-block-columns{gap:18px}
.decen-remake-body .native-content-body .woocommerce,.decen-remake-body .native-content-body .wpcf7,.decen-remake-body .native-content-body .wpforms-container{width:100%;max-width:100%;min-width:0}
.decen-remake-body .native-archive-list{width:min(900px,100%);margin:0 auto;display:grid;gap:14px}
.decen-remake-body .native-archive-list h2{margin:0 0 8px}.decen-remake-body .native-archive-list h2 a{color:var(--ink);text-decoration:none}
.decen-remake-body .native-product-bridge .product{margin:0}.decen-remake-body .native-product-bridge .woocommerce-product-gallery,.decen-remake-body .native-product-bridge .summary{box-sizing:border-box;max-width:100%}

/* Motion System v1. CSS/WAAPI only; no lifecycle ownership. */
.decen-reveal{opacity:0;filter:blur(7px);transform:translate3d(0,24px,0) scale(.992);clip-path:inset(0 0 5% 0 round 18px);transition:opacity .52s ease var(--reveal-delay,0ms),filter .72s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.16,.78,.18,1) var(--reveal-delay,0ms),clip-path .72s cubic-bezier(.16,.78,.18,1) var(--reveal-delay,0ms)}
.decen-reveal.is-visible{opacity:1;filter:none;transform:none;clip-path:inset(0 0 0 0 round 0)}
.product-card-wrap.decen-reveal{transform:translate3d(0,18px,0) scale(.985)}.product-card-wrap.decen-reveal.is-visible{transform:none}
.product-card,.category-card,.service-card,.promo-card{transition:transform .38s cubic-bezier(.16,.78,.18,1),box-shadow .38s ease}
@media(hover:hover) and (pointer:fine){.product-card:hover,.category-card:hover,.service-card:hover,.promo-card:hover{transform:translate3d(0,-4px,0) scale(1.006);box-shadow:0 22px 58px rgba(24,28,24,.10)}}

/* Checkout handoff while the authoritative Woo document is loading. */
.decen-checkout-transition{position:fixed;z-index:1000;inset:0;background:#eef0ed;padding:12px;display:grid;place-items:stretch;opacity:0;pointer-events:none;transition:opacity .16s ease}
.decen-checkout-transition.is-visible{opacity:1;pointer-events:auto}.decen-checkout-transition>div{border-radius:28px;background:#f2f2ef;padding:clamp(28px,6vw,80px);overflow:hidden}
.decen-checkout-transition .checkout-transition-inner{width:min(1120px,100%);margin:auto;display:grid;gap:24px}.decen-checkout-transition .checkout-transition-title{width:min(560px,70%);height:64px;border-radius:20px;background:linear-gradient(100deg,#e4e5e1 20%,#f4f5f2 40%,#e4e5e1 60%);background-size:200% 100%;animation:decenCheckoutShimmer 1.1s linear infinite}
.decen-checkout-transition .checkout-transition-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.decen-checkout-transition .checkout-transition-card{height:360px;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(28,30,27,.04)}
@keyframes decenCheckoutShimmer{to{background-position:-200% 0}}

/* PDP — one geometry for live view and loading preview. */
.product-page .product-layout,.loading-product-preview .loading-product-layout,.loading-product-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(410px,1.08fr);gap:24px;align-items:start;width:100%;min-width:0}
.product-page .product-gallery-sticky{position:sticky;top:92px;min-width:0}.product-page .product-gallery-sticky>.product-gallery{position:relative;top:auto;max-height:none;overflow:visible;min-width:0}
.product-page .gallery-stage,.loading-gallery-main{width:100%;height:min(60vh,620px);min-height:420px;aspect-ratio:auto;border-radius:28px;overflow:hidden;background:var(--media);box-sizing:border-box}
.product-page .gallery-track,.product-page .gallery-slide{height:100%}.product-page .gallery-slide{flex:0 0 100%;width:100%}.product-page .gallery-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--media)}
.product-page .gallery-thumbs,.loading-gallery-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;height:72px;margin-top:8px;min-width:0}
.product-page .gallery-thumb,.loading-gallery-thumbs i{width:100%;height:72px;min-width:0;border-radius:12px;overflow:hidden}.product-page .gallery-thumb img{width:100%;height:100%;object-fit:cover}
.product-page .product-panel,.loading-product-panel{width:100%;min-width:0;background:var(--paper);border-radius:24px;padding:24px;box-sizing:border-box}
.product-page .product-panel{position:sticky;top:92px;max-height:calc(100dvh - 184px);overflow:auto}.loading-product-panel{min-height:570px;box-shadow:0 18px 55px rgba(34,25,17,.04)}
.loading-gallery-rail{display:block;width:100%;min-width:0}.loading-gallery-main.has-preview{background:#fff}.loading-gallery-main.has-preview .loading-product-real-image,.loading-gallery-main.has-preview img,.loading-thumb-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.loading-thumb-preview{display:block;overflow:hidden;background:#fff}
.loading-product-panel .title{width:72%;height:50px}.loading-product-panel .price{width:32%;height:25px}.loading-product-panel .payment{width:100%;height:42px}.loading-product-panel .includes{width:100%;height:92px;margin-top:14px}.loading-product-panel .option-row{height:46px;margin-top:12px}.loading-addon-skeletons{display:grid;gap:7px;margin-top:13px}.loading-addon-skeletons i{display:block;height:54px;border-radius:14px}.loading-product-panel .cta{height:48px;margin-top:14px;border-radius:999px}
.loading-real-title{font-size:clamp(34px,4vw,58px);line-height:.96;letter-spacing:-.04em;margin:10px 0 14px}.loading-real-price{min-height:30px;margin-bottom:12px}
.product-lightbox img,.lightbox-image{object-fit:contain}

/* Product card → PDP shared visual. The clone is captured before navigation so
   repeated/cache navigations never wait for a second image decode. */
.decen-product-handoff{position:fixed;z-index:190;overflow:hidden;pointer-events:none;background:transparent;will-change:left,top,width,height,border-radius,box-shadow,opacity;contain:paint}
.decen-product-handoff img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--media)}
body.decen-product-handoff-active .loading-gallery-main.has-preview>img,body.decen-product-handoff-active .product-page:not(.loading-product-preview) .gallery-stage .gallery-slide:first-child>img{opacity:0}

.product-primary-cta:disabled{opacity:1;background:#2b2b2a;color:#fff}

@media(max-width:900px){
  .decen-remake-body .native-bridge-page{width:calc(100% - 14px);margin-bottom:86px}.decen-remake-body .cms-bridge-page .content-hero{padding:20px 5px 12px}.decen-remake-body .native-content-body,.decen-remake-body .native-product-bridge{border-radius:22px;padding:20px 16px}.decen-remake-body .native-content-body .wp-block-columns{display:grid;grid-template-columns:1fr;gap:12px}
  .decen-checkout-transition .checkout-transition-grid{grid-template-columns:1fr}.decen-checkout-transition .checkout-transition-card:last-child{display:none}.decen-checkout-transition .checkout-transition-title{height:48px;width:78%}
  .product-page .product-layout,.loading-product-preview .loading-product-layout,.loading-product-layout{grid-template-columns:1fr;gap:8px}
  .product-page .product-gallery-sticky,.product-page .product-panel{position:static;height:auto;max-height:none;overflow:visible}
  .product-page .gallery-stage,.loading-gallery-main{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;border-radius:18px}
  .product-page .gallery-track,.product-page .gallery-slide{height:100%}.product-page .gallery-slide{min-height:0;aspect-ratio:auto}.product-page .gallery-slide img{object-fit:cover;background:var(--media)}
  .product-page .gallery-thumbs,.loading-gallery-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));height:auto;gap:6px;margin-top:6px;overflow-x:auto}
  .product-page .gallery-thumb,.loading-gallery-thumbs i{height:auto;aspect-ratio:1/1;border-radius:9px}
  .product-page .product-panel,.loading-product-panel{padding:13px;border-radius:18px}.loading-product-panel{min-height:430px;box-shadow:none}
  .loading-product-panel .title{height:32px;width:76%}.loading-product-panel .price{height:20px}.loading-product-panel .payment{height:34px}.loading-product-panel .includes{height:76px}.loading-product-panel .option-row{height:38px}.loading-addon-skeletons i{height:46px}.loading-product-panel .cta{height:44px}.loading-real-title{font-size:clamp(27px,8.3vw,34px);margin:6px 0 9px}
}
@media(max-width:620px){.product-panel{padding-bottom:calc(92px + var(--safe-bottom))}.product-primary-cta{bottom:calc(76px + var(--safe-bottom));border-radius:18px;margin-left:-4px;margin-right:-4px;padding:12px 14px;background:#111;color:#fff;opacity:1}.product-primary-cta:disabled{opacity:1;background:#2b2b2a;color:#fff}.product-primary-cta .product-cta-label{font-size:12px}.product-primary-cta strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.decen-reveal,.product-card-wrap.decen-reveal{opacity:1;filter:none;transform:none;clip-path:none;transition:none}.decen-product-handoff{display:none}.decen-product-handoff-active .loading-gallery-main.has-preview>img,.decen-product-handoff-active .product-page .gallery-stage img{opacity:1}}

/* 0.4.49 — native content component normalization. */
.decen-remake-body .native-content-body .elementor-button,.decen-remake-body .native-content-body .wp-element-button,.decen-remake-body .native-content-body a.button{border-radius:999px;background:#171717;color:#fff;text-decoration:none;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.decen-remake-body .native-content-body .elementor-widget-image img,.decen-remake-body .native-content-body figure img{width:auto;max-width:100%;height:auto}
.decen-remake-body .native-content-body .wp-block-table,.decen-remake-body .native-content-body .woocommerce table{max-width:100%;overflow-x:auto}
.decen-remake-body .native-content-body .elementor-form-fields-wrapper,.decen-remake-body .native-content-body .wpforms-field-container{display:grid;gap:12px}
@media(max-width:620px){.decen-remake-body .cms-bridge-page .content-hero h1{font-size:clamp(34px,11vw,52px)}.decen-remake-body .native-content-body{padding:18px 14px}.decen-remake-body .native-content-body table{font-size:13px}}

/* 0.4.88 — keep Storefront chrome bound to Safari's current visual viewport.
   SPA scroll is explicit, so browser scroll anchoring must not move the view
   while a PDP skeleton is replaced by its hydrated content. */
.app-view{overflow-anchor:none}
.app-header{top:calc(9px + var(--safe-top) + var(--decen-vv-top,0px))}
.bottom-nav{bottom:calc(var(--safe-bottom) + var(--decen-vv-bottom,0px))}
body.decen-remake-body.has-viewport-frame::before{top:var(--frame-top);bottom:var(--frame-bottom)}
.has-viewport-frame .app-header{top:calc(var(--frame-top) + 8px + var(--decen-vv-top,0px))}
.has-viewport-frame .bottom-nav{bottom:calc(var(--frame-bottom) + 8px + var(--decen-vv-bottom,0px))}
.has-viewport-frame .shop-page .shop-filter-dock{top:calc(var(--frame-top) + 72px + var(--decen-vv-top,0px))}
@media(max-width:900px){.has-viewport-frame .app-header{top:calc(var(--frame-top) + 6px + var(--decen-vv-top,0px))}.has-viewport-frame .bottom-nav{bottom:calc(var(--frame-bottom) + 6px + var(--decen-vv-bottom,0px))}.has-viewport-frame .shop-page .shop-filter-dock{top:calc(var(--frame-top) + 64px + var(--decen-vv-top,0px))}}
