/* ======================= APP-LIKE LAYER (loaded after main.css) ======================= */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.18s ease both vt-out}::view-transition-new(root){animation:.28s ease both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
:root{--tab:64px;--safe-b:env(safe-area-inset-bottom,0px)}
html{-webkit-tap-highlight-color:transparent}
button,a,.opt-card,.opt-chip,.sw,.twc-card{-webkit-tap-highlight-color:transparent}
.twc-btn:active,.opt-card:active,.opt-chip:active,.twc-ico:active,.twc-tabbar>*:active{transform:scale(.96)}
.twc-tabbar,.pdp-cfg-card,.pdp-sheet-head,.pdp-sheet-scrim,.pdp-sheet-total{display:none}
.pdp-sheet-body{display:block}
.pdp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.pdp-actions .twc-btn{min-height:48px;padding:0 10px;font-size:.72rem}.pdp-actions .twc-i{width:18px;height:18px}
.pdp-3d{position:absolute;left:14px;top:14px;display:flex;gap:6px;z-index:4;flex-wrap:wrap}
.pdp-3d button{background:rgba(255,255,255,.93);padding:0 14px;border-radius:22px;font-size:.74rem;display:inline-flex;gap:6px;align-items:center;min-height:40px;box-shadow:0 4px 14px rgba(0,0,0,.08);transition:.2s}
.pdp-3d button[aria-pressed=true]{background:var(--char);color:#fff}.pdp-3d .twc-i{width:17px;height:17px}
.pdp-stage .twc-badge{left:auto;right:14px;top:14px}
.pdp-stage{perspective:1200px}
.pdp-stage.is-tilt .pdp-track{touch-action:none;overflow:hidden;cursor:grab}
.pdp-stage.is-tilt .pdp-slide{cursor:grab;overflow:visible}
.pdp-stage.is-tilt .pdp-slide img{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(1.04)!important;transition:transform .12s ease-out;filter:drop-shadow(0 26px 30px rgba(38,35,31,.28));will-change:transform}
.pdp-stage.is-tilt::after{content:'Drag to rotate';position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(38,35,31,.78);color:#fff;font-size:.72rem;letter-spacing:.08em;padding:6px 14px;border-radius:20px;z-index:3;pointer-events:none;animation:hint 3.5s forwards}
@keyframes hint{0%,70%{opacity:1}100%{opacity:0}}
.twc-modal--3d .twc-modal__box{width:min(900px,100%);padding:0;overflow:hidden}.twc-modal--3d model-viewer{width:100%;height:min(70vh,620px);background:var(--off);--poster-color:transparent}
.twc-modal--3d model-viewer button{position:absolute;bottom:16px;left:50%;transform:translateX(-50%)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.rv.in{opacity:1;transform:none}
.twc-tilt{transition:transform .18s ease-out;will-change:transform}
.twc-card__media,.twc-cat__img{transform-style:preserve-3d}
.twc-hero__bg img{will-change:transform}
.twc-header{transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.twc-header.is-hidden{transform:translateY(-100%)}
.twc-order-help{margin-top:36px;padding:26px;background:var(--off)}
.pdp-bar__enq{display:none}

@media (max-width:1023px){
 body{padding-bottom:calc(var(--tab) + 26px + var(--safe-b));overscroll-behavior-y:none}
 .twc-header__in{grid-template-columns:48px minmax(0,1fr) auto;gap:4px;padding:0 10px}
 .twc-header__logo{min-width:0}.twc-logo__main{font-size:1.2rem}.twc-logo__sub{font-size:.5rem;letter-spacing:.34em}
 .twc-tool{width:40px;height:40px}.twc-tool--wish,.twc-tool--acc{display:none}
 .twc-announce{display:none}
 .twc-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:12px;right:12px;bottom:calc(10px + var(--safe-b));height:62px;background:rgba(250,247,242,.9);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(38,35,31,.07);border-radius:24px;box-shadow:0 12px 34px rgba(38,35,31,.2);z-index:70;padding:0 4px}
 .twc-tabbar>*{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--mute);font-size:.64rem;letter-spacing:.04em;text-decoration:none;transition:.2s;min-height:48px;margin:auto 0;border-radius:16px}
 .twc-tabbar .twc-i{width:23px;height:23px}
 .twc-tabbar .is-on{color:var(--char);font-weight:600}.twc-tabbar .is-on .twc-i{stroke-width:2.1}
 .twc-tabbar .is-on::after{content:'';position:absolute;bottom:-3px;width:16px;height:3px;border-radius:3px;background:var(--wood)}
 .twc-tabbar .twc-count{top:2px;right:calc(50% - 22px)}
 .twc-wa-float{bottom:calc(var(--tab) + 34px + var(--safe-b));right:14px;width:46px;height:46px}
 .twc-toast{bottom:calc(var(--tab) + 34px + var(--safe-b))}
 .twc-cookie{bottom:calc(var(--tab) + 32px + var(--safe-b))}
 body.single-product{padding-bottom:calc(84px + var(--safe-b))}
 body.single-product .twc-tabbar{display:none}
 body.single-product .twc-wa-float{bottom:calc(92px + var(--safe-b))}
 body.single-product .twc-cookie{bottom:calc(90px + var(--safe-b))}
 /* hero: generous space under the menu, content anchored to the bottom */
 .twc-hero{min-height:calc(100svh - 60px - var(--tab) - 20px);min-height:calc(100dvh - 60px - var(--tab) - 20px);align-items:flex-end}
 .twc-hero__in{padding-top:88px;padding-bottom:40px}
 .twc-hero h1{font-size:clamp(2.2rem,9.5vw,3.2rem);max-width:12ch;margin-bottom:12px}
 .twc-hero__sub{font-size:1rem;margin-bottom:22px}
 .twc-hero__shade{background:linear-gradient(180deg,rgba(20,16,12,.38) 0%,rgba(20,16,12,.12) 30%,rgba(20,16,12,.72) 100%)}
 .twc-hero__cta .twc-btn{min-height:52px}
 .twc-btn{border-radius:14px}
 .twc-section{padding:48px 0}.twc-sec-head{margin-bottom:24px}
 .twc-pagehead{padding:26px 0 24px}.twc-pagehead--tall{padding:44px 0}
 .twc-card__media,.twc-cat__img,.twc-mat,.twc-benefits li,.twc-quotes blockquote{border-radius:18px;overflow:hidden}
 .twc-card__body{padding:12px 4px 0}
 .twc-footer__grid{padding-bottom:20px}
 /* bottom sheets: modals + filters */
 .twc-modal{align-items:flex-end;padding:0}
 .twc-modal__box{width:100%!important;max-height:90dvh;border-radius:26px 26px 0 0;padding:30px 20px calc(24px + var(--safe-b));transform:translateY(100%);opacity:1}
 .is-open .twc-modal__box{transform:none}
 .twc-modal__box::before{content:'';position:absolute;top:9px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:var(--beige)}
 .twc-modal--3d .twc-modal__box{padding:0}
 .twc-drawer__panel--right{width:100%}
 .twc-shop__side{inset:auto 0 0 0;width:100%;height:86dvh;border-radius:26px 26px 0 0;transform:translateY(100%);padding:34px 22px calc(26px + var(--safe-b))}
 .twc-shop__side.is-open{transform:none;box-shadow:0 0 0 100vmax rgba(38,35,31,.5)}
 .twc-shop__bar{position:static;margin:0 0 18px;padding:0 0 14px;gap:10px;flex-wrap:nowrap}
 .twc-shop__count{display:none}
 /* product page */
 .pdp-gallery{margin:0 -20px}.pdp-stage{border-radius:0}
 .pdp-3d{top:12px;left:12px}.pdp-3d button{min-height:38px;padding:0 12px}
 .pdp-cfg-card{display:block;margin:16px 0 4px}
 .pdp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pdp-chips span{background:var(--off);border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:.78rem}.pdp-chips b{font-weight:500;color:var(--wood)}
 .pdp-sheet-scrim{display:block;position:fixed;inset:0;background:rgba(38,35,31,.55);z-index:139;opacity:0;visibility:hidden;transition:.3s}
 .pdp-sheet-open .pdp-sheet-scrim{opacity:1;visibility:visible}
 .pdp-form{position:fixed;left:0;right:0;bottom:0;height:90dvh;z-index:140;background:var(--ivory);border-radius:26px 26px 0 0;transform:translateY(105%);visibility:hidden;transition:transform .42s var(--ease),visibility 0s .42s;display:flex;flex-direction:column;box-shadow:0 -20px 60px rgba(0,0,0,.28);margin:0}
 .pdp-sheet-open .pdp-form{transform:none;visibility:visible;transition:transform .42s var(--ease)}
 body.pdp-sheet-open{overflow:hidden}
 .pdp-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:24px 18px 12px 20px;position:relative;border-bottom:1px solid var(--line);flex:none}
 .pdp-sheet-grab{position:absolute;top:9px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:var(--beige)}
 .pdp-sheet-head strong{font:500 1.45rem/1.1 var(--serif);display:block}.pdp-sheet-head small{color:var(--mute);font-size:.78rem}
 .pdp-sheet-head button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--off)}
 .pdp-sheet-body{flex:1;overflow-y:auto;padding:0 20px 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 .pdp-buy{display:flex!important;flex:none;gap:10px;align-items:center;padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:var(--ivory);margin:0}
 .pdp-sheet-total{display:block;flex:1;line-height:1.1;min-width:0}.pdp-sheet-total small{display:block;font-size:.64rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}.pdp-sheet-total strong{font:500 1.35rem var(--serif);white-space:nowrap}
 .pdp-buy .twc-qty--lg button{width:34px;height:48px}.pdp-buy .twc-qty--lg input{width:30px;height:48px}.pdp-buy .pdp-add{flex:0 0 auto;padding:0 18px;min-height:52px}
 .cfg summary{min-height:60px}.opt-card,.opt-chip{min-height:60px}
 .fab-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:12px}
 .pdp-bar{left:10px;right:10px;bottom:calc(10px + var(--safe-b));border:1px solid rgba(38,35,31,.07);border-radius:22px;padding:10px 10px 10px 16px;box-shadow:0 12px 34px rgba(38,35,31,.22);background:rgba(250,247,242,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
 .pdp-bar__enq{display:flex;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;align-items:center;justify-content:center;background:#fff;flex:none}
 .pdp-bar .twc-btn{min-height:48px;padding:0 22px}
 .pdp-help button,.pdp-help a{border-radius:14px;min-height:50px}
 .pdp-acc summary{min-height:60px;font-size:1.35rem}
 .pdp-lb__stage img{max-width:100vw}
}
@media (max-width:767px){
 .twc-rail{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;margin:0 -20px;padding:2px 20px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .twc-rail::-webkit-scrollbar{display:none}
 .twc-rail>*{flex:0 0 68%;scroll-snap-align:start;min-width:0}
 .twc-cats.twc-rail>*{flex-basis:62%}
 .twc-steps__list li{padding:20px 0}
 .twc-mats{display:flex;overflow-x:auto;gap:12px;margin:0 -20px;padding:0 20px 8px;scroll-snap-type:x mandatory}.twc-mats>*{flex:0 0 70%;scroll-snap-align:start}
 .woocommerce table.shop_table{border-radius:16px;overflow:hidden}
 .woocommerce-checkout-review-order{border-radius:18px}
}
.twc-cart-items .twc-ci-cfg li{display:block;padding:0;border:0;grid-template-columns:none;margin:0 0 2px}
.twc-cart-items .twc-ci-cfg{margin:6px 0 4px}
html,body{overflow-x:clip;max-width:100%}
.twc-shop__main,.pdp-grid>*,.twc-shop>*{min-width:0}
@media (max-width:767px){
 .woocommerce table.shop_table,.woocommerce table.shop_table tbody,.woocommerce table.shop_table tfoot{display:block;width:100%}
 .woocommerce table.shop_table tr{display:block;width:100%}
 .woocommerce table.shop_table td,.woocommerce table.shop_table th{box-sizing:border-box}
 .woocommerce .actions .coupon{width:100%}.woocommerce .coupon .input-text{flex:1;min-width:0;width:auto!important}
 .woocommerce-cart-form .actions .button{width:100%}
 .woocommerce .cart_totals{width:100%}
}
@media (max-width:767px){
 .woocommerce-cart-form .shop_table{border:0;background:transparent}
 .woocommerce-cart-form thead{display:none}
 .woocommerce-cart-form tr.cart_item{display:grid!important;grid-template-columns:84px minmax(0,1fr);gap:4px 14px;position:relative;padding:16px 40px 16px 16px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:18px}
 .woocommerce-cart-form tr.cart_item td{display:block!important;padding:0!important;border:0!important;text-align:left!important}
 .woocommerce-cart-form tr.cart_item td::before{display:none!important}
 .woocommerce-cart-form td.product-remove{position:absolute;top:10px;right:10px;padding:0}
 .woocommerce-cart-form td.product-thumbnail{grid-row:1/5}
 .woocommerce-cart-form td.product-thumbnail img{width:84px!important;height:84px!important;border-radius:12px}
 .woocommerce-cart-form td.product-price{display:none!important}
 .woocommerce-cart-form td.product-name a{font:500 1.25rem/1.2 var(--serif);text-decoration:none;color:var(--char)}
 .woocommerce-cart-form dl.variation{display:block!important;margin:8px 0 0!important;font-size:.8rem}
 .woocommerce-cart-form dl.variation dt{display:inline;font-weight:500;color:var(--char)}
 .woocommerce-cart-form dl.variation dd{display:inline;margin:0}.woocommerce-cart-form dl.variation dd p{display:inline;margin:0}
 .woocommerce-cart-form dl.variation dd::after{content:'';display:block;height:3px}
 .woocommerce-cart-form td.product-subtotal{font-weight:600}
 .woocommerce-cart-form tr:not(.cart_item){display:block}
 .woocommerce-cart-form td.actions{display:block!important;padding:4px 0 0!important;border:0!important;background:transparent}
 .woocommerce-cart-form td.actions::before{display:none!important}
 .woocommerce-cart-form td.actions .coupon{display:flex;gap:8px;margin-bottom:10px}
 .woocommerce-cart-form td.actions .coupon .button{flex:0 0 auto}
 .woocommerce-cart-form td.actions>.button{width:100%}
 .woocommerce .cart_totals table.shop_table{background:#fff;border:1px solid var(--line);border-radius:18px}
 .woocommerce .wc-proceed-to-checkout .button{width:100%;min-height:56px}
}
/* product cards: show whole sofa (renders are on white), tidy price on small screens */
.twc-card__media{background:#fff}
.twc-card__media img{object-fit:contain}
.twc-card__media img.twc-card__alt{object-fit:contain;background:#fff}
@media (max-width:767px){
 .twc-card__price{display:flex;flex-direction:column;gap:0;font-size:.9rem}
 .twc-card__price del,.twc-card__price .twc-was{margin:0;font-size:.8rem}
 .twc-badge{font-size:.6rem;padding:6px 8px;left:8px;top:8px}
 .twc-card__tools{right:6px;top:6px}.twc-ico{width:34px;height:34px}
 .twc-card__link{font-size:.68rem}
}
/* readable minimums + comfortable tap targets */
.twc-ico{width:40px;height:40px}
@media (max-width:1023px){
 .twc-tabbar>*{font-size:.72rem}
 .twc-count{font-size:.7rem;min-width:18px;height:18px;line-height:18px}
 .twc-logo__sub{font-size:.62rem}
 .twc-badge{font-size:.68rem}
 .twc-card__tools{right:6px;top:6px;gap:4px}
 .twc-meta{font-size:.82rem}
 .twc-card__link{font-size:.74rem}
 .pdp-chips span{font-size:.8rem}
}
.twc-logo__sub{font-size:.72rem;letter-spacing:.3em}
.twc-badge{font-size:.72rem}
.pdp-sheet-total small{font-size:.72rem}
.pdp-help-inline .twc-btn{font-size:.76rem}
.pdp-bar__p small{font-size:.72rem}
.twc-logo__main{line-height:1}
@media (max-width:1023px){
 .twc-filter-actions{position:sticky;bottom:-26px;background:var(--ivory);padding:14px 0 calc(14px + var(--safe-b));margin:0 -22px -26px;padding-left:22px;padding-right:22px;border-top:1px solid var(--line);z-index:2}
 .twc-filter-actions .twc-btn{flex:1}
 .twc-filters .twc-fs label{min-height:44px}
}
