:root{--ivory:#f5f0e6;--paper:#fbf8f2;--stone:#ded4c3;--bronze:#9a7139;--walnut:#5b3925;--brown:#2b1c16;--muted:#74685f;--line:rgba(72,48,34,.17);--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--shell:min(1520px,calc(100vw - 64px));--shadow:0 24px 80px rgba(54,34,20,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--brown);font-family:var(--sans);font-size:16px;line-height:1.6}body.menu-open,body.filter-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:1rem;z-index:100;background:var(--brown);color:#fff;padding:.65rem 1rem}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 .65rem;color:var(--bronze);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.35rem;border:1px solid var(--brown);background:var(--brown);color:#fff;font-weight:600;cursor:pointer}.button.quiet{background:transparent;color:var(--brown);margin-left:.55rem}.button.light{background:var(--ivory);border-color:var(--ivory);color:var(--brown)}.text-link,.view-link{font-size:.82rem;font-weight:600;border:0;background:none;cursor:pointer}.text-link:hover,.view-link:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,242,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{height:76px;display:grid;grid-template-columns:215px 1fr auto;align-items:center;gap:2rem}.brand img{width:176px;height:48px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;justify-content:center;gap:clamp(.8rem,1.6vw,1.8rem)}.main-nav a{font-size:.78rem;white-space:nowrap;padding:1.7rem 0;border-bottom:2px solid transparent}.main-nav a[aria-current=page]{border-color:var(--bronze)}.header-actions{display:flex;align-items:center;gap:.65rem}.header-search{display:flex;align-items:center;gap:.45rem;padding:.48rem .72rem;border:1px solid var(--line);font-size:.78rem}.header-search svg,.icon-link svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.5}.lang-toggle,.icon-link,.menu-toggle{border:0;background:none;cursor:pointer}.lang-toggle{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600}.lang-toggle svg{width:10px;fill:none;stroke:currentColor}.cart-link{position:relative;display:grid;place-items:center}.cart-count{position:absolute;right:-7px;top:-7px;background:var(--bronze);color:#fff;border-radius:99px;min-width:16px;height:16px;font-size:10px;text-align:center;line-height:16px}.lang-menu{position:fixed;z-index:60;right:32px;top:68px;padding:.4rem;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.lang-menu button{display:block;width:100%;padding:.45rem .9rem;border:0;background:none;text-align:left;cursor:pointer}.menu-toggle{display:none}.editorial-hero{min-height:450px;max-height:480px;display:grid;grid-template-columns:minmax(320px,.82fr) 1.45fr;background:linear-gradient(120deg,#e9dfcf 0 43%,#f5efe4 43%);overflow:hidden}.hero-text{padding:clamp(3.5rem,7vw,7rem) 2rem clamp(3rem,6vw,6rem) max(32px,calc((100vw - min(1520px,calc(100vw - 64px)))/2));align-self:end;z-index:2}.hero-text h1,.shop-heading h1,.content-page>h1,.purchase-panel h1{font-family:var(--serif);font-weight:400;line-height:1.02}.hero-text h1{max-width:640px;margin:0;font-size:clamp(3rem,5vw,5.2rem)}.hero-text>p:not(.eyebrow){max-width:560px;margin:1rem 0 1.6rem;color:var(--muted)}.hero-products{position:relative;min-height:450px;background:radial-gradient(circle at 55% 75%,rgba(154,113,57,.19),transparent 44%)}.hero-product{position:absolute;width:36%;height:92%;object-fit:contain;mix-blend-mode:multiply}.hero-product-1{left:8%;bottom:-4%;z-index:2}.hero-product-2{left:35%;bottom:2%;height:78%}.hero-product-3{right:3%;bottom:-3%;height:72%}.section{padding:clamp(4rem,7vw,7.5rem) 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-head h2,.guide-band h2,.contact-cta h2{font-family:var(--serif);font-size:clamp(2.2rem,3.4vw,4rem);font-weight:400;line-height:1.08;margin:0}.section-head p:not(.eyebrow){max-width:600px;color:var(--muted);margin:.7rem 0 0}.need-tiles{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.need-tiles a{min-height:150px;padding:1.25rem;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:.25s}.need-tiles a:last-child{border:0}.need-tiles a:hover{background:var(--ivory)}.need-tiles span{color:var(--bronze);font-size:.7rem}.need-tiles strong{font-family:var(--serif);font-size:1.4rem;font-weight:400;margin:auto 0 .2rem}.need-tiles small{color:var(--muted)}.curated{background:#e9e0d2}.curated-grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:2px;background:rgba(91,57,37,.12)}.product-card{min-width:0;background:var(--paper);display:flex;flex-direction:column}.product-image{aspect-ratio:1/1.08;background:var(--ivory);overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.product-card:hover .product-image img{transform:scale(1.025)}.product-info{padding:1rem .15rem 1.2rem}.curated-grid .product-info{padding:1rem}.product-category,.product-meta{display:block;color:var(--bronze);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.product-info h3{font-family:var(--serif);font-size:1.16rem;font-weight:400;line-height:1.25;margin:.42rem 0 .7rem}.product-card-bottom{display:flex;justify-content:space-between;align-items:end;gap:1rem}.product-price{margin:0}.product-price strong{display:block;font-size:.85rem;font-weight:500}.product-price del{display:block;color:var(--muted);font-size:.68rem}.feature-card{grid-row:span 2}.feature-card .product-image{flex:1;min-height:460px}.feature-card .product-info h3{font-size:1.6rem}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem 1.25rem}.material-scroll,.related-scroll{display:flex;gap:1px;overflow:auto;scrollbar-width:thin;padding-bottom:.5rem}.material-scroll a{flex:0 0 min(280px,70vw);background:var(--ivory)}.material-scroll img{width:100%;aspect-ratio:1.25;object-fit:contain}.material-scroll span,.material-scroll>a>strong{display:flex;flex-direction:column;padding:1rem}.material-scroll strong{font-family:var(--serif);font-size:1.35rem;font-weight:400}.material-scroll small{color:var(--muted)}.special-section{background:var(--brown);color:var(--ivory)}.special-section .section-head p,.special-section .eyebrow{color:#c9ad82}.special-grid{grid-template-columns:repeat(5,1fr)}.special-grid .product-card{background:#35231c}.special-grid .product-image{background:#efe8dc}.special-grid .product-category{color:#c9ad82}.badge{position:absolute;margin:.8rem;padding:.25rem .5rem;background:var(--brown);color:#fff;font-size:.7rem}.clearance-card .product-image{position:relative}.guide-band{background:var(--ivory)}.guide-band-inner{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.guide-band-inner>div>p:not(.eyebrow){color:var(--muted);max-width:550px}.guide-band ol{list-style:none;padding:0;margin:0}.guide-band li{display:grid;grid-template-columns:58px 1fr;padding:1.25rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.4rem}.guide-band li span{font:600 .7rem var(--sans);color:var(--bronze)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.why-grid article{min-height:170px;padding:1.5rem;border-right:1px solid var(--line)}.why-grid article:last-child{border:0}.why-grid span{color:var(--bronze);font-size:.7rem}.why-grid h3{font:400 1.45rem var(--serif);margin:3rem 0 0}.contact-cta{padding:6rem 0;background:var(--walnut);color:var(--ivory)}.contact-cta .shell{max-width:900px;text-align:center}.contact-cta p:not(.eyebrow){color:#d9cab8;max-width:600px;margin:1rem auto 1.8rem}.shop-heading{padding:5rem 0 3rem;border-bottom:1px solid var(--line)}.shop-heading h1{font-size:clamp(2.8rem,5vw,5rem);max-width:800px;margin:0}.shop-heading>p:last-child{color:var(--muted)}.shop-shell{display:grid;grid-template-columns:250px 1fr;gap:3rem;padding-block:3rem 7rem}.filters{position:sticky;top:98px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:1rem}.filter-header{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--line)}.filter-close{display:none}.filter-search span,.filters legend{display:block;margin:1.2rem 0 .6rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.filter-search input{width:100%;padding:.65rem;border:1px solid var(--line);background:transparent}.filters fieldset{border:0;padding:0;margin:0}.filters fieldset label,.availability-check{display:flex;align-items:center;gap:.55rem;padding:.3rem 0;font-size:.83rem}.filters fieldset label small{margin-left:auto;color:var(--muted)}.filters input{accent-color:var(--walnut)}.clear-filters{margin-top:1.5rem;padding:0;border:0;border-bottom:1px solid;background:none;font-size:.78rem;cursor:pointer}.shop-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.shop-tools>label{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.sort-select{margin-left:.6rem;padding:.5rem;border:1px solid var(--line);background:transparent}.mobile-filter{display:none}.shop-products{grid-template-columns:repeat(4,1fr);gap:2rem 1rem}.pagination{display:flex;justify-content:center;gap:.4rem;margin-top:4rem}.pagination button{width:38px;height:38px;border:1px solid var(--line);background:transparent}.pagination button.active{background:var(--brown);color:#fff}.filter-scrim{display:none}.product-page{padding:1.5rem 0 7rem}.breadcrumb{display:flex;gap:.8rem;margin-bottom:1.5rem;color:var(--muted);font-size:.75rem}.product-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:clamp(3rem,7vw,8rem);align-items:start}.gallery{display:grid;grid-template-columns:76px 1fr;gap:1rem}.gallery-main{grid-column:2;background:var(--ivory);height:min(650px,73vh)}.gallery-main img{width:100%;height:100%;object-fit:contain}.gallery-thumbs{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:.55rem;max-height:650px;overflow:auto}.gallery-thumbs button{aspect-ratio:1;border:1px solid transparent;background:var(--ivory);padding:2px;cursor:pointer}.gallery-thumbs button.active{border-color:var(--bronze)}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.purchase-panel{position:sticky;top:112px;padding-top:1rem}.purchase-panel h1{font-size:clamp(2.5rem,4vw,4.7rem);margin:.7rem 0}.sku{color:var(--muted);font-size:.75rem}.detail-price{margin:1.6rem 0}.detail-price strong{font-size:1.35rem;font-weight:500}.detail-price del{display:block;color:var(--muted)}.short-description{color:var(--muted);max-width:620px}.purchase-panel dl,.product-accordions dl{border-block:1px solid var(--line);padding:.5rem 0}.purchase-panel dl div,.product-accordions dl div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.purchase-panel dt,.product-accordions dt{color:var(--muted)}.purchase-panel dd,.product-accordions dd{margin:0;text-align:right}.buy-row{display:flex;gap:.75rem;margin-top:1.5rem}.buy-row>.button{flex:1}.quantity{display:flex;border:1px solid var(--line)}.quantity button,.quantity input{width:38px;border:0;background:transparent;text-align:center}.natural-note{font-size:.75rem;color:var(--muted)}.product-accordions{max-width:850px;margin:5rem 0}.product-accordions details{border-top:1px solid var(--line);padding:1rem 0}.product-accordions details:last-child{border-bottom:1px solid var(--line)}.product-accordions summary{font:400 1.4rem var(--serif);cursor:pointer}.product-accordions p{color:var(--muted)}.related-scroll .product-card{flex:0 0 min(300px,75vw)}.content-page{padding-block:6rem;min-height:65vh}.content-page>h1{font-size:clamp(3rem,6vw,6rem);margin:.5rem 0 2rem}.content-lede{font:400 clamp(1.4rem,2.4vw,2.3rem)/1.4 var(--serif);max-width:850px;margin-bottom:3rem}.cart-layout,.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:4rem}.cart-item{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.cart-item img{width:110px;height:110px;object-fit:contain;background:var(--ivory)}.cart-item h3{font:400 1.25rem var(--serif);margin:0}.cart-item p{color:var(--muted);font-size:.8rem}.remove{border:0;border-bottom:1px solid;background:none;padding:0;cursor:pointer}.summary-card{padding:1.5rem;background:var(--ivory);align-self:start}.summary-card h2{font:400 1.7rem var(--serif)}.summary-card>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.8rem}.summary-total{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem!important;font-size:1rem!important}.summary-card>.button{width:100%;margin-top:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column}.field.full{grid-column:1/-1}.field input,.field textarea{padding:.8rem;border:1px solid var(--line);background:transparent}.field textarea{min-height:100px}.order-button{width:100%;margin-top:1rem}.empty-state{padding:4rem;background:var(--ivory);text-align:center}.site-footer{padding-top:5rem;background:#211611;color:#e9dfcf}.footer-statement{display:flex;align-items:center;gap:2rem;padding-bottom:4rem;border-bottom:1px solid rgba(255,255,255,.13)}.footer-statement img{width:76px}.footer-statement p{font:400 clamp(2.8rem,6vw,6.5rem)/1 var(--serif);max-width:1000px;margin:0}.footer-links{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:4rem;padding-block:3rem}.footer-links>div{display:flex;flex-direction:column;gap:.55rem}.footer-links span{color:#b9aa9d;max-width:420px}.footer-links a{font-size:.85rem}.footer-bottom{padding:1.25rem 0;border-top:1px solid rgba(255,255,255,.13);font-size:.75rem;color:#9d8e82}.toast{position:fixed;right:1rem;bottom:1rem;z-index:100;transform:translateY(150%);padding:.8rem 1rem;background:var(--brown);color:#fff;transition:.25s}.toast.show{transform:none}.loading{min-height:70vh;display:grid;place-items:center}.loading span{width:30px;height:30px;border:2px solid var(--stone);border-top-color:var(--brown);border-radius:50%;animation:spin 1s linear infinite}.loading p{display:none}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1180px){:root{--shell:min(100% - 40px,1100px)}.header-inner{grid-template-columns:170px 1fr auto;gap:1rem}.main-nav{gap:.8rem}.main-nav a{font-size:.69rem}.header-search span{display:none}.curated-grid{grid-template-columns:1.4fr repeat(2,1fr)}.products-grid,.shop-products{grid-template-columns:repeat(3,1fr)}.special-grid{grid-template-columns:repeat(3,1fr)}.shop-shell{grid-template-columns:220px 1fr}.product-layout{gap:3rem}}
@media(max-width:820px){:root{--shell:calc(100% - 32px)}.header-inner{height:68px;grid-template-columns:auto 1fr auto}.brand img{width:148px}.menu-toggle{display:flex;flex-direction:column;gap:4px;order:2;margin-left:auto}.menu-toggle>span:not(.sr-only){width:22px;height:1px;background:currentColor}.header-actions{order:3}.main-nav{position:fixed;inset:68px 0 0;background:var(--paper);display:none;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:2rem}.main-nav a{font:400 1.75rem var(--serif);padding:.7rem 0;border-bottom:1px solid var(--line)}body.menu-open .main-nav{display:flex}.editorial-hero{grid-template-columns:1fr;max-height:none}.hero-text{padding:3rem 24px 2rem}.hero-products{min-height:320px}.hero-product{height:90%}.need-tiles{grid-template-columns:repeat(2,1fr)}.need-tiles a:nth-child(even){border-right:0}.curated-grid{grid-template-columns:1.2fr 1fr}.feature-card{grid-row:span 2}.products-grid,.shop-products{grid-template-columns:repeat(2,1fr)}.special-grid{display:flex;overflow:auto}.special-grid .product-card{flex:0 0 46%}.guide-band-inner,.product-layout,.cart-layout,.checkout-layout{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}.why-grid article{border-right:0;border-bottom:1px solid var(--line)}.shop-shell{display:block}.filters{position:fixed;inset:0 auto 0 0;width:min(360px,88vw);z-index:80;background:var(--paper);padding:1.5rem;transform:translateX(-105%);transition:.25s;max-height:none}.filter-open .filters{transform:none}.filter-close{display:block;border:0;background:none;font-size:1.6rem}.filter-scrim{position:fixed;inset:0;background:rgba(33,22,17,.5);z-index:70}.filter-open .filter-scrim{display:block}.mobile-filter{display:block;border:1px solid var(--line);background:transparent;padding:.5rem .7rem}.product-layout{gap:2rem}.purchase-panel{position:static}.gallery-main{height:min(560px,65vh)}.footer-links{grid-template-columns:1fr 1fr}.footer-links>div:first-child{grid-column:1/-1}.cart-layout,.checkout-layout{gap:2rem}}
@media(max-width:520px){:root{--shell:calc(100% - 24px)}body{font-size:15px}.site-header .header-search{display:none}.header-actions{gap:.25rem}.hero-text h1{font-size:2.75rem}.hero-products{min-height:270px}.hero-product-1{left:0}.section{padding:4rem 0}.section-head{align-items:flex-start;flex-direction:column}.need-tiles a{min-height:125px;padding:1rem}.curated-grid{grid-template-columns:1fr 1fr}.feature-card{grid-column:1/-1;grid-row:auto}.feature-card .product-image{min-height:340px}.products-grid,.shop-products{gap:1.6rem .65rem}.product-info h3{font-size:1rem}.product-card-bottom{display:block}.view-link{display:inline-block;margin-top:.5rem}.special-grid .product-card{flex-basis:72%}.guide-band li{font-size:1.15rem}.shop-heading{padding:3.5rem 0 2rem}.shop-tools>label{font-size:0}.sort-select{font-size:.75rem;margin:0}.gallery{display:block}.gallery-main{height:auto;aspect-ratio:1}.gallery-thumbs{margin-top:.6rem;flex-direction:row;max-height:none}.gallery-thumbs button{flex:0 0 62px}.purchase-panel h1{font-size:2.5rem}.buy-row{flex-direction:column}.quantity{width:fit-content}.cart-item{grid-template-columns:80px 1fr}.cart-item>strong{grid-column:2}.cart-item img{width:80px;height:80px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-statement{align-items:flex-start;flex-direction:column}.footer-statement p{font-size:2.8rem}.footer-links{grid-template-columns:1fr;gap:2rem}.footer-links>div:first-child{grid-column:auto}}

/* =========================================================
   Rumah Kenangan R4 — White Frame + Larger Product Patch
   Purpose:
   1) visually eliminate the obvious white canvas rectangle
      by making product frames white as well;
   2) make products fill their frames more confidently.
   ========================================================= */

/* Core product presentation */
.product-image,
.gallery-main,
.gallery-thumbs button {
  background: #fff !important;
}

/* Remove the beige inner-frame contrast that makes supplier white
   canvases look like a second rectangle. */
.special-grid .product-image {
  background: #fff !important;
}

/* Card products: larger but still fully contained */
.product-image img {
  transform: scale(1.10) !important;
  transform-origin: center center !important;
}

/* Slight extra emphasis in curated / recommendation / special areas */
.curated-grid .product-image img,
.special-grid .product-image img,
.related-scroll .product-image img {
  transform: scale(1.12) !important;
}

/* Main product-detail image */
.gallery-main img {
  transform: scale(1.08) !important;
  transform-origin: center center !important;
}

/* Thumbnails */
.gallery-thumbs img {
  transform: scale(1.05);
  transform-origin: center center;
}

/* Hero already uses multiply blending; enlarge slightly */
.hero-product {
  transform: scale(1.07) !important;
  transform-origin: center bottom !important;
}

/* Keep hover restrained */
.product-card:hover .product-image img {
  transform: scale(1.13) !important;
}

/* Mobile: still larger, but avoid clipping in narrow cards */
@media (max-width: 760px) {
  .product-image img {
    transform: scale(1.07) !important;
  }
  .curated-grid .product-image img,
  .special-grid .product-image img,
  .related-scroll .product-image img {
    transform: scale(1.085) !important;
  }
  .gallery-main img {
    transform: scale(1.05) !important;
  }
}

/* =========================================================
   Rumah Kenangan R4 — Layout / Logo / Clearance patch
   ========================================================= */

/* 1) Header logo: ~2x the original R4 visual size */
.header-inner{
  height:108px !important;
  grid-template-columns:360px 1fr auto !important;
  gap:1.4rem !important;
}
.brand{
  min-width:0;
  overflow:visible;
}
.brand img{
  width:340px !important;
  height:92px !important;
  max-width:340px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.main-nav a{
  padding:2.45rem 0 !important;
}

/* 2) Collection grid: strict aligned rows */
.shop-products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1.45rem 1rem !important;
  align-items:stretch !important;
  grid-auto-flow:row !important;
}
.shop-products .product-card{
  height:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.shop-products .product-image{
  width:100% !important;
  aspect-ratio:1 / 1.04 !important;
  flex:none !important;
}
.shop-products .product-info{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  padding:.82rem .08rem 0 !important;
}
.shop-products .product-info h3{
  min-height:3.15em !important;
  margin:.34rem 0 .55rem !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.shop-products .product-card-bottom{
  margin-top:auto !important;
  min-height:42px !important;
  align-items:end !important;
}

/* Clearance is visually distinct but restrained */
.shop-products .clearance-card .product-info{
  border-top:2px solid rgba(154,113,57,.26);
}
.shop-products .clearance-card .badge{
  background:#6b3f2b !important;
  color:#fff !important;
}

/* Tablet */
@media(max-width:1180px){
  .header-inner{
    height:92px !important;
    grid-template-columns:280px 1fr auto !important;
  }
  .brand img{
    width:270px !important;
    height:74px !important;
  }
  .main-nav{gap:.75rem !important}
  .main-nav a{font-size:.72rem !important;padding:2rem 0 !important}
}
@media(max-width:1050px){
  .header-inner{
    height:84px !important;
    grid-template-columns:1fr auto !important;
  }
  .brand img{
    width:245px !important;
    height:66px !important;
  }
  .shop-products{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  .header-inner{height:76px !important}
  .brand img{
    width:205px !important;
    height:56px !important;
  }
  .shop-products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1.1rem .7rem !important;
  }
  .shop-products .product-info h3{
    min-height:3.05em !important;
    font-size:1rem !important;
  }
}

/* =========================================================
   Rumah Kenangan R4 — Invoice Editor & A5 Print
   ========================================================= */
.button-outline{background:transparent!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.button-small{padding:.72rem .9rem!important;font-size:.72rem!important}
.summary-card>.button-outline,.invoice-from-checkout{margin-top:.55rem;display:flex;justify-content:center}
.invoice-editor{padding:3.2rem 0 5rem}
.invoice-editor-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;border-bottom:1px solid var(--line);padding-bottom:1.6rem;margin-bottom:2rem}
.invoice-editor-head h1{font-size:clamp(2.4rem,5vw,4.8rem);margin:.25rem 0 .45rem}
.invoice-head-actions{display:flex;gap:.7rem;flex-wrap:wrap}
.invoice-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:2rem;align-items:start}
.invoice-form-panel{display:grid;gap:1rem}
.invoice-form-section{border:1px solid var(--line);background:rgba(255,255,255,.52);padding:1.35rem}
.invoice-form-section h2,.invoice-live-panel h2{font-size:1.45rem;margin:0 0 1rem}
.invoice-form-section .field select,.invoice-form-section .field input,.invoice-form-section .field textarea{background:#fff}
.invoice-meta-grid{grid-template-columns:1fr 1fr}
.invoice-section-title{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1rem}
.invoice-add-product{display:flex;gap:.45rem;align-items:center}
.invoice-add-product input{min-width:210px;border:1px solid var(--line);padding:.72rem;background:#fff}
.invoice-table-wrap{overflow:auto}
.invoice-edit-table{width:100%;border-collapse:collapse;min-width:690px}
.invoice-edit-table th{text-align:left;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.7rem;border-bottom:1px solid var(--line)}
.invoice-edit-table td{padding:.72rem;border-bottom:1px solid var(--line);vertical-align:middle}
.invoice-edit-table td:nth-child(2){width:80px}.invoice-edit-table td:nth-child(3){width:160px}.invoice-edit-table td:nth-child(4){width:140px;text-align:right}
.invoice-edit-table input{width:100%;border:1px solid var(--line);padding:.65rem;background:#fff}
.invoice-item-name{font-family:var(--serif);font-size:1rem}.invoice-item-name small{font-family:var(--sans)}
.invoice-clearance-badge{display:inline-block;margin-left:.45rem;background:#8b5a3c;color:#fff;font:600 .56rem/1 var(--sans);letter-spacing:.08em;padding:.28rem .4rem;vertical-align:middle}
.invoice-remove{border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:#874b3b}
.invoice-inline{display:grid;grid-template-columns:70px 1fr}.invoice-inline select{border-right:0!important}
.invoice-live-sticky{position:sticky;top:130px;border:1px solid var(--line);background:#fff;padding:1.2rem}
.invoice-total-line,.invoice-grand-line{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--line)}
.invoice-grand-line{margin-top:.45rem;padding:.9rem;background:var(--ink);color:#fff;border:0}
.invoice-live-sticky .button{width:100%;margin-top:.75rem}
.invoice-save-note{font-size:.72rem;color:var(--muted);margin:.75rem 0 0}

/* Preview */
.invoice-preview-shell{padding:2rem 0 4rem}
.invoice-preview-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-bottom:1rem}
.invoice-paper{width:148mm;min-height:210mm;margin:0 auto;background:#fff;color:#2c211c;padding:12mm 11mm;box-shadow:0 14px 50px rgba(39,27,20,.13);font-family:Arial,sans-serif}
.invoice-print-head{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:8mm}
.invoice-brand img{width:54mm;height:auto;display:block}
.invoice-title-block{text-align:right}.invoice-title-block h1{font-family:Georgia,serif;font-size:24pt;letter-spacing:.14em;margin:0 0 4mm;color:#3b271d}
.invoice-title-block dl{margin:0;font-size:8.5pt}.invoice-title-block dl div{display:grid;grid-template-columns:28mm 1fr;gap:2mm;margin:1mm 0}.invoice-title-block dt{font-weight:700}.invoice-title-block dd{margin:0}
.invoice-rule{height:.7mm;background:#ad8450;margin:5mm 0}
.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:9mm;margin-bottom:5mm}
.invoice-parties h2,.invoice-notes h2{font:700 8pt Arial,sans-serif;letter-spacing:.12em;color:#7d582e;margin:0 0 2mm}
.invoice-parties dl{margin:0;font-size:8pt}.invoice-parties dl div{display:grid;grid-template-columns:19mm 1fr;gap:2mm;margin:1mm 0}.invoice-parties dt{font-weight:700}.invoice-parties dd{margin:0}
.invoice-status{background:#f0e3c7;padding:1mm 2mm;border-radius:2mm;font-weight:700}
.invoice-print-table{width:100%;border-collapse:collapse;font-size:7.4pt}
.invoice-print-table thead{background:#3b271d;color:#fff}.invoice-print-table th{padding:2.2mm 1.5mm;text-align:left}.invoice-print-table td{padding:2.2mm 1.5mm;border-bottom:.25mm solid #ddd;vertical-align:top}
.invoice-print-table th:nth-child(1),.invoice-print-table td:nth-child(1){width:7mm;text-align:center}.invoice-print-table th:nth-child(4),.invoice-print-table td:nth-child(4){width:10mm;text-align:center}.invoice-print-table th:nth-child(5),.invoice-print-table td:nth-child(5),.invoice-print-table th:nth-child(6),.invoice-print-table td:nth-child(6){width:25mm;text-align:right}
.invoice-print-table .invoice-clearance-badge{font-size:5.5pt;padding:1mm;margin:.8mm 0 0;display:block;width:max-content}
.invoice-bottom{display:grid;grid-template-columns:1fr 58mm;gap:8mm;margin-top:5mm}
.invoice-notes{font-size:7.6pt}.invoice-notes p{margin:0 0 2mm}.invoice-clearance-note{color:#8b4736;font-weight:700}
.invoice-print-totals{font-size:8pt}.invoice-print-totals .invoice-total-line{padding:1.7mm 2mm}.invoice-print-totals .invoice-grand-line{padding:2.5mm 2mm;background:#3b271d}
.invoice-print-footer{display:flex;justify-content:space-between;border-top:.35mm solid #c4a16f;margin-top:8mm;padding-top:3mm;font-size:7pt;color:#6a5b51}

@media(max-width:900px){
  .invoice-editor-head{align-items:start;flex-direction:column}
  .invoice-editor-grid{grid-template-columns:1fr}
  .invoice-live-sticky{position:static}
}
@media(max-width:600px){
  .invoice-editor{padding-top:2rem}
  .invoice-meta-grid{grid-template-columns:1fr}
  .invoice-section-title{align-items:start;flex-direction:column}
  .invoice-add-product{width:100%;flex-direction:column;align-items:stretch}
  .invoice-add-product input{min-width:0;width:100%}
  .invoice-preview-shell{padding:1rem 0}.invoice-paper{width:100%;min-height:auto;padding:1rem;box-shadow:none}.invoice-print-head,.invoice-parties,.invoice-bottom{grid-template-columns:1fr}.invoice-title-block{text-align:left}
}

@page{size:A5 portrait;margin:0}
@media print{
  body{background:#fff!important}
  .site-header,#footer,.no-print,.toast{display:none!important}
  #main{padding:0!important;margin:0!important}
  .invoice-preview-shell{padding:0!important;margin:0!important;max-width:none!important;width:auto!important}
  .invoice-paper{width:148mm!important;min-height:210mm!important;margin:0!important;padding:10mm!important;box-shadow:none!important;page-break-after:avoid}
}

/* =========================================================
   Invoice V2 — A5 Landscape / Compact Receipt Style
   ========================================================= */
.invoice-paper.invoice-landscape{
  width:210mm;
  min-height:148mm;
  padding:7mm 8mm;
}
.invoice-page-table{
  width:100%;
  border-collapse:collapse;
}
.invoice-page-table>thead>tr>td,
.invoice-page-table>tbody>tr>td{
  padding:0;
  vertical-align:top;
}
.invoice-print-head-compact{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:5mm;
}
.invoice-print-head-compact .invoice-brand img{
  width:44mm;
  max-height:18mm;
  object-fit:contain;
  object-position:left top;
}
.invoice-title-topright{
  text-align:right;
  min-width:72mm;
}
.invoice-title-topright h1{
  font-size:20pt;
  line-height:1;
  letter-spacing:.12em;
  margin:0 0 1.5mm;
}
.invoice-meta-compact{
  display:grid;
  gap:.7mm;
  font-size:7.6pt;
}
.invoice-meta-compact>div{
  display:grid;
  grid-template-columns:24mm 1fr;
  gap:2mm;
  justify-content:end;
}
.invoice-meta-compact span{
  font-weight:700;
}
.invoice-meta-compact strong{
  font-weight:600;
}
.invoice-rule-tight{
  margin:2.5mm 0 3mm;
  height:.45mm;
}

/* Customer/payment only occupy space when they have values */
.invoice-party-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7mm;
  margin-bottom:3mm;
  padding-bottom:2.5mm;
  border-bottom:.25mm solid #ddd;
}
.invoice-party-block h2{
  font:700 7pt Arial,sans-serif;
  letter-spacing:.10em;
  color:#7d582e;
  margin:0 0 1.2mm;
}
.invoice-party-block dl{
  margin:0;
  font-size:7.2pt;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6mm 4mm;
}
.invoice-party-block dl div{
  display:grid;
  grid-template-columns:16mm 1fr;
  gap:1mm;
  min-width:0;
}
.invoice-party-block dt{font-weight:700}
.invoice-party-block dd{
  margin:0;
  overflow-wrap:anywhere;
}
.invoice-payment-block dl{
  grid-template-columns:1fr;
}
.invoice-status{
  padding:.5mm 1.3mm;
  border-radius:1.5mm;
}

/* Dense supermarket-receipt style table */
.invoice-receipt-table{
  font-size:7pt;
}
.invoice-receipt-table thead{
  display:table-header-group;
}
.invoice-receipt-table th{
  padding:1.5mm 1.2mm;
  font-size:6.5pt;
  letter-spacing:.04em;
}
.invoice-receipt-table td{
  padding:1.45mm 1.2mm;
  line-height:1.22;
}
.invoice-receipt-table th:nth-child(1),
.invoice-receipt-table td:nth-child(1){
  width:7mm;
}
.invoice-receipt-table th:nth-child(3),
.invoice-receipt-table td:nth-child(3){
  width:24mm;
}
.invoice-receipt-table th:nth-child(4),
.invoice-receipt-table td:nth-child(4){
  width:10mm;
}
.invoice-receipt-table th:nth-child(5),
.invoice-receipt-table td:nth-child(5),
.invoice-receipt-table th:nth-child(6),
.invoice-receipt-table td:nth-child(6){
  width:28mm;
}
.invoice-receipt-table tr{
  break-inside:avoid;
  page-break-inside:avoid;
}

/* Compact totals and notes */
.invoice-bottom-compact{
  grid-template-columns:1fr 62mm;
  gap:8mm;
  margin-top:3mm;
}
.invoice-bottom-compact .invoice-notes{
  font-size:7pt;
}
.invoice-bottom-compact .invoice-notes h2{
  margin:0 0 1mm;
}
.invoice-bottom-compact .invoice-notes p{
  margin:0 0 1mm;
}
.invoice-bottom-compact .invoice-print-totals{
  font-size:7.2pt;
}
.invoice-bottom-compact .invoice-total-line{
  padding:1.1mm 1.5mm;
}
.invoice-bottom-compact .invoice-grand-line{
  padding:1.7mm 1.5mm;
}
.invoice-print-footer-compact{
  margin-top:3mm;
  padding-top:2mm;
  font-size:6.5pt;
}

/* Print: A5 landscape + repeating invoice header on every page */
@page{
  size:A5 landscape;
  margin:0;
}
@media print{
  .invoice-paper.invoice-landscape{
    width:210mm!important;
    min-height:148mm!important;
    padding:6mm 7mm!important;
  }
  .invoice-page-table{
    width:100%!important;
  }
  .invoice-page-table>thead{
    display:table-header-group!important;
  }
  .invoice-page-table>tfoot{
    display:table-footer-group!important;
  }
  .invoice-page-table>thead>tr>td{
    padding:0!important;
  }
  .invoice-receipt-table thead{
    display:table-header-group!important;
  }
  .invoice-receipt-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}

/* Screen preview responsive */
@media(max-width:1000px){
  .invoice-paper.invoice-landscape{
    width:100%;
    min-height:auto;
    padding:1rem;
  }
}
@media(max-width:700px){
  .invoice-print-head-compact{
    grid-template-columns:1fr;
  }
  .invoice-title-topright{
    text-align:left;
    min-width:0;
  }
  .invoice-meta-compact>div{
    grid-template-columns:90px 1fr;
    justify-content:start;
  }
  .invoice-party-strip{
    grid-template-columns:1fr;
  }
  .invoice-party-block dl{
    grid-template-columns:1fr;
  }
  .invoice-bottom-compact{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   Invoice V3 — Thermal Receipt 80mm / 58mm
   ========================================================= */
.receipt-preview-shell{
  padding:2rem 0 4rem;
  background:#f2eee8;
  min-height:70vh;
}
.receipt-preview-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.4rem;
  flex-wrap:wrap;
}
.receipt-width-switch{
  display:flex;
  gap:.35rem;
}
.receipt-width-switch .active{
  background:var(--ink)!important;
  color:#fff!important;
}
.thermal-receipt{
  background:#fff;
  color:#111;
  margin:0 auto;
  box-shadow:0 12px 36px rgba(0,0,0,.12);
  padding:4mm 3.5mm 7mm;
  font-family:"Courier New",Consolas,monospace;
  font-size:10.5px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.thermal-80{width:80mm}
.thermal-58{width:58mm;padding-left:2.5mm;padding-right:2.5mm}
.receipt-head{text-align:center}
.receipt-head img{
  width:38mm;
  max-height:14mm;
  object-fit:contain;
  margin:0 auto 1mm;
  filter:grayscale(1) contrast(1.25);
}
.thermal-58 .receipt-head img{width:31mm}
.receipt-title{
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.receipt-sub{
  font-size:9px;
}
.receipt-sep{
  border-top:1px dashed #111;
  margin:2.2mm 0;
}
.receipt-meta{
  margin:0;
}
.receipt-meta>div{
  display:grid;
  grid-template-columns:18mm 1fr;
  gap:2mm;
  margin:.65mm 0;
}
.thermal-58 .receipt-meta>div{
  grid-template-columns:14mm 1fr;
  gap:1.5mm;
}
.receipt-meta dt{font-weight:700}
.receipt-meta dd{margin:0;text-align:right}
.receipt-item{
  padding:1.2mm 0;
  break-inside:avoid;
  page-break-inside:avoid;
}
.receipt-item-name{
  font-weight:700;
}
.receipt-item-name span{
  font-size:8px;
}
.receipt-item-sub{
  display:flex;
  justify-content:space-between;
  gap:2mm;
  margin-top:.45mm;
}
.receipt-item-sub strong{
  text-align:right;
  white-space:nowrap;
}
.receipt-sku{
  font-size:8.5px;
  color:#444;
  margin-top:.25mm;
}
.receipt-totals>div{
  display:flex;
  justify-content:space-between;
  gap:2mm;
  margin:.65mm 0;
}
.receipt-grand{
  font-size:13px;
  font-weight:700;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
  padding:1.5mm 0;
  margin-top:1.5mm!important;
}
.receipt-notes{
  font-size:8.5px;
}
.receipt-notes p{
  margin:.5mm 0;
}
.receipt-foot{
  text-align:center;
  font-size:9px;
}
.receipt-foot p{
  margin:.5mm 0;
}

/* print mode is selected by the page currently visible */
@media print{
  body:has(.thermal-receipt) .site-header,
  body:has(.thermal-receipt) #footer,
  body:has(.thermal-receipt) .no-print{
    display:none!important;
  }
  body:has(.thermal-receipt){
    background:#fff!important;
  }
  body:has(.thermal-receipt) #main{
    padding:0!important;
    margin:0!important;
  }
  body:has(.thermal-receipt) .receipt-preview-shell{
    background:#fff!important;
    padding:0!important;
    margin:0!important;
    min-height:0!important;
  }
  body:has(.thermal-receipt) .thermal-receipt{
    box-shadow:none!important;
    margin:0!important;
    padding-top:2mm!important;
    padding-bottom:4mm!important;
  }
  body:has(.thermal-80) .thermal-receipt{
    width:80mm!important;
  }
  body:has(.thermal-58) .thermal-receipt{
    width:58mm!important;
  }
}

/* page sizing for modern Chromium browsers */
@page receipt80{size:80mm auto;margin:0}
@page receipt58{size:58mm auto;margin:0}
.thermal-80{page:receipt80}
.thermal-58{page:receipt58}

/* Invoice V4 — live subtotal feedback */
.invoice-row-total{
  font-weight:700;
  white-space:nowrap;
}

/* =========================================================
   Invoice V5 — Thermal header cleanup + A5 stray text cleanup
   ========================================================= */
.receipt-head{
  text-align:center;
  padding-top:1mm;
}
.receipt-head img{
  width:18mm !important;
  height:18mm !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:0 auto 1.4mm !important;
  filter:grayscale(1) contrast(1.25);
}
.thermal-58 .receipt-head img{
  width:16mm !important;
  height:16mm !important;
}
.receipt-title{
  font-family:"Courier New",Consolas,monospace;
  font-size:12px !important;
  font-weight:700;
  letter-spacing:.02em !important;
  text-transform:none !important;
  line-height:1.1;
}
.receipt-sub{
  margin-top:.4mm;
  font-size:8.5px !important;
  line-height:1.1;
}

/* Hide any skip-link/stray accessibility label from printed invoice output */
@media print{
  .skip-link,
  .skip-to-content,
  [href="#main"],
  [href="#content"]{
    display:none !important;
  }
}

/* =========================================================
   Rumah Kenangan V6 — Direct Tribute Images
   Original Tribute assets are used directly. No derivative mapping,
   no background-removal runtime logic, no forced zoom workaround.
   ========================================================= */
.product-image,
.gallery-main,
.gallery-thumbs button,
.special-grid .product-image{
  background:var(--ivory) !important;
}
.product-image img,
.gallery-main img,
.gallery-thumbs img,
.curated-grid .product-image img,
.special-grid .product-image img,
.related-scroll .product-image img{
  object-fit:contain !important;
  transform:none !important;
}
.product-card:hover .product-image img{
  transform:scale(1.025) !important;
}
.hero-product{
  transform:none !important;
}

/* =========================================================
   Rumah Kenangan V7 — Transparent Direct-Tribute Images
   ========================================================= */
.product-image,
.gallery-main,
.gallery-thumbs button,
.special-grid .product-image{
  background:transparent !important;
}
.product-image img,
.gallery-main img,
.gallery-thumbs img,
.curated-grid .product-image img,
.special-grid .product-image img,
.related-scroll .product-image img{
  object-fit:contain !important;
}

/* =========================================================
   Rumah Kenangan V8 — Clearance crop + Marble/Onyx priority
   ========================================================= */
.special-grid .product-image,
.clearance-card .product-image{
  background:transparent !important;
  overflow:hidden !important;
}
.special-grid .product-image img,
.clearance-card .product-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  transform:none !important;
}

/* =========================================================
   Rumah Kenangan V9 — Safe Clearance Images + Homepage Sale
   ========================================================= */

/* Clearance imagery: preserve original studio photo; no alpha removal. */
.clearance-card .product-image,
.special-grid .clearance-card .product-image{
  background:#ecebea !important;
}
.clearance-card .product-image img,
.special-grid .clearance-card .product-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  transform:none !important;
}
.clearance-card:hover .product-image img{
  transform:scale(1.015) !important;
}

/* Dedicated homepage clearance sale section */
.clearance-sale-section{
  background:#2d1b14 !important;
  color:#f7efe5;
}
.clearance-sale-section .section-head h2,
.clearance-sale-section .section-head p,
.clearance-sale-section .eyebrow{
  color:#f7efe5 !important;
}
.clearance-sale-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:1.5rem;
}
.clearance-sale-head .section-head{
  margin-bottom:0 !important;
}
.clearance-sale-cta{
  flex:none;
  background:#f7efe5 !important;
  color:#2d1b14 !important;
  border-color:#f7efe5 !important;
}
.clearance-home-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:.9rem !important;
}
.clearance-home-grid .product-card{
  background:#f8f4ed;
  color:#2d1b14;
}
.clearance-home-grid .product-info{
  padding:.75rem .7rem .85rem !important;
}
.clearance-home-grid .product-info h3{
  color:#2d1b14 !important;
}
.clearance-policy{
  margin:1rem 0 0;
  font-size:.72rem;
  opacity:.74;
}
@media(max-width:1180px){
  .clearance-home-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media(max-width:760px){
  .clearance-sale-head{align-items:flex-start;flex-direction:column}
  .clearance-home-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .clearance-sale-cta{width:100%;justify-content:center}
}

