@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=Hanken+Grotesk:wght@300;400;500;600&display=swap');

:root {
  --td-paper:#f5f0e8; --td-cream:#fbf8f2; --td-ink:#1a1a18;
  --td-stone:#8c8578; --td-sand:#ede7db; --td-aperol:#d4602a;
  --td-aperol-deep:#b84e1f; --td-gold:#c8941e;
  --td-border:rgba(26,26,24,.12); --td-serif:'Cormorant Garamond',serif;
  --td-sans:'Hanken Grotesk',system-ui,sans-serif;
}

html { scroll-behavior:smooth; }
body { background:var(--td-paper); color:var(--td-ink); font-family:var(--td-sans); }
a { color:inherit; }
.container, .container-md { max-width:1280px; }

/* Header */
.header-top { background:var(--td-ink); color:var(--td-cream); border:0; font-size:11px; letter-spacing:.12em; }
.header-top a, .header-top .material-icons { color:var(--td-cream)!important; }
.header-bottom { position:sticky; top:0; z-index:50; background:rgba(245,240,232,.93); backdrop-filter:blur(10px); border-bottom:.5px solid var(--td-border); box-shadow:none; }
.header-bottom__container { min-height:78px; }
.header-bottom__logo { width:245px; min-width:245px; }
.header-bottom__logo .logo { display:none; }
.header-bottom__logo a { display:block; width:220px; height:32px; background:url('../terrasdienst/logo-horizontal.png') center/contain no-repeat; }
.main-menu__link, .header-block__action-btn { font:500 11px/1 var(--td-sans); text-transform:uppercase; letter-spacing:.16em; color:var(--td-ink)!important; }
.main-menu__link:hover { color:var(--td-aperol)!important; }
.search-bar__input { background:transparent; border:.5px solid var(--td-border); border-radius:2px; }
.header-block__badge, .badge { background:var(--td-aperol)!important; }

