/* ==========================================================================
 * Site v3, "pages" group: content pages restyled to match the October 2026
 * landing pages (landing-v3/lp3.css). Builds on css/site-v3.css.
 *
 *   about-us ............. .page-id-516
 *   how-it-works ......... .page-id-609
 *   contact-us ........... .page-id-213
 *   book-a-consultation .. .page-id-1293
 *   showroom ............. .page-id-629 (index)
 *   showroom/<city> ...... .parent-pageid-629 (melbourne 631, brisbane 720, perth 707)
 *   hacker-2025-brochure . .page-id-1229
 *   privacy-policy ....... .page-id-3
 *
 * The FAQ block (x-data="accordionMore") belongs to the home group and is
 * deliberately left alone here. No focus styles, by agency rule.
 * ======================================================================== */

/* ---------- Type: Kudryashev Headline only, never the Display hairline ---------- */
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629,.page-id-1229,.page-id-3) main :is(.font-serif,h1,h2,.gform_title,.prose :is(h1,h2,h3,h4,h5,h6),.prose blockquote){font-family:var(--v3-serif);font-weight:400;letter-spacing:-.005em}
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629,.page-id-1229,.page-id-3) main>section:where(:not(:has([x-data="accordionMore"],.v3-journey,.v3-faq)):not([class*="v3-"])) h2{font-size:clamp(32px,3.4vw,46px);line-height:1.06;font-weight:400;letter-spacing:-.01em;text-wrap:balance}
@media(max-width:767px){body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629,.page-id-1229,.page-id-3) main>section:where(:not(:has([x-data="accordionMore"],.v3-journey,.v3-faq)):not([class*="v3-"])) h2{font-size:28px;line-height:1.1}}

/* ---------- Section rhythm: 88px on desktop, 56px on phones ---------- */
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-629,.parent-pageid-629) main>section:where(:not(:has([x-data="accordionMore"],.v3-journey,.v3-faq)):not([class*="v3-"])){padding-top:56px;padding-bottom:56px;row-gap:24px}
@media(min-width:1024px){body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-629,.parent-pageid-629) main>section:where(:not(:has([x-data="accordionMore"],.v3-journey,.v3-faq)):not([class*="v3-"])){padding-top:88px;padding-bottom:88px;row-gap:32px}}

