/* Native UX Builder structure with one shared, reference-based type system. */
html:root,body.gf-native,#main,#wrapper{background:var(--gf-paper)}
html{scroll-padding-top:24px}
body.gf-native{font-family:var(--gf-font);font-size:var(--gf-type-body);font-weight:var(--gf-weight-body);line-height:var(--gf-leading-body);color:var(--gf-ink);-webkit-font-smoothing:antialiased}
body.gf-native h1,body.gf-native h2,body.gf-native h3,body.gf-native h4,body.gf-native h5,body.gf-native h6,body.gf-native .nav>li>a{font-family:var(--gf-font)}
.gf-native p,.gf-native li{font-size:var(--gf-type-body);line-height:var(--gf-leading-body)}
.gf-native p{margin:0 0 var(--gf-space-md);max-width:65ch;color:var(--gf-muted)}
.gf-native h1,.gf-native h2,.gf-native h3,.gf-native h4{font-weight:var(--gf-weight-heading);letter-spacing:var(--gf-tracking-heading);line-height:var(--gf-leading-heading);text-transform:none;color:inherit;margin:0 0 var(--gf-space-md);text-wrap:balance}
.gf-native h1{font-size:var(--gf-type-title);line-height:var(--gf-leading-display)}
.gf-native h2{font-size:var(--gf-type-h2)}.gf-native h3{font-size:var(--gf-type-h3)}.gf-native h4{font-size:var(--gf-type-h4)}
.gf-native .dark h1,.gf-native .dark h2,.gf-native .dark h3,.gf-native .dark h4{color:var(--gf-white)}
.gf-native .dark p{color:oklch(88% .012 250)}
.gf-native .gf-eyebrow,.gf-native .gf-eyebrow p{font-size:var(--gf-type-label)!important;font-weight:var(--gf-weight-body);letter-spacing:.04em;line-height:1.5;text-transform:uppercase;color:inherit;margin:0}
.gf-native .gf-eyebrow p{margin-bottom:var(--gf-space-md)}
/* Native grids retain their own columns and editable device spans. */
.gf-native .section-content>.row{width:calc(100% - 82px);max-width:calc(var(--gf-container) + 30px);margin-left:auto!important;margin-right:auto!important}
.gf-native .col-inner{min-width:0}
.gf-native .section-content>.row:last-child>.col{padding-bottom:0}
.gf-native .section-content>.row>.col>.col-inner>:last-child{margin-bottom:0}
.gf-native .gf-section-heading{margin-bottom:var(--gf-space-xl)}
.gf-native .gf-section-heading>.col{padding-bottom:0}.gf-native .gf-section-heading h2{margin-bottom:0}
.gf-native .gf-section-heading p{max-width:46ch}
/* Native Buttons and Header Builder. */
.gf-native .button{display:inline-flex;align-items:center;justify-content:center;gap:16px;height:var(--gf-control-height);min-height:var(--gf-control-height);box-sizing:border-box;max-width:100%;padding:10px 20px;margin-bottom:0;border-radius:40px;font-family:var(--gf-font);font-size:var(--gf-type-button);font-weight:var(--gf-weight-body);line-height:1.5;letter-spacing:0;text-transform:none;box-shadow:none;transition:background .2s,transform .3s var(--gf-ease)}
.gf-native .button i{font-size:20px;line-height:1;margin:0!important;flex:none}
.gf-native .button.is-link{min-height:var(--gf-control-height);padding:6px 0;border-radius:0!important;border:0;border-bottom:1px solid var(--gf-line)!important;color:var(--gf-ink)}
.gf-native .dark .button.is-link{color:var(--gf-white);border-bottom-color:oklch(85% .01 250/.35)!important}
.gf-native .button.white:not(.is-outline):not(.is-link){background:var(--gf-white);color:var(--gf-ink)!important}
.gf-native .button:hover{transform:translateY(-2px)}
/* Native photographic hero. */
.gf-native .gf-hero-section{width:100%!important;max-width:none;margin:0!important;border-radius:0;overflow:hidden}
.gf-native .gf-hero-banner .banner-layers{max-width:none}
.gf-native .gf-hero-title h1{font-size:var(--gf-type-display);line-height:var(--gf-leading-display);letter-spacing:var(--gf-tracking-heading);margin-bottom:var(--gf-space-md)}
.gf-native .gf-hero-copy .gf-eyebrow p{max-width:none;font-size:var(--gf-type-label)!important}
.gf-native .gf-hero-lead p{font-size:var(--gf-type-body);line-height:var(--gf-leading-body);color:var(--gf-white);max-width:54ch;margin:0 auto var(--gf-space-lg)}
.gf-native .gf-hero-copy .button{margin:0 12px}
.gf-native .gf-hero-foot p,.gf-native .gf-hero-foot .button{font-size:var(--gf-type-caption);color:var(--gf-white);margin:0}
.gf-native .gf-hero-foot .row{width:100%;max-width:none;margin:0}.gf-native .gf-hero-foot .col{padding:0}
.gf-native .gf-hero-foot .button{padding:0;min-height:var(--gf-control-height);border:0!important}
.gf-native .gf-hero-foot-row>.col:first-child{text-align:left}
.gf-native .gf-hero-foot .is-divider{margin:0 0 16px}
.gf-native .gf-benefit-row{padding-block:var(--gf-space-lg);border-bottom:1px solid var(--gf-line)}
.gf-native .gf-benefit-row .col{padding-bottom:0}.gf-native .gf-benefit-row p{font-size:var(--gf-type-secondary);font-weight:var(--gf-weight-body);color:var(--gf-ink);margin:0;display:flex;align-items:center;gap:14px;max-width:none}
.gf-native .gf-benefit-icon{font-size:24px;color:var(--gf-blue);flex:none}
/* Image-led sections use the aspect ratio of the catalogue photography. */
.gf-native .img-inner,.gf-native .banner,.gf-native .box-image{border-radius:var(--gf-radius);overflow:hidden}
.gf-native .gf-about-heading{margin-bottom:48px}
.gf-native .gf-about-row .img{margin-bottom:16px}
.gf-native .gf-photo-caption p{font-size:var(--gf-type-secondary);color:var(--gf-ink)}
.gf-native .gf-mini-spec{border-top:1px solid var(--gf-line);padding-top:24px;margin-top:32px!important}
.gf-native .gf-mini-spec .col{padding-bottom:0}
.gf-native .gf-mini-spec h3{font-size:var(--gf-type-h3);margin:0 0 8px}
.gf-native .gf-mini-spec p{font-size:var(--gf-type-secondary);margin:0}
.gf-native .gf-feature-card .box-text{padding:24px 0 8px}.gf-native .gf-feature-card h3{font-size:var(--gf-type-h4);margin:0 0 10px}.gf-native .gf-feature-card p{font-size:var(--gf-type-body);margin:0}
.gf-native .gf-feature-card .gf-card-dimensions{float:right;font-size:var(--gf-type-caption);line-height:1.7;color:var(--gf-muted);margin-top:4px;font-weight:var(--gf-weight-body);letter-spacing:0}
.gf-native .gf-feature-card .gf-card-badge{display:none}
.gf-native .gf-feature-card .box-image:after,.gf-native .products .box-image:after,.gf-native .gf-catalogue-grid .box-image:after{position:absolute;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gf-white);color:var(--gf-ink);border-radius:50%;font-size:20px;pointer-events:none}
.gf-native .gf-collection-foot{padding-top:32px;margin-top:32px!important;border-top:1px solid var(--gf-line)}
.gf-native .gf-collection-foot p{font-size:var(--gf-type-secondary)}
.gf-native .gf-tech-diagram>.col-inner{background:var(--gf-soft);border-radius:8px;padding:32px!important;text-align:center}
.gf-native .gf-tech-diagram .img{max-width:250px;margin:0 auto 24px}
.gf-native .gf-tech-diagram img{width:100%;height:auto;object-fit:contain}
.gf-native .gf-tech-diagram p{font-size:var(--gf-type-secondary);color:var(--gf-ink);margin:0;max-width:none}
.gf-native .gf-tech-point{border-bottom:1px solid oklch(85% .01 250/.25);padding:24px 0}
.gf-native .gf-tech-point:first-child{padding-top:0}
.gf-native .gf-tech-point h3{font-size:var(--gf-type-h4);margin-bottom:12px}
.gf-native .gf-tech-point p{font-size:var(--gf-type-body);margin:0}
.gf-native .gf-tech-point+.button{margin-top:32px}
.gf-native .gf-editorial-row{margin-top:48px!important}
.gf-native .gf-editorial-row h3{font-size:var(--gf-type-h3)}
.gf-native .gf-editorial-row .gf-editorial-spec p{font-size:var(--gf-type-secondary);padding-top:24px;border-top:1px solid var(--gf-line);margin-top:24px}
.gf-native .gf-image-note p{font-size:var(--gf-type-caption)}
/* Accessible native Accordion. */
.gf-native .accordion-title{font-size:var(--gf-type-body);line-height:1.5;padding:24px 44px 24px 0;min-height:80px;border-color:var(--gf-line);color:var(--gf-ink);font-weight:var(--gf-weight-body)}
.gf-native .accordion-title .toggle{left:auto;right:0;top:24px;opacity:1;width:24px;height:24px}
.gf-native .accordion-title .toggle i{font-size:20px}
.gf-native .accordion-title.active .toggle{transform:none}
.gf-native .accordion-title.active{background:transparent;color:var(--gf-ink);font-weight:var(--gf-weight-emphasis)}
.gf-native .accordion-inner{padding:0 32px 24px 0;font-size:var(--gf-type-body)}
/* Native page intro and shared CTA block. */
.gf-native .gf-page-intro{padding-bottom:64px!important}.gf-native .gf-page-intro .col{padding-bottom:0}
.gf-native .gf-page-intro h1{max-width:900px}
.gf-native .gf-page-intro .col-inner>.text:last-child p{font-size:var(--gf-type-body);max-width:65ch;margin-bottom:0}
.gf-native .gf-page-intro+.section{padding-top:0!important}
.gf-native .gf-cta-section{width:calc(100% - 112px)!important;max-width:var(--gf-container);margin:0 auto 96px;border-radius:8px;padding:64px 0!important;overflow:hidden}
.gf-native .gf-cta-section .section-content>.row{width:calc(100% - 98px)}
.gf-native .gf-cta-section h2{margin-bottom:0}.gf-native .gf-cta-section p{font-size:var(--gf-type-body)}
/* Native collection, product gallery and product content. */
.gf-native .gf-collection-search{padding-bottom:32px!important}
.gf-native .gf-collection-search>.section-content>.row:first-child{padding:24px 0;border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line);margin-bottom:32px}
.gf-native .gf-collection-search>.section-content>.row:first-child .col{padding-bottom:0}
.gf-native .gf-collection-search p{font-size:var(--gf-type-secondary)}
.gf-native .gf-collection-search input[type=search]{height:var(--gf-control-height);border:1px solid var(--gf-line);border-radius:4px;background:var(--gf-white);box-shadow:none;padding:12px 18px;font:var(--gf-weight-body) var(--gf-type-body) var(--gf-font)}
.gf-native .gf-catalogue-grid{padding-bottom:96px!important}
.gf-native .gf-catalogue-grid .panel>.row{max-width:none;width:calc(100% + 30px);margin-left:-15px!important;margin-right:-15px!important}
.gf-native .nav-pills>li>a{border-radius:30px!important;text-transform:none;letter-spacing:0;font-size:var(--gf-type-secondary);padding:12px 20px;min-height:48px;font-weight:var(--gf-weight-body)}
.gf-native .tab-panels{padding-top:32px}
.gf-native .products .box-text,.gf-native .gf-catalogue-grid .box-text{padding:24px 0 8px}
.gf-native .products .product-title,.gf-native .gf-catalogue-grid .product-title{font-size:var(--gf-type-h4);font-weight:var(--gf-weight-emphasis)}
.gf-native .products .gf-finish-label,.gf-native .gf-catalogue-grid .gf-finish-label{font-size:var(--gf-type-body);font-weight:var(--gf-weight-body);margin-top:8px}
.gf-native .price-wrapper{display:none}
.gf-native .gf-product-overview{padding-top:32px!important;padding-bottom:96px!important}
.gf-native .product-short-description h3{font-size:var(--gf-type-h4);font-weight:var(--gf-weight-emphasis)}
.gf-native .product_meta{font-size:var(--gf-type-secondary);margin:24px 0}
.gf-native .product-thumbnails img{aspect-ratio:1.5;object-fit:cover}
.gf-native .woocommerce-breadcrumb{font-size:var(--gf-type-secondary);text-transform:none}
.gf-native .gf-product-spec p{font-size:var(--gf-type-secondary);padding:20px 0;border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line)}
.gf-native .shop_attributes th,.gf-native .shop_attributes td{font-size:var(--gf-type-secondary)}
/* Contact and WPForms own the form layout/data/validation. */
.gf-native .gf-contact-section,.gf-native .gf-download-section{padding-bottom:96px!important}
.gf-native .gf-contact-section h2,.gf-native .gf-wpforms-panel h2{font-size:var(--gf-type-h3)}
.gf-native .gf-contact-section h6{font-size:var(--gf-type-label);font-weight:var(--gf-weight-emphasis);letter-spacing:.03em;margin-top:32px}
.gf-native .gf-contact-photo{margin-top:32px}
.gf-native .gf-wpforms-panel>.col-inner{border-radius:8px;overflow:hidden}
.gf-native div.wpforms-container-full{margin:32px 0 0;font-family:var(--gf-font)}
.gf-native div.wpforms-container-full .wpforms-field-label{font-size:var(--gf-type-label);font-weight:var(--gf-weight-emphasis);margin-bottom:10px;line-height:1.5}
.gf-native div.wpforms-container-full input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.gf-native div.wpforms-container-full select,.gf-native div.wpforms-container-full textarea{height:var(--gf-control-height);min-height:var(--gf-control-height);box-sizing:border-box;border:1px solid var(--gf-line);border-radius:4px;background:var(--gf-white);box-shadow:none;padding:10px 14px;font:var(--gf-weight-body) 16px/24px var(--gf-font);color:var(--gf-ink)}
.gf-native div.wpforms-container-full textarea{height:160px!important;min-height:160px!important}
.gf-native div.wpforms-container-full .wpforms-field{padding:12px 0}
.gf-native div.wpforms-container-full .wpforms-field-description,.gf-native div.wpforms-container-full .wpforms-field-limit-text{font-size:var(--gf-type-caption)}
.gf-native div.wpforms-container-full .wpforms-field-checkbox label{font-size:var(--gf-type-secondary);line-height:1.55}
.gf-native div.wpforms-container-full button[type=submit]{font:var(--gf-weight-body) var(--gf-type-button)/1.5 var(--gf-font);background:var(--gf-blue);color:var(--gf-white);border:0;border-radius:40px;height:var(--gf-control-height);min-height:var(--gf-control-height);box-sizing:border-box;padding:10px 20px;margin-bottom:0}
.gf-native .wpforms-confirmation-container-full{background:oklch(95% .025 220);border:1px solid oklch(76% .04 220);border-radius:6px;padding:28px}
/* Native footer block and native absolute footer. */
.gf-native .gf-footer-logo img{filter:brightness(0) invert(1)}.gf-native .gf-footer-logo .img{max-width:190px}
.gf-native .gf-footer-top{padding-bottom:48px}.gf-native .gf-footer-top h3{font-size:var(--gf-type-h4);font-weight:var(--gf-weight-body);margin:0}
.gf-native .gf-footer-section .is-divider{max-width:var(--gf-container)!important;width:calc(100% - 112px)!important;margin:0 auto 48px!important}
.gf-native .gf-footer-links .gf-eyebrow p{font-size:var(--gf-type-label)!important;margin-bottom:24px}
.gf-native .gf-footer-links p{font-size:var(--gf-type-body);margin-bottom:12px}
.gf-native #footer a{color:inherit;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
.gf-native .absolute-footer{font-size:var(--gf-type-caption);padding:0 0 24px}
.gf-native .absolute-footer>.container{max-width:var(--gf-container);width:calc(100% - 112px);padding:24px 0 0;border-top:1px solid oklch(85% .01 250/.25)}
.gf-native .absolute-footer .footer-secondary{padding:0}
.gf-native :focus-visible{outline:3px solid var(--gf-blue);outline-offset:4px}.gf-native .dark :focus-visible{outline-color:var(--gf-white)}
@media(hover:none){.gf-native .button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.gf-native *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Remodix header composition: transparent overlay, center pills, white CTA. */
.gf-native #header .header-wrapper{background:transparent!important;box-shadow:none}
.gf-native #header .header-main{max-width:none!important;margin:0!important;border-radius:0;background:transparent!important;height:144px}
.gf-native #header .header-inner{max-width:1224px;width:calc(100% - 80px);padding:0;height:144px}
.gf-native #header .nav{gap:0}
.gf-native #header .nav>li{margin:0}
.gf-native #header .nav>li>a{padding:4px 16px;min-height:32px;background:var(--gf-soft);border-radius:999px;font-size:16px;line-height:24px}
.gf-native #header .nav>li.active>a{background:var(--gf-ink);color:var(--gf-white)}
.gf-native #header .nav>li.header-button-1>a{background:var(--gf-ink);color:var(--gf-white);height:var(--gf-control-height);min-height:var(--gf-control-height);padding:10px 20px;font-size:16px}
.gf-native #header.transparent .header-main{background:transparent!important;margin:0!important;max-width:none!important}
.gf-native #header.transparent .logo img{filter:brightness(0) invert(1)}
.gf-native #header.transparent .nav>li>a{color:var(--gf-white);background:oklch(20% .03 40/.18)}
.gf-native #header.transparent .nav>li.active>a,.gf-native #header.transparent .nav>li.header-button-1>a{color:var(--gf-ink);background:var(--gf-white)}
.gf-native #header.transparent a[data-open="#main-menu"]{color:var(--gf-white)}
.gf-native .gf-hero-banner{border-radius:0;padding-top:max(850px,100svh)!important}
.gf-native .gf-hero-copy{width:80%!important}
.gf-native #header .header-button .button{padding:10px 20px;min-height:var(--gf-control-height);font-size:var(--gf-type-button);line-height:1.55;gap:16px}
.gf-native #header.transparent .header-button .button{background:var(--gf-white)!important;color:var(--gf-ink)!important}
.gf-native #header:not(.transparent) .header-button .button{background:var(--gf-ink)!important;color:var(--gf-white)!important}
.gf-native .gf-interior-hero{padding:0!important}
.gf-native .gf-interior-hero .banner{border-radius:0}
.gf-native .gf-interior-hero .banner-layers{max-width:1440px}
.gf-native .gf-interior-hero h1{max-width:900px}
.gf-native .gf-interior-copy .gf-eyebrow p,.gf-native .gf-interior-copy p{color:var(--gf-white)}
.gf-native .gf-interior-hero+.section{padding-top:96px!important}
.gf-native .gf-download-section h2{font-size:var(--gf-type-h3)}

.gf-native strong,.gf-native b{font-weight:var(--gf-weight-strong)}
.gf-native .gf-interior-hero h1{max-width:760px}
/* Inner-page navigation follows the reference's 24px top / 40px side spacing. */
.gf-native:not(.home) #header{height:96px}
.gf-native:not(.home) #header .header-main,.gf-native:not(.home) #header .header-inner{height:96px}
.gf-native:not(.home) #header .header-inner{max-width:none;width:calc(100% - 80px)}
.gf-native #header .flex-left .header-nav{justify-content:center}
.gf-native #header .nav>li>a{font-weight:var(--gf-weight-body);text-transform:none}
/* Card caption and heading roles stay balanced without floats or row offsets. */
.gf-native .gf-feature-card h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}
.gf-native .gf-feature-card .gf-card-dimensions{float:none;display:inline-block;margin:0;font-size:var(--gf-type-caption)}
.gf-native .gf-product-overview .product-title{font-size:clamp(2.25rem,4.2vw,3.5rem)}