/* Home hero */
.page-content--home { gap:0; }
.td-hero { background:var(--td-paper); padding:72px 0 0; text-align:center; }
.td-eyebrow { margin:0; color:var(--td-aperol); font:500 11px/1 var(--td-sans); text-transform:uppercase; letter-spacing:.42em; }
.td-hero h1 { margin:20px 0 0; color:var(--td-ink); font:300 clamp(58px,9vw,128px)/.92 var(--td-serif); letter-spacing:-.02em; }
.td-hero__intro { max-width:650px; margin:24px auto 0; color:#6e6657; font:300 italic clamp(19px,2.2vw,27px)/1.45 var(--td-serif); }
.td-hero__actions { display:flex; justify-content:center; gap:12px; margin-top:34px; }
.td-button { display:inline-flex; align-items:center; justify-content:center; padding:16px 28px; border:.5px solid var(--td-border); border-radius:3px; font:500 11px/1 var(--td-sans); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; transition:.26s ease; }
.td-button--solid { background:var(--td-aperol); border-color:var(--td-aperol); color:#fff; }
.td-button--solid:hover { background:var(--td-aperol-deep); color:#fff; }
.td-button--ghost:hover { background:var(--td-ink); color:var(--td-cream); }
.td-hero__plate { margin-top:48px; }
.td-hero__art { height:min(560px,48vw); min-height:360px; background:var(--td-cream); border:.5px solid rgba(26,26,24,.08); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.td-hero__art img { width:72%; height:145%; object-fit:contain; filter:saturate(.9); }
.td-hero__meta { display:flex; justify-content:space-between; padding:13px 0 0; color:var(--td-stone); font:500 9px/1 var(--td-sans); text-transform:uppercase; letter-spacing:.27em; }

/* Replace demo homepage modules */
.page-index .ps-imageslider, .page-index .ps-customtext, .page-index .ps-banner,
.page-index .ps-newproducts, .page-index .ps-specials { display:none!important; }
.page-index .ps-featuredproducts { padding:96px 0; background:var(--td-paper); }
.td-collection-heading { margin-bottom:32px; }
.page-index .ps-featuredproducts .section-title { margin:13px 0 0; color:var(--td-ink); font:300 clamp(34px,4vw,52px)/1.05 var(--td-serif); text-align:left; }
.products { gap:3px; }
.product-miniature { border:.5px solid rgba(26,26,24,.08); border-radius:2px; background:var(--td-cream); box-shadow:none; }
.product-miniature__inner { display:flex; height:100%; flex-direction:column; border-radius:2px; overflow:hidden; }
.product-miniature__top { position:relative; isolation:isolate; background:#fff; overflow:hidden; }
.product-miniature__image { transition:transform .55s cubic-bezier(.22,1,.36,1); }
.product-miniature:hover .product-miniature__image { transform:scale(1.035); }
.product-miniature__image-link { position:relative; z-index:1; display:block; overflow:hidden; }
.product-miniature__image--hover {
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  pointer-events:none;
  transform:scale(1.015);
  transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1);
}
@media(hover:hover) and (pointer:fine) {
  .product-miniature:hover .product-miniature__image--hover { opacity:1; transform:scale(1.035); }
}
@media(hover:none) {
  .product-miniature__image--hover { display:none; }
}
.product-miniature__bottom { position:relative; z-index:3; display:flex; flex:1; flex-direction:column; padding:18px; background:var(--td-cream); }
.product-miniature__infos { flex:1; }
.product-miniature__title { display:block; min-height:2.3em; color:var(--td-ink); font:400 22px/1.15 var(--td-serif); }
.product-miniature__actions { margin-top:18px; }
.product-miniature__details { display:inline-flex; min-height:46px; align-items:center; justify-content:center; border-radius:2px; font:600 10px/1 var(--td-sans); letter-spacing:.1em; text-transform:uppercase; }
.product-miniature__price { color:var(--td-ink); font:500 13px/1 var(--td-sans); }
.product-miniature__quickview-button { border-radius:2px; }
.product-miniature__add, .btn-primary { background:var(--td-aperol); border-color:var(--td-aperol); border-radius:3px; }
.product-miniature__add:hover, .btn-primary:hover { background:var(--td-aperol-deep); border-color:var(--td-aperol-deep); }
.module-products__buttons .btn { border-radius:3px; color:var(--td-ink); border-color:var(--td-ink); text-transform:uppercase; letter-spacing:.12em; }

/* Onliners */
.td-onliners { padding:96px 0; background:var(--td-cream); border-block:.5px solid var(--td-border); text-align:center; }
.td-onliners h2 { margin:15px 0 36px; font:300 clamp(34px,4vw,52px)/1.05 var(--td-serif); }
.td-onliners__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; text-align:left; }
.td-quote { min-height:170px; margin:0; padding:30px 27px; display:flex; align-items:flex-end; border-radius:2px; font:300 italic 22px/1.4 var(--td-serif); }
.td-quote--ink { background:var(--td-ink); color:var(--td-cream); }
.td-quote--sand { background:var(--td-sand); color:var(--td-ink); }
.td-quote--aperol { background:var(--td-aperol); color:#fff; }

/* Product and catalog pages */
.page-header h1, .product__name, .section-title, h1, h2, h3 { font-family:var(--td-serif); font-weight:300; }
.breadcrumb { color:var(--td-stone); font-size:11px; letter-spacing:.08em; }
.product__price { color:var(--td-aperol); }
.form-control, .form-select, .card { border-radius:3px; border-color:var(--td-border); background-color:var(--td-cream); }

/* Footer */
.footer__before, .footer__main { background:var(--td-ink); color:var(--td-cream); border:0; }
.footer__before { border-bottom:.5px solid rgba(245,240,232,.13); }
.footer a, .footer p, .footer .footer-block__title { color:var(--td-cream); }
.footer .footer-block__title { font:500 10px/1 var(--td-sans); letter-spacing:.25em; text-transform:uppercase; }
.footer__main { padding-top:56px; }
.footer .form-control { background:transparent; color:var(--td-cream); border-color:rgba(245,240,232,.25); }
.copyright { border-top:.5px solid rgba(245,240,232,.13); padding-top:24px; opacity:.65; }

@media (max-width:767px) {
  .header-bottom__container { min-height:64px; }
  .header-bottom__logo { width:auto; min-width:0; flex:1; }
  .header-bottom__logo a { width:165px; height:25px; }
  .td-hero { padding-top:50px; }
  .td-hero__copy { padding-inline:22px; }
  .td-hero__actions { flex-direction:column; }
  .td-button { width:100%; }
  .td-hero__plate { padding-inline:0; margin-top:36px; }
  .td-hero__art { min-height:360px; height:105vw; border-inline:0; }
  .td-hero__art img { width:118%; height:118%; }
  .td-hero__meta { padding:12px 18px 0; gap:18px; line-height:1.5; }
  .td-hero__meta span:last-child { text-align:right; }
  .page-index .ps-featuredproducts { padding:72px 0; }
  .page-index .ps-featuredproducts .module-products { padding-inline:18px; }
  .products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-miniature__bottom { padding:13px; }
  .product-miniature__title { font-size:18px; }
  .product-miniature__actions { display:none; }
  .td-onliners { padding:72px 0; }
  .td-onliners .container { padding-inline:18px; }
  .td-onliners__grid { grid-template-columns:1fr; }
  .td-quote { min-height:140px; }
}

/* Homepage supplied from the WordPress reference */
.page-index .wrapper { padding:0; }
.page-index .wrapper > .container { max-width:none; padding:0; }
.td-source-home { --tds-ink:#1a1a18; --tds-espresso:#30251f; --tds-paper:#fbf8f2; --tds-cream:#f5f0e8; --tds-sand:#e8dfd0; --tds-stone:#8a8173; --tds-orange:#d4602a; --tds-orange-deep:#b94d21; --tds-gold:#d9ae4e; width:100%; overflow:hidden; background:var(--tds-paper); color:var(--tds-ink); font-family:var(--td-sans); }
.td-source-home * { box-sizing:border-box; }
.td-source-home a { text-decoration:none; }
.tds-wrap { width:min(calc(100% - 80px),1200px); margin-inline:auto; }
.tds-section { padding:96px 0; }
.tds-eyebrow { margin:0; color:var(--tds-orange); font:600 11px/1 var(--td-sans); text-transform:uppercase; letter-spacing:.38em; }
.td-source-home h1,.td-source-home h2,.td-source-home h3 { margin-top:0; font-family:var(--td-serif); font-weight:300; text-transform:none; }
.td-source-home h2 { font-size:clamp(34px,4vw,52px); line-height:1.06; }
.tds-body { color:#6e6657; font-size:15px; line-height:1.75; }
.tds-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tds-overlay { position:absolute; inset:0; }
.tds-hero { position:relative; min-height:760px; height:88vh; display:flex; align-items:flex-end; background:var(--tds-espresso); }
.tds-hero .tds-overlay { background:linear-gradient(180deg,rgba(26,26,24,.25),rgba(26,26,24,.68)); }
.tds-hero__inner { position:relative; z-index:2; padding-bottom:64px; }
.tds-hero h1 { margin:18px 0 0; color:var(--tds-cream); font-size:clamp(62px,10vw,132px); line-height:.91; letter-spacing:-.02em; white-space:nowrap; }
.tds-hero__copy { max-width:580px; margin:24px 0 0; color:rgba(245,240,232,.92); font:italic 300 clamp(19px,2.3vw,27px)/1.42 var(--td-serif); }
.tds-buttons { display:flex; gap:12px; margin-top:32px; }
.tds-button { display:inline-flex; align-items:center; justify-content:center; padding:16px 28px; border:1px solid var(--tds-orange); border-radius:4px; background:var(--tds-orange); color:#fff!important; font:600 12px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; transition:.25s ease; }
.tds-button:hover { background:var(--tds-orange-deep); border-color:var(--tds-orange-deep); }
.tds-button--outline { background:transparent; border-color:rgba(245,240,232,.55); color:var(--tds-cream)!important; }
.tds-button--outline:hover { border-color:var(--tds-cream); background:rgba(245,240,232,.08); }
.tds-hero__meta { display:flex; justify-content:space-between; margin-top:52px; padding-top:16px; border-top:1px solid rgba(245,240,232,.22); color:rgba(245,240,232,.62); font-size:10px; letter-spacing:.28em; text-transform:uppercase; }
.tds-strip { padding:27px 22px; background:var(--tds-ink); color:var(--tds-cream); text-align:center; font:italic 300 clamp(20px,2.6vw,30px)/1.3 var(--td-serif); }
.tds-concept { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.tds-concept h2 { margin:16px 0 24px; }
.tds-pullquote { margin:24px 0 0; font:italic 300 20px/1.4 var(--td-serif); }
.tds-features { display:grid; gap:3px; }
.tds-features article { display:grid; grid-template-columns:50px 1fr; padding:24px 26px; background:var(--tds-cream); border:1px solid rgba(26,26,24,.08); }
.tds-features b { color:var(--tds-orange); font:300 30px/1 var(--td-serif); }
.tds-features h3 { margin:0; font:600 13px/1.2 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.tds-features p { margin:9px 0 0; color:#6e6657; font-size:13px; line-height:1.62; }
.tds-collection { padding-top:8px; }
.tds-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:30px; }
.tds-section-head h2 { margin:14px 0 0; }
.tds-text-link { padding-bottom:4px; border-bottom:1px solid currentColor; color:var(--tds-orange); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.tds-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
.tds-card { position:relative; overflow:hidden; background:var(--tds-cream); border:1px solid rgba(26,26,24,.08); }
.tds-card>a { position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:#eee7dc; }
.tds-card img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.tds-card .tds-card__hover { position:absolute; inset:0; opacity:0; transform:scale(1.015); transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1); }
@media(hover:hover) and (pointer:fine) { .tds-card:hover .tds-card__hover { opacity:1; transform:scale(1.035); } }
@media(hover:none) { .tds-card .tds-card__hover { display:none; } }
.tds-card>div { padding:17px 18px 19px; }
.tds-card h3 { margin:0; font-size:23px; line-height:1; }
.tds-card em { display:block; margin-top:6px; color:var(--tds-stone); font:italic 300 14px/1.3 var(--td-serif); }
.tds-card footer { display:flex; justify-content:space-between; margin-top:14px; background:transparent; }
.tds-card footer b { font-size:12px; }
.tds-card footer a { color:var(--tds-orange); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.tds-badge { position:absolute; z-index:3; top:14px; left:14px; padding:7px 10px; border-radius:2px; background:var(--tds-orange); color:#fff; font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.tds-editorial { position:relative; min-height:650px; height:72vh; display:flex; align-items:center; background:var(--tds-espresso); }
.tds-editorial .tds-overlay { background:linear-gradient(90deg,rgba(26,26,24,.72),rgba(26,26,24,.08)); }
.tds-editorial .tds-wrap { position:relative; z-index:2; }
.tds-editorial .tds-wrap>p:nth-child(2) { max-width:620px; margin:18px 0 32px; color:var(--tds-cream); font:italic 300 clamp(34px,4vw,54px)/1.1 var(--td-serif); }
.tds-onliners { background:var(--tds-cream); border-block:1px solid rgba(26,26,24,.12); }
.tds-onliners header { text-align:center; }
.tds-onliners h2 { margin:14px 0 0; }
.tds-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin-top:40px; }
.tds-quotes blockquote { min-height:164px; margin:0; padding:30px 28px; display:flex; align-items:flex-end; background:var(--tds-sand); color:var(--tds-ink); font:italic 300 21px/1.4 var(--td-serif); }
.tds-quotes .ink { background:var(--tds-ink); color:var(--tds-cream); }
.tds-quotes .orange { background:var(--tds-orange); color:#fff; }
.tds-closing { padding:104px 0; background:var(--tds-sand); color:var(--tds-ink); text-align:center; }
.tds-closing i { display:block; width:54px; height:3px; margin:0 auto 28px; background:var(--tds-orange); }
.tds-closing h2 { max-width:900px; margin:18px auto 0; color:var(--tds-ink); font-size:clamp(38px,6vw,70px); }
.tds-closing .tds-buttons { justify-content:center; }
.tds-closing .tds-button--outline { border-color:rgba(26,26,24,.45); color:var(--tds-ink)!important; }
.tds-closing .tds-button--outline:hover { border-color:var(--tds-ink); background:var(--tds-ink); color:var(--tds-cream)!important; }

@media(max-width:900px) {
  .tds-concept { grid-template-columns:1fr; gap:44px; }
  .tds-product-grid,.tds-quotes { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .tds-wrap { width:calc(100% - 36px); }
  .tds-section { padding:64px 0; }
  .tds-hero { min-height:calc(100svh - 64px); height:auto; }
  .tds-hero__inner { padding-bottom:36px; }
  .tds-hero h1 { margin-top:14px; font-size:clamp(58px,18vw,76px); line-height:.9; white-space:normal; }
  .tds-hero__copy { margin-top:20px; font-size:18px; line-height:1.45; }
  .tds-hero__meta { display:none; }
  .tds-buttons { display:grid; width:100%; margin-top:26px; }
  .tds-button { width:100%; min-height:50px; }
  .tds-strip { padding:23px 18px; font-size:20px; }
  .tds-concept { gap:36px; }
  .tds-section-head { display:block; margin-bottom:24px; }
  .tds-section-head .tds-text-link { display:inline-block; margin-top:18px; }
  .tds-product-grid,.tds-quotes { grid-template-columns:1fr; gap:8px; }
  .tds-card>a { aspect-ratio:4/5; }
  .tds-editorial { min-height:72svh; height:auto; }
  .tds-editorial .tds-wrap>p:nth-child(2) { font-size:38px; }
  .tds-quotes { margin-top:30px; gap:6px; }
  .tds-quotes blockquote { min-height:140px; padding:26px 22px; font-size:20px; }
  .tds-closing { padding:72px 0; }
  .tds-closing h2 { font-size:42px; }
}

/* Cart and checkout in the Terrasdienst service language */
.page-cart .wrapper,.page-order .wrapper { background:var(--td-paper); }
.page-cart .page-title-section,.page-order .page-title-section { color:var(--td-ink); font:300 clamp(42px,5vw,64px)/1 var(--td-serif); letter-spacing:-.02em; text-transform:none; }
.page-cart .cart-grid { gap:42px 0; }
.page-cart .cart-grid__aside-wrapper>h2 { margin:0 0 22px; color:var(--td-ink); font:300 32px/1 var(--td-serif); }
.page-cart .cart-summary,.page-order .cart-summary { overflow:hidden; padding:0; }
.page-cart .cart-summary__subtotals,.page-cart .cart-summary__total,.page-cart .cart-summary__actions { padding-inline:22px; }
.page-cart .cart-summary__line,.page-order .cart-summary__line { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:13px 0; color:var(--td-ink); }
.page-cart .cart-summary__label,.page-order .cart-summary__label { font-size:14px; }
.page-cart .cart-summary__value,.page-order .cart-summary__value { font-weight:600; white-space:nowrap; }
.page-cart .cart-summary__total,.page-order .cart-summary__total { margin-top:8px; border-top:1px solid var(--td-border); border-bottom:1px solid var(--td-border); }
.page-cart .cart-summary__total .cart-summary__line { padding-block:20px; }
.page-cart .cart-summary__actions { padding-block:22px; }
.page-cart .cart-summary__actions .btn,.page-order .btn-primary { width:100%; min-height:54px; display:flex; align-items:center; justify-content:center; border:0; border-radius:3px; background:var(--td-aperol); color:#fff!important; font:600 11px/1.2 var(--td-sans); letter-spacing:.13em; text-transform:uppercase; }
.page-cart .cart-summary__actions .btn:hover,.page-order .btn-primary:hover { background:var(--td-aperol-deep); }
.page-cart .cart__continue-shopping { margin-top:28px; }
.td-reassurance { display:grid; gap:0; border-block:1px solid var(--td-border); }
.td-reassurance>div { display:grid; grid-template-columns:36px 1fr; gap:12px; align-items:center; padding:17px 4px; border-bottom:1px solid var(--td-border); }
.td-reassurance>div:last-child { border-bottom:0; }
.td-reassurance span { color:var(--td-aperol); font:300 22px/1 var(--td-serif); }
.td-reassurance p { margin:0; display:flex; flex-direction:column; gap:4px; }
.td-reassurance strong { color:var(--td-ink); font:600 10px/1 var(--td-sans); letter-spacing:.12em; text-transform:uppercase; }
.td-reassurance small { color:var(--td-stone); font-size:12px; }
.page-cart .blockreassurance,.page-order .blockreassurance { display:none!important; }
.page-order .checkout-grid__aside-wrapper { position:sticky; top:96px; }
.page-order .checkout__summary-accordion { border:1px solid var(--td-border); border-radius:3px; background:var(--td-cream); }
.page-order .checkout__summary-accordion-header { padding:0 20px; }
.page-order .checkout__summary-accordion-wrapper { border:0; }
.page-order .step__title hr { border-color:var(--td-border); opacity:1; }
.page-order .form-control,.page-order .form-select,.page-cart .form-control { min-height:50px; border-color:rgba(26,26,24,.24); border-radius:3px; background:#fff; }

/* Storewide responsive safeguards */
html,body { max-width:100%; overflow-x:hidden; }
img,svg,video { max-width:100%; }
.page-content,.rich-text { overflow-wrap:anywhere; }

@media(max-width:767px) {
  .wrapper { padding-block:0; }
  .wrapper>.container,.wrapper>.container-md { width:100%; max-width:none; padding-inline:18px; }
  .header-bottom { position:sticky; top:0; }
  .header-bottom__row { min-height:64px; align-items:center!important; }
  .header-bottom__logo { justify-content:center; }
  .header-bottom__logo img { width:170px; height:auto; }
  .header-block__action-btn { width:38px; height:38px; display:grid; place-items:center; }
  .td-mobile-menu summary { width:38px; height:38px; justify-content:center; }
  .td-mobile-menu nav { max-height:calc(100vh - 64px); overflow-y:auto; padding:12px 18px 24px; }
  .td-mobile-menu nav a { min-height:46px; display:flex; align-items:center; }
  .btn,.form-control,.form-select,input,select,textarea { font-size:16px; }

  .page-index .tds-wrap,.tdc-wrap,.td-legal,.td-about-wrap,.td-size-wrap { width:calc(100% - 36px)!important; }
  .tds-hero h1 { overflow-wrap:normal; }
  .tds-card>div { padding:16px; }
  .tds-card h3 { font-size:22px; }
  .tds-card footer { align-items:center; }

  .page-shop .products,.page-category .products { grid-template-columns:1fr; gap:10px; }
  .page-shop .product-miniature,.page-category .product-miniature { width:100%; }
  .product-miniature__quickview-button,.product-miniature__quickview-touch { display:none!important; }
  .page-shop .product-miniature__actions,.page-category .product-miniature__actions { display:none; }

  .page-product .product__container { display:block; }
  .page-product .product__left { margin-inline:-18px; }
  .page-product .product__right { padding-top:30px; }
  .page-product .product__name { font-size:46px; }
  .page-product .product__actions-qty-add { display:grid; grid-template-columns:94px 1fr; gap:8px; }
  .page-product .product__add-to-cart-button { width:100%; padding-inline:12px; }
  .td-product-usps { margin-inline:0; }
  .page-product .product__accessories .products,.page-product .ps-categoryproducts .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }

  .td-size-table { margin-inline:0!important; border-radius:3px; -webkit-overflow-scrolling:touch; }
  .td-size-table table { min-width:760px!important; }
  .td-size-table th,.td-size-table td { padding:14px 8px!important; }
  .td-size-chips { display:grid!important; grid-template-columns:repeat(4,1fr); width:100%; }
  .td-size-chip { width:100%!important; min-width:0!important; }

  .page-cart .wrapper>.container,.page-order .wrapper>.container { padding:40px 18px 64px; }
  .page-cart .cart-grid,.page-order .checkout-grid { margin:0; display:block; }
  .page-cart .cart-grid__content,.page-cart .cart-grid__aside,.page-order .checkout-grid__content,.page-order .checkout-grid__aside { width:100%; padding:0; }
  .page-cart .cart-grid__aside { margin-top:44px; }
  .page-cart .cart-grid__aside-wrapper>h2 { font-size:36px; }
  .page-cart .cart-summary { width:100%; }
  .page-cart .cart-summary__actions .btn { min-height:58px; padding:14px; font-size:11px; }
  .page-cart .cart-detailed-product { display:grid; grid-template-columns:92px 1fr; gap:14px; }
  .page-cart .cart-detailed-product__image { width:92px; }
  .page-cart .cart-detailed-product__actions { grid-column:2; }
  .page-order .checkout-grid__aside { margin-top:38px; }
  .page-order .checkout-grid__aside-wrapper { position:static; }
  .page-order .checkout-steps { overflow-x:auto; }
  .page-order .step__content { padding-inline:0; }
  .page-order .address-selector { grid-template-columns:1fr; }
  .page-order .delivery-option { display:grid; grid-template-columns:auto 1fr; gap:10px; }
  .page-order .payment-options { width:100%; }

  .td-footer__lead { gap:34px; }
  .td-footer form>div { align-items:center; }
  .td-footer button { flex:0 0 auto; }
  .td-footer__links { grid-template-columns:1fr 1fr; }
}

@media(max-width:420px) {
  .header-bottom__logo img { width:145px; }
  .page-product .product__name { font-size:40px; }
  .page-product .product__actions-qty-add { grid-template-columns:84px 1fr; }
  .page-product .product__add-to-cart-button { font-size:9px; letter-spacing:.08em; }
  .page-product .product__accessories .products,.page-product .ps-categoryproducts .products { grid-template-columns:1fr; }
  .td-size-dialog__foot { display:grid; }
  .td-size-dialog__foot button { width:100%; }
  .td-footer__links { grid-template-columns:1fr; }
}

/* Dynamic collection page */
.page-category .wrapper,.page-shop .wrapper { padding:0; background:var(--td-paper); }
.page-category .wrapper>.container,.page-shop .wrapper>.container { max-width:none; padding:0; }
.page-category .wrapper>.container>.row,.page-shop .wrapper>.container>.row { margin:0; }
.page-category .left-column,.page-shop .left-column { display:none; }
.page-category .center-column,.page-shop .center-column { width:100%; max-width:100%; padding:0; flex:0 0 100%; }
.page-category .breadcrumb,.page-shop .breadcrumb { display:none; }
.td-shop-wrap { width:min(calc(100% - 80px),1200px); margin-inline:auto; }
.td-shop-hero { padding:104px 0 64px; background:var(--td-paper); border-bottom:1px solid var(--td-border); }
.td-shop-hero p { margin:0; color:var(--td-aperol); font:600 10px/1 var(--td-sans); letter-spacing:.36em; text-transform:uppercase; }
.td-shop-hero h1 { margin:20px 0 34px; color:var(--td-ink); font:300 clamp(58px,8vw,105px)/.94 var(--td-serif); letter-spacing:-.03em; text-transform:none; }
.td-shop-hero>div>div { display:flex; justify-content:space-between; gap:24px; padding-top:18px; border-top:1px solid var(--td-border); }
.td-shop-hero em { color:var(--td-stone); font:italic 300 18px/1.3 var(--td-serif); }
.td-shop-hero span { color:var(--td-stone); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.td-drop-page { background:var(--td-paper); color:var(--td-ink); }
.td-drop-hero { position:relative; min-height:min(780px,82vh); display:flex; align-items:flex-end; overflow:hidden; background:var(--td-ink); }
.td-drop-hero__image,.td-drop-hero__overlay { position:absolute; inset:0; width:100%; height:100%; }
.td-drop-hero__image { object-fit:cover; object-position:center 48%; }
.td-drop-hero__overlay { background:linear-gradient(90deg,rgba(24,20,17,.72) 0%,rgba(24,20,17,.32) 55%,rgba(24,20,17,.1) 100%),linear-gradient(0deg,rgba(24,20,17,.66) 0%,transparent 58%); }
.td-drop-hero__content { position:relative; z-index:1; padding-top:120px; padding-bottom:66px; color:var(--td-cream); }
.td-drop-hero__content>p,.td-drop-story__heading>p,.td-drop-products-head p { margin:0; color:var(--td-gold); font:600 10px/1 var(--td-sans); letter-spacing:.36em; text-transform:uppercase; }
.td-drop-hero h1 { max-width:920px; margin:22px 0 48px; color:var(--td-cream); font:300 clamp(62px,9vw,124px)/.88 var(--td-serif); letter-spacing:-.035em; text-transform:none; }
.td-drop-hero__footer { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding-top:22px; border-top:1px solid rgba(245,240,232,.35); }
.td-drop-hero__footer em { max-width:600px; color:var(--td-cream); font:italic 300 clamp(18px,2vw,25px)/1.35 var(--td-serif); }
.td-drop-hero__footer a { flex:0 0 auto; color:var(--td-cream); border-bottom:1px solid rgba(245,240,232,.65); font:600 10px/1.4 var(--td-sans); letter-spacing:.16em; text-transform:uppercase; }
.td-drop-story { padding:112px 0 104px; border-bottom:1px solid var(--td-border); }
.td-drop-story__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(64px,10vw,150px); align-items:start; }
.td-drop-story__heading>p { color:var(--td-aperol); }
.td-drop-story h2 { margin:22px 0 0; color:var(--td-ink); font:300 clamp(48px,5.8vw,82px)/.96 var(--td-serif); letter-spacing:-.025em; text-transform:none; }
.td-drop-story__copy>p { max-width:650px; margin:0 0 24px; color:#5f584e; font-size:16px; line-height:1.75; }
.td-drop-story__copy>p strong { color:var(--td-ink); font-weight:600; }
.td-drop-story__copy>.td-drop-story__tagline { margin-bottom:34px; color:var(--td-ink); font:300 clamp(26px,2.9vw,39px)/1.22 var(--td-serif); letter-spacing:-.01em; }
.td-drop-story blockquote { margin:34px 0 0; padding:28px 0; border-block:1px solid var(--td-border); color:var(--td-aperol); font:italic 300 clamp(25px,3vw,40px)/1.22 var(--td-serif); }
.td-drop-story__copy>.td-drop-story__closing { margin:0; padding-top:30px; color:var(--td-ink); font:600 10px/1.6 var(--td-sans); letter-spacing:.2em; text-transform:uppercase; }
.td-drop-facts { background:var(--td-cream); border-bottom:1px solid var(--td-border); }
.td-drop-facts__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.td-drop-facts article { min-height:260px; padding:42px 30px 38px; border-left:1px solid var(--td-border); }
.td-drop-facts article:last-child { border-right:1px solid var(--td-border); }
.td-drop-facts span { display:block; margin-bottom:44px; color:var(--td-aperol); font:600 9px/1 var(--td-sans); letter-spacing:.22em; }
.td-drop-facts strong { display:block; margin-bottom:14px; color:var(--td-ink); font:300 29px/1.1 var(--td-serif); }
.td-drop-facts p { margin:0; color:var(--td-stone); font-size:13px; line-height:1.65; }
.td-drop-products-head { padding:96px 0 0; scroll-margin-top:120px; }
.td-drop-products-head p { color:var(--td-aperol); }
.td-drop-products-head>div>div { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-top:18px; padding-bottom:30px; border-bottom:1px solid var(--td-border); }
.td-drop-products-head h2 { margin:0; color:var(--td-ink); font:300 clamp(48px,6vw,78px)/.95 var(--td-serif); text-transform:none; }
.td-drop-products-head span { padding-bottom:8px; color:var(--td-stone); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.page-category #products,.page-shop #products { width:min(calc(100% - 80px),1200px); margin:0 auto; padding:60px 0 100px; }
.page-category #js-product-list-top,.page-shop #js-product-list-top { margin-bottom:28px; }
.page-category .products-selection,.page-shop .products-selection { padding:0 0 18px; border-bottom:1px solid var(--td-border); }
.page-category .products,.page-shop .products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
.page-category .product-miniature__title,.page-shop .product-miniature__title { font:300 22px/1.05 var(--td-serif); text-transform:none; }
.td-shop-close { padding:96px 24px; background:var(--td-ink); text-align:center; }
.td-shop-close p { margin:0; color:var(--td-gold); font:600 10px/1 var(--td-sans); letter-spacing:.34em; text-transform:uppercase; }
.td-shop-close h2 { margin:18px 0 30px; color:var(--td-cream); font:300 clamp(38px,5vw,66px)/1.02 var(--td-serif); }
.td-shop-close a { color:var(--td-cream); border-bottom:1px solid rgba(245,240,232,.55); font-size:11px; letter-spacing:.15em; text-transform:uppercase; }

/* Size guide trigger and dialog */
.td-size-guide-trigger { width:100%; margin:-8px 0 24px; padding:14px 0; display:flex; justify-content:space-between; gap:16px; border:0; border-block:1px solid var(--td-border); background:transparent; color:var(--td-aperol); font:600 10px/1.3 var(--td-sans); letter-spacing:.12em; text-transform:uppercase; }
.td-size-guide-trigger span { color:var(--td-stone); font-weight:400; letter-spacing:.04em; text-transform:none; }
.td-size-dialog { width:min(calc(100% - 36px),880px); max-height:90vh; padding:0; border:0; border-radius:3px; background:var(--td-paper); color:var(--td-ink); box-shadow:0 32px 100px rgba(26,26,24,.32); }
.td-size-dialog::backdrop { background:rgba(26,26,24,.64); backdrop-filter:blur(3px); }
.td-size-dialog__head { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:38px 42px 24px; }
.td-size-dialog__head p { margin:0 0 12px; color:var(--td-aperol); font:600 9px/1 var(--td-sans); letter-spacing:.3em; text-transform:uppercase; }
.td-size-dialog__head h2 { margin:0; font:300 48px/1 var(--td-serif); text-transform:none; }
.td-size-dialog__head>button { width:38px; height:38px; border:1px solid var(--td-border); border-radius:50%; background:transparent; color:var(--td-ink); font:300 27px/1 var(--td-serif); }
.td-size-dialog__intro { max-width:650px; margin:0; padding:0 42px 26px; color:var(--td-stone); font-size:14px; line-height:1.65; }
.td-size-selector { padding:0 42px; }
.td-size-selector__chips { display:grid; grid-template-columns:repeat(8,1fr); gap:5px; margin-bottom:18px; }
.td-size-selector__chips button { min-width:0; height:44px; padding:0; border:1px solid rgba(26,26,24,.25); border-radius:23px; background:transparent; color:var(--td-ink); font:600 11px/1 var(--td-sans); }
.td-size-selector__chips button:hover,.td-size-selector__chips button.is-active { border-color:var(--td-aperol); background:var(--td-aperol); color:#fff; }
.td-size-selector__table { overflow-x:auto; border:1px solid var(--td-border); }
.td-size-selector table { width:100%; min-width:720px; margin:0; border-collapse:collapse; table-layout:fixed; }
.td-size-selector th,.td-size-selector td { padding:14px 8px; border:0; border-bottom:1px solid var(--td-border); text-align:center; font-size:13px; }
.td-size-selector thead th { background:var(--td-ink); color:rgba(245,240,232,.68); }
.td-size-selector th:first-child { width:150px; text-align:left; padding-left:18px; }
.td-size-selector tbody th { font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.td-size-selector tbody th small { float:right; color:var(--td-aperol); }
.td-size-selector .is-active { background:rgba(212,96,42,.11); color:var(--td-aperol); }
.td-size-dialog__foot { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 42px 38px; }
.td-size-dialog__foot a { color:var(--td-stone); border-bottom:1px solid currentColor; font-size:11px; }
.td-size-dialog__foot button { padding:15px 22px; border:0; border-radius:3px; background:var(--td-aperol); color:#fff; font:600 10px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }

/* Branded accordions outside the product detail */
.page-order .accordion,.page-cart .accordion,.page-stores .accordion { border-block:1px solid var(--td-border); background:transparent; }
.page-order .accordion-button,.page-cart .accordion-button,.page-stores .accordion-button,
.page-order .accordion-button:not(.collapsed),.page-cart .accordion-button:not(.collapsed),.page-stores .accordion-button:not(.collapsed) { min-height:62px; padding:18px 44px 18px 0; border:0; box-shadow:none; background:transparent; color:var(--td-ink); font:400 17px/1.2 var(--td-serif); }
.page-order .accordion-button::after,.page-cart .accordion-button::after,.page-stores .accordion-button::after { position:absolute; right:3px; width:auto; height:auto; margin:0; background:none; color:var(--td-aperol); content:'+'; font:300 27px/1 var(--td-serif); transform:none; }
.page-order .accordion-button:not(.collapsed)::after,.page-cart .accordion-button:not(.collapsed)::after,.page-stores .accordion-button:not(.collapsed)::after { content:'–'; transform:none; }
.page-order .cart-summary,.page-cart .cart-summary { border:1px solid var(--td-border); border-radius:3px; background:var(--td-cream); box-shadow:none; }
.page-order .cart-summary__products-number { color:var(--td-stone); font:600 10px/1 var(--td-sans); letter-spacing:.18em; text-transform:uppercase; }
.page-order .cart-summary__products hr { border-color:var(--td-border); opacity:1; }
.page-order .cart-summary__line { padding-block:12px; }
.page-order .cart-summary__total { border-top:1px solid var(--td-border); }

@media(max-width:900px) {
  .page-category .products,.page-shop .products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .td-drop-story__grid { grid-template-columns:1fr; gap:52px; }
  .td-drop-story__copy { max-width:720px; }
  .td-drop-facts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .td-drop-facts article:nth-child(2) { border-right:1px solid var(--td-border); }
  .td-drop-facts article:nth-child(-n+2) { border-bottom:1px solid var(--td-border); }
}
@media(max-width:600px) {
  .td-shop-wrap,.page-category #products,.page-shop #products { width:calc(100% - 36px); }
  .td-shop-hero { padding:64px 0 42px; }
  .td-shop-hero h1 { font-size:58px; }
  .td-shop-hero>div>div { display:grid; }
  .td-drop-hero { min-height:680px; }
  .td-drop-hero__image { object-position:58% center; }
  .td-drop-hero__overlay { background:linear-gradient(0deg,rgba(24,20,17,.82) 0%,rgba(24,20,17,.18) 78%); }
  .td-drop-hero__content { padding-top:92px; padding-bottom:38px; }
  .td-drop-hero h1 { margin-top:18px; margin-bottom:34px; font-size:clamp(56px,18vw,78px); line-height:.9; }
  .td-drop-hero__footer { display:grid; gap:26px; }
  .td-drop-hero__footer a { width:max-content; }
  .td-drop-story { padding:72px 0 68px; }
  .td-drop-story__grid { gap:38px; }
  .td-drop-story h2 { font-size:50px; }
  .td-drop-story__copy>.td-drop-story__tagline { font-size:28px; }
  .td-drop-story__copy>.td-drop-story__closing { padding-top:24px; }
  .td-drop-facts__grid { grid-template-columns:1fr; }
  .td-drop-facts article,.td-drop-facts article:nth-child(2) { min-height:0; padding:30px 0; border:0; border-bottom:1px solid var(--td-border); }
  .td-drop-facts article:last-child { border:0; }
  .td-drop-facts span { margin-bottom:20px; }
  .td-drop-products-head { padding-top:70px; }
  .td-drop-products-head>div>div { display:grid; gap:18px; }
  .page-category #products { padding:42px 0 64px; }
  .td-size-dialog__head { padding:28px 22px 20px; }
  .td-size-dialog__head h2 { font-size:40px; }
  .td-size-dialog__intro,.td-size-selector { padding-left:22px; padding-right:22px; }
  .td-size-selector__chips { grid-template-columns:repeat(4,1fr); }
  .td-size-dialog__foot { padding:22px; }
}

/* Contact page supplied from the WordPress reference */
.page-contact .wrapper { padding:0; }
.page-contact .wrapper > .container { max-width:none; padding:0; }
.td-contact-page { --tdc-ink:#1a1a18; --tdc-paper:#fbf8f2; --tdc-cream:#f5f0e8; --tdc-stone:#8a8173; --tdc-orange:#d4602a; --tdc-orange-deep:#b94d21; --tdc-gold:#d9ae4e; width:100%; overflow:hidden; background:var(--tdc-paper); color:var(--tdc-ink); font-family:var(--td-sans); }
.td-contact-page * { box-sizing:border-box; }
.td-contact-page a { text-decoration:none; }
.tdc-wrap { width:min(calc(100% - 80px),1200px); margin-inline:auto; }
.tdc-eyebrow { margin:0; color:var(--tdc-orange); font:600 11px/1 var(--td-sans); text-transform:uppercase; letter-spacing:.38em; }
.tdc-eyebrow.muted { color:var(--tdc-stone); }
.td-contact-page h1,.td-contact-page h2 { font-family:var(--td-serif); font-weight:300; text-transform:none; }
.tdc-hero { padding:120px 0 0; text-align:center; }
.tdc-hero h1 { max-width:920px; margin:22px auto 0; font-size:clamp(48px,7vw,100px); line-height:.99; letter-spacing:-.01em; }
.tdc-hero>p:nth-child(3) { max-width:620px; margin:24px auto 0; color:#6e6657; font:italic 300 clamp(19px,2.4vw,27px)/1.42 var(--td-serif); }
.tdc-hero i { display:block; width:64px; height:1px; margin:56px auto 0; background:rgba(26,26,24,.28); }
.tdc-main { display:grid; grid-template-columns:1.15fr .85fr; gap:72px; align-items:start; padding:80px 0 96px; }
.tdc-form-shell { margin-top:28px; }
.tdc-form-shell .contact-form { margin:0; }
.tdc-form-shell .section-title,.tdc-form-shell .page-title-section { display:none; }
.tdc-form-shell label { margin-bottom:10px; color:var(--tdc-ink); font:600 11px/1 var(--td-sans); letter-spacing:.18em; text-transform:uppercase; }
.tdc-form-shell .form-control,.tdc-form-shell .form-select { min-height:52px; border:1px solid rgba(26,26,24,.28); border-radius:4px; background:#fff; color:var(--tdc-ink); font:400 15px/1.5 var(--td-sans); padding:14px 16px; box-shadow:none; }
.tdc-form-shell .form-control:focus,.tdc-form-shell .form-select:focus { border-color:var(--tdc-orange); box-shadow:0 0 0 1px var(--tdc-orange); }
.tdc-form-shell textarea.form-control { min-height:160px; resize:vertical; }
.tdc-form-shell .buttons-wrapper { justify-content:flex-start; }
.tdc-form-shell .btn-primary { min-height:50px; padding:16px 28px; border:0; border-radius:4px; background:var(--tdc-orange); font:600 12px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.tdc-card { padding:36px 34px; background:var(--tdc-cream); border:1px solid rgba(26,26,24,.08); border-radius:4px; }
.tdc-card dl { margin:8px 0 0; }
.tdc-card dl>div { padding:22px 0; border-bottom:1px solid rgba(26,26,24,.08); }
.tdc-card dt { color:var(--tdc-stone); font-size:11px; font-weight:600; line-height:1; letter-spacing:.18em; text-transform:uppercase; }
.tdc-card dd { margin:8px 0 0; font-size:16px; line-height:1.5; }
.tdc-card dd a { color:var(--tdc-ink); }
.tdc-card blockquote { margin:26px 0 0; font:italic 300 18px/1.45 var(--td-serif); }
.tdc-faq { padding:96px 0; background:var(--tdc-cream); border-block:1px solid rgba(26,26,24,.12); }
.tdc-faq__inner { width:min(calc(100% - 80px),860px); margin-inline:auto; }
.tdc-faq header { margin-bottom:24px; text-align:center; }
.tdc-faq h2 { margin:14px 0 0; font-size:clamp(30px,3.6vw,46px); line-height:1.05; }
.tdc-faq details { border-top:1px solid rgba(26,26,24,.12); }
.tdc-faq details:last-child { border-bottom:1px solid rgba(26,26,24,.12); }
.tdc-faq summary { position:relative; padding:26px 42px 26px 0; cursor:pointer; list-style:none; font:400 22px/1.3 var(--td-serif); }
.tdc-faq summary::-webkit-details-marker { display:none; }
.tdc-faq summary::after { content:'+'; position:absolute; right:4px; top:50%; transform:translateY(-50%); color:var(--tdc-orange); font-size:28px; font-weight:300; }
.tdc-faq details[open] summary::after { content:'–'; }
.tdc-faq details p { max-width:760px; margin:0; padding:0 48px 28px 0; color:#6e6657; font-size:16px; line-height:1.7; }
.tdc-closing { padding:96px 0; background:var(--tdc-ink); text-align:center; }
.tdc-closing h2 { max-width:780px; margin:18px auto 0; color:var(--tdc-cream); font-size:clamp(32px,4vw,54px); line-height:1.08; }
.tdc-closing .tdc-wrap>div { display:flex; justify-content:center; gap:14px; margin-top:34px; }
.tdc-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:16px 28px; border:1px solid var(--tdc-orange); border-radius:4px; background:var(--tdc-orange); color:#fff!important; font:600 12px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.tdc-button:hover { background:var(--tdc-orange-deep); border-color:var(--tdc-orange-deep); }
.tdc-button.outline { background:transparent; border-color:rgba(245,240,232,.5); color:var(--tdc-cream)!important; }

@media(max-width:900px) { .tdc-main { grid-template-columns:1fr; gap:48px; } }
@media(max-width:700px) {
  .tdc-wrap,.tdc-faq__inner { width:calc(100% - 36px); }
  .tdc-hero { padding-top:64px; }
  .tdc-hero h1 { font-size:clamp(46px,15vw,68px); line-height:.96; }
  .tdc-hero>p:nth-child(3) { font-size:19px; line-height:1.5; }
  .tdc-hero i { margin-top:40px; }
  .tdc-main { display:block; padding:52px 0 64px; }
  .tdc-card { margin-top:44px; padding:28px 22px; }
  .tdc-form-shell { margin-top:22px; }
  .tdc-form-shell .buttons-wrapper,.tdc-form-shell .btn-primary { width:100%; }
  .tdc-faq,.tdc-closing { padding:64px 0; }
  .tdc-faq h2 { font-size:38px; }
  .tdc-faq summary { padding:22px 40px 22px 0; font-size:20px; }
  .tdc-faq details p { padding-right:0; }
  .tdc-closing .tdc-wrap>div { display:grid; }
  .tdc-button { width:100%; }
}

/* Product detail — editorial commerce layout */
.page-product .product__left { background:transparent; }
.td-product-gallery {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.td-product-gallery .product-flags { z-index:4; }
.td-product-gallery__item {
  position:relative;
  display:block;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:2px;
  background:#eee8de;
  cursor:zoom-in;
  aspect-ratio:1/1.12;
}
.td-product-gallery__item--hero { grid-column:1/-1; aspect-ratio:4/5; }
.td-product-gallery__item picture,.td-product-gallery__item img { display:block; width:100%; height:100%; }
.td-product-gallery__item img { object-fit:cover; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.td-product-gallery__item:hover img { transform:scale(1.018); }
.td-product-gallery__more {
  position:absolute;
  right:14px;
  bottom:14px;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(251,248,242,.92);
  color:var(--td-ink);
  font:600 9px/1 var(--td-sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
}
@media(min-width:901px) {
  .page-product .product__carousel,.page-product .product__thumbnails { display:none!important; }
}

.page-product .product-variant__label { margin-bottom:12px; }
.td-variant-native-select {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  white-space:nowrap!important;
}
.td-variant-pills { display:flex; flex-wrap:wrap; gap:8px; }
.td-variant-pill {
  min-width:74px;
  min-height:48px;
  padding:0 15px;
  border:1px solid rgba(26,26,24,.24);
  border-radius:999px;
  background:transparent;
  color:var(--td-ink);
  font:600 11px/1 var(--td-sans);
  letter-spacing:.06em;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.td-variant-pill:hover { border-color:var(--td-aperol); color:var(--td-aperol); }
.td-variant-pill.is-active { border-color:var(--td-aperol); background:var(--td-aperol); color:#fff; }
.td-variant-pill:disabled { opacity:.34; text-decoration:line-through; cursor:not-allowed; }

.td-product-story {
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  min-height:620px;
  margin:92px 0 0;
  overflow:hidden;
  background:var(--td-ink);
}
.td-product-story__copy { display:flex; flex-direction:column; justify-content:center; padding:64px 58px; }
.td-product-story__copy h2 { margin:16px 0 24px; color:var(--td-cream); font:300 clamp(42px,4.2vw,64px)/.98 var(--td-serif); }
.td-product-story__copy>p:last-child { max-width:390px; margin:0; color:rgba(245,240,232,.68); font-size:15px; line-height:1.72; }
.td-product-story figure { min-width:0; margin:0; }
.td-product-story figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 38%; }

.page-product .product__bottom-left { width:100%; }
.td-product-detail-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:56px; }
.td-product-detail-panels article { min-height:420px; padding:46px 42px; border:1px solid var(--td-border); background:var(--td-cream); }
.td-product-detail-panels h2 { margin:16px 0 30px; color:var(--td-ink); font:300 clamp(34px,3.4vw,48px)/1 var(--td-serif); }
.td-product-detail-panels dl { margin:0 0 30px; border-top:1px solid var(--td-border); }
.td-product-detail-panels dl>div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:18px; padding:15px 0; border-bottom:1px solid var(--td-border); }
.td-product-detail-panels dt { color:var(--td-stone); font:600 9px/1.45 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.td-product-detail-panels dd { margin:0; color:var(--td-ink); font-size:13px; line-height:1.5; }
.td-product-detail-panels .td-care-list { grid-template-columns:1fr; gap:10px; margin-bottom:31px; }

.td-mobile-buybar {
  position:fixed;
  z-index:1025;
  left:50%;
  bottom:22px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  width:min(680px,calc(100% - 40px));
  align-items:center;
  gap:15px;
  padding:11px;
  border:1px solid var(--td-border);
  border-radius:4px;
  background:rgba(251,248,242,.97);
  box-shadow:0 18px 55px rgba(26,26,24,.18);
  pointer-events:none;
  transform:translate(-50%,calc(100% + 48px));
  transition:transform .28s ease,visibility .28s;
  visibility:hidden;
  backdrop-filter:blur(14px);
}
.td-mobile-buybar.is-visible { pointer-events:auto; transform:translate(-50%,0); visibility:visible; }
.td-mobile-buybar>img { width:58px; height:68px; border-radius:2px; object-fit:cover; }
.td-mobile-buybar>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 16px; min-width:0; }
.td-mobile-buybar small { grid-column:1/-1; overflow:hidden; color:var(--td-ink); font:400 17px/1.05 var(--td-serif); text-overflow:ellipsis; white-space:nowrap; }
.td-mobile-buybar span { overflow:hidden; color:var(--td-stone); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.td-mobile-buybar strong { color:var(--td-ink); font:600 13px/1 var(--td-sans); }
.td-mobile-buybar button { min-width:190px; min-height:56px; padding:0 22px; border:0; border-radius:2px; background:var(--td-aperol); color:#fff; font:600 10px/1 var(--td-sans); letter-spacing:.12em; text-transform:uppercase; }
.td-mobile-buybar button:disabled { opacity:.45; cursor:not-allowed; }

@media(max-width:900px) {
  .td-product-gallery { display:none; }
  .page-product .product__carousel { display:block; }
  .td-product-story { grid-template-columns:1fr; min-height:0; }
  .td-product-story__copy { padding:54px 38px; }
  .td-product-story figure { min-height:520px; }
  .td-product-detail-panels { grid-template-columns:1fr; }
  .td-product-detail-panels article { min-height:0; }
}
@media(max-width:767px) {
  .td-variant-pills { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .td-variant-pill { width:100%; min-width:0; min-height:44px; padding:0 6px; font-size:10px; }
  .td-product-story { margin-inline:-18px; margin-top:58px; }
  .td-product-story__copy { padding:48px 26px; }
  .td-product-story__copy h2 { font-size:42px; }
  .td-product-story figure { min-height:460px; }
  .td-product-detail-panels article { padding:36px 24px; }
  .td-mobile-buybar {
    right:0;
    bottom:0;
    left:0;
    grid-template-columns:minmax(0,1fr) 128px;
    width:100%;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom));
    border-width:1px 0 0;
    border-radius:0;
    transform:translateY(120%);
  }
  .td-mobile-buybar.is-visible { transform:translateY(0); }
  .td-mobile-buybar>img { display:none; }
  .td-mobile-buybar>div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .td-mobile-buybar small { font-size:15px; }
  .td-mobile-buybar button { min-width:0; min-height:50px; padding:0 12px; font-size:9px; }
}

/* Slide-in cart — server-rendered by the native PrestaShop shopping-cart module. */
body.td-cart-drawer-open { overflow:hidden; }
#header { position:sticky; top:0; z-index:1000; }
#header .header-bottom { position:relative; top:auto; z-index:auto; }
.td-cart-bridge { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
#blockcart-modal.td-cart-drawer {
  position:fixed;
  z-index:1100;
  inset:0;
  display:block!important;
  overflow:hidden;
  background:rgba(26,26,24,.48);
  opacity:0;
  transition:opacity .25s ease;
}
#blockcart-modal.td-cart-drawer.is-open,#blockcart-modal.td-cart-drawer.show { opacity:1; }
#blockcart-modal.td-cart-drawer .modal-dialog {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(100%,480px);
  max-width:none;
  height:100%;
  margin:0;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
#blockcart-modal.td-cart-drawer.is-open .modal-dialog,#blockcart-modal.td-cart-drawer.show .modal-dialog { transform:translateX(0); }
#blockcart-modal.td-cart-drawer .modal-content {
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  height:100%;
  border:0;
  border-radius:0;
  background:var(--td-paper);
  box-shadow:-20px 0 55px rgba(26,26,24,.18);
}
#blockcart-modal.td-cart-drawer .modal-header { position:relative; align-items:flex-start; padding:28px 72px 24px 28px; border-bottom:1px solid var(--td-border); }
#blockcart-modal.td-cart-drawer .blockcart-modal__title { display:grid; gap:8px; margin:0; color:var(--td-ink); font:300 30px/1.05 var(--td-serif); }
#blockcart-modal.td-cart-drawer .td-cart-drawer__eyebrow { color:var(--td-aperol); font:600 9px/1 var(--td-sans); letter-spacing:.24em; text-transform:uppercase; }
#blockcart-modal.td-cart-drawer .btn-close { position:absolute; top:25px; right:28px; width:38px; height:38px; margin:0; padding:0; border:1px solid var(--td-border); border-radius:50%; background-color:transparent; background-size:12px; opacity:1; }
#blockcart-modal.td-cart-drawer .btn-close:hover { border-color:var(--td-aperol); }
#blockcart-modal.td-cart-drawer .modal-body { overflow-y:auto; padding:0; }
#blockcart-modal.td-cart-drawer .td-cart-drawer__empty { display:grid; place-content:center; min-height:360px; padding:48px 28px; text-align:center; }
#blockcart-modal.td-cart-drawer .td-cart-drawer__empty strong { color:var(--td-ink); font:300 27px/1.15 var(--td-serif); }
#blockcart-modal.td-cart-drawer .td-cart-drawer__empty p { max-width:300px; margin:14px auto 0; color:var(--td-stone); font-size:13px; line-height:1.6; }
#blockcart-modal.td-cart-drawer .td-cart-drawer__content { display:grid; }
#blockcart-modal.td-cart-drawer .td-cart-drawer__products { display:grid; }
#blockcart-modal.td-cart-drawer .blockcart-modal__product { padding:24px 28px; border-bottom:1px solid var(--td-border); }
#blockcart-modal.td-cart-drawer .blockcart-modal__image { width:100%; aspect-ratio:1/1.15; object-fit:cover; background:#eee7dc; }
#blockcart-modal.td-cart-drawer .blockcart-modal__name { margin:2px 0 12px; color:var(--td-ink); font:300 23px/1.1 var(--td-serif); }
#blockcart-modal.td-cart-drawer .blockcart-modal__price { margin-bottom:12px; color:var(--td-ink); font:600 15px/1 var(--td-sans); }
#blockcart-modal.td-cart-drawer .blockcart-modal__property,
#blockcart-modal.td-cart-drawer .blockcart-modal__quantity { margin-top:5px; color:var(--td-stone); font-size:12px; }
#blockcart-modal.td-cart-drawer .blockcart-modal__summary { display:grid; gap:13px; padding:24px 28px; }
#blockcart-modal.td-cart-drawer .blockcart-modal__nb-products { margin-bottom:5px; color:var(--td-stone); font:600 9px/1.2 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
#blockcart-modal.td-cart-drawer .blockcart-modal__total { display:flex; justify-content:space-between; gap:20px; color:var(--td-ink); font-size:13px; }
#blockcart-modal.td-cart-drawer .blockcart-modal__total--bold { margin-top:4px; padding-top:17px; border-top:1px solid var(--td-border); font-size:16px; font-weight:600; }
#blockcart-modal.td-cart-drawer .modal-footer { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:20px 28px calc(20px + env(safe-area-inset-bottom)); border-top:1px solid var(--td-border); }
#blockcart-modal.td-cart-drawer .modal-footer .btn { display:inline-flex; min-height:50px; align-items:center; justify-content:center; border-radius:2px; font:600 9px/1.2 var(--td-sans); letter-spacing:.1em; text-transform:uppercase; }
#blockcart-modal.td-cart-drawer .modal-footer .btn-primary { grid-column:1/-1; grid-row:1; border-color:var(--td-aperol); background:var(--td-aperol); color:#fff; }
#blockcart-modal.td-cart-drawer .td-cart-drawer__continue { border:0; background:transparent; color:var(--td-stone); font:600 9px/1.2 var(--td-sans); letter-spacing:.08em; text-decoration:underline; text-underline-offset:3px; text-transform:uppercase; }
.td-free-shipping { display:grid; gap:13px; margin:0; padding:20px; border-bottom:1px solid var(--td-border); background:rgba(217,174,78,.08); }
.td-free-shipping__copy { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:10px; }
.td-free-shipping__copy>span { display:grid; width:28px; height:28px; place-items:center; border:1px solid var(--td-gold); border-radius:50%; color:var(--td-ink); font-size:13px; }
.td-free-shipping__copy p { display:grid; gap:3px; margin:0; }
.td-free-shipping__copy strong { color:var(--td-ink); font:600 10px/1.25 var(--td-sans); letter-spacing:.08em; text-transform:uppercase; }
.td-free-shipping__copy small { color:var(--td-stone); font-size:11px; line-height:1.4; }
.td-free-shipping__track { height:3px; overflow:hidden; background:var(--td-border); }
.td-free-shipping__track span { display:block; height:100%; background:var(--td-gold); transition:width .3s ease; }
.td-free-shipping.is-achieved { background:rgba(95,123,88,.09); }
.td-free-shipping.is-achieved .td-free-shipping__copy>span { border-color:#5f7b58; background:#5f7b58; color:#fff; }
.td-free-shipping.is-achieved .td-free-shipping__track span { background:#5f7b58; }
.page-cart .cart-summary>.td-free-shipping { margin-bottom:18px; border:1px solid var(--td-border); }
.page-order .td-free-shipping { border-bottom:1px solid var(--td-border); }

@media(max-width:520px) {
  #blockcart-modal.td-cart-drawer .modal-header { padding:22px 66px 19px 20px; }
  #blockcart-modal.td-cart-drawer .btn-close { top:18px; right:20px; }
  #blockcart-modal.td-cart-drawer .blockcart-modal__title { font-size:27px; }
  #blockcart-modal.td-cart-drawer .blockcart-modal__product,
  #blockcart-modal.td-cart-drawer .blockcart-modal__summary { padding:20px; }
  #blockcart-modal.td-cart-drawer .modal-footer { padding:16px 20px calc(16px + env(safe-area-inset-bottom)); }
}

/* One-page checkout — native PrestaShop 9 flow, presented as one compact page. */
.page-order .td-opc { padding-top:38px; padding-bottom:72px; }
.page-order .td-opc__intro { max-width:760px; margin:0 0 28px; }
.page-order .td-opc__eyebrow {
  margin:0 0 12px;
  color:var(--td-aperol);
  font:600 10px/1 var(--td-sans);
  letter-spacing:.3em;
  text-transform:uppercase;
}
.page-order .td-opc__intro h1 {
  margin:0;
  color:var(--td-ink);
  font:300 clamp(42px,5vw,66px)/.95 var(--td-serif);
  letter-spacing:-.035em;
}
.page-order .td-opc__intro>p:last-child {
  max-width:540px;
  margin:13px 0 0;
  color:var(--td-stone);
  font:400 15px/1.65 var(--td-sans);
}
.page-order .td-opc .checkout-grid { align-items:flex-start; --bs-gutter-x:30px; }
.page-order .td-opc .tab-content { display:grid; gap:10px; }
.page-order .td-opc .step {
  display:block!important;
  position:relative;
  height:auto!important;
  overflow:visible;
  margin:0;
  padding:0;
  border:1px solid var(--td-border);
  border-radius:2px;
  background:#fff;
  opacity:1!important;
  visibility:visible!important;
}
.page-order .td-opc .step__title {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  min-height:66px;
  gap:12px;
  padding:12px 18px;
  border-bottom:1px solid var(--td-border);
}
.page-order .td-opc__number {
  display:inline-flex;
  width:36px;
  height:36px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--td-border);
  border-radius:50%;
  color:var(--td-stone);
  font:600 10px/1 var(--td-sans);
  letter-spacing:.1em;
}
.page-order .td-opc .step--current .td-opc__number {
  border-color:var(--td-aperol);
  background:var(--td-aperol);
  color:#fff;
}
.page-order .td-opc .step--complete .td-opc__number {
  border-color:var(--td-ink);
  background:var(--td-ink);
  color:#fff;
}
.page-order .td-opc .step .page-title-section {
  margin:0;
  color:var(--td-ink);
  font:300 24px/1.1 var(--td-serif);
  letter-spacing:-.015em;
}
.page-order .td-opc__status,.page-order .td-opc__locked {
  color:var(--td-stone);
  font:600 9px/1.3 var(--td-sans);
  letter-spacing:.14em;
  text-align:right;
  text-transform:uppercase;
}
.page-order .td-opc__status--current { color:var(--td-aperol); }
.page-order .td-opc .step__content { padding:20px 18px 22px; }
.page-order .td-opc .step--unreachable { background:rgba(255,255,255,.4); }
.page-order .td-opc .step--unreachable .step__title { border:0; }
.page-order .td-opc .step--unreachable .page-title-section,
.page-order .td-opc .step--unreachable .td-opc__number { color:var(--td-stone); }
.page-order .td-opc .step--complete:not(.step--current) .step__content { padding-top:18px; }
.page-order .td-opc .js-back { display:none!important; }
.page-order .td-opc .form-footer { margin-top:16px; }
.page-order .td-opc .mb-3 { margin-bottom:12px!important; }
.page-order .td-opc .js-customer-form>section {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:14px;
}
.page-order .td-opc .js-customer-form>section>.mb-3:has(#field-email),
.page-order .td-opc .js-customer-form>section>.mb-3:has(.password-field),
.page-order .td-opc .js-customer-form>section>.mb-3:has(.form-check),
.page-order .td-opc .js-customer-form>section>[data-ps-ref='password-field'] { grid-column:1/-1; }
.page-order .td-opc .js-customer-form .form-text { display:none; }
.page-order .td-opc #delivery-address .form-fields,
.page-order .td-opc #invoice-address .form-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:14px;
}
.page-order .td-opc #delivery-address .form-fields>.mb-3:has(#field-address1),
.page-order .td-opc #delivery-address .form-fields>.mb-3:has(#field-address2),
.page-order .td-opc #delivery-address .form-fields>.mb-3:has(#field-id_country),
.page-order .td-opc #delivery-address .form-fields>.mb-3:has(#field-phone),
.page-order .td-opc #delivery-address .form-fields>.form-check,
.page-order .td-opc #invoice-address .form-fields>.mb-3:has(#field-address1),
.page-order .td-opc #invoice-address .form-fields>.mb-3:has(#field-address2),
.page-order .td-opc #invoice-address .form-fields>.mb-3:has(#field-id_country),
.page-order .td-opc #invoice-address .form-fields>.mb-3:has(#field-phone) { grid-column:1/-1; }
.page-order .td-opc .form-label { margin-bottom:5px; color:var(--td-ink); font-size:12px; }
.page-order .td-opc .form-control,.page-order .td-opc .form-select { min-height:46px; }
.page-order .td-opc-privacy {
  margin-top:18px;
  padding:16px 18px;
  border:1px solid var(--td-border);
  border-bottom:0;
  background:rgba(217,174,78,.07);
}
.page-order .td-opc-privacy h3 { margin:0 0 7px; color:var(--td-ink); font:600 10px/1 var(--td-sans); letter-spacing:.18em; text-transform:uppercase; }
.page-order .td-opc-privacy p { margin:0; color:var(--td-stone); font-size:12px; line-height:1.55; }
.page-order .td-opc-privacy a,.page-order .td-opc-consent a { color:var(--td-ink); text-decoration:underline; text-underline-offset:2px; }
.page-order .td-opc-consent { margin:0; padding:15px 18px; border:1px solid var(--td-border); background:#fff; }
.page-order .td-opc-consent .form-check { min-height:22px; margin:0; }
.page-order .td-opc-consent .form-check-label { color:var(--td-ink); font-size:13px; line-height:1.45; }
.page-order .td-opc .form-footer .btn-primary,
.page-order .td-opc .continue,
.page-order .td-opc #payment-confirmation button {
  min-height:52px;
  border:1px solid var(--td-aperol)!important;
  border-radius:2px!important;
  background:var(--td-aperol)!important;
  color:#fff!important;
  box-shadow:none!important;
  font:600 10px/1 var(--td-sans)!important;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.page-order .td-opc .form-footer .btn-primary:hover,
.page-order .td-opc .continue:hover,
.page-order .td-opc #payment-confirmation button:hover { border-color:var(--td-ink)!important; background:var(--td-ink)!important; }
.page-order .td-opc .delivery-option,
.page-order .td-opc .payment-option { border-color:var(--td-border); border-radius:2px; }
.page-order .td-opc .checkout-grid__aside-wrapper { top:88px; }

@media(max-width:991px) {
  .page-order .td-opc { padding-top:34px; padding-bottom:64px; }
  .page-order .td-opc__intro { margin-bottom:26px; }
  .page-order .td-opc .checkout-grid { --bs-gutter-x:24px; }
  .page-order .td-opc .checkout-grid__aside { margin:34px auto 0!important; }
}
@media(max-width:700px) {
  .page-order .td-opc { padding:25px 14px 48px; }
  .page-order .td-opc__intro { margin-bottom:22px; }
  .page-order .td-opc__intro h1 { font-size:44px; }
  .page-order .td-opc__intro>p:last-child { margin-top:15px; font-size:14px; }
  .page-order .td-opc .tab-content { gap:8px; }
  .page-order .td-opc .step__title {
    grid-template-columns:38px minmax(0,1fr);
    min-height:62px;
    gap:10px;
    padding:11px 13px;
  }
  .page-order .td-opc__number { width:34px; height:34px; }
  .page-order .td-opc .step .page-title-section { font-size:22px; }
  .page-order .td-opc__status,.page-order .td-opc__locked {
    grid-column:2;
    margin-top:-7px;
    text-align:left;
  }
  .page-order .td-opc .step__content { padding:17px 13px 20px; }
  .page-order .td-opc .js-customer-form>section { grid-template-columns:1fr; }
  .page-order .td-opc .js-customer-form>section>* { grid-column:1!important; }
  .page-order .td-opc #delivery-address .form-fields,
  .page-order .td-opc #invoice-address .form-fields { grid-template-columns:1fr; }
  .page-order .td-opc #delivery-address .form-fields>*,
  .page-order .td-opc #invoice-address .form-fields>* { grid-column:1!important; }
  .page-order .td-opc-privacy,.page-order .td-opc-consent { padding:14px; }
  .page-order .td-opc .form-footer .btn-primary,
  .page-order .td-opc .continue,
  .page-order .td-opc #payment-confirmation button { width:100%; }
}

/* Terrasdienst desktop and mobile navigation */
.td-main-nav { flex:1; align-items:center; justify-content:center; gap:25px; }
.td-main-nav>a,.td-main-nav__service>button { padding:30px 0; border:0; background:transparent; color:var(--td-ink); font:500 11px/1 var(--td-sans); letter-spacing:.15em; text-transform:uppercase; }
.td-main-nav>a:hover,.td-main-nav__service a:hover,.td-main-nav__service>button:hover { color:var(--td-aperol); }
.td-main-nav__service { position:relative; }
.td-main-nav__service>button { display:flex; align-items:center; gap:2px; }
.td-main-nav__service>button i { font-size:18px; }
.td-main-nav__service>div { position:absolute; z-index:80; top:calc(100% - 12px); left:50%; min-width:210px; padding:10px 0; transform:translate(-50%,8px); visibility:hidden; opacity:0; background:var(--td-cream); border:.5px solid var(--td-border); box-shadow:var(--shadow-md); transition:.2s ease; }
.td-main-nav__service:hover>div,.td-main-nav__service:focus-within>div { visibility:visible; opacity:1; transform:translate(-50%,0); }
.td-main-nav__service>div a { display:block; padding:11px 18px; color:var(--td-ink); font-size:12px; }
.td-mobile-menu { order:-1; position:static; }
.td-mobile-menu summary { display:flex; align-items:center; cursor:pointer; list-style:none; }
.td-mobile-menu summary::-webkit-details-marker { display:none; }
.td-mobile-menu summary i { font-size:24px; }
.td-mobile-menu nav { position:absolute; z-index:100; top:100%; left:0; right:0; padding:15px 22px 24px; display:grid; background:var(--td-paper); border-top:.5px solid var(--td-border); border-bottom:.5px solid var(--td-border); box-shadow:var(--shadow-md); }
.td-mobile-menu nav a { padding:13px 0; border-bottom:.5px solid var(--td-border); color:var(--td-ink); font:500 12px/1 var(--td-sans); letter-spacing:.15em; text-transform:uppercase; }
.header-bottom__row { position:relative; }

/* Legal CMS pages */
.page-cms .wrapper { padding-block:0; }
.td-legal { width:min(calc(100% - 48px),900px); margin:0 auto; padding:100px 0 110px; color:var(--td-ink); font-family:var(--td-sans); }
.td-legal header { margin-bottom:64px; text-align:center; }
.td-legal header>p { margin:0; color:var(--td-aperol); font:600 11px/1 var(--td-sans); letter-spacing:.38em; text-transform:uppercase; }
.td-legal h1 { margin:18px 0 0; font:300 clamp(48px,7vw,82px)/.98 var(--td-serif); }
.td-legal__content { color:#4f493f; font-size:15px; line-height:1.75; }
.td-legal__content h2 { margin:48px 0 16px; color:var(--td-ink); font:300 32px/1.1 var(--td-serif); }
.td-legal__content h3 { margin:28px 0 12px; color:var(--td-ink); font:500 17px/1.3 var(--td-sans); }
.td-legal__content ul { padding-left:22px; }
.td-legal__content a { color:var(--td-aperol); }
@media(max-width:700px) { .td-legal { padding:64px 0 72px; } .td-legal header { margin-bottom:42px; } .td-legal h1 { font-size:48px; } .td-legal__content h2 { font-size:28px; } }

/* Refined shop chrome */
.header-bottom { position:sticky; top:0; z-index:1000; background:rgba(251,248,242,.97); border-bottom:1px solid var(--td-border); backdrop-filter:blur(12px); }
.header-bottom__container { min-height:76px; }
.header-bottom__logo img { max-height:34px; }
.td-header-actions { align-items:center; gap:8px; }
.td-header-actions a { position:relative; display:grid; place-items:center; width:39px; height:39px; color:var(--td-ink); border:1px solid transparent; border-radius:50%; }
.td-header-actions a:hover { color:var(--td-aperol); border-color:var(--td-border); }
.td-header-actions svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.td-header-actions span { position:absolute; top:0; right:-1px; display:grid; place-items:center; min-width:16px; height:16px; padding:0 4px; border-radius:9px; background:var(--td-aperol); color:#fff; font:600 9px/1 var(--td-sans); }

/* Terrasdienst footer */
.td-footer { padding:0!important; background:var(--td-ink); }
.td-footer__lead { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; padding:78px 0 64px; border-bottom:1px solid rgba(245,240,232,.15); }
.td-footer__eyebrow { margin:0 0 16px; color:var(--td-gold)!important; font:600 10px/1 var(--td-sans); letter-spacing:.35em; text-transform:uppercase; }
.td-footer h2 { margin:0; color:var(--td-cream); font:300 clamp(38px,4vw,58px)/1.02 var(--td-serif); }
.td-footer form label { display:block; margin-bottom:14px; color:rgba(245,240,232,.6); font:600 10px/1 var(--td-sans); letter-spacing:.22em; text-transform:uppercase; }
.td-footer form>div { display:flex; border-bottom:1px solid rgba(245,240,232,.55); }
.td-footer input { flex:1; min-width:0; padding:14px 0; border:0; outline:0; background:transparent; color:var(--td-cream); font:300 21px/1 var(--td-serif); }
.td-footer input::placeholder { color:rgba(245,240,232,.35); }
.td-footer button { padding:12px 0 12px 18px; border:0; background:transparent; color:var(--td-gold); font:600 10px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.td-footer__consent { display:flex!important; align-items:flex-start; gap:10px; margin-top:14px!important; color:rgba(245,240,232,.55)!important; font:400 11px/1.5 var(--td-sans)!important; letter-spacing:0!important; text-transform:none!important; }
.td-footer__consent input { flex:0 0 auto; width:15px; height:15px; margin-top:2px; accent-color:var(--td-aperol); }
.td-footer__consent a { color:var(--td-cream); text-decoration:underline; }
.td-newsletter-engine { display:none!important; }
.td-footer__links { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; padding:58px 0; }
.td-footer__brand p { max-width:330px; margin:0; color:rgba(245,240,232,.7); font:300 18px/1.5 var(--td-serif); }
.td-footer__brand em { display:block; margin-top:20px; color:var(--td-gold); font:italic 300 15px/1 var(--td-serif); }
.td-footer nav { display:flex; flex-direction:column; gap:12px; }
.td-footer nav b { margin-bottom:8px; color:var(--td-cream); font:600 10px/1 var(--td-sans); letter-spacing:.2em; text-transform:uppercase; }
.td-footer nav a { color:rgba(245,240,232,.65); font-size:13px; }
.td-footer nav a:hover { color:var(--td-gold); }
.td-footer__bottom { display:flex; justify-content:space-between; padding:24px 0 30px; border-top:1px solid rgba(245,240,232,.15); color:rgba(245,240,232,.42); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }

/* Editorial product detail */
.page-product .wrapper { padding:0; background:var(--td-paper); }
.page-product .wrapper>.container { max-width:1240px; padding:34px 28px 96px; }
.page-product .breadcrumb { margin-bottom:26px; }
.page-product .product__container { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr); gap:72px; align-items:start; }
.page-product .product__left { min-width:0; background:#f0ebe2; }
.page-product .product__right { position:sticky; top:104px; padding:34px 0 20px; }
.td-product-eyebrow { margin:0 0 18px; color:var(--td-aperol); font:600 10px/1 var(--td-sans); letter-spacing:.34em; text-transform:uppercase; }
.page-product .product__name { margin:0; color:var(--td-ink); font:300 clamp(46px,5vw,72px)/.94 var(--td-serif); letter-spacing:-.025em; text-transform:none; }
.td-product-tagline { margin:17px 0 28px; color:var(--td-stone); font:italic 300 20px/1.35 var(--td-serif); }
.td-product-reviews:empty { display:none; }
.td-product-reviews .product-comments-additional-info { display:flex; align-items:center; gap:14px; margin:-12px 0 22px; }
.td-product-reviews .grade-stars { margin:0; }
.td-product-reviews .additional-links { display:flex; gap:12px; }
.td-product-reviews .link-comment,.td-product-reviews .btn-comment { color:var(--td-stone); font:600 10px/1.3 var(--td-sans); letter-spacing:.08em; text-transform:uppercase; }
.page-product .product__prices { margin:0 0 10px; }
.page-product .product__price { color:var(--td-ink); font:500 25px/1 var(--td-sans); }
.td-product-shipping { display:flex; gap:20px; margin-bottom:28px; color:var(--td-stone); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.td-product-shipping span+span { padding-left:20px; border-left:1px solid var(--td-border); }
.page-product .product__description-short { margin:0 0 26px; color:#5f584e; font-size:14px; line-height:1.7; }
.page-product .product__variants-item { margin-bottom:24px; }
.page-product .product__variants-item label,.page-product .control-label { color:var(--td-ink); font:600 10px/1 var(--td-sans); letter-spacing:.18em; text-transform:uppercase; }
.page-product .product__add-to-cart-button { min-height:54px; border-radius:3px; background:var(--td-aperol); font:600 11px/1 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.td-purchase-assurance { display:grid; margin-top:18px; border:1px solid var(--td-border); background:rgba(255,255,255,.45); }
.td-purchase-assurance>div { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid var(--td-border); }
.td-purchase-assurance>div:last-child { border-bottom:0; }
.td-purchase-assurance>div>span { color:var(--td-aperol); font:500 9px/1 var(--td-sans); letter-spacing:.12em; }
.td-purchase-assurance p { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0; }
.td-purchase-assurance strong { color:var(--td-ink); font:600 10px/1.3 var(--td-sans); letter-spacing:.08em; text-transform:uppercase; }
.td-purchase-assurance small { color:var(--td-stone); font-size:11px; text-align:right; }
.td-mobile-buybar { display:none; }
.page-product .product__additional-info .social-sharing { display:none; }
.td-product-usps { display:grid; grid-template-columns:repeat(3,1fr); margin:72px 0 0; border-block:1px solid var(--td-border); }
.td-product-usps>div { display:flex; gap:18px; padding:26px 28px; border-right:1px solid var(--td-border); }
.td-product-usps>div:last-child { border-right:0; }
.td-product-usps b { color:var(--td-aperol); font:300 29px/1 var(--td-serif); }
.td-product-usps span { display:flex; flex-direction:column; gap:5px; color:var(--td-stone); font-size:12px; }
.td-product-usps strong { color:var(--td-ink); font-size:11px; letter-spacing:.11em; text-transform:uppercase; }
.page-product .product__bottom { margin-top:56px; }
.page-product .accordion-button { background:transparent; font-family:var(--td-serif); font-size:20px; font-weight:300; }

/* Cohesive components: product information, controls and feedback */
.page-product .product__accordion { border-top:1px solid var(--td-border); }
.page-product .accordion-item { border:0; border-bottom:1px solid var(--td-border); background:transparent; }
.page-product .accordion-header { margin:0; }
.page-product .accordion-button,.page-product .accordion-button:not(.collapsed) { min-height:78px; padding:22px 52px 22px 0; border:0; border-radius:0; box-shadow:none; background:transparent; color:var(--td-ink); font:300 27px/1.15 var(--td-serif); }
.page-product .accordion-button::after { position:absolute; right:4px; width:auto; height:auto; margin:0; background:none; color:var(--td-aperol); content:'+'; font:300 31px/1 var(--td-serif); transform:none; }
.page-product .accordion-button:not(.collapsed)::after { content:'–'; transform:none; }
.page-product .accordion-body { padding:2px 0 30px; background:transparent; color:#5f584e; }
.td-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-bottom:24px; background:var(--td-border); border:1px solid var(--td-border); }
.td-info-grid>div { display:flex; flex-direction:column; gap:7px; padding:19px 20px; background:var(--td-cream); }
.td-info-grid span { color:var(--td-stone); font:600 9px/1 var(--td-sans); letter-spacing:.18em; text-transform:uppercase; }
.td-info-grid strong { color:var(--td-ink); font:400 15px/1.3 var(--td-sans); }
.td-care-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 28px; margin:0 0 24px; padding:0; list-style:none; }
.td-care-list li { position:relative; padding-left:20px; font-size:14px; }
.td-care-list li::before { position:absolute; left:0; color:var(--td-aperol); content:'—'; }
.td-supplier-note { max-width:720px; margin:-4px 0 24px; color:var(--td-stone); font-size:12px; line-height:1.65; }
.td-info-link { display:inline-block; padding-bottom:3px; border-bottom:1px solid currentColor; color:var(--td-aperol); font:600 10px/1.4 var(--td-sans); letter-spacing:.14em; text-transform:uppercase; }
.td-info-link:hover { color:var(--td-aperol-deep); }

.page-product .form-select { min-height:50px; padding:12px 42px 12px 15px; border:1px solid rgba(26,26,24,.25); border-radius:3px; background-color:#fff; color:var(--td-ink); font-size:14px; box-shadow:none; }
.page-product .form-select:focus,.form-control:focus { border-color:var(--td-aperol); box-shadow:0 0 0 1px var(--td-aperol); }
.page-product .quantity-button__group { height:54px; border:1px solid rgba(26,26,24,.25); border-radius:3px; overflow:hidden; background:#fff; }
.page-product .quantity-button__group .btn,.page-product .quantity-button__group .form-control { border:0; border-radius:0; background:#fff; color:var(--td-ink); box-shadow:none; }
.page-product .quantity-button__group .btn:hover { background:var(--td-cream); color:var(--td-aperol); }
.btn-outline-primary { border-color:var(--td-ink); border-radius:3px; color:var(--td-ink); }
.btn-outline-primary:hover { border-color:var(--td-aperol); background:var(--td-aperol); color:#fff; }
.modal-content { border:0; border-radius:3px; background:var(--td-paper); box-shadow:0 24px 70px rgba(26,26,24,.22); }
.modal-header { border-bottom:1px solid var(--td-border); }
.modal-title { color:var(--td-ink); font:300 30px/1.1 var(--td-serif); }
.alert { border:0; border-left:3px solid var(--td-aperol); border-radius:2px; background:var(--td-cream); color:var(--td-ink); }
.toast { border:0; border-radius:3px; box-shadow:0 16px 45px rgba(26,26,24,.18); }
.card { border:1px solid var(--td-border); border-radius:3px; box-shadow:none; }
.pagination .page-link { border-color:var(--td-border); background:var(--td-paper); color:var(--td-ink); }
.pagination .active .page-link { border-color:var(--td-aperol); background:var(--td-aperol); color:#fff; }
.nav-tabs { border-color:var(--td-border); }
.nav-tabs .nav-link { border:0; border-bottom:2px solid transparent; color:var(--td-stone); }
.nav-tabs .nav-link.active { border-bottom-color:var(--td-aperol); background:transparent; color:var(--td-ink); }
.page-product .product__bottom { display:block; }
.page-product .product__bottom-left { width:min(100%,760px); }
.page-product .product__bottom-right:empty { display:none; }
.page-product .product-comments-wrapper:has(#empty-product-comment) { display:none; }
.page-product .ps-categoryproducts { margin-top:72px; padding-top:64px; border-top:1px solid var(--td-border); }
.page-product .ps-categoryproducts .section-title { margin-bottom:30px; color:var(--td-ink); font:300 clamp(34px,4vw,50px)/1.05 var(--td-serif); text-align:left; }
.page-product .product-miniature__title { text-transform:none; }

@media(max-width:900px) {
  .page-product .product__container { grid-template-columns:1fr; gap:20px; }
  .page-product .product__right { position:static; padding-top:22px; }
  .td-product-usps { grid-template-columns:1fr; margin-top:44px; }
  .td-product-usps>div { border-right:0; border-bottom:1px solid var(--td-border); }
  .td-product-usps>div:last-child { border-bottom:0; }
  .td-footer__lead { grid-template-columns:1fr; gap:42px; }
  .td-footer__links { grid-template-columns:2fr 1fr 1fr; }
  .td-footer__brand { grid-column:1/-1; }
}
@media(max-width:600px) {
  .page-product .wrapper>.container { padding:18px 18px 64px; }
  .page-product .product__name { font-size:47px; }
  .page-product .product__actions-qty-add { align-items:stretch; }
  .td-footer__lead { padding:58px 0 48px; }
  .td-footer__links { grid-template-columns:1fr 1fr; gap:40px 24px; }
  .td-footer__brand { grid-column:1/-1; }
  .td-footer__bottom { display:grid; gap:10px; }
  .td-info-grid,.td-care-list { grid-template-columns:1fr; }
  .page-product .accordion-button,.page-product .accordion-button:not(.collapsed) { min-height:68px; font-size:23px; }
  .td-purchase-assurance p { display:grid; gap:3px; }
  .td-purchase-assurance small { text-align:left; }
}

/* Final mobile overrides — intentionally last in the brand layer. */
@media(max-width:767px) {
  .page-shop .products,.page-category .products { grid-template-columns:1fr!important; }
  .page-product .product__container { display:block!important; }
  .page-product .product__left { margin-inline:-18px; }
  .page-product .product__actions-qty-add { display:grid; grid-template-columns:94px minmax(0,1fr); gap:8px; }
  .page-product .product__add-to-cart-button { width:100%; padding-inline:10px; }
  .td-size-chips { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .td-size-chip { width:100%!important; min-width:0!important; }
  .page-cart .cart-grid,.page-order .checkout-grid { display:block; margin-inline:0; }
  .page-cart .cart-grid__content,.page-cart .cart-grid__aside,.page-order .checkout-grid__content,.page-order .checkout-grid__aside { width:100%; padding-inline:0; }
  .page-cart .cart-grid__aside,.page-order .checkout-grid__aside { margin-top:42px; }
  .page-order .checkout-grid__aside-wrapper { position:static; }
  .td-footer__lead { grid-template-columns:1fr; }
  .td-mobile-buybar {
    position:fixed;
    z-index:1025;
    right:0;
    bottom:0;
    left:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:11px 16px calc(11px + env(safe-area-inset-bottom));
    border-top:1px solid var(--td-border);
    background:rgba(248,244,237,.97);
    box-shadow:0 -10px 30px rgba(26,26,24,.1);
    pointer-events:none;
    transform:translateY(120%);
    transition:transform .25s ease;
    visibility:hidden;
  }
  .td-mobile-buybar.is-visible { pointer-events:auto; transform:translateY(0); visibility:visible; }
  .td-mobile-buybar>div { display:grid; gap:3px; }
  .td-mobile-buybar small { overflow:hidden; color:var(--td-stone); font:600 9px/1.1 var(--td-sans); letter-spacing:.1em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
  .td-mobile-buybar strong { color:var(--td-ink); font:600 16px/1 var(--td-sans); }
  .td-mobile-buybar button { min-width:132px; min-height:48px; border:0; border-radius:2px; background:var(--td-aperol); color:#fff; font:600 10px/1 var(--td-sans); letter-spacing:.12em; text-transform:uppercase; }
}
@media(max-width:420px) {
  .header-bottom__logo img { width:145px; }
  .td-footer__links { grid-template-columns:1fr; }
  .page-product .product__actions-qty-add { grid-template-columns:84px minmax(0,1fr); }
  .page-product .product__accessories .products,.page-product .ps-categoryproducts .products { grid-template-columns:1fr; }
}

/* Public-site design-system pass: editorial consistency and accessible UI. */
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:2px solid var(--td-aperol);
  outline-offset:3px;
}
::selection { background:var(--td-gold); color:var(--td-ink); }

/* Legal pages use the same centered editorial opening as the service pages. */
.td-legal { width:min(calc(100% - 48px),820px); }
.td-legal>p:first-child {
  margin:0;
  color:var(--td-aperol);
  font:600 11px/1 var(--td-sans);
  letter-spacing:.38em;
  text-align:center;
  text-transform:uppercase;
}
.td-legal>h1 {
  max-width:780px;
  margin:22px auto 52px;
  color:var(--td-ink);
  text-align:center;
  text-wrap:balance;
}
.td-legal__content {
  padding-top:34px;
  border-top:1px solid var(--td-border);
}
.td-legal__content>p:first-child {
  margin:0 0 46px;
  color:var(--td-stone);
  font-size:11px;
  font-style:normal;
  font-weight:600;
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
}
.td-legal__content hr { display:none; }
.td-legal__content h2 {
  padding-top:8px;
  text-wrap:balance;
}
.td-legal__content h2:not(:first-of-type) {
  padding-top:44px;
  border-top:1px solid var(--td-border);
}
.td-legal__content h3 { letter-spacing:.01em; }
.td-legal__content p,.td-legal__content li { max-width:72ch; }
.td-legal__content li+li { margin-top:8px; }
.td-legal__content p strong,.td-legal__content li strong { color:var(--td-ink); font-weight:600; }

/* Replace the final pieces of default PrestaShop chrome in listings. */
.page-shop .products__selection,.page-category .products__selection {
  align-items:center;
  margin:0 0 30px;
  padding:18px 0;
  border-block:1px solid var(--td-border);
}
.page-shop .products__count,.page-category .products__count {
  color:var(--td-stone);
  font-size:12px;
  letter-spacing:.04em;
}
.page-shop .products__sort-dropdown-button,.page-category .products__sort-dropdown-button {
  min-width:190px;
  min-height:46px;
  padding:12px 42px 12px 16px;
  border:1px solid var(--td-border);
  border-radius:3px;
  background:var(--td-cream);
  color:var(--td-ink);
  box-shadow:none;
  font:500 11px/1 var(--td-sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.page-shop .products__sort-dropdown-button:hover,.page-category .products__sort-dropdown-button:hover {
  border-color:rgba(26,26,24,.32);
  background:var(--td-cream);
  color:var(--td-aperol);
}
.product-flags .badge.new {
  padding:8px 10px!important;
  border:0!important;
  border-radius:2px!important;
  background:var(--td-aperol)!important;
  color:#fff!important;
  font:600 9px/1 var(--td-sans)!important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-flags .td-product-flag {
  display:inline-flex;
  align-items:center;
  padding:8px 10px;
  border:0;
  border-radius:2px;
  background:var(--td-aperol);
  color:#fff;
  font:600 9px/1 var(--td-sans);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-miniature .product-flags { z-index:4; }
.page-shop .product-miniature .product-flags .badge.new,
.page-category .product-miniature .product-flags .badge.new,
.page-index .product-miniature .product-flags .badge.new {
  background-color:#d4602a!important;
  background-image:none!important;
}
.product-miniature__quickview-button {
  border:1px solid var(--td-border);
  background:rgba(251,248,242,.94);
  color:var(--td-ink);
  box-shadow:0 8px 28px rgba(26,26,24,.08);
}
.product-miniature__quickview-button:hover { background:var(--td-ink); color:var(--td-cream); }

/* Current-section cue without adding visual noise to the header. */
.page-shop .td-main-nav>a[href="/shop"],
.cms-id-4 .td-main-nav>a[href="/content/4-over-ons"],
.cms-id-6 .td-main-nav>a[href="/content/6-maattabel"],
.page-contact .td-main-nav>a[href="/contact-opnemen"],
.cms-id-7 .td-main-nav__service>button,
.cms-id-8 .td-main-nav__service>button,
.cms-id-9 .td-main-nav__service>button { color:var(--td-aperol); }

@media(max-width:700px) {
  .td-legal { width:calc(100% - 36px); padding-top:68px; }
  .td-legal>p:first-child { font-size:10px; letter-spacing:.3em; }
  .td-legal>h1 { margin-top:18px; margin-bottom:38px; font-size:clamp(44px,13vw,56px); }
  .td-legal__content { padding-top:26px; }
  .td-legal__content>p:first-child { margin-bottom:34px; line-height:1.5; }
  .td-legal__content h2 { margin-top:38px; font-size:30px; }
  .td-legal__content h2:not(:first-of-type) { padding-top:34px; }
  .td-legal__content ul,.td-legal__content ol { padding-left:20px; }

  .page-shop .products__selection,.page-category .products__selection {
    display:grid;
    gap:13px;
    padding:18px 0 22px;
  }
  .page-shop .products__sort,.page-category .products__sort,
  .page-shop .products__sort-dropdown,.page-category .products__sort-dropdown,
  .page-shop .products__sort-dropdown-button,.page-category .products__sort-dropdown-button { width:100%; }
  .page-shop .products__sort-dropdown-button,.page-category .products__sort-dropdown-button {
    min-height:50px;
    text-align:left;
  }
}

/* Final refinement: CMS closing CTAs, size table and checkout summary. */
.td-about-buttons,.td-size-buttons,.td-return-buttons {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:auto!important;
}
.td-about-buttons>.wp-block-button,
.td-size-buttons>.wp-block-button,
.td-return-buttons>.wp-block-button {
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
}
.td-about-buttons .wp-block-button__link,
.td-size-buttons .wp-block-button__link,
.td-return-buttons .wp-block-button__link {
  display:inline-flex!important;
  position:static!important;
  width:auto!important;
  min-width:174px;
  min-height:50px;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:15px 24px!important;
  line-height:1.2!important;
  white-space:nowrap;
}

.td-size-table-section.td-size-wrap,.td-size-table-section .td-size-wrap { max-width:1080px!important; }
.td-size-table-head { margin-bottom:24px!important; }
.td-size-table-head h2 { max-width:560px; text-wrap:balance; }
.td-size-chips { gap:7px!important; }
.td-size-chip {
  flex-basis:64px!important;
  width:64px!important;
  min-width:64px!important;
  height:44px!important;
  min-height:44px!important;
  font-size:11px!important;
}
.td-size-table th,.td-size-table td { padding-block:17px!important; }
.td-size-table tbody th { width:190px!important; }
.td-size-table tbody td { font-size:15px; }
.td-size-note { max-width:850px; margin-top:18px!important; }

.page-order .checkout__summary-accordion {
  overflow:hidden;
  border:1px solid var(--td-border);
  background:var(--td-cream);
  box-shadow:none;
}
.page-order .checkout__summary-accordion-header {
  padding:0 20px;
  border-bottom:1px solid var(--td-border);
}
.page-order .checkout__summary-accordion-header .accordion-button {
  min-height:58px;
  padding:14px 34px 14px 0;
  background:transparent;
  color:var(--td-ink);
  box-shadow:none;
  font:500 11px/1.2 var(--td-sans);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-order .cart-summary__top { padding:0; }
.page-order .cart-summary__products-number {
  padding:17px 20px;
  border-bottom:1px solid var(--td-border);
  color:var(--td-stone);
  font:600 10px/1 var(--td-sans);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.page-order .cart-summary__products-accordion {
  margin:0;
  border-bottom:1px solid var(--td-border);
}
.page-order .cart-summary__products-accordion .accordion-button {
  min-height:62px;
  padding:17px 48px 17px 20px;
  background:transparent;
  color:var(--td-ink);
  box-shadow:none;
  font:300 22px/1.1 var(--td-serif);
}
.page-order .cart-summary__products-accordion .accordion-button::after {
  position:absolute;
  right:20px;
  width:auto;
  height:auto;
  margin:0;
  background:none;
  color:var(--td-aperol);
  content:'+';
  font:300 26px/1 var(--td-serif);
  transform:none;
}
.page-order .cart-summary__products-accordion .accordion-button:not(.collapsed)::after { content:'–'; }
.page-order .cart-summary__subtotals { padding:13px 20px 10px; }
.page-order .cart-summary__line { padding:10px 0; }
.page-order .cart-summary__label { color:var(--td-ink); font-size:14px; font-weight:400; }
.page-order .cart-summary__value { color:var(--td-ink); font-size:15px; font-weight:600; }
.page-order .cart-summary__total {
  margin:0;
  padding:0 20px;
  border-top:1px solid var(--td-border);
  border-bottom:0;
}
.page-order .cart-summary__total .cart-summary__line { padding:18px 0; }
.page-order .cart-summary__total .cart-summary__label,
.page-order .cart-summary__total .cart-summary__value { font-size:16px; font-weight:600; }

@media(max-width:991px) {
  .page-order .checkout-grid__aside { max-width:600px; margin:42px auto 0!important; }
}
@media(max-width:900px) {
  .header-bottom .td-main-nav.d-md-flex { display:none!important; }
  .header-bottom .td-mobile-menu.d-md-none { display:block!important; }
}
@media(max-width:700px) {
  .td-about-buttons,.td-size-buttons,.td-return-buttons { display:grid!important; gap:10px!important; }
  .td-about-buttons>.wp-block-button,.td-size-buttons>.wp-block-button,.td-return-buttons>.wp-block-button,
  .td-about-buttons .wp-block-button__link,.td-size-buttons .wp-block-button__link,.td-return-buttons .wp-block-button__link { width:100%!important; }
  .td-size-table-section.td-size-wrap,.td-size-table-section .td-size-wrap { max-width:none!important; }
  .td-size-table th,.td-size-table td { padding-block:15px!important; }
  .page-order .checkout-grid__aside { max-width:none; }
  .page-order .checkout__summary-accordion-header { padding-inline:16px; }
  .page-order .cart-summary__products-number { padding-inline:16px; }
  .page-order .cart-summary__products-accordion .accordion-button { padding-inline:16px 44px; font-size:20px; }
  .page-order .cart-summary__products-accordion .accordion-button::after { right:16px; }
  .page-order .cart-summary__subtotals,.page-order .cart-summary__total { padding-inline:16px; }
}

/* Definitive responsive layer — phones, tablets and touch devices. */
@media(max-width:1024px) {
  .container,.container-md,.container-lg { max-width:100%; }
  .td-main-nav { gap:20px; }
  .page-product .product__container { gap:36px; }
  .td-footer__lead,.td-footer__links { column-gap:32px; }
}

@media(max-width:767px) {
  html,body { overflow-x:clip; }
  body { -webkit-text-size-adjust:100%; }
  #header { width:100%; }
  .header-bottom__container { padding-inline:12px; }
  .header-bottom__row { flex-wrap:nowrap; gap:2px; }
  .header-bottom__logo { justify-content:flex-start; }
  .header-bottom__logo a { width:142px; }
  .header-block__action-btn,.td-mobile-menu summary { min-width:40px; min-height:44px; }
  .td-mobile-menu[open] nav { position:fixed; z-index:1001; top:64px; right:0; left:0; max-height:calc(100dvh - 64px); background:var(--td-paper); box-shadow:0 18px 35px rgba(26,26,24,.12); }

  main,.wrapper,.page-content { min-width:0; }
  h1,h2,h3,p,a,button,label { overflow-wrap:anywhere; }
  .tds-hero h1,.td-shop-hero h1,.page-product .product__name { text-wrap:balance; }
  .tds-editorial .tds-wrap>p:nth-child(2),.tds-closing h2,.td-shop-close h2 { text-wrap:balance; }

  .page-shop .product-miniature__actions,.page-category .product-miniature__actions { display:block!important; margin-top:16px; }
  .page-shop .product-miniature__details,.page-category .product-miniature__details { width:100%; min-height:50px; }
  .page-shop .product-miniature__title,.page-category .product-miniature__title { min-height:0; font-size:24px; }
  .page-shop .product-miniature__bottom,.page-category .product-miniature__bottom { padding:18px; }
  .td-shop-close { padding:72px 18px; }

  .page-product .breadcrumb { overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
  .page-product .product__right { min-width:0; }
  .page-product .product__name { font-size:clamp(38px,12vw,48px); }
  .td-product-shipping { display:grid; gap:8px; }
  .td-product-shipping span+span { padding-left:0; border-left:0; }
  .td-size-guide-trigger { align-items:center; text-align:left; }
  .td-purchase-assurance p { min-width:0; }
  .page-product .product__accessories .products,.page-product .ps-categoryproducts .products { grid-template-columns:1fr; gap:10px; }
  .td-product-usps>div { padding:21px 16px; }
  .td-size-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); }
  .td-size-dialog__head { gap:12px; }
  .td-size-dialog__intro { font-size:13px; }

  .page-cart .cart-grid__products-details { min-width:0; }
  .page-cart .cart-detailed-product { align-items:start; }
  .page-cart .cart-detailed-product__right,.page-cart .cart-detailed-product__main { min-width:0; }
  .page-cart .cart-detailed-product__name { font-size:20px; line-height:1.15; }
  .page-cart .cart-detailed-product__actions { display:flex; flex-wrap:wrap; gap:8px; }
  .page-cart .quantity-button { max-width:150px; }
  .page-cart .cart-summary__line,.page-order .cart-summary__line { gap:12px; }
  .td-free-shipping { padding:17px 16px; }

  .page-order .td-opc { padding-inline:18px; }
  .page-order .td-opc .checkout-grid { --bs-gutter-x:0; }
  .page-order .td-opc .step { min-width:0; }
  .page-order .td-opc .step__content,.page-order .td-opc .step__content form { min-width:0; }
  .page-order .form-control,.page-order .form-select { width:100%; max-width:100%; }
  .page-order .delivery-option,.page-order .payment-option { min-width:0; }

  .td-about,.td-size,.td-return { width:100%!important; margin-inline:0!important; }
  .td-about-wrap,.td-size-wrap,.td-return-wrap,.td-return-faq { max-width:none!important; }
  .td-about-cover { min-height:68svh; }
  .td-size-table { overscroll-behavior-inline:contain; }

  .td-footer__lead,.td-footer__links { grid-template-columns:1fr!important; }
  .td-footer__lead { padding-inline:18px; }
  .td-footer form>div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .td-footer input { min-width:0; }
  .td-footer button { min-height:48px; padding-inline:14px; }
  .td-footer__bottom { align-items:start; }
}

@media(max-width:480px) {
  .header-bottom__logo a { width:128px; }
  .tds-hero h1 { font-size:clamp(50px,17vw,68px); }
  .tds-editorial .tds-wrap>p:nth-child(2) { font-size:clamp(31px,10vw,38px); }
  .tds-closing h2,.td-shop-close h2 { font-size:38px; }
  .td-shop-hero h1 { font-size:50px; }
  .page-product .product__actions-qty-add { grid-template-columns:76px minmax(0,1fr); }
  .page-product .product__add-to-cart-button { min-width:0; font-size:9px!important; letter-spacing:.06em!important; }
  .td-mobile-buybar { grid-template-columns:minmax(0,1fr) 118px; padding-inline:12px; }
  .td-mobile-buybar button { min-width:0; }
  #blockcart-modal.td-cart-drawer .modal-footer { grid-template-columns:1fr; }
  #blockcart-modal.td-cart-drawer .modal-footer .btn-primary { grid-column:1; }
  #blockcart-modal.td-cart-drawer .blockcart-modal__name { font-size:20px; }
  .page-cart .cart-detailed-product { grid-template-columns:76px minmax(0,1fr); gap:12px; }
  .page-cart .cart-detailed-product__image { width:76px; }
  .page-order .td-opc__intro h1 { font-size:44px; }
  .page-order .td-opc .step .page-title-section { font-size:21px; }
  .td-size-dialog__head h2 { font-size:34px; }
  .td-size-selector__chips { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .td-footer form>div { grid-template-columns:1fr; gap:8px; }
  .td-footer button { width:100%; }
}

/* The root remains the sticky scroll container. Responsive components prevent
   horizontal overflow without clipping body, which would disable sticky. */
html,
body { overflow-x:visible; }

/* SureCart-inspired checkout — Terrasdienst styling on the native PrestaShop flow. */
.page-order #header {
  position:relative;
  top:auto;
  z-index:20;
  border-bottom:1px solid var(--td-border);
  background:#fff;
  box-shadow:none;
}
.page-order .td-checkout-header {
  display:flex;
  width:min(100% - 48px,1220px);
  min-height:76px;
  margin-inline:auto;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}
.page-order .td-checkout-header__logo { display:flex; width:178px; align-items:center; }
.page-order .td-checkout-header__logo img { width:100%; height:auto; }
.page-order .td-checkout-header__actions { display:flex; align-items:center; gap:24px; }
.page-order .td-checkout-header__secure,
.page-order .td-checkout-header__back {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--td-stone);
  font:600 10px/1 var(--td-sans);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.page-order .td-checkout-header__secure i,
.page-order .td-checkout-header__back i { font-size:17px; }
.page-order .td-checkout-header__back { color:var(--td-ink); }
.page-order .td-checkout-header__back:hover { color:var(--td-aperol); }
.page-order .wrapper {
  background:linear-gradient(90deg,#fff 0 58%,#f2f0ec 58% 100%);
}
.page-order .td-opc.td-opc--surecart {
  width:min(100% - 48px,1220px);
  margin-inline:auto;
  padding:46px 0 72px;
}
.page-order .td-opc--surecart .td-opc__layout {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);
  gap:0 68px;
  align-items:stretch;
  margin:0;
}
.page-order .td-opc--surecart .td-opc__form-column,
.page-order .td-opc--surecart .td-opc__summary-column { width:auto; min-width:0; padding:0; align-self:stretch; }
.page-order .td-opc--surecart .td-opc__intro { max-width:620px; margin:0 0 32px; }
.page-order .td-opc--surecart .td-opc__intro h1 {
  font-size:clamp(40px,4vw,56px);
  line-height:1;
}
.page-order .td-opc--surecart .td-opc__intro>p:last-child { margin-top:12px; font-size:14px; }
.page-order .td-opc--surecart .tab-content { display:block; }
.page-order .td-opc--surecart .step {
  display:block!important;
  height:auto!important;
  margin:0;
  overflow:visible;
  border:0;
  border-top:1px solid var(--td-border);
  border-radius:0;
  background:transparent;
  opacity:1!important;
  visibility:visible!important;
}
.page-order .td-opc--surecart .step:last-child { border-bottom:1px solid var(--td-border); }
.page-order .td-opc--surecart .step__title {
  display:flex;
  min-height:72px;
  padding:20px 0;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:0;
}
.page-order .td-opc--surecart .td-opc__section-title { display:flex; min-width:0; align-items:center; gap:14px; }
.page-order .td-opc--surecart .td-opc__number {
  width:auto;
  height:auto;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  color:var(--td-aperol)!important;
  font-size:10px;
  letter-spacing:.16em;
}
.page-order .td-opc--surecart .step .page-title-section {
  font:400 24px/1.1 var(--td-serif);
}
.page-order .td-opc--surecart .td-opc__status {
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:var(--td-stone);
  white-space:nowrap;
}
.page-order .td-opc--surecart .td-opc__status i { color:var(--td-aperol); font-size:15px; }
.page-order .td-opc--surecart .step__content { padding:0 0 30px; }
.page-order .td-opc--surecart .step--unreachable .step__content { display:none; }
.page-order .td-opc--surecart .step--unreachable { background:transparent; }
.page-order .td-opc--surecart .step--unreachable .step__title { opacity:.55; }
.page-order .td-opc--surecart .nav-tabs { margin-bottom:22px; border-bottom:1px solid var(--td-border); }
.page-order .td-opc--surecart .nav-tabs .nav-link { padding:10px 0 12px; margin-right:24px; }
.page-order .td-opc--surecart .form-control,
.page-order .td-opc--surecart .form-select {
  min-height:50px;
  padding:12px 14px;
  border:1px solid rgba(26,26,24,.22);
  border-radius:3px;
  background:#fff;
  box-shadow:none;
}
.page-order .td-opc--surecart .form-control:focus,
.page-order .td-opc--surecart .form-select:focus {
  border-color:var(--td-aperol);
  box-shadow:0 0 0 3px rgba(219,95,35,.1);
}
.page-order .td-opc--surecart .form-label { margin-bottom:6px; font-size:12px; font-weight:600; }
.page-order .td-opc--surecart .form-check-input:checked {
  border-color:var(--td-aperol);
  background-color:var(--td-aperol);
}
.page-order .td-opc--surecart .address-selector { gap:12px; }
.page-order .td-opc--surecart .address-selector .address-item,
.page-order .td-opc--surecart .address-selector .address-selector-block {
  border-color:var(--td-border);
  border-radius:3px;
  box-shadow:none;
}
.page-order .td-opc--surecart .delivery-options { display:grid; gap:10px; }
.page-order .td-opc--surecart .delivery-option {
  min-height:72px;
  padding:14px 16px;
  border:1px solid var(--td-border);
  background:#fff;
}
.page-order .td-opc--surecart .delivery-option:has(input:checked) {
  border-color:var(--td-aperol);
  box-shadow:inset 3px 0 0 var(--td-aperol);
}
.page-order .td-opc--surecart .payment-options__list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.page-order .td-opc--surecart .payment-option {
  min-width:0;
  margin:0;
  padding:14px;
  border:1px solid var(--td-border);
  background:#fff;
}
.page-order .td-opc--surecart .payment-option:has(input:checked) {
  border-color:var(--td-aperol);
  box-shadow:inset 0 -3px 0 var(--td-aperol);
}
.page-order .td-opc--surecart .payment-option__form-check { min-height:42px; margin:0; align-items:center; }
.page-order .td-opc--surecart .payment-option__label { display:flex; min-width:0; align-items:center; gap:8px; font-size:13px; }
.page-order .td-opc--surecart .payment-option__label img { max-width:38px; max-height:28px; object-fit:contain; }
.page-order .td-opc--surecart .payment-option__additional-information,
.page-order .td-opc--surecart .js-payment-option-form { grid-column:1/-1; }
.page-order .td-opc--surecart .td-opc-privacy {
  margin-top:22px;
  padding:15px 17px;
  border:1px solid var(--td-border);
  border-bottom:0;
  background:#faf8f4;
}
.page-order .td-opc--surecart .td-opc-consent { padding:14px 17px; }
.page-order .td-opc--surecart #payment-confirmation { width:100%; }
.page-order .td-opc--surecart #payment-confirmation button {
  width:100%;
  min-height:58px;
  justify-content:center;
  font-size:11px!important;
}
.page-order .td-opc--surecart .checkout-grid__aside-wrapper {
  position:sticky;
  top:24px;
  height:fit-content;
  padding:0;
}
.page-order .td-opc--surecart .checkout__summary-accordion {
  overflow:hidden;
  border:0;
  border-radius:4px;
  background:#fff;
  box-shadow:0 12px 38px rgba(26,26,24,.06);
}
.page-order .td-opc--surecart .checkout__summary-accordion-header {
  display:block!important;
  padding:0 22px;
  border-bottom:1px solid var(--td-border);
}
.page-order .td-opc--surecart .checkout__summary-accordion-header .accordion-button {
  display:flex;
  min-height:66px;
  padding:18px 0;
  justify-content:space-between;
  gap:20px;
  pointer-events:none;
  font:600 11px/1.2 var(--td-sans);
}
.page-order .td-opc--surecart .checkout__summary-accordion-header .accordion-button strong {
  font-size:15px;
  letter-spacing:0;
}
.page-order .td-opc--surecart .checkout__summary-accordion-header .accordion-button::after { display:none; }
.page-order .td-opc--surecart #js-checkout-summary.collapse { display:block!important; }
.page-order .td-opc--surecart .cart-summary__products-number {
  padding:16px 22px 10px;
  border:0;
}
.page-order .td-opc--surecart .address-item--selected,
.page-order .td-opc--surecart .address-selector-block:has(input:checked),
.page-order .td-opc--surecart .address-card.selected {
  border-color:var(--td-aperol)!important;
  box-shadow:inset 3px 0 0 var(--td-aperol)!important;
  outline:0!important;
}
.page-order .td-opc--surecart .cart-summary__products-list { padding:0 22px 12px; }
.page-order .td-opc--surecart .cart-summary__product { padding:14px 0; border-bottom:1px solid var(--td-border); }
.page-order .td-opc--surecart .cart-summary-product { display:grid; grid-template-columns:72px minmax(0,1fr); gap:14px; }
.page-order .td-opc--surecart .cart-summary-product__image {
  width:72px;
  height:88px;
  overflow:hidden;
  border-radius:2px;
  background:var(--td-paper);
}
.page-order .td-opc--surecart .cart-summary-product__img { width:100%; height:100%; object-fit:cover; }
.page-order .td-opc--surecart .cart-summary-product__content { min-width:0; }
.page-order .td-opc--surecart .cart-summary-product__link {
  display:block;
  margin-bottom:4px;
  color:var(--td-ink);
  font:400 17px/1.15 var(--td-serif);
}
.page-order .td-opc--surecart .cart-summary-product__attributes,
.page-order .td-opc--surecart .cart-summary-product__quantity { color:var(--td-stone); font-size:11px; }
.page-order .td-opc--surecart .cart-summary-product__price { margin-top:7px; font-size:12px; font-weight:600; }
.page-order .td-opc--surecart .cart-summary-product__content-right { display:none; }
.page-order .td-opc--surecart .cart-summary__subtotals { padding:12px 22px 8px; }
.page-order .td-opc--surecart .cart-summary__total { padding:0 22px; }
.page-order .td-opc--surecart .cart-summary__total .cart-summary__line { padding:18px 0; }
.page-order .td-opc--surecart .cart-voucher { padding-inline:22px; }
.page-order .td-opc__summary-trust {
  display:grid;
  gap:9px;
  padding:18px 6px 0;
  color:var(--td-stone);
  font-size:11px;
}
.page-order .td-opc__summary-trust span { display:flex; align-items:center; gap:8px; }
.page-order .td-opc__summary-trust i { color:var(--td-aperol); font-size:16px; }
.page-order .td-checkout-footer { border-top:1px solid var(--td-border); background:#fff; }
.page-order .td-checkout-footer__inner {
  display:flex;
  width:min(100% - 48px,1220px);
  min-height:72px;
  margin-inline:auto;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:var(--td-stone);
  font-size:11px;
}
.page-order .td-checkout-footer nav { display:flex; flex-wrap:wrap; gap:18px; }
.page-order .td-checkout-footer a { color:var(--td-stone); }
.page-order .td-checkout-footer a:hover { color:var(--td-aperol); }

/* Keep the checkout centred and readable on wide/high-resolution screens.
   Form fields should never stretch into a full-width desktop canvas. */
@media(min-width:1600px) {
  .page-order .td-checkout-header,
  .page-order .td-checkout-footer__inner,
  .page-order .td-opc.td-opc--surecart {
    width:min(100% - 96px,1360px);
  }
  .page-order .wrapper {
    background:linear-gradient(90deg,#fff 0 62%,#f2f0ec 62% 100%);
  }
  .page-order .td-opc--surecart .td-opc__layout {
    grid-template-columns:minmax(0,1fr) minmax(420px,440px);
    gap:0 72px;
  }
  .page-order .td-opc--surecart .td-opc__intro { max-width:680px; }
  .page-order .td-opc--surecart .td-opc__intro h1 { font-size:56px; }
}

@media(max-width:991px) {
  .page-order .wrapper { background:#fff; }
  .page-order .td-opc.td-opc--surecart { width:min(100% - 36px,720px); padding-top:34px; }
  .page-order .td-opc--surecart .td-opc__layout { grid-template-columns:1fr; gap:32px; }
  .page-order .td-opc--surecart .td-opc__summary-column { grid-row:1; margin:0!important; }
  .page-order .td-opc--surecart .td-opc__form-column { grid-row:2; }
  .page-order .td-opc--surecart .checkout-grid__aside-wrapper { position:static; }
  .page-order .td-opc--surecart .checkout__summary-accordion { border:1px solid var(--td-border); box-shadow:none; }
  .page-order .td-opc--surecart .checkout__summary-accordion-header .accordion-button { pointer-events:auto; }
  .page-order .td-opc--surecart .checkout__summary-accordion-header .accordion-button::after { display:block; }
  .page-order .td-opc--surecart #js-checkout-summary.collapse:not(.show) { display:none!important; }
  .page-order .td-opc--surecart .td-opc__intro { margin-bottom:26px; }
}

@media(max-width:700px) {
  .page-order .td-checkout-header { width:calc(100% - 28px); min-height:64px; }
  .page-order .td-checkout-header__logo { width:142px; }
  .page-order .td-checkout-header__secure { display:none; }
  .page-order .td-checkout-header__back { font-size:9px; }
  .page-order .td-opc.td-opc--surecart { width:100%; padding:22px 14px 44px; }
  .page-order .td-opc--surecart .td-opc__intro h1 { font-size:38px; }
  .page-order .td-opc--surecart .td-opc__intro>p:last-child { font-size:13px; }
  .page-order .td-opc--surecart .step__title { min-height:64px; padding:17px 0; }
  .page-order .td-opc--surecart .td-opc__section-title { gap:9px; }
  .page-order .td-opc--surecart .step .page-title-section { font-size:21px; }
  .page-order .td-opc--surecart .td-opc__status { font-size:8px; }
  .page-order .td-opc--surecart .payment-options__list { grid-template-columns:1fr; }
  .page-order .td-opc--surecart .payment-option { padding:12px 14px; }
  .page-order .td-opc--surecart .checkout__summary-accordion-header { padding-inline:16px; }
  .page-order .td-opc--surecart .cart-summary__products-list,
  .page-order .td-opc--surecart .cart-summary__subtotals,
  .page-order .td-opc--surecart .cart-summary__total { padding-inline:16px; }
  .page-order .td-opc--surecart .cart-summary__products-number { padding-inline:16px; }
  .page-order .td-opc--surecart .cart-summary-product { grid-template-columns:60px minmax(0,1fr); gap:12px; }
  .page-order .td-opc--surecart .cart-summary-product__image { width:60px; height:74px; }
  .page-order .td-checkout-footer__inner { width:calc(100% - 28px); padding:20px 0; align-items:flex-start; flex-direction:column; }
  .page-order .td-checkout-footer nav { gap:10px 16px; }
}

/* Final product-commerce precedence after legacy responsive rules. */
.page-product .product__bottom-left { width:100%; }
.page-product .td-mobile-buybar { display:grid; }
@media(max-width:767px) {
  .page-product .td-mobile-buybar {
    right:0;
    bottom:0;
    left:0;
    grid-template-columns:minmax(0,1fr) 128px;
    width:100%;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom));
    border-width:1px 0 0;
    border-radius:0;
    transform:translateY(120%);
  }
  .page-product .td-mobile-buybar.is-visible { transform:translateY(0); }
  .page-product .td-mobile-buybar>img { display:none; }
  .page-product .td-mobile-buybar>div { display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .page-product .td-mobile-buybar button { min-width:0; min-height:50px; padding:0 12px; font-size:9px; }
}