/* ---------- Buttons: solid olive primary, outlined secondary (base sets the shape) ---------- */
/* custom.css forces a white hover with !important; keep the landing-page hover instead. */
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn:hover{background:var(--v3-olive-d)!important;color:#fff!important}
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn:hover>span{color:inherit!important}
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn.btn-white:hover{background:var(--v3-paper)!important;color:var(--v3-ink)!important}
/* Second button beside a primary one is the outlined secondary. */
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn.btn-orange~a.btn.btn-black{background:transparent;color:var(--v3-ink);box-shadow:inset 0 0 0 1px #cdc8bb}
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn.btn-orange~a.btn.btn-black:hover{background:#fff!important;color:var(--v3-ink)!important}
/* Button pairs: an even gap that also works when they wrap. */
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main .flex:has(>a.btn+a.btn){gap:12px}
body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main .flex:has(>a.btn+a.btn)>a.btn+a.btn{margin-left:0}
@media(max-width:767px){
  body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main a.btn{white-space:normal;text-align:center;line-height:1.25}
  body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-1293,.page-id-629,.parent-pageid-629) main .flex:has(>a.btn+a.btn){flex-direction:column;align-items:stretch;width:100%}
}
/* Block-editor buttons (showroom index) match. */
body:is(.page-id-629,.page-id-1293) main .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:var(--v3-r);background:var(--v3-olive);color:#fff;font:500 15px/1 var(--v3-sans);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer}
body:is(.page-id-629,.page-id-1293) main .wp-block-button__link:hover{background:var(--v3-olive-d);color:#fff}

/* ==========================================================================
 * Hero with video (about-us, showroom cities)
 * ======================================================================== */
body:is(.page-id-516,.parent-pageid-629) main>div:has(>video.hero) h1{font-size:clamp(40px,5vw,68px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
body:is(.page-id-516,.parent-pageid-629) main>div:has(>video.hero) .w-1\/2{width:min(100%,760px);gap:16px}
body:is(.page-id-516,.parent-pageid-629) main>div:has(>video.hero) .w-1\/2>div{font-size:18px;line-height:1.55;max-width:620px;margin:0 auto}
body:is(.page-id-516,.parent-pageid-629) main>div:has(>video.hero)>.bg-black.opacity-30{opacity:.42}

/* ==========================================================================
 * Text paragraph (about-us, showroom cities)
 * ======================================================================== */
body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title) h2#title{width:min(100%,820px)}
body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title) p{text-align:left;font-size:17px;line-height:1.6;color:var(--v3-ink)}
body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title)>div{column-gap:64px}
body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title)>div>*{flex:1 1 0}
body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title) a.btn{align-self:flex-start}
@media(max-width:1023px){body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title) p{font-size:16px;line-height:1.55}body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title)>div{row-gap:16px}body:is(.page-id-516,.parent-pageid-629) main>section:has(>h2#title)>div>div{row-gap:20px}}

/* ==========================================================================
 * About us
 * ======================================================================== */
/* Numbers */
body.page-id-516 main>section[class*="grid-cols-[repeat(2,1fr)]"]{padding-top:8px}
body.page-id-516 main>section[class*="grid-cols-[repeat(2,1fr)]"] .font-serif{font-size:clamp(44px,4.4vw,60px);line-height:1;font-weight:400}
body.page-id-516 main>section[class*="grid-cols-[repeat(2,1fr)]"] .font-serif+span{font-size:16px;line-height:1.4;color:var(--v3-ink);text-align:center}

/* Our history: video capped to the screen, square play control (no white disc) */
body.page-id-516 main>section:has(video.our-history){padding-bottom:0}
@media(min-width:1024px){body.page-id-516 main>section:has(video.our-history)>div{height:min(68vh,620px)}}
body.page-id-516 #our-history-play-pause-btn{width:64px;height:64px;border-radius:var(--v3-r);background:rgb(0 0 0/.45);box-shadow:inset 0 0 0 1px rgb(255 255 255/.7)}
body.page-id-516 #our-history-play-icon{color:#fff!important}

/* Our values: white cards on paper, Haas titles, no fixed 545px height */
body.page-id-516 main>section:has(#our-values){background:var(--v3-paper)}
body.page-id-516 #our-values .splide__slide{height:auto;padding:24px;gap:20px;border-radius:var(--v3-r)}
body.page-id-516 #our-values .splide__slide>.aspect-square{height:220px;width:100%;aspect-ratio:auto}
body.page-id-516 #our-values h3{font:500 20px/1.3 var(--v3-sans);letter-spacing:0}
body.page-id-516 #our-values .splide__slide .gap-y-5{row-gap:8px}
body.page-id-516 #our-values .splide__slide .gap-y-5>div{font-size:16px;line-height:1.55;color:var(--v3-ink)}
@media(max-width:1023px){
  body.page-id-516 #our-values .splide__slide{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:14px;margin-bottom:10px!important}
  body.page-id-516 #our-values .splide__slide>.aspect-square{height:96px}
  body.page-id-516 #our-values .splide__slide .gap-y-5>div{font-size:15px;line-height:1.5}
  body.page-id-516 #our-values h3{font-size:18px}
}

/* Sustainability: photo band with a white card, no 800px fixed height */
body.page-id-516 main>section[style*="background-image"]{height:auto;min-height:0;padding:56px 16px}
body.page-id-516 main>section[style*="background-image"]>div{height:auto;width:min(100%,540px);padding:32px;gap:16px;border-radius:var(--v3-r);color:var(--v3-ink)}
body.page-id-516 main>section[style*="background-image"] .font-serif{font-size:clamp(28px,2.8vw,36px);line-height:1.1}
body.page-id-516 main>section[style*="background-image"] .font-serif+div{font-size:16px;line-height:1.6;color:var(--v3-ink)}
body.page-id-516 main>section[style*="background-image"] a.btn{margin-top:8px}
@media(min-width:1024px){body.page-id-516 main>section[style*="background-image"]{padding:88px 40px}body.page-id-516 main>section[style*="background-image"]>div{padding:40px}}

/* ==========================================================================
 * Showrooms block (about-us, how-it-works, showroom index)
 * ======================================================================== */
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper>.lg\:flex{row-gap:32px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .h-\[500px\]{height:clamp(300px,40vh,420px)}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper h3{font-size:28px;line-height:1.1}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .showroom-list>div{row-gap:10px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .showroom-list a.group{row-gap:10px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper :is(.text-gray-800,.call_to){font-size:16px;line-height:1.5;color:var(--v3-ink)}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .call_to{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .aspect-\[24\/28\]{aspect-ratio:4/3;margin-bottom:16px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .lg\:hidden h3{font-size:26px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .wave-pagination{padding-top:20px}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper h3.text-primary-orange,body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .lg\:hidden h3{color:var(--v3-ink)}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .showroom-list h3.text-primary-orange{color:var(--v3-olive)}
/* Showroom index: names, addresses and phones come before the photo, so they sit in the first screen. */
body.page-id-629 main>section.showroom-wrapper .showroom-list{order:-1}
body:is(.page-id-516,.page-id-609,.page-id-629) main>section.showroom-wrapper .showroom-list .w-\[66\%\]{width:min(100%,340px)}
body.page-id-629 main>section.showroom-wrapper{padding-top:48px}

/* Showroom index: "Can't make it to a showroom?" */
body.page-id-629 main>.wp-block-group.container{padding-bottom:88px}
body.page-id-629 main>.wp-block-group.container h3{font-size:clamp(30px,3vw,40px);line-height:1.08}
body.page-id-629 main>.wp-block-group.container p{font-size:17px;line-height:1.6;color:var(--v3-ink);max-width:720px;margin-left:auto;margin-right:auto}
body.page-id-629 main>.wp-block-group.container .wp-block-spacer{height:20px!important}
body.page-id-629 main>.wp-block-group.container .wp-block-spacer:last-of-type{height:0!important}
@media(max-width:767px){body.page-id-629 main>.wp-block-group.container{padding-bottom:56px}body.page-id-629 main>.wp-block-group.container p{font-size:16px}}

/* ==========================================================================
 * How it works (the process block is journey.css, the FAQ is the home group's
 * .v3-faq): the video sits in the 1200px content column, one screen tall.
 * ======================================================================== */
body.page-id-609 main.flex-1>figure.wp-block-video{max-width:1280px;padding:0 16px;margin:0 auto 56px}
body.page-id-609 main.flex-1>figure.wp-block-video video{display:block;width:100%;max-height:calc(100svh - 160px);object-fit:cover;border-radius:var(--v3-r)}
@media(min-width:768px){body.page-id-609 main.flex-1>figure.wp-block-video{padding:0 40px;margin-bottom:88px}}

/* ==========================================================================
 * Contact us: form as a white card (landing-page form), map cards
 * ======================================================================== */
body.page-id-213 main>section.bg-primary-green .xl\:w-6\/12{width:min(100%,600px)}
body.page-id-213 main>section.bg-primary-green .gform_wrapper{background:#fff;color:var(--v3-ink);border-radius:var(--v3-r);padding:28px 24px;margin:0!important}
body.page-id-213 main>section.bg-primary-green .gform_heading{display:block;margin:0 0 18px!important}
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gform_title{font-family:var(--v3-serif)!important;font-weight:400!important;font-size:32px!important;line-height:1.1!important;color:var(--v3-ink)!important;margin:0!important}
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gform_description{font-size:15px!important;line-height:1.5!important;color:var(--v3-ink)!important;margin:8px 0 0!important}
body.page-id-213 main>section.bg-primary-green .gform_required_legend{display:none!important}
body.page-id-213 main>section.bg-primary-green .gform_fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
body.page-id-213 main>section.bg-primary-green .gfield{grid-column:1/-1!important;min-width:0;margin:0!important;padding:0!important}
body.page-id-213 main>section.bg-primary-green :is(.gfield--type-email,.gfield--type-phone){grid-column:span 1!important}
body.page-id-213 main>section.bg-primary-green :is(input[type=text],input[type=email],input[type=tel]){width:100%!important}
body.page-id-213 main>section.bg-primary-green textarea{width:100%!important;height:120px!important;min-height:0!important}
body.page-id-213 main>section.bg-primary-green .gform_footer{margin:20px 0 0!important;padding:0!important}
/* The base turns forms on olive panels white; this form sits on a white card, so it keeps the landing page's olive submit. */
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gform_footer input[type=submit]{width:100%!important;background:var(--v3-olive)!important;color:#fff!important}
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gform_footer input[type=submit]:hover{background:var(--v3-olive-d)!important}
body.page-id-213 main>section.bg-primary-green .gform_wrapper :is(.gfield_label,legend.gfield_label,.gfield_description,.ginput_complex label,.validation_message,p){color:var(--v3-ink)!important}
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gchoice label{color:var(--v3-ink);border-color:#cdc8bb}
body.page-id-213 main>section.bg-primary-green .gform_wrapper .gchoice input:checked+label{background:var(--v3-olive);border-color:var(--v3-olive);color:#fff}
body.page-id-213 main>section.bg-primary-green .gform_confirmation_wrapper{background:#fff;color:var(--v3-ink);border-radius:var(--v3-r);padding:32px;font-size:17px;line-height:1.55}
body.page-id-213 main>section.bg-primary-green .gform_confirmation_wrapper *{color:var(--v3-ink)!important}
@media(min-width:1024px){body.page-id-213 main>section.bg-primary-green .gform_wrapper{padding:32px}}
@media(max-width:767px){body.page-id-213 main>section.bg-primary-green .gform_wrapper .gform_title{font-size:28px!important}}

body.page-id-213 main>section:has(.map-element) .grid{gap:32px}
body.page-id-213 main>section:has(.map-element) .aspect-square{aspect-ratio:4/3;border-radius:var(--v3-r);overflow:hidden}
body.page-id-213 main>section:has(.map-element) h3{font-size:28px;line-height:1.1;margin-top:20px}
body.page-id-213 main>section:has(.map-element) .text-gray-800{font-size:16px;line-height:1.5;color:var(--v3-ink);margin-top:8px;text-wrap:pretty}
body.page-id-213 main>section:has(.map-element) a[href^="tel:"]{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
/* Phones: three maps stacked run to three screens; the cards keep name, address and phone. */
@media(max-width:767px){
  body.page-id-213 main>section:has(.map-element) .aspect-square{display:none}
  body.page-id-213 main>section:has(.map-element) .grid{gap:0}
  body.page-id-213 main>section:has(.map-element) .grid>div{padding:20px 0;border-top:1px solid var(--v3-line)}
  body.page-id-213 main>section:has(.map-element) h3{margin-top:0;font-size:26px}
}

/* ==========================================================================
 * Book a consultation (block-editor page) and Amelia booking widgets
 * ======================================================================== */
/* The base's plain-page column (max 792px) must not shrink this full-width olive band. */
body.page-id-1293 main.flex-1>.wp-block-group.alignfull{max-width:none;padding-left:0;padding-right:0}
body.page-id-1293 main>.wp-block-group{padding-bottom:88px}
body.page-id-1293 main>.wp-block-group h1{font-size:clamp(36px,4.6vw,56px)!important;line-height:1.05}
body.page-id-1293 main>.wp-block-group h1+p{font-size:17px;line-height:1.55;max-width:640px;margin:16px auto 0;text-wrap:balance}
body.page-id-1293 main>.wp-block-group .wp-block-spacer{height:32px!important}
@media(max-width:767px){body.page-id-1293 main>.wp-block-group{padding-bottom:56px}body.page-id-1293 main>.wp-block-group .wp-block-spacer{height:20px!important}body.page-id-1293 main>.wp-block-group h1+p{font-size:16px}}

body:is(.page-id-1293,.page-id-629,.parent-pageid-629) #amelia-container{--am-font-family:"Haas Grot Disp","Helvetica Neue",Arial,sans-serif!important}
body:is(.page-id-1293,.page-id-629,.parent-pageid-629) #amelia-container :is(.am-button,.el-select__wrapper,.el-input__wrapper,.el-textarea__inner,.am-fs__main,.am-fs__ps-pill){border-radius:var(--v3-r)!important}
body:is(.page-id-1293,.page-id-629,.parent-pageid-629) #amelia-container .am-fs-sb{border-radius:var(--v3-r) 0 0 var(--v3-r)!important}
body:is(.page-id-1293,.page-id-629,.parent-pageid-629) #amelia-container .am-button{font-family:var(--v3-sans)!important;font-weight:500!important;letter-spacing:.04em;text-transform:uppercase}
body:is(.page-id-1293,.page-id-629,.parent-pageid-629) #amelia-container .am-button-continue{min-height:48px}

/* ==========================================================================
 * Showroom city pages
 * ======================================================================== */
/* The visit details come straight after a shorter hero, so address, hours, map
   link, parking and phone are in the first screen (like /lp/visit-…-showroom/). */
body.parent-pageid-629 main{display:flex;flex-direction:column}
body.parent-pageid-629 main>*{order:3}
body.parent-pageid-629 main>div:has(>video.hero){order:1;height:clamp(280px,36svh,400px)}
body.parent-pageid-629 main>section:has(.showroom-facts){order:2}
@media(min-width:1024px){body.parent-pageid-629 main>div:has(>video.hero){height:clamp(300px,44svh,460px)}}
body.parent-pageid-629 main>div:has(>video.hero) h1{font-size:clamp(34px,4.6vw,60px)}
body.parent-pageid-629 main>div:has(>video.hero)>.absolute.bottom-4{display:none}

body.parent-pageid-629 main>section:has(.showroom-facts){background:var(--v3-paper);padding:32px 16px 56px;row-gap:20px}
@media(min-width:1024px){body.parent-pageid-629 main>section:has(.showroom-facts){padding:40px max(40px,calc((100% - 1200px)/2)) 88px;row-gap:24px}}
body.parent-pageid-629 main>section:has(.showroom-facts)>h2{text-align:left}

/* Details card beside the photo carousel: one grid row, both cells stretched to
   the same height, both with the 4px radius. Phones: card first, photos below. */
body.parent-pageid-629 .showroom-visit{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
@media(min-width:1024px){body.parent-pageid-629 .showroom-visit{grid-template-columns:minmax(340px,5fr) minmax(0,7fr);grid-template-rows:minmax(360px,auto);gap:24px}}
body.parent-pageid-629 .showroom-facts{grid-column:1;grid-row:1;background:#fff;color:var(--v3-ink);border-radius:var(--v3-r);padding:20px;width:auto;display:flex;flex-direction:column;justify-content:center;gap:16px}
@media(min-width:1024px){body.parent-pageid-629 .showroom-facts{padding:24px 28px;gap:18px}}
body.parent-pageid-629 .showroom-fact{row-gap:6px;align-items:stretch;text-align:left}
body.parent-pageid-629 .showroom-fact+.showroom-fact{padding-top:16px;border-top:1px solid var(--v3-line)}
body.parent-pageid-629 .showroom-facts .showroom-fact__label.font-serif{display:flex;align-items:center;gap:10px;font:500 17px/1.3 var(--v3-sans);letter-spacing:0;text-align:left;color:var(--v3-ink)}
body.parent-pageid-629 .showroom-fact__label .lp3-ic{color:var(--v3-olive);width:22px;height:22px}
body.parent-pageid-629 .showroom-fact__body{align-self:stretch;margin:0;padding-left:0;text-align:left;font-size:16px;line-height:1.5;color:var(--v3-ink)}
@media(min-width:1024px){body.parent-pageid-629 .showroom-fact__body{padding-left:32px}}
body.parent-pageid-629 .showroom-fact__body p{margin:0;text-align:left!important;font-size:15px;line-height:1.5}
body.parent-pageid-629 .showroom-fact__body a{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
/* Hours: day on the left, time on the right; times never break mid-way. */
body.parent-pageid-629 .showroom-hours{display:grid;gap:4px}
body.parent-pageid-629 .showroom-hours>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline}
body.parent-pageid-629 .showroom-hours dt{font-weight:400;text-wrap:pretty}
body.parent-pageid-629 .showroom-hours dd{margin:0;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
body.parent-pageid-629 .showroom-fact__note{display:flex;align-items:center;gap:8px;margin-top:6px}
body.parent-pageid-629 .showroom-fact__note .lp3-ic{color:var(--v3-olive);width:20px;height:20px;flex:none}
body.parent-pageid-629 .showroom-facts>a.btn{align-self:flex-start}
/* Carousel fills its cell (object-fit:cover), same height as the card. */
body.parent-pageid-629 #visit-slider{grid-column:1;grid-row:2;width:auto;min-width:0;border-radius:var(--v3-r);overflow:hidden}
body.parent-pageid-629 #visit-slider .splide__slide>div{aspect-ratio:3/2}
@media(min-width:1024px){
  body.parent-pageid-629 #visit-slider{grid-column:2;grid-row:1;position:relative;min-height:360px}
  /* The track is taken out of flow, so the card alone sets the row height and the photo fills it. */
  body.parent-pageid-629 #visit-slider .splide__track{position:absolute;inset:0}
  body.parent-pageid-629 #visit-slider :is(.splide__list,.splide__slide){height:100%}
  body.parent-pageid-629 #visit-slider .splide__slide>div{aspect-ratio:auto;height:100%}
}
body.parent-pageid-629 #visit-slider img{width:100%;height:100%;object-fit:cover;border-radius:0}
/* Arrows: 44px square-cornered outline buttons, as on the landing pages. */
body.parent-pageid-629 #visit-slider .splide__arrow{width:44px;height:44px;border-radius:var(--v3-r)!important;background:rgb(0 0 0/.35);box-shadow:inset 0 0 0 1px rgb(255 255 255/.6);color:#fff}
body.parent-pageid-629 #visit-slider .splide__arrow svg{font-size:20px}
body.parent-pageid-629 #visit-slider .splide__arrow--prev{left:16px}
body.parent-pageid-629 #visit-slider .splide__arrow--next{right:16px}
body.parent-pageid-629 #visit-slider .splide__pagination{bottom:16px}

/* Booking (olive, Amelia) */
body.parent-pageid-629 main>section.bg-\[\#474D37\] h2{color:#fff}

/* Get inspiration gallery: no repeated eyebrow, square-cornered filter chips, capped photos */
body.parent-pageid-629 main>section:has(.gallery-slider){row-gap:28px}
body.parent-pageid-629 main>section:has(.gallery-slider)>div:first-child{row-gap:20px}
body.parent-pageid-629 main>section:has(.gallery-slider)>div:first-child>div:first-child:not([class]){display:none}
body.parent-pageid-629 main>section:has(.gallery-slider)>div:first-child .gap-y-5{row-gap:14px}
body.parent-pageid-629 main>section:has(.gallery-slider)>div:first-child .text-gray-800{font-size:17px;line-height:1.6;color:var(--v3-ink)}
body.parent-pageid-629 main>section:has(.gallery-slider) ul{gap:8px}
body.parent-pageid-629 main>section:has(.gallery-slider) ul button{border-radius:var(--v3-r);border-color:#cdc8bb;padding:10px 16px;font:400 14px/1.2 var(--v3-sans);color:var(--v3-ink)}
body.parent-pageid-629 main>section:has(.gallery-slider) ul button:hover{background:#fff;border-color:var(--v3-olive)}
body.parent-pageid-629 main>section:has(.gallery-slider) ul button.\!bg-black{background:var(--v3-olive)!important;border-color:var(--v3-olive)!important;color:#fff!important}
@media(min-width:1024px){body.parent-pageid-629 main>section:has(.gallery-slider) .splide__slide img{height:360px}}
@media(max-width:1023px){body.parent-pageid-629 main>section:has(.gallery-slider)>div:last-child{padding:0 16px}body.parent-pageid-629 main>section:has(.gallery-slider)>div:first-child .text-gray-800{font-size:16px;line-height:1.55}}


/* About Häcker (text banner) */
body.parent-pageid-629 main>section:has(>div>div>div.prose)>div{row-gap:20px}
body.parent-pageid-629 main>section:has(>div>div>div.prose) .prose{font-size:17px;line-height:1.6;color:var(--v3-ink);max-width:720px;margin:0 auto}
body.parent-pageid-629 main>section:has(>div>div>div.prose) .prose p{color:var(--v3-ink);margin:0}
body.parent-pageid-629 main>section:has(>div>div>div.prose) .prose p+p{margin-top:12px}
@media(max-width:767px){body.parent-pageid-629 main>section:has(>div>div>div.prose) .prose{font-size:16px}}

/* ==========================================================================
 * Short desktop screens (e.g. 1280x720): tighter rhythm so sections still fit.
 * ======================================================================== */
@media(min-width:1024px) and (max-height:800px){
  body:is(.page-id-516,.page-id-609,.page-id-213,.page-id-629,.parent-pageid-629) main>section:where(:not(:has([x-data="accordionMore"],.v3-journey,.v3-faq)):not([class*="v3-"])){padding-top:64px;padding-bottom:64px;row-gap:24px}
  body.page-id-516 #our-values .splide__slide>.aspect-square{height:180px}
  body.parent-pageid-629 main>section:has(.gallery-slider) .splide__slide img{height:300px}
  body.page-id-213 main>section.bg-primary-green textarea{height:96px!important}
  body.page-id-213 main>section.bg-primary-green .gform_wrapper{padding:24px 28px}
  body.page-id-1293 main>.wp-block-group .wp-block-spacer{height:20px!important}
  body.page-id-1293 main>.wp-block-group{padding-bottom:64px}
  body.parent-pageid-629 main>div:has(>video.hero){height:280px}
  body.parent-pageid-629 main>section:has(.showroom-facts){padding-top:24px;row-gap:16px}
  body.parent-pageid-629 main>section:has(.showroom-facts)>h2{font-size:36px}
  body.parent-pageid-629 .showroom-facts{padding:18px 24px;gap:12px}
  body.parent-pageid-629 .showroom-fact+.showroom-fact{padding-top:12px}
}

/* ==========================================================================
 * Privacy policy: the base gives plain pages a readable column; this keeps
 * its three heading levels distinct.
 * ======================================================================== */
body.page-id-3 main.flex-1>h4.wp-block-heading{font-size:17px;line-height:1.35;margin-top:24px}
body.page-id-3 main.flex-1>h3+h4.wp-block-heading{margin-top:12px}
body.page-id-3 main a{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
