/* DAHAI SOLAR UI pass (v0.9.5). Scoped to product, category and contact pages plus phone-only floating tools.
   Colours follow the home page: navy #0f2747, white, orange #e9a23b. */
:root{--dgu-navy:#0f2747;--dgu-navy-2:#16335c;--dgu-orange:#e9a23b;--dgu-line:#e3e8ef;--dgu-bg:#f5f7fa;--dgu-text:#1d2939;--dgu-muted:#667085;--dgu-radius:10px}

/* ---------- 1. Product detail ---------- */
body.dg-family-page .ast-single-entry-banner{display:none}
.dg-pf .dg-breadcrumbs ol{flex-wrap:wrap}
.dg-pf .dg-breadcrumbs li:last-child span{display:inline-block;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.dg-pf-hero{padding-top:20px}
.dg-pf-hero__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}
.dg-pf-media__main{aspect-ratio:4/3;max-height:min(58vh,520px);width:100%}
.dg-pf-intro h1{font-size:clamp(1.45rem,2.1vw,2.05rem);line-height:1.22;letter-spacing:-.01em}
.dg-pf-intro .dg-lead{font-size:16px;line-height:1.6;margin-bottom:16px}
.dg-pf-keyspecs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 18px}
.dg-pf-keyspecs div{border:1px solid var(--dgu-line);border-radius:var(--dgu-radius);background:#fff;padding:10px 12px}
.dg-pf-keyspecs dt{font-size:12px;color:var(--dgu-muted);margin:0 0 2px;font-weight:500;line-height:1.3}
.dg-pf-keyspecs dd{margin:0;font-size:16px;font-weight:650;color:var(--dgu-navy);line-height:1.3;overflow-wrap:anywhere}
.dg-pf-modelsel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px}
.dg-pf-modelsel label{font-size:14px;font-weight:600;color:var(--dgu-text);margin:0}
.dg-pf-modelsel select{flex:1 1 220px;max-width:340px;min-height:44px;padding:8px 12px;border:1px solid #c5ccd6;border-radius:8px;background:#fff;font-size:15px;color:var(--dgu-text)}
.dg-pf-modelsel__jump{font-size:14px;font-weight:600;color:var(--dgu-navy-2);text-decoration:none;white-space:nowrap}
.dg-pf-modelsel--table{margin:0 0 12px}
.dg-pf-table.is-single{width:auto;min-width:min(100%,520px)}
.dg-pf-table.is-single td{white-space:normal}
.dg-pf-table [hidden]{display:none!important}
@media(max-width:900px){
	.dg-pf-hero__grid{grid-template-columns:1fr}
	.dg-pf-media__main{aspect-ratio:16/11;max-height:300px}
	.dg-pf .dg-breadcrumbs li:last-child{display:none}
	.dg-pf-keyspecs{grid-template-columns:1fr 1fr}
	.dg-pf-modelsel select{max-width:none}
}

/* ---------- 2. Product category / shop ---------- */
.ast-archive-entry-banner[data-post-type="product"]{background:linear-gradient(135deg,var(--dgu-navy),var(--dgu-navy-2))!important;min-height:0!important;padding:34px 24px 30px!important}
.ast-archive-entry-banner[data-post-type="product"] .ast-container{max-width:1240px;margin:0 auto}
.ast-archive-entry-banner[data-post-type="product"] h1,.ast-archive-entry-banner[data-post-type="product"] .ast-archive-title{color:#fff;font-size:clamp(26px,3vw,36px);margin:0 0 6px}
.ast-archive-entry-banner[data-post-type="product"] .ast-breadcrumbs,.ast-archive-entry-banner[data-post-type="product"] .ast-breadcrumbs a{color:#d5deea;font-size:14px}
.woocommerce.archive .ast-woocommerce-container,.tax-product_cat .ast-woocommerce-container{display:flex;flex-direction:column}
.ast-woocommerce-container>.woocommerce-products-header{order:0}
.ast-woocommerce-container>.woocommerce-notices-wrapper{order:1}
.ast-woocommerce-container>ul.products{order:2}
.ast-woocommerce-container>.woocommerce-pagination,.ast-woocommerce-container>nav{order:3}
.ast-woocommerce-container>.dahai-category-3d-section{order:4;margin-top:48px}
.ast-woocommerce-container>.dahai-term-desc{order:5}
.ast-woocommerce-container>.elementor{order:6}
.dg-3d-enable{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:2;background:var(--dgu-navy);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(15,39,71,.25)}
.dg-3d-enable:hover,.dg-3d-enable:focus-visible{background:var(--dgu-navy-2)}
.woocommerce ul.products{margin-top:32px}
.woocommerce ul.products li.product{border:1px solid var(--dgu-line)!important;border-radius:var(--dgu-radius)!important;box-shadow:none!important;background:#fff!important;padding:0!important;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}
.woocommerce ul.products li.product:hover{border-color:#c5ccd6!important;box-shadow:0 6px 18px rgba(15,39,71,.08)!important}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{background:var(--dgu-bg);aspect-ratio:4/3;padding:18px;margin:0;overflow:hidden}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a{display:block;width:100%;height:100%}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{width:100%!important;height:100%!important;object-fit:contain;margin:0!important;transform:none!important}
.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:14px 16px 18px;text-align:start;display:flex;flex-direction:column;gap:8px;flex:1}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px;line-height:1.35;font-weight:650;color:var(--dgu-navy);padding:0;margin:0;white-space:normal;overflow:visible;display:block;-webkit-line-clamp:unset;text-align:start}
.woocommerce ul.products li.product .ast-woo-product-category{display:none}
.dg-card-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dg-card-meta li{font-size:12.5px;line-height:1.3;padding:3px 9px;border-radius:999px;background:var(--dgu-bg);color:#344054;border:1px solid var(--dgu-line);white-space:nowrap}
.dg-card-meta li.dg-card-meta__range{background:#fff6e6;border-color:#f3d9a8;color:#7a4a00;font-weight:650}
@media(max-width:544px){
	.ast-archive-entry-banner[data-post-type="product"]{padding:22px 16px 20px!important}
	.woocommerce ul.products{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
	.woocommerce ul.products li.product{flex-direction:row;width:100%!important;margin:0!important}
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{flex:0 0 112px;aspect-ratio:auto;min-height:112px;padding:10px}
	.woocommerce ul.products li.product .astra-shop-summary-wrap{padding:12px}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px}
}

/* ---------- 3. Contact page ---------- */
.page-id-2343 .elementor-element-65d443e{display:none!important}
.page-id-2343 .elementor-element-9592577{padding-top:28px!important}
.page-id-2343 .elementor-element-27a5d92 .elementor-heading-title{font-size:clamp(26px,3vw,36px);color:var(--dgu-navy);font-weight:650}
.page-id-2343 .elementor-element-495c662{max-width:760px;margin-inline:auto}
.page-id-2343 .elementor-element-495c662 p{font-size:16px;line-height:1.6;margin:0}
.page-id-2343 .elementor-element-730c910{padding-bottom:8px!important;gap:8px!important}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-label{font-size:14px!important;font-weight:600!important;color:var(--dgu-text)!important;margin-bottom:6px!important;display:block}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-required{color:#b42318}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-input,.page-id-2343 .forminator-ui.forminator-custom-form .forminator-textarea,.page-id-2343 .forminator-ui.forminator-custom-form select{min-height:46px;border:1px solid #c5ccd6!important;border-radius:8px!important;color:var(--dgu-text)!important;font-size:16px!important;background:#fff!important}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-input:focus,.page-id-2343 .forminator-ui.forminator-custom-form .forminator-textarea:focus{border-color:var(--dgu-navy-2)!important;box-shadow:0 0 0 3px rgba(22,51,92,.15)!important}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-row{margin-bottom:16px!important}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-button-submit{background:var(--dgu-orange)!important;color:#1b1300!important;font-weight:700!important;border-radius:8px!important;padding:14px 28px!important;font-size:16px!important;min-height:48px;text-transform:none!important;letter-spacing:0!important}
.page-id-2343 .forminator-ui.forminator-custom-form .forminator-button-submit:hover{filter:brightness(.95)}
@media(max-width:767px){
	.page-id-2343 .elementor-element-94acdcb{display:flex;flex-direction:column}
	.page-id-2343 .elementor-element-84765d2{order:-1}
	.page-id-2343 .elementor-element-495c662 p{font-size:15px}
	.page-id-2343 .forminator-ui.forminator-custom-form .forminator-button-submit{width:100%}
}

/* ---------- 4. Phones: floating tools ---------- */
.dg-fab{display:none}
@media(max-width:768px){
	.elementor-location-floating_buttons{display:none!important}
	#ast-scroll-top{display:none!important}
	.dg-fab{display:block;position:fixed;right:14px;bottom:14px;z-index:9990}
	body:has(.dg-mobile-cta) .dg-fab{bottom:82px}
	.dg-fab__btn{display:flex;align-items:center;gap:8px;background:var(--dgu-navy);color:#fff;border:0;border-radius:999px;padding:12px 16px;min-height:48px;font-size:15px;font-weight:650;box-shadow:0 6px 18px rgba(15,39,71,.3)}
	.dg-fab__icon{font-size:17px;line-height:1}
	.dg-fab__menu{position:absolute;right:0;bottom:58px;background:#fff;border:1px solid var(--dgu-line);border-radius:12px;box-shadow:0 10px 28px rgba(15,39,71,.2);padding:6px;min-width:190px}
	.dg-fab__menu a{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:48px;color:var(--dgu-text);text-decoration:none;font-size:16px;font-weight:600;border-radius:8px}
	.dg-fab__menu a:active,.dg-fab__menu a:hover{background:var(--dgu-bg)}
	.cky-btn-revisit-wrapper{left:12px!important;right:auto!important;bottom:14px!important;width:38px!important;height:38px!important}
	body:has(.dg-mobile-cta) .cky-btn-revisit-wrapper{bottom:82px!important}
	body.dg-typing .dg-fab,body.dg-typing .cky-btn-revisit-wrapper,body.dg-typing .dg-mobile-cta,
	body.ast-main-header-nav-open .dg-fab,body.ast-main-header-nav-open .cky-btn-revisit-wrapper,body.ast-main-header-nav-open .dg-mobile-cta,
	body.ast-popup-nav-open .dg-fab,body.ast-popup-nav-open .cky-btn-revisit-wrapper,body.ast-popup-nav-open .dg-mobile-cta{display:none!important}
}

/* ---------- 5. Phone header & menu ---------- */
@media(max-width:921px){
	#ast-mobile-header .custom-logo-link img,#ast-mobile-header .site-logo-img img{max-width:150px!important;width:150px!important;height:auto!important}
}
.dg-mobile-lang{border-top:1px solid var(--dgu-line);margin-top:8px}
.dg-mobile-lang summary{list-style:none;cursor:pointer;padding:14px 20px;font-weight:650;color:var(--dgu-navy);min-height:48px;display:flex;align-items:center;gap:8px}
.dg-mobile-lang summary::-webkit-details-marker{display:none}
.dg-mobile-lang summary::after{content:"▾";margin-inline-start:auto;color:var(--dgu-muted)}
.dg-mobile-lang details[open] summary::after{content:"▴"}
.dg-mobile-lang ul{list-style:none;margin:0;padding:0 12px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dg-mobile-lang ul a{display:block;padding:10px 12px;border:1px solid var(--dgu-line);border-radius:8px;font-size:14px;color:var(--dgu-text);text-decoration:none;min-height:44px}
.dg-mobile-lang ul li.is-current a{border-color:var(--dgu-navy);font-weight:650;color:var(--dgu-navy)}

/* ---------- Home: tighter first screen on phones ---------- */
@media(max-width:760px){
	.dg-home .dg-home-hero{padding:24px 0 28px}
	.dg-home .dg-home-hero h1{font-size:clamp(28px,8.2vw,36px);line-height:1.12;margin-bottom:12px}
	.dg-home .dg-home-hero .dg-lead{font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}
	.dg-home .dg-home-hero-grid{gap:20px}
	.dg-home .dg-home-section{padding:40px 0}
}
.woocommerce ul.products{margin-top:8px}
.ast-woocommerce-container>.woocommerce-products-header:empty{display:none}
.woocommerce.archive #primary,.tax-product_cat #primary{margin-top:28px!important;padding-top:0!important}
@media(max-width:544px){
	.woocommerce ul.products li.product{align-items:stretch}
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{display:flex;align-items:center}
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a{height:auto}
	.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img{height:96px!important}
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{background:#fff;border-bottom:1px solid var(--dgu-line)}
@media(max-width:544px){.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{border-bottom:0;border-inline-end:1px solid var(--dgu-line)}}
.dg-fab__btn{text-transform:none!important;letter-spacing:0!important}
.dg-fab__btn,.dg-fab__btn:hover,.dg-fab__btn:focus,.dg-fab__btn:active{background:var(--dgu-navy)!important;color:#fff!important}
.dg-mobile-lang ul a{line-height:1.35!important}
.dg-pf-specs:has(table.is-single) .dg-pf-scrollhint{display:none}

/* 0.9.6: quote buttons carry an icon; footer clears the phone's fixed bars */
.dg-mobile-cta .dg-btn::before{content:"";display:inline-block;width:18px;height:18px;margin-inline-end:8px;vertical-align:-3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 1.8V8h4.2L14 3.8ZM7.5 11v1.6h9V11h-9Zm0 3.4V16h9v-1.6h-9Zm0 3.4v1.6h5.5v-1.6H7.5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm8 1.8V8h4.2L14 3.8ZM7.5 11v1.6h9V11h-9Zm0 3.4V16h9v-1.6h-9Zm0 3.4v1.6h5.5v-1.6H7.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.dg-home-market-card .dg-home-fact strong a{color:inherit;text-decoration:underline}
@media(max-width:768px){.dg-site-footer{padding-bottom:150px}}

/* ---- 0.9.7 ---- */
.dg-pf-keyscope{margin:0 0 6px;font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#667085}
.dg-pf-keyscope__model{text-transform:none;letter-spacing:0;color:var(--dgu-navy);font-size:13px}
/* Contact page: the form block is visible at once (no zoom-in entrance, no blank first frame) */
.elementor-2343 .elementor-element-94acdcb,.elementor-2343 .elementor-element-94acdcb.elementor-invisible{visibility:visible!important;animation:none!important;opacity:1!important;transform:none!important}
@media(max-width:768px){
	/* Home lead: full sentence, natural wrapping */
	.dg-home .dg-home-hero .dg-lead{display:block;-webkit-line-clamp:unset;overflow:visible}
	/* Floating contact entry: a round icon so it covers less of the page; label stays for screen readers */
	.dg-fab__btn{width:50px;height:50px;min-height:50px;padding:0;justify-content:center;border-radius:50%}
	.dg-fab__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.dg-fab__icon{font-size:20px}
	.dg-fab{right:12px}
	body.dg-family-page .dg-page,body.woocommerce-page .site-content{padding-bottom:72px}
}
@media(max-width:768px) and (orientation:landscape){.dg-mobile-cta{position:static}.dg-fab,body:has(.dg-mobile-cta) .dg-fab{bottom:12px}body:has(.dg-mobile-cta) .cky-btn-revisit-wrapper{bottom:12px!important}}
@media(prefers-reduced-motion:reduce){.elementor-2343 .elementor-invisible{visibility:visible!important;animation:none!important}}
/* 0.9.8: phones held sideways — the quote bar scrolls with the page, floating tools sit in the corners */
@media(orientation:landscape) and (max-height:500px){.dg-mobile-cta{position:static!important}.cky-btn-revisit-wrapper,body:has(.dg-mobile-cta) .cky-btn-revisit-wrapper{bottom:12px!important}.dg-fab,body:has(.dg-mobile-cta) .dg-fab{bottom:12px}.dg-site-footer{padding-bottom:70px}}
/* 0.9.9: floating tools never sit on top of a form the visitor is filling in */
@media(max-width:768px){
	body:has(form input:focus,form textarea:focus,form select:focus) .dg-fab,
	body:has(form input:focus,form textarea:focus,form select:focus) .cky-btn-revisit-wrapper,
	body:has(form input:focus,form textarea:focus,form select:focus) .dg-mobile-cta,
	body.dg-in-form .dg-fab,body.dg-in-form .cky-btn-revisit-wrapper{display:none!important}
}
