/* Native shared product UX Block: gallery, summary, Woo tabs and related finishes. */
.gf-native .gf-product-overview{padding:32px 0 80px!important}
.gf-native .gf-product-breadcrumb-row{margin-bottom:24px!important}
.gf-native .gf-product-breadcrumb-row>.col{padding-bottom:0}
.gf-native .gf-product-breadcrumb-row .woocommerce-breadcrumb{margin:0;font-size:14px;line-height:1.6;letter-spacing:0}
.gf-native .gf-product-main-row>.col{padding-bottom:0}
.gf-native .gf-product-summary>.col-inner{padding-left:32px}
.gf-native .gf-product-summary .gf-eyebrow p{font-size:14px!important;margin-bottom:16px}
.gf-native .gf-product-summary .product-title{font-size:48px;line-height:1.15;margin:0 0 16px}
.gf-native .gf-product-summary .product-title-container .is-divider{display:none}
.gf-native .gf-product-summary .product-short-description{margin-bottom:24px}
.gf-native .gf-product-summary .product-short-description h3{font-size:24px;line-height:1.35;margin:0 0 12px}
.gf-native .gf-product-summary .product-short-description p{font-size:16px;line-height:1.65;margin:0;max-width:52ch}
.gf-native .gf-product-quick-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;margin:0 0 24px!important;padding:20px 0;border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line)}
.gf-native .gf-product-quick-specs>.col,.gf-native .gf-product-actions>.col{padding:0!important;max-width:none;min-width:0}
.gf-native .gf-product-quick-specs .gf-product-spec-label{font-size:14px;line-height:1.5;margin:0 0 6px}
.gf-native .gf-product-quick-specs .gf-product-spec-value{font-size:18px;line-height:1.5;font-weight:600;color:var(--gf-ink);margin:0;white-space:nowrap}
.gf-native .gf-product-actions{width:100%;margin:0!important}
.gf-native .gf-product-actions>.col>.col-inner{display:flex;flex-wrap:wrap;gap:12px}
.gf-native .gf-product-actions .button{margin:0;font-size:16px;gap:12px}
.gf-native .gf-product-actions .button.primary:not(.is-outline){background:var(--gf-ink);border-color:var(--gf-ink);color:var(--gf-white)}
.gf-native .gf-product-enquiry-note p,.gf-native .gf-product-photo-note p{font-size:14px;line-height:1.6;margin:14px 0 0}
/* The frame never follows the selected image's natural height. */
.gf-native .gf-product-media .woocommerce-product-gallery{margin:0}
.gf-native .gf-product-media .product-gallery-slider{aspect-ratio:3/2;margin:0!important;background:var(--gf-soft);border-radius:8px;overflow:hidden}
.gf-native .gf-product-media .product-gallery-slider .flickity-viewport{width:100%;height:auto!important;aspect-ratio:3/2;transition:none}
.gf-native .gf-product-media .product-gallery-slider .flickity-slider{height:100%}
.gf-native .gf-product-media .woocommerce-product-gallery__image{height:100%!important}
.gf-native .gf-product-media .woocommerce-product-gallery__image>a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.gf-native .gf-product-media .woocommerce-product-gallery__image>a>img:not(.zoomImg){display:block;width:100%;height:100%!important;max-height:100%;object-fit:cover;object-position:center;margin:0}
.gf-native .gf-product-media .product-gallery-slider:not(:has(.slide:nth-child(2)))>.flickity-prev-next-button{display:none!important}
.gf-native .gf-product-media .product-gallery-slider>.flickity-prev-next-button{top:calc(50% - 23px);bottom:auto}
.gf-native .gf-product-media .product-gallery-slider>.previous{left:12px;right:auto}
.gf-native .gf-product-media .product-gallery-slider>.next{right:12px;left:auto}
.gf-native .gf-product-media .image-tools.bottom{bottom:12px;left:12px}
.gf-native .gf-product-media .zoom-button{display:flex!important;align-items:center;justify-content:center;line-height:1;width:46px;height:46px;min-height:46px;padding:0;margin:0;background:var(--gf-white);border:1px solid var(--gf-line);color:var(--gf-ink);border-radius:50%}
.gf-native .gf-product-media .product-thumbnails{width:100%;margin:12px 0 0!important}
.gf-native .gf-product-media .product-thumbnails .col{width:88px!important;max-width:88px!important;flex-basis:88px!important;padding:0!important;margin:0 10px 0 0}
.gf-native .gf-product-media .product-thumbnails a{display:flex;align-items:center;justify-content:center;height:72px;margin:0;padding:4px;border:1px solid var(--gf-line);border-radius:6px;background:var(--gf-soft);overflow:hidden}
.gf-native .gf-product-media .product-thumbnails img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;opacity:1}
.gf-native .gf-product-media .product-thumbnails .is-nav-selected a{border-color:var(--gf-blue);box-shadow:inset 0 0 0 1px var(--gf-blue)}
.gf-native .gf-product-media .product-thumbnails .flickity-prev-next-button{display:none!important}
/* Flatten nested native product-description containers; keep the actual catalogue content. */
.gf-native .gf-product-details{padding:80px 0!important}
.gf-native .gf-product-details .woocommerce-tabs.container{width:100%;max-width:none;margin:0;padding:0}
.gf-native .gf-product-details .wc-tabs{display:flex;gap:8px;margin:0;border:0}
.gf-native .gf-product-details .wc-tabs>li{margin:0}
.gf-native .gf-product-details .wc-tabs>li>a{display:flex;align-items:center;justify-content:center;height:46px;min-height:46px;padding:10px 18px;border:1px solid var(--gf-line);border-radius:24px;color:var(--gf-ink);font-size:16px;font-weight:500;line-height:24px;text-transform:none;letter-spacing:0}
.gf-native .gf-product-details .wc-tabs>li>a:before{display:none}
.gf-native .gf-product-details .wc-tabs>li.active>a{background:var(--gf-ink);border-color:var(--gf-ink);color:var(--gf-white)}
.gf-native .gf-product-details .tab-panels{padding:32px 0 0}
.gf-native .gf-product-details .panel>.section{padding:0!important;background:transparent}
.gf-native .gf-product-details .panel .section-content>.row{width:100%;max-width:none;margin:0!important}
.gf-native .gf-product-details .panel .section-content>.row>.col{padding:0!important}
.gf-native .gf-product-details .panel h2{font-size:24px;line-height:1.35;margin:0 0 20px}
.gf-native .gf-product-details .panel p,.gf-native .gf-product-details .panel li{font-size:16px;line-height:1.65}
.gf-native .gf-product-details .panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;list-style:none;padding:0;margin:0 0 24px}
.gf-native .gf-product-details .panel li{position:relative;padding-left:26px;margin:0}
.gf-native .gf-product-details .panel li:before{content:'\e64c';position:absolute;left:0;top:4px;font:400 16px/1 Themify;color:var(--gf-blue)}
.gf-native .gf-product-details .panel .button:after{content:'\e628';font:400 20px/1 Themify}
.gf-native .gf-product-details .shop_attributes{width:100%;margin:0;border-collapse:collapse}
.gf-native .gf-product-details .shop_attributes th,.gf-native .gf-product-details .shop_attributes td{font-size:16px;line-height:1.6;padding:16px 0;border-bottom:1px solid var(--gf-line);text-transform:none;vertical-align:top}
.gf-native .gf-product-details .shop_attributes th{width:30%;padding-right:24px;font-weight:600}
.gf-native .gf-product-details .shop_attributes td p{margin:0}
/* Related finishes share Collection's image ratio, caption and arrow treatment. */
.gf-native .gf-related-section .gf-r-heading>.col:last-child{text-align:right}
.gf-native .gf-related-section .related-products-wrapper{border:0;padding:0}
.gf-native .gf-related-section .product-section-title-related{display:none}
.gf-native .gf-related-section .related-products-wrapper>.row{width:calc(100% + 24px);max-width:none;margin:0 -12px!important}
.gf-native .gf-related-section .related-products-wrapper>.row>.col{padding:0 12px 0}
.gf-native .gf-related-section .box-image:after{display:none}
.gf-native .gf-related-section .box-text{position:relative;padding:20px 48px 0 0}
.gf-native .gf-related-section .box-text:after{content:'\e628';position:absolute;top:20px;right:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--gf-line);color:var(--gf-ink);font:400 16px/1 Themify;pointer-events:none}
.gf-native .gf-related-section .product-title{font-size:22px;line-height:1.3;margin:0}
.gf-native .gf-related-section .product-title a{color:var(--gf-ink)}
.gf-native .gf-related-section .product-title a:after{content:'';position:absolute;inset:0}
.gf-native .gf-related-section .price-wrapper{display:block}
.gf-native .gf-related-section .price{display:none}
.gf-native .gf-related-section .gf-finish-label{font-size:16px;line-height:1.5;margin:8px 0 0}
@media(max-width:1023px){
 .gf-native .gf-product-summary>.col-inner{padding:0!important}
 .gf-native .gf-product-media .product-gallery-slider{max-width:none}
 .gf-native .gf-related-section .related-products-wrapper>.row>.col{max-width:50%;flex-basis:50%;padding-bottom:32px}
 .gf-native .gf-related-section .gf-r-heading>.col:last-child{text-align:left}
}
@media(max-width:699px){
 .gf-native .gf-product-overview{padding:24px 0 64px!important}
 .gf-native .gf-product-breadcrumb-row{margin-bottom:20px!important}
 .gf-native .gf-product-summary .product-title{font-size:36px}
 .gf-native .gf-product-summary .product-short-description h3{font-size:22px}
 .gf-native .gf-product-quick-specs .gf-product-spec-value{font-size:17px}
 .gf-native .gf-product-actions .button{width:100%}
 .gf-native .gf-product-media .product-thumbnails .col{width:76px!important;max-width:76px!important;flex-basis:76px!important}
 .gf-native .gf-product-media .product-thumbnails a{height:64px}
 .gf-native .gf-product-details{padding:64px 0!important}
 .gf-native .gf-product-details .wc-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .gf-native .gf-product-details .wc-tabs>li>a{font-size:14px;padding:10px}
 .gf-native .gf-product-details .panel h2{font-size:22px}
 .gf-native .gf-product-details .panel ul{grid-template-columns:minmax(0,1fr);gap:14px}
 .gf-native .gf-product-details .shop_attributes th{width:42%;padding-right:16px}
 .gf-native .gf-related-section .related-products-wrapper>.row>.col{max-width:100%;flex-basis:100%}
}
@media(min-width:1024px) and (max-width:1199px){.gf-native .gf-product-actions .button{width:100%}}
@media(max-width:699px){.gf-native .gf-product-details .gf-r-heading h2,.gf-native .gf-related-section .gf-r-heading h2{text-wrap:balance}}
/* UX Builder wraps some Woo widgets in paragraphs; those wrappers must not add blank spacing. */
.gf-native .gf-product-main-row>.col>.col-inner>p,
.gf-native .gf-product-breadcrumb-row>.col>.col-inner>p,
.gf-native .gf-product-details>.section-content>.row>.col>.col-inner>p,
.gf-native .gf-related-section>.section-content>.row>.col>.col-inner>p{margin:0}
/* The parent theme also adds an image-height spacer; use only the shared 3:2 frame. */

