/* Shared accessibility, mobile and fallback rules for all public pages. */
html, body { max-width: 100%; overflow-x: clip; }
/* Image-only skeleton; page text and controls remain available. */
html .product-media img.site-image-loading,
html img.site-image-loading {
  background:linear-gradient(100deg,#f2f4f7 20%,#e5e9ef 40%,#f2f4f7 60%) !important;
  background-size:200% 100% !important;
  animation:site-skeleton 1.4s linear infinite;
}
html .product-media img.site-image-error,
html img.site-image-error { background:#f2f4f7 !important; color:#374151; }
@keyframes site-skeleton { to { background-position:-200% 0; } }
#site-layout-viewer { width:96vw; max-width:1400px; max-height:94dvh; margin:auto; padding:0; border:0; overflow:visible; background:transparent; }
#site-layout-viewer::backdrop { background:rgba(10,10,15,.9); }
.site-layout-viewport { max-height:88dvh; overflow:auto; }
.site-layout-zoom { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.site-layout-zoom img { display:block; width:auto; max-width:100%; max-height:88dvh; margin:auto; object-fit:contain; }
.site-layout-zoom[aria-pressed="true"] { width:200%; cursor:zoom-out; }
.site-layout-zoom[aria-pressed="true"] img { width:100%; max-height:none; }
.site-layout-close { position:fixed; top:12px; right:12px; z-index:1; width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:#0a0a0f; font:28px Arial,sans-serif; cursor:pointer; }
.unit-layout[role="button"],.fp-img-box[role="button"] { cursor:zoom-in; }
[role="button"]:focus-visible { outline:3px solid #4777aa; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) {
  html img.site-image-loading { animation:none; }
  html { scroll-behavior:auto !important; }
  .reveal,.fade-in { opacity:1 !important; transform:none !important; transition:none !important; }
}
.site-whatsapp-fallback { display:inline-flex; align-items:center; min-height:44px; margin-top:6px; color:#1a3a5c; text-decoration:underline; }
input[aria-invalid="true"],select[aria-invalid="true"] { border-color:#b91c1c !important; }
.eoi-grid,.eoi-grid>div,.eoi-form,.form-group { min-width:0; }
.eoi-form input,.eoi-form select,.eoi-form textarea { width:100%; min-width:0; box-sizing:border-box; }
.product-info .pill { display:inline-block !important; }
.greentwo-page .gt-unit-details li { display:block; position:relative; padding-left:22px; }
.greentwo-page .gt-unit-details li>img { position:absolute; left:0; top:8px; }
@media(max-width:860px) {
  .product-template .product-info { padding:0 5vw !important; }
  .eoi-grid { grid-template-columns:minmax(0,1fr) !important; }
  .eoi-form .form-row { grid-template-columns:minmax(0,1fr) !important; }
  input,select,textarea { font-size:16px !important; }
  nav .nav-hamburger,.fp-tab,.mr-unit-tabs [role="tab"] { min-height:44px; min-width:44px; }
}
img, picture, video, iframe, svg { max-width: 100%; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a[href^="tel:"] { white-space: nowrap; }

.mobile-menu { display: none !important; }
.site-feedback {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 4px;
  font: 500 .8rem/1.45 'Inter', Arial, sans-serif;
}
.site-feedback--success { color: #065F46; background: #ECFDF5; border: 1px solid #6EE7B7; }
.site-feedback--error { color: #991B1B; background: #FEF2F2; border: 1px solid #FCA5A5; }

@media (max-width: 640px) {
  body { overflow-x: hidden; }
  input, select, textarea, button { max-width: 100%; }
}
/* Five header links need room beside the centered wordmark. */
@media (max-width:1300px) {
  #mainNav .nav-links { display:none!important; }
  #mainNav .nav-hamburger { display:flex!important; }
}
#inquiry { scroll-margin-top:80px; }