/* Shared medium controls, including native search inputs outside WPForms. */
.gf-native input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]):not([type=image]),.gf-native select{height:var(--gf-control-height);min-height:var(--gf-control-height);box-sizing:border-box;font-size:16px;line-height:24px}
.gf-native div.wpforms-container-full select{padding-right:36px}

/* Native Flickity interaction, shared Themify controls in every public carousel/gallery. */
.gf-native .flickity-prev-next-button{display:flex!important;align-items:center;justify-content:center;width:46px;height:46px;min-height:46px;padding:0;border:1px solid var(--gf-line);border-radius:50%;background:var(--gf-white);color:var(--gf-ink)!important;opacity:1!important;visibility:visible;transform:none!important;box-shadow:none;transition:background .2s,border-color .2s}
.gf-native .flickity-prev-next-button svg{display:none!important}
.gf-native .flickity-prev-next-button:before{font:400 20px/1 Themify!important;content:'\e628';color:inherit}
.gf-native .flickity-prev-next-button.previous:before{content:'\e629'}
.gf-native .flickity-prev-next-button:hover,.gf-native .flickity-prev-next-button:focus-visible{background:var(--gf-soft);border-color:var(--gf-ink);opacity:1!important}
.gf-native .flickity-prev-next-button:disabled,.gf-native button.flickity-prev-next-button[disabled]{background:var(--gf-soft)!important;color:var(--gf-muted)!important;opacity:1!important;cursor:default;pointer-events:none}

.gf-native .flickity-prev-next-button:disabled:before{opacity:.5}