.gf-native .gf-product-media .zoom-button i{display:block;position:static!important;top:auto;line-height:1;font-size:20px;margin:0!important;transform:none}
.gf-native .gf-product-media .zoom-button i:before{display:block;line-height:1}

/* One thumbnail component for Collection and Explore another finish.
   Own the OUTER frame too: Flatsome's category image-height spacer otherwise
   adds 95% padding before the inner frame and makes related cards too tall. */
.gf-native :is(.gf-r-collection,.gf-related-section) .box-image{
 position:relative;width:100%;height:auto!important;min-height:0!important;
 aspect-ratio:3/2;padding:0!important;border-radius:8px!important;overflow:hidden;
}
.gf-native :is(.gf-r-collection,.gf-related-section) .box-image>div:first-child{
 position:absolute!important;inset:0;width:100%;height:100%!important;
 min-height:0!important;padding:0!important;overflow:hidden;
}
.gf-native :is(.gf-r-collection,.gf-related-section) .box-image>div:first-child>a{
 position:absolute;inset:0;display:block;width:100%;height:100%;
}
.gf-native :is(.gf-r-collection,.gf-related-section) .box-image img{
 position:absolute;inset:0;width:100%!important;height:100%!important;
 object-fit:cover;object-position:center;transition:none;
}
