/**
 * Theme Name: Holzplatte Salzburg – Blocksy Child
 * Description: Minimalistisches Holzplatte-Layout auf Basis des offiziellen kostenlosen Blocksy Child Themes.
 * Author: Creative Themes / Holzplatte Salzburg
 * Template: blocksy
 * Version: 0.2.23
 * Text Domain: holzplatte-blocksy
 * License: GNU General Public License v2 or later
 */

body.hs-site {
  --hs-surface: #f1ece6;
  --hs-ink: #02261e;
  --hs-paper: #fff;
  --hs-sage: #e8efea;
  --hs-green-line: #c9d8ce;
  --hs-line: color-mix(in srgb, var(--hs-ink) 22%, var(--hs-surface));
  --hs-space-1: 8px;
  --hs-space-2: 16px;
  --hs-space-3: 24px;
  --hs-space-4: 32px;
  --hs-space-6: 48px;
  --hs-gutter: 40px;
  --hs-content-width: 1360px;
  --hs-control-height: 48px;
  --theme-palette-color-1: var(--hs-ink);
  --theme-palette-color-2: var(--hs-ink);
  --theme-palette-color-3: var(--hs-ink);
  --theme-palette-color-4: var(--hs-ink);
  --theme-palette-color-5: var(--hs-line);
  --theme-palette-color-6: var(--hs-surface);
  --theme-palette-color-7: var(--hs-surface);
  --theme-palette-color-8: var(--hs-surface);
  --theme-text-color: var(--hs-ink);
  --theme-heading-color: var(--hs-ink);
  --theme-link-initial-color: var(--hs-ink);
  --theme-link-hover-color: var(--hs-ink);
  --theme-button-background-initial-color: var(--hs-ink);
  --theme-button-background-hover-color: var(--hs-ink);
  --theme-button-text-initial-color: var(--hs-surface);
  --theme-button-text-hover-color: var(--hs-surface);
  --theme-form-field-background-initial-color: var(--hs-surface);
  --theme-form-field-background-focus-color: var(--hs-surface);
  --theme-form-text-initial-color: var(--hs-ink);
  --theme-form-text-focus-color: var(--hs-ink);
  margin: 0;
  padding: 0;
  min-height: 100svh;
  background: var(--hs-surface);
  color: var(--hs-ink);
  accent-color: var(--hs-ink);
  caret-color: var(--hs-ink);
}
.hs-site *, .hs-site *::before, .hs-site *::after { box-sizing: border-box; }
.hs-site ::selection { background: var(--hs-ink); color: var(--hs-surface); }
.hs-site :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 4px; }
.hs-site #main-container { background: var(--hs-surface); min-height: 100svh; display: flex; flex-direction: column; }
.hs-site #main { flex: 1; background: var(--hs-surface); }
.hs-site :is(h1, h2, h3, h4, h5, h6) { color: var(--hs-ink); }
.hs-site .hs-shell { width: min(100% - var(--hs-gutter) * 2, var(--hs-content-width)); margin-inline: auto; }
/* Shared shell: the landing page is the design reference. */
/* Desktop sticks as one intrinsic stack. Smaller screens retain navigation-only
   sticky; a generic layout wrapper has no box there, preserving the page scroll area. */
