/* Batch-1 refinement on top of preserved original.css and additions.css. */
:root { color-scheme: light; }
html { scrollbar-gutter:stable; scroll-behavior:auto }
body { overflow-x:hidden }
@view-transition { navigation:auto }
::view-transition-old(root), ::view-transition-new(root) { animation-duration:.12s; animation-timing-function:ease-out }
@media(prefers-reduced-motion:reduce){::view-transition-old(root), ::view-transition-new(root){animation:none!important}*,*:before,*:after{scroll-behavior:auto!important}}
/* No orange focus rectangle: use a soft fill shift instead. Visible keyboard focus remains on buttons/links. */
.search-card input:focus,.search-card input:focus-visible,
.quote-form input:focus,.quote-form input:focus-visible,.quote-form select:focus,.quote-form select:focus-visible,
.quote-form textarea:focus,.quote-form textarea:focus-visible,
.language-panel input:focus,.language-panel input:focus-visible {
  outline:none!important;outline-offset:0!important;border-color:#dce7d8!important;
  box-shadow:0 0 0 2px rgba(32,125,70,.10)!important;background:#f9fcf6!important;
}
.search-card:focus-within,.quote-form:focus-within { outline:none!important;box-shadow:0 10px 30px rgba(24,70,36,.06) }
/* Compact language flag/code chip and searchable scrollable dropdown. */
.language-picker { z-index:140; }
.language-toggle {background:var(--pine,#145535);color:white;border:1px solid rgba(255,255,255,.22);min-height:40px;padding:8px 14px;gap:8px;box-shadow:0 4px 14px rgba(18,79,43,.12)}
.language-toggle:hover,.language-toggle:focus-visible{background:#237346;color:white}
#currentFlag {font-size:20px;line-height:1}
#currentLanguage{font-size:12px;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.language-panel{min-width:260px;max-width:calc(100vw - 25px);max-height:min(560px,70vh);padding:12px;border-radius:20px;box-shadow:0 20px 54px #0f3c282a}
.language-list{max-height:min(340px,45vh);overflow-y:auto;overscroll-behavior:contain}
.language-option{padding:10px;border-radius:12px;gap:9px;text-align:left;}
.language-option .lang-flag{width:28px;font-size:20px}
.language-option .lang-native {flex:1;min-width:0;font-size:13px;font-weight:650}
.language-option .lang-code {font-size:10px;color:#67846c;font-weight:750}
.language-option[aria-selected="true"]{background:#e8f4e8}
.translation-status{font-size:11px;line-height:1.55;color:#526d57;padding:7px 4px 2px;margin:0;min-height:28px}
.translation-status.error {color:#9d422d}
/* Preserve brand wordmark and consistent floating WhatsApp icon on all routes. */
.notranslate{unicode-bidi:isolate}
.floating-whatsapp{position:fixed!important;bottom:25px!important;right:23px!important;z-index:120!important;display:flex!important;align-items:center;justify-content:center;padding:0!important;border:4px solid #d3f9e7!important;background:#06c775!important;color:#072f20!important;width:65px!important;height:65px!important;border-radius:50%!important;box-shadow:0 11px 29px #008f4a52!important;text-decoration:none!important;transform:none!important;transition:box-shadow .16s ease,background .16s ease!important}
.floating-whatsapp:hover{background:#07db80!important;box-shadow:0 14px 32px #008f4a66!important;transform:none!important}
.floating-whatsapp svg{width:35px!important;height:35px!important;display:block!important;fill:currentColor!important;stroke:none!important}
.floating-whatsapp span{display:none!important}
@media(max-width:760px){.floating-whatsapp{bottom:83px!important;right:15px!important;width:60px!important;height:60px!important;border-width:3px!important}.floating-whatsapp svg{width:32px!important;height:32px!important}.language-panel{top:76px}.language-toggle{min-height:37px;padding:7px 11px}}
/* Seamless layout / stable product imagery dimensions */
.product-card,.product-photo,.product-body,.product-grid,.products-grid{min-width:0}
.product-photo img{width:100%;height:100%;object-fit:cover}
.product-modal{width:min(980px,calc(100vw - 32px));max-width:980px;border-radius:30px;grid-template-columns:1fr 1fr;}
.modal-image{min-height:370px}
.modal-image img{object-fit:contain;background:#fff;}
.modal-body{padding:60px clamp(22px,4vw,55px) 40px}
.modal-body h2{font-size:clamp(28px,4vw,51px)}
@media(max-width:650px){.product-modal{width:min(450px,calc(100vw - 26px));border-radius:24px;display:block}.modal-image{height:220px;min-height:220px}.modal-body{padding:22px 21px 25px}.modal-body h2{font-size:29px}}
.footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:800}
.footer-bottom a:hover{color:#a9dbaf}
.social-link{border-radius:50%;min-width:40px;min-height:40px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.blog-card{min-width:0;background:white;box-shadow:0 12px 38px #173e2610;border-radius:25px;overflow:hidden;border:1px solid #e4eadf}
.blog-visual{min-height:175px;display:grid;place-items:center;background:linear-gradient(135deg,#e5edcf,#f4f7e8);font-size:75px}
.blog-copy{padding:24px}
.blog-copy h2{font:700 1.45rem/1.3 'Playfair Display',Georgia,serif;color:#145535;margin:10px 0}
.blog-copy p{color:#68786d;line-height:1.7;font-size:14px}
.blog-note{margin-top:30px;color:#58695e;font-size:14px}
@media(max-width:850px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:590px){.blog-grid{grid-template-columns:1fr}.blog-visual{min-height:120px;font-size:50px}}