html:has(body.hs-site) { --hs-header-offset: 0px; --hs-header-height: 96px; --hs-sticky-benefits: 44px; scroll-padding-top: calc(var(--hs-header-offset) + var(--hs-header-height) + var(--hs-sticky-benefits) + 16px); }
html:has(body.hs-site.admin-bar) { --hs-header-offset: 32px; }
.hs-site .hs-header-stack { position: sticky; top: var(--hs-header-offset); z-index: 100; flex-shrink: 0; }
.hs-site #header { position: relative; background: var(--hs-surface); color: var(--hs-ink); border-bottom: 1px solid color-mix(in srgb, var(--hs-ink) 14%, var(--hs-surface)); }
.hs-site #footer { background: var(--hs-ink); color: var(--hs-paper); }
.hs-site .hs-frame { padding-inline: clamp(20px, 6vw, 112px); }
.hs-site :is(.hs-header, .hs-footer, .hs-benefits) { font: 400 16px/1.6 Arial, sans-serif; }
.hs-site :is(.hs-header, .hs-footer) a { color: inherit; text-decoration: none; }
.hs-site :is(.hs-header, .hs-footer) a:hover { text-decoration: underline; text-underline-offset: 5px; }
.hs-site .hs-benefits { background: var(--hs-ink); color: var(--hs-surface); }
.hs-site .hs-benefits-inner { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px clamp(16px, 4vw, 56px); padding-block: 8px; font-size: 14px; line-height: 1.4; }
.hs-site .hs-benefits p { margin: 0; color: inherit; }
.hs-site .hs-benefits strong { font-weight: 600; }
.hs-site .hs-benefits span { white-space: nowrap; }
.hs-site .hs-benefits-short { display: none; }
.hs-site .hs-benefits a { display: inline-flex; align-items: center; min-height: 28px; color: inherit; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.hs-site .hs-benefits a:focus-visible { outline-color: var(--hs-surface); }
.hs-site .hs-header { position: relative; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; min-height: var(--hs-header-height); padding-block: 10px; }
.hs-site .hs-brand { display: block; flex: 0 0 184px; }
.hs-site .hs-brand img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.hs-site .hs-nav { margin-left: auto; }
.hs-site .hs-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 28px; list-style: none; padding: 0; margin: 0; font-size: 16px; line-height: 1.5; }
.hs-site .hs-menu li { position: relative; margin: 0; padding: 0; }
.hs-site .hs-menu a { display: inline-flex; align-items: center; min-height: 44px; }
.hs-site .hs-menu :is(.current-menu-item, .current-menu-ancestor) > a { text-decoration: underline; text-underline-offset: 5px; }
.hs-site .hs-menu .sub-menu { display: none; position: absolute; z-index: 20; background: var(--hs-surface); min-width: 210px; margin: 0; padding: 12px 20px; list-style: none; }
.hs-site .hs-menu li:hover > .sub-menu, .hs-site .hs-menu li:focus-within > .sub-menu { display: block; }
.hs-site .hs-header .hs-configure { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-inline: 12px 4px; padding: 10px 18px; border: 1px solid var(--hs-ink); background: var(--hs-ink); color: #fff; font-size: 14px; line-height: 1.5; font-weight: 600; white-space: nowrap; transition: background-color 160ms ease, color 160ms ease; }
.hs-site .hs-header .hs-configure:is(:hover, :focus-visible) { background: var(--hs-surface); color: var(--hs-ink); text-decoration: none; }
.hs-site .hs-configure-short, .hs-site .hs-mobile-search { display: none; }
.hs-site .hs-icon-control { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 10px; margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--hs-ink); cursor: pointer; line-height: 1; }
.hs-site .hs-icon-control:hover { background: color-mix(in srgb, var(--hs-ink) 6%, var(--hs-surface)); }
.hs-site .hs-icon-control svg { width: 24px; height: 24px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hs-site .hs-cart-count { position: absolute; top: -3px; right: -4px; min-width: 19px; padding: 2px 4px; background: var(--hs-ink); color: var(--hs-surface); font: 400 11px/1.4 Arial, sans-serif; font-variant-numeric: tabular-nums; }
.hs-site .hs-menu-toggle { display: none; }
.hs-site .hs-search { display: block; flex: 0 0 44px; }
.hs-site .hs-search summary { list-style: none; }
.hs-site .hs-search summary::-webkit-details-marker { display: none; }
.hs-site .hs-search[open] summary { background: var(--hs-ink); color: var(--hs-surface); }
.hs-site .hs-search:not([open]) .hs-search-form { display: none; }
.hs-site .hs-search-form { position: absolute; z-index: 1; inset-inline: 0; top: 100%; padding: 20px clamp(20px, 6vw, 112px); margin: 0; background: var(--hs-surface); border-bottom: 1px solid var(--hs-line); max-height: calc(100dvh - var(--hs-header-height) - var(--hs-header-offset)); overflow-y: auto; }
.hs-site .hs-search-form label { display: block; margin-bottom: 8px; font-size: 14px; }
.hs-site .hs-search-fields { display: flex; gap: 12px; max-width: 640px; }
.hs-site .hs-search-fields input[type=search] { width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1px solid var(--hs-ink); border-radius: 0; background: var(--hs-surface); color: var(--hs-ink); font: inherit; }
.hs-site .hs-search-fields input::placeholder { color: var(--hs-ink); opacity: .75; }
.hs-site .hs-search-fields button { min-height: 48px; padding: 12px 24px; border: 0; border-radius: 0; background: var(--hs-ink); color: var(--hs-surface); font: inherit; cursor: pointer; }
.hs-site .hs-search-fields button:hover { opacity: .86; }
.hs-site .hs-skip { position: absolute; left: 20px; top: 12px; z-index: 40; padding: 12px 20px; background: var(--hs-ink); color: var(--hs-surface); }
.hs-site .hs-skip:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; padding: 0; overflow: hidden; white-space: nowrap; }
.hs-site .hs-footer { padding-block: 56px 32px; }
.hs-site .hs-footer p { margin: 0; color: inherit; }
.hs-site .hs-footer .hs-footer-name { font: 400 clamp(32px, 6.5vw, 100px)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.04em; white-space: nowrap; }
.hs-site .hs-footer .hs-menu { gap: 8px 24px; }
.hs-site .hs-contact { max-width: 48ch; overflow-wrap: anywhere; font-size: 14px; }
.hs-site .hs-footer .hs-legal { margin-top: 32px; max-width: 70ch; font-size: 14px; line-height: 1.65; }
.hs-site .hs-footer :focus-visible { outline-color: var(--hs-paper); }
.hs-site .hs-footer-contact :focus-visible { outline-color: var(--hs-ink); }
/* Parent main shell adds no spacing to the preserved landing sections. */
.hs-site.hsp-pax-page #main { width: 100%; max-width: none; padding: 0; margin: 0; }
.hs-site .hs-home { padding-bottom: var(--hs-space-6); }
.hs-site .hs-intro { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: end; gap: var(--hs-space-6); padding-block: var(--hs-space-6) var(--hs-space-4); }
.hs-site .hs-intro h1 { max-width: 17ch; font-size: clamp(2.5rem, 5.3vw, 4.75rem); font-weight: 450; letter-spacing: -.03em; line-height: 1.06; text-wrap: balance; margin: 0; }
.hs-site .hs-intro-action { justify-self: end; min-width: 0; width: min(100%, 320px); }
.hs-site .hs-intro p { font-size: 17px; line-height: 1.6; margin: 0 0 var(--hs-space-3); }
.hs-site .hs-button { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--hs-space-4); min-height: var(--hs-control-height); padding: 12px var(--hs-space-3); border: 1px solid var(--hs-ink); background: var(--hs-ink); color: var(--hs-surface); font-size: 14px; font-weight: 500; text-decoration: none; }
.hs-site .hs-button:hover { background: color-mix(in srgb, var(--hs-ink) 93%, var(--hs-surface)); color: var(--hs-surface); }
.hs-site :is(.hs-button, .hs-entry a) svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.hs-site .hs-room { margin: 0; }
.hs-site .hs-room-image { display: block; width: 100%; height: auto; max-width: none; aspect-ratio: 2.65; object-fit: cover; object-position: 50% 53%; }
.hs-site .hs-room figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--hs-space-1) var(--hs-space-3); padding-top: var(--hs-space-2); color: var(--hs-ink); font-size: 12px; line-height: 1.5; }
.hs-site .hs-entries { padding-top: var(--hs-space-6); scroll-margin-top: var(--hs-space-3); }
.hs-site .hs-entries:focus { outline: none; }
.hs-site .hs-entries:focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 6px; }
.hs-site .hs-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--hs-space-4); padding-block: var(--hs-space-4); border-top: 1px solid var(--hs-line); }
.hs-site .hs-entry-copy { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: baseline; gap: var(--hs-space-4); }
.hs-site .hs-entry h2 { margin: 0; font-size: clamp(2rem, 3.3vw, 3rem); line-height: 1.15; font-weight: 450; letter-spacing: -.025em; overflow-wrap: anywhere; }
.hs-site .hs-entry p { max-width: 44ch; font-size: 15px; line-height: 1.6; margin: 0; }
.hs-site .hs-entry a { display: flex; align-items: center; justify-content: space-between; gap: var(--hs-space-3); min-width: 200px; min-height: 48px; padding-block: var(--hs-space-1); color: var(--hs-ink); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.hs-site .hs-entry a svg { transition: transform 180ms ease-out; }
.hs-site .hs-entry a:hover svg { transform: translateX(4px); }
.hs-site .hs-entry-secondary h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.hs-site .hs-entry-secondary { padding-block: var(--hs-space-3); }
.hs-site.hs-configurator #main { width: 100%; padding: 0; max-width: none; }
.hs-site .hs-configurator-content { width: 100%; margin: 0; padding: 0; }
.hs-site .hs-configurator-content > .hpk-react { max-width: none; margin: 0; }
.hs-site.hs-configurator .hpk-react .hpr-header { display: none; }
.hs-site .hs-configurator-content .hpr-layout { min-height: 560px; }
/* Classic fallback: presentation only, never input/price/cart logic. */
.hs-site .hpk { --hpk-ink: var(--hs-ink); --hpk-muted: var(--hs-ink); --hpk-border: var(--hs-line); --hpk-paper: var(--hs-surface); padding: 24px; }
.hs-site .hpk :is(.hpk-decor, input[type=number], select, .hpk-status, .hpk-success, .hpk-decor-visual) { background: var(--hs-surface); color: var(--hs-ink); border-color: var(--hs-line); box-shadow: none; }
.hs-site .hpk button { background: var(--hs-ink); color: var(--hs-surface); }
.hs-site .hpk button:hover:not(:disabled) { background: var(--hs-ink); }
.hs-site .hpk button:disabled { background: var(--hs-ink); color: var(--hs-surface); opacity: .5; }
.hs-site .hpk .hpk-status.hpk-error { background: var(--hs-surface); color: var(--hs-ink); border-color: var(--hs-ink); }
.hs-site .hpk :focus-visible { outline-color: var(--hs-ink); }
/* Only colours/spacing: parent/WooCommerce cart, checkout and product templates stay intact. */
.hs-site :is(.woocommerce, .woocommerce-page, .wc-block-cart, .wc-block-checkout) {
  --wc-content-bg: var(--hs-surface);
  --wc-form-color-background: var(--hs-surface);
  --wc-form-color-text: var(--hs-ink);
  --wc-form-color-border: var(--hs-line);
  --wc-form-color-accent: var(--hs-ink);
}
.hs-site .woocommerce :is(table.shop_table, .cart_totals, #payment, .woocommerce-checkout-review-order, .woocommerce-checkout-payment, .payment_box),
.hs-site .wc-block-components-sidebar, .hs-site .wc-block-components-order-summary, .hs-site .wc-block-components-text-input input {
  background: var(--hs-surface); color: var(--hs-ink); box-shadow: none;
}
.hs-site .woocommerce :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea) { background-color: var(--hs-surface); color: var(--hs-ink); border-color: var(--hs-line); }
.hs-site :is(.woocommerce .button, .woocommerce button.button, .wc-block-components-button) { background: var(--hs-ink); color: var(--hs-surface); border-radius: 0; box-shadow: none; }
.hs-site .woocommerce .custom-fields input { min-height: 50px; }
.hs-site :is(.coupon-extra, .coupon-extra-only) { color: var(--hs-ink); }
/* Only the two existing normal-cut dimensions; no pricing/input behaviour changes. */
.hs-site.single-product .product form.cart .custom-fields input[type=number]:is([name=height], [name=width]) { border: 1px solid var(--hs-ink); }
.hs-site.single-product .product form.cart .custom-fields input[type=number]:is([name=height], [name=width]):focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 3px; }
.hs-site.woocommerce-cart .woocommerce-cart-form table.shop_table tbody :is(th, td),
.hs-site.woocommerce-cart .cart_totals table.shop_table :is(th, td) { border-color: rgb(2 38 30 / .4); }
.hs-site .woocommerce form.checkout .woocommerce-checkout-review-order-table { --theme-table-padding: 10px .7em; margin-bottom: 24px; }
.hs-site .woocommerce form.checkout .woocommerce-checkout-review-order-table :is(th, td) { padding-block: 10px; border-color: rgb(2 38 30 / .4); }
.hs-site .woocommerce form.checkout .woocommerce-checkout-review-order-table .product-name :is(p, .variation, .wc-item-meta) { margin-block: 4px 0; }
.hs-site .woocommerce form.checkout .woocommerce-checkout-review-order-table .product-name .variation dd { margin-bottom: 0; }
.hs-site .woocommerce form.checkout .woocommerce-checkout-review-order-table :is(.product-name, .product-thumbnail) img { width: auto; height: auto; max-width: 48px; max-height: 60px; object-fit: contain; }
.hs-site .woocommerce form.checkout .ct-order-review { --order-review-border: 1px solid var(--hs-ink); border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment { border-color: var(--hs-ink); }
/* Keep Blocksy's payment background inside the existing one-pixel outer frame. */
.hs-site .woocommerce form.checkout .ct-order-review #payment { margin-inline: -25px; }
/* Checkout surfaces: retain WooCommerce/Blocksy layout and native form behaviour. */
.hs-site:is(.woocommerce-cart, .woocommerce-checkout) {
  --theme-form-selection-field-initial-color: var(--hs-ink);
  --theme-form-selection-field-active-color: var(--hs-ink);
  --theme-form-field-border-focus-color: var(--hs-ink);
  --theme-form-field-border-error-color: var(--hs-ink);
  --theme-form-field-border-initial-color: color-mix(in srgb, var(--hs-ink) 55%, var(--hs-surface));
  --form-selection-control-border-width: 2px;
}
.hs-site .woocommerce .cart_totals { border: 1px solid var(--hs-ink); border-radius: 0; padding: 24px; }
.hs-site .woocommerce .cart_totals h2 { font-size: 22px; margin-bottom: 16px; }
.hs-site .woocommerce form.checkout :is(h3, #order_review_heading) { font-size: 22px; margin-bottom: 16px; }
.hs-site:is(.woocommerce-cart, .woocommerce-checkout) .required { color: var(--hs-ink); }
.hs-site .woocommerce form.checkout .form-row { margin-bottom: 16px; }
.hs-site .woocommerce form.checkout :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea) { border-color: var(--theme-form-field-border-initial-color); }
.hs-site .woocommerce form.checkout :is(input, select, textarea):focus { border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout .shop_table { border-block: 1px solid var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method { border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method > label { min-height: 52px; padding: 16px; color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method > label::before { width: 20px; height: 20px; min-width: 20px; border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method > input[type=radio]:first-child:checked + label::before { background: var(--hs-surface); border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method > input[type=radio]:first-child:checked + label { background: color-mix(in srgb, var(--hs-ink) 5%, var(--hs-surface)); }
.hs-site .woocommerce form.checkout #payment ul.payment_methods > li.wc_payment_method > input[type=radio]:first-child:focus-visible + label::before { outline: 2px solid var(--hs-ink); outline-offset: 4px; }
.hs-site .woocommerce form.checkout #payment .payment_box { padding: 0 16px 16px; color: var(--hs-ink); }
.hs-site .woocommerce form.checkout #payment .payment_box p:last-child { margin-bottom: 0; }
.hs-site .woocommerce form.checkout input[type=checkbox] { width: 20px; height: 20px; min-width: 20px; border-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout input[type=checkbox]:checked { background-color: var(--hs-ink); }
.hs-site .woocommerce form.checkout input[type=checkbox]:checked::before { border-color: var(--hs-surface); }
.hs-site .woocommerce form.checkout :is(input[type=checkbox], input[type=radio]):focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 4px; }
.hs-site .woocommerce form.checkout .woocommerce-form__label-for-checkbox { line-height: 1.6; padding-block: 8px; font-weight: 400; cursor: pointer; }
.hs-site .woocommerce form.checkout :is(.woocommerce-terms-and-conditions-wrapper, .legal, .woocommerce-privacy-policy-text) a,
.hs-site .wc-block-checkout :is(.wc-block-checkout__terms, .wc-block-components-checkbox__label) a { color: var(--hs-ink); font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
/* Native thank-you sequence: receipt, overview, bank information, items, addresses. */
.hs-site.woocommerce-order-received .woocommerce-order { color: var(--hs-ink); }
.hs-site.woocommerce-order-received .woocommerce-thankyou-order-received { font-size: clamp(24px, 3vw, 32px); line-height: 1.3; font-weight: 600; margin-bottom: 24px; padding: 0; min-height: 0; border: 0; border-radius: 0; background: transparent; color: var(--hs-ink); }
.hs-site.woocommerce-order-received .woocommerce-thankyou-order-received::before { display: none; }
.hs-site.woocommerce-order-received ul.woocommerce-order-overview,
.hs-site.woocommerce-order-received ul.wc-bacs-bank-details { display: flex; flex-wrap: wrap; gap: 16px 32px; padding: 16px 0; margin: 0 0 32px; list-style: none; }
.hs-site.woocommerce-order-received ul.woocommerce-order-overview { border-block: 1px solid var(--hs-ink); }
.hs-site.woocommerce-order-received ul.woocommerce-order-overview li,
.hs-site.woocommerce-order-received ul.wc-bacs-bank-details li { float: none; border: 0; padding: 0; margin: 0; font-size: 14px; text-transform: none; overflow-wrap: anywhere; }
.hs-site.woocommerce-order-received ul.woocommerce-order-overview strong,
.hs-site.woocommerce-order-received ul.wc-bacs-bank-details strong { display: block; font-size: 16px; font-weight: 600; }
.hs-site.woocommerce-order-received .hs-bank-transfer { border: 1px solid var(--hs-ink); padding: 24px; margin-bottom: 32px; }
.hs-site.woocommerce-order-received .hs-bank-transfer p { margin-bottom: 16px; }
.hs-site.woocommerce-order-received .hs-bank-transfer > :last-child,
.hs-site.woocommerce-order-received .hs-bank-transfer ul.wc-bacs-bank-details:last-child { margin-bottom: 0; }
.hs-site.woocommerce-order-received :is(.wc-bacs-bank-details-heading, .woocommerce-order-details__title, .woocommerce-column__title) { font-size: 22px; margin-bottom: 16px; }
.hs-site.woocommerce-order-received .wc-bacs-bank-details-account-name { font-size: 16px; margin-bottom: 0; }
.hs-site.woocommerce-order-received .woocommerce-order-details .shop_table { border-block: 1px solid var(--hs-ink); }
.hs-site.woocommerce-order-received .woocommerce-customer-details { margin-top: 32px; }
.hs-site.woocommerce-order-received .woocommerce-customer-details address { border: 1px solid var(--hs-line); border-radius: 0; padding: 16px; font-style: normal; overflow-wrap: anywhere; }
.hs-site.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { gap: 24px; }
@media (max-width: 600px) {
  .hs-site .woocommerce .cart_totals,
  .hs-site.woocommerce-order-received .hs-bank-transfer { padding: 20px; }
  .hs-site.woocommerce-order-received ul.woocommerce-order-overview li { flex: 1 1 130px; min-width: 0; }
  .hs-site.woocommerce-order-received ul.woocommerce-order-overview .email { flex-basis: 100%; }
  .hs-site.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 895px) {
  body.hs-site { --hs-gutter: 24px; }
  .hs-site .hs-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--hs-space-4); }
  .hs-site .hs-intro p { font-size: 15px; }
  .hs-site .hs-entry-copy { grid-template-columns: minmax(0, 1fr); gap: var(--hs-space-1); }
  .hs-site .hs-entry a { min-width: 190px; }
}
@media (max-width: 600px) {
  body.hs-site { --hs-gutter: 20px; }
  .hs-site .hs-intro { grid-template-columns: minmax(0, 1fr); gap: var(--hs-space-3); padding-block: var(--hs-space-4) var(--hs-space-3); }
  .hs-site .hs-intro-action { justify-self: start; width: 100%; }
  .hs-site .hs-intro p { font-size: 16px; margin-bottom: var(--hs-space-2); }
  .hs-site .hs-room-image { aspect-ratio: 1.2; }
  .hs-site .hs-room figcaption { font-size: 11px; padding-top: var(--hs-space-1); }
  .hs-site .hs-room figcaption > span:first-child { max-width: 32ch; }
  .hs-site .hs-entries { padding-top: var(--hs-space-4); }
  .hs-site .hs-entry { grid-template-columns: minmax(0, 1fr); gap: var(--hs-space-1); padding-block: var(--hs-space-3); }
  .hs-site .hs-entry p { font-size: 14px; }
  .hs-site .hs-entry a { min-width: 0; justify-self: start; gap: var(--hs-space-4); }
  .hs-site .hs-configurator-content .hpr-layout { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hs-site .hs-entry a svg { transition: none; }
}

@media (max-width: 1100px) {
  .hs-site .hs-menu { gap: 8px 24px; }
  .hs-site .hs-header { gap: 8px; }
  .hs-site .hs-header .hs-configure { margin-inline: 4px; padding-inline: 12px; }
}
@media (min-width: 896px) and (max-width: 1100px) {
  .hs-site .hs-header .hs-brand { flex-basis: 144px; }
  .hs-site .hs-header .hs-menu { gap: 8px 18px; }
}
@media (max-width: 895px) {
  html:has(body.hs-site) { --hs-header-height: 84px; --hs-sticky-benefits: 0px; }
  .hs-site .hs-header-stack { display: contents; }
  .hs-site #header { position: sticky; top: var(--hs-header-offset); z-index: 100; flex-shrink: 0; }
  .hs-site .hs-header { gap: 8px; padding-block: 8px; }
  .hs-site .hs-brand { margin-right: auto; flex-basis: 160px; }
  .hs-menu-ready .hs-site .hs-search { position: absolute; inset-inline: 0; top: 100%; }
  .hs-menu-ready .hs-site .hs-search > summary { display: none; }
  .hs-menu-ready .hs-site .hs-search-form { position: static; }
  .hs-menu-ready .hs-site .hs-mobile-search { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 12px 0; border: 0; border-radius: 0; background: transparent; color: var(--hs-ink); font: inherit; text-align: left; cursor: pointer; }
  .hs-site .hs-mobile-search:hover { text-decoration: underline; text-underline-offset: 5px; }
  .hs-menu-ready .hs-site .hs-menu-toggle { display: inline-flex; }
  .hs-site .hs-nav { order: 4; flex: 0 0 100%; margin: 0; }
  .hs-menu-ready .hs-site .hs-nav { display: none; }
  .hs-menu-ready .hs-site .hs-nav.is-open { display: block; position: absolute; inset-inline: 0; top: 100%; padding: 12px clamp(20px, 6vw, 112px); background: var(--hs-surface); border-bottom: 1px solid var(--hs-line); max-height: calc(100dvh - var(--hs-header-height) - var(--hs-header-offset)); overflow-y: auto; }
  .hs-site .hs-nav .hs-menu { display: block; padding-block: 8px; }
  .hs-site .hs-nav .hs-menu a { display: flex; padding-block: 12px; }
  .hs-site .hs-menu .sub-menu { display: block; position: static; padding: 0 0 0 20px; }
}
@media (min-width: 601px) and (max-width: 782px) {
  html:has(body.hs-site.admin-bar) { --hs-header-offset: 46px; }
}
@media (max-width: 600px) {
  /* WordPress's mobile admin bar is absolute and scrolls away. */
  html:has(body.hs-site) { --hs-header-height: 64px; }
  html:has(body.hs-site.admin-bar) { --hs-header-offset: 0px; }
  .hs-site .hs-header { gap: 6px; padding-inline: 16px; }
  .hs-site .hs-brand { flex-basis: 100px; min-height: 44px; display: flex; align-items: center; }
  .hs-site .hs-header .hs-configure { margin: 0; padding-inline: 10px; font-size: 13px; }
  .hs-site .hs-header .hs-icon-control svg { width: 22px; height: 22px; }
  .hs-site .hs-benefits-inner { min-height: 0; gap: 4px 16px; padding-block: 8px; text-align: center; line-height: 1.5; }
  .hs-site .hs-benefits-full { display: none; }
  .hs-site .hs-benefits-short { display: inline; }
  .hs-site .hs-benefits-inner p:nth-child(2) { order: 1; flex-basis: 100%; }
  .hs-site .hs-footer .hs-menu { gap: 4px 20px; }
  .hs-site .hs-search-fields { gap: 8px; }
  .hs-site .hs-search-fields button { padding-inline: 16px; }
  .hs-site.hs-pax-configurator #header { position: relative; top: auto; }
  html:has(body.hs-site.hs-pax-configurator) { scroll-padding-top: 16px; }
}
@media (max-width: 374px) {
  .hs-site .hs-header { gap: 4px; padding-inline: 12px; }
  .hs-site .hs-brand { flex-basis: 96px; }
  .hs-site .hs-header .hs-configure { padding-inline: 8px; }
}
@media (max-width: 359px) {
  .hs-site .hs-brand { flex-basis: 90px; }
  .hs-site .hs-configure-full { display: none; }
  .hs-site .hs-configure-short { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .hs-site .hs-header .hs-configure { transition: none; }
}
/* The PAX 3D screen owns the first mobile viewport; other pages and desktop keep the shared shell. */
@media (max-width: 600px) {
  body.hs-site.hs-pax-configurator .hs-header-stack { display: none !important; }
  html:has(body.hs-site.hs-pax-configurator) { scroll-padding-top: 0; }
}

/* SHOP-DESIGN-01: presentation only; shared header, consent and commerce logic stay intact. */
.hs-site .hs-footer-contact { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 320px); align-items: center; justify-content: center; gap: 24px 64px; padding: 24px; margin-bottom: 48px; background: var(--hs-surface); color: var(--hs-ink); }
.hs-site .hs-footer-contact > * { min-width: 0; }
.hs-site .hs-footer-contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.hs-site .hs-footer h2 { margin: 0 0 12px; font: 500 18px/1.4 Arial, sans-serif; color: inherit; }
.hs-site .hs-footer-contact h2 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.2; letter-spacing: -.025em; margin-bottom: 8px; }
.hs-site .hs-footer-contact p { max-width: 52ch; }
.hs-site .hs-footer-contact-links { display: flex; flex-direction: column; gap: 0; }
.hs-site .hs-footer-contact-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.hs-site .hs-footer .hs-footer-action { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 48px; padding: 12px 24px; background: var(--hs-ink); color: var(--hs-paper); text-decoration: none; }
.hs-site .hs-footer .hs-footer-action:hover { background: color-mix(in srgb, var(--hs-ink) 90%, var(--hs-paper)); }
.hs-site .hs-footer-main { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, 1.15fr); grid-template-areas: "brand offers legal" "payments payments payments" "note note note"; gap: 0 64px; }
.hs-site .hs-footer-brand { grid-area: brand; }
.hs-site .hs-footer-offers { grid-area: offers; }
.hs-site .hs-footer-legal { grid-area: legal; }
.hs-site .hs-footer-payments { grid-area: payments; }
.hs-site .hs-footer .hs-legal { grid-area: note; }
.hs-site .hs-footer-main > * { min-width: 0; }
.hs-site .hs-footer-logo { display: block; width: 208px; max-width: 100%; margin-bottom: 20px; background: var(--hs-paper); }
.hs-site .hs-footer-logo img { display: block; width: 100%; height: auto; }
.hs-site .hs-footer-social { margin-top: 24px; }
.hs-site .hs-footer-social h2 { font-size: 16px; margin-bottom: 4px; }
.hs-site .hs-footer-social a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.hs-site .hs-footer-offers > p { font-size: 18px; margin-bottom: 16px; }
.hs-site .hs-footer-main .hs-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.hs-site .hs-footer-main .hs-menu a { padding-block: 8px; }
.hs-site .hs-footer-main a:not(.hs-withdrawal-link):hover { color: var(--hs-surface); }
.hs-site .hs-footer-legal nav + .hs-withdrawal-link { margin-top: 20px; }
.hs-site .hs-footer .hs-withdrawal-link { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 18px; background: var(--hs-sage); color: var(--hs-ink); text-decoration: underline; text-underline-offset: 4px; }
.hs-site .hs-footer .hs-withdrawal-link:hover { background: var(--hs-green-line); }
.hs-site .hs-footer-payments { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 32px; margin-top: 40px; }
.hs-site .hs-footer-payments h2 { font-size: 16px; margin: 0; }
.hs-site :is(.hs-footer, .p3-payment-trust) .hps-payment-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
.hs-site :is(.hs-footer, .p3-payment-trust) .hps-payment-logos li { display: flex; align-items: center; margin: 0; padding: 0; }
.hs-site :is(.hs-footer, .p3-payment-trust) .hps-payment-logos img { display: block; width: 48px; height: 34px; object-fit: contain; }
.hs-site #footer .hcc-settings { padding: 0 clamp(20px, 6vw, 112px) 24px; font: 400 14px/1.6 Arial, sans-serif; }
.hs-site #footer .hcc-settings button { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--hs-paper); text-decoration: underline; text-underline-offset: 4px; }
.hs-site #footer .hcc-settings button:is(:hover, :focus-visible) { color: var(--hs-surface); outline-color: var(--hs-paper); }
.hs-site #footer .hcc-settings p { max-width: 70ch; }

/* Compact payment information follows, and never competes with, the PAX purchase action. */
.hs-site .hpk-pax3d .p3-payment-trust { margin-top: 16px; padding: 14px 16px; border: 1px solid var(--hs-green-line); background: var(--hs-sage); color: var(--hs-ink); text-align: center; } /* taste-skill-ignore: fine green frame explicitly requested for this trust area. */
.hs-site .hpk-pax3d .p3-payment-trust h3 { margin: 0 0 10px; font: 600 13px/1.4 Arial, sans-serif; letter-spacing: 0; }
.hs-site .p3-payment-trust .hps-payment-logos { justify-content: center; gap: 6px; }
.hs-site .p3-payment-trust .hps-payment-logos img { width: 44px; height: 28px; }

/* Original, full-colour EU artwork stays fully visible at its original aspect ratio. */
.hs-site .hps-guarantee-notice { margin: 28px 0; text-align: left; clear: both; font: 400 16px/1.6 Arial, sans-serif; color: var(--hs-ink); }
.hs-site .hps-guarantee-notice h3 { margin: 0 0 16px; font: 500 22px/1.3 Arial, sans-serif; }
.hs-site .hps-guarantee-notice img { display: block; width: 100%; max-width: 595px; height: auto; object-fit: contain; background: var(--hs-paper); }
.hs-site .hps-guarantee-notice p { max-width: 60ch; margin: 12px 0 0; font-size: 16px; }
.hs-site :is(.hps-guarantee-notice, .hps-withdrawal) a,
.hs-site .woocommerce-gzd-legal-checkbox-text a,
.hs-site .woocommerce-terms-and-conditions-checkbox-text a { color: var(--hs-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hs-site .woocommerce-gzd-legal-checkbox-text,
.hs-site .woocommerce-terms-and-conditions-checkbox-text { font: 400 16px/1.65 Arial, sans-serif; color: var(--hs-ink); }
.hs-site .legal[data-checkbox="terms"] { margin-block: 24px; }
.hs-site .legal[data-checkbox="terms"] label { display: block; padding: 4px 0; }
.hs-site .legal[data-checkbox="terms"] input[type="checkbox"] { width: 20px; height: 20px; margin: 2px 10px 4px 0; vertical-align: text-top; accent-color: var(--hs-ink); }

#main:has(.hps-withdrawal) > h1,
.hs-site:has(.hps-withdrawal) :is(main > h1, .entry-header .entry-title, .entry-header .page-title, .hero-section .entry-title) { max-width: 640px; margin-right: auto; margin-left: auto; text-align: left; }
.hs-site .hps-withdrawal { max-width: 640px; margin: 24px auto 40px; font: 400 16px/1.6 Arial, sans-serif; color: var(--hs-ink); }
.hs-site .hps-withdrawal p { margin: 0; }
.hs-site .hps-withdrawal-intro { margin-bottom: 20px; }
.hs-site .hps-withdrawal-intro p { max-width: 62ch; }
.hs-site .hps-withdrawal form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; }
.hs-site .hps-withdrawal form > :is(.hps-field, .hps-withdrawal-submit-note, button) { grid-column: 1 / -1; }
.hs-site .hps-withdrawal .hps-field { min-width: 0; }
.hs-site .hps-withdrawal form > .hps-field-full_name,
.hs-site .hps-withdrawal form > .hps-field-email { grid-column: auto; }
.hs-site .hps-withdrawal label { display: block; margin: 0 0 7px; font-weight: 600; line-height: 1.45; }
.hs-site .hps-withdrawal label span { font-size: 14px; font-weight: 400; }
.hs-site .hps-withdrawal input:not([type=hidden]) { display: block; width: 100%; max-width: 100%; min-height: 50px; margin: 0; padding: 11px 14px; border: 1px solid var(--hs-green-line); border-radius: 0; background: var(--hs-paper); color: var(--hs-ink); font: inherit; box-shadow: none; } /* taste-skill-ignore: visible keyboard-friendly input frame; remove native shadow. */
.hs-site .hps-withdrawal input:focus { border-color: var(--hs-ink); outline: 2px solid var(--hs-ink); outline-offset: 2px; }
.hs-site .hps-withdrawal .hps-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; } /* taste-skill-ignore: required invisible honeypot field. */
.hs-site .hps-withdrawal .hps-withdrawal-submit-note { grid-column: 1 / -1; max-width: 68ch; font-size: 14px; line-height: 1.5; }
.hs-site .hps-withdrawal button { justify-self: start; min-height: 50px; margin: 0; padding: 13px 24px; border: 0; border-radius: 0; background: var(--hs-ink); color: var(--hs-paper); font: 500 16px/1.5 Arial, sans-serif; cursor: pointer; }
.hs-site .hps-withdrawal button:hover { background: color-mix(in srgb, var(--hs-ink) 90%, var(--hs-paper)); }
.hs-site .hps-withdrawal button:focus-visible { outline: 2px solid var(--hs-ink); outline-offset: 3px; }
.hs-site .hps-withdrawal .hps-form-status { padding: 24px; background: var(--hs-sage); }
.hs-site .hps-form-status strong { display: block; margin-bottom: 8px; font-size: 20px; font-weight: 500; line-height: 1.4; }
.hs-site .hps-withdrawal .hps-form-error { padding: 16px 20px; margin-bottom: 20px; background: var(--hs-paper); border-left: 3px solid var(--hs-ink); }
@media (max-width: 1000px) {
  .hs-site .hs-footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "brand brand" "offers legal" "payments payments" "note note"; gap: 0 32px; }
  .hs-site .hs-footer-brand { margin-bottom: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; }
  .hs-site .hs-footer-logo { margin: 0; }
  .hs-site .hs-footer-brand .hs-contact { grid-column: 1; }
  .hs-site .hs-footer-social { grid-column: 2; grid-row: 1 / 3; margin: 0; align-self: center; }
}
@media (max-width: 600px) {
  .hs-site .hs-footer { padding-block: 32px 24px; }
  .hs-site .hs-footer-contact { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 16px; padding: 20px; margin-bottom: 24px; }
  .hs-site .hs-footer-contact h2 { font-size: 24px; }
  .hs-site .hs-footer-contact-links { flex-direction: column; gap: 0; }
  .hs-site .hs-footer-main { display: flex; flex-direction: column; gap: 20px; }
  .hs-site .hs-footer-brand { display: block; margin: 0; }
  .hs-site .hs-footer-logo { width: 160px; margin-bottom: 12px; }
  .hs-site .hs-footer-social { margin-top: 12px; }
  .hs-site .hs-footer-offers > p { margin-bottom: 8px; }
  .hs-site .hs-footer-offers .hs-menu { flex-direction: row; column-gap: 24px; }
  .hs-site .hs-footer-payments { margin-top: 0; gap: 8px; }
  .hs-site .hs-footer .hs-legal { margin-top: 0; }
  .hs-site .hs-footer-legal .hs-menu { font-size: 14px; }
  .hs-site .hs-footer-legal .hs-required-legal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .hs-site .hs-footer-legal nav + .hs-withdrawal-link { margin-top: 12px; }
  .hs-site .hps-withdrawal { margin-block: 24px 32px; }
  .hs-site .hps-withdrawal form { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .hs-site .hps-withdrawal-intro { margin-bottom: 18px; }
  .hs-site .hps-withdrawal button { width: 100%; }
  .hs-site .hps-withdrawal .hps-form-status { padding: 20px; }
}

/* DELIVERY-01: only the existing hinge metadata row. */
.hs-site .woocommerce form.checkout dl.variation dt.variation-ScharniereBohrungen { float:left; clear:left; margin-right:.3em; vertical-align:baseline; }
.hs-site .woocommerce form.checkout dl.variation dd.variation-ScharniereBohrungen { display:block; margin-left:0; vertical-align:baseline; }
.hs-site .woocommerce form.checkout dl.variation dd.variation-ScharniereBohrungen p { display:inline; margin:0; vertical-align:baseline; font-weight:400; }
