/*
 * V16.68 — Site-wide responsive / interaction QA layer.
 * Purpose: protect the existing visual identity while fixing cross-device overflow,
 * touch targets, mobile navigation, forms, filters, carousels and dense layouts.
 */

:root{
  --als68-touch:48px;
  --als68-mobile-gutter:15px;
  --als68-table-radius:14px;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:132px;
  overflow-x:clip;
}
body{overflow-x:clip;max-width:100%;}
body.menu-open{overflow:hidden;touch-action:none;}
*,*::before,*::after{box-sizing:border-box;}
main,section,article,aside,header,footer,nav,form,fieldset,figure,div{min-width:0;}
img,video,canvas,svg{max-width:100%;}
img,video{height:auto;}
iframe{max-width:100%;border:0;}
input,select,textarea,button{font-family:inherit;max-width:100%;}
button,[role="button"],summary,a{touch-action:manipulation;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid rgba(197,158,65,.55);
  outline-offset:3px;
}
[hidden]{display:none!important;}
.als-v1668-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--als68-table-radius);}
.als-v1668-table-wrap>table{min-width:620px;width:100%;}
.entry-content pre,.entry-content code,.entry-content a,
.catalog-content pre,.catalog-content code,.catalog-content a{overflow-wrap:anywhere;word-break:break-word;}

/* -------------------------------------------------------------------------
   Header / navigation stability
   ------------------------------------------------------------------------- */
.als-v16-header{isolation:isolate;}
.als-v16-header__inner{max-width:100%;}
.als-v16-main-nav__list,.als-v16-main-nav .nav-menu{min-width:0;}
.als-v16-main-nav__list>li>a,.als-v16-main-nav .nav-menu>li>a{line-height:1.35!important;}
.als-v16-header-search{min-width:0;}
.als-v16-header-search input{min-width:0;}
.als-v16-header__actions{min-width:0;}
.als-v16-action-item,.als-v16-mobile-toggle,.als-v16-header-search__submit{flex:0 0 auto;}
.als-v16-main-nav .sub-menu,.als-v1639-knowledge-submenu{max-width:min(330px,calc(100vw - 28px));}

/* Drawer must always remain usable on short phones and landscape mode. */
.als-v16-mobile-drawer{
  max-height:100dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(22px + env(safe-area-inset-bottom));
}
.als-v16-mobile-drawer__head{position:sticky;top:-22px;z-index:3;background:var(--als-v16-ivory,#fbfaf6);padding-top:22px;}
.als-v16-mobile-menu .sub-menu{margin:0;padding-inline-start:14px;border-inline-start:1px solid rgba(0,78,41,.13);}
.als-v16-mobile-menu a,.als-v16-mobile-drawer__services>*{min-height:46px;display:flex;align-items:center;}
.als-v1663-mobile-search{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:7px;margin:15px 0 5px;padding:5px;border:1px solid rgba(0,78,41,.15);border-radius:14px;background:#fff;}
.als-v1663-mobile-search input{width:100%;height:44px;border:0;background:transparent;padding-inline:11px;outline:none;font-size:16px;color:#1f3329;}
.als-v1663-mobile-search button{width:44px;height:44px;border:0;border-radius:11px;background:#eef6f1;color:#005b35;display:grid;place-items:center;}

/* -------------------------------------------------------------------------
   Buttons / forms: consistent touch size without affecting inline text links
   ------------------------------------------------------------------------- */
.btn,.button,
.als-v16-btn,.als-v167-btn,.als-v164-btn,.als-viz-btn,
.als-v1653-btn,.als-v1643-intro-actions a,.als-v1643-offer-block__actions a,
.als-v16-header__visit,.als-v16-mobile-drawer__cta,
.als-v169-card__actions a,.als-v169-card__actions button,
.als-v1667-offer-card__cta{
  min-height:var(--als68-touch);
}
input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],
select,textarea{min-height:48px;}
textarea{height:auto;min-height:120px;resize:vertical;}
label{max-width:100%;}

/* -------------------------------------------------------------------------
   Global card / media safeguards
   ------------------------------------------------------------------------- */
.product-grid,.als-v169-grid,.als-v1653-products__grid,.catalog-v1647-grid,
.als-v167-expectation-grid,.als-v1643-offer-products,.als-v1662-offer-products{min-width:0;}
.als-v169-card,.als-v1653-product-card,.catalog-v1647-card,.als-v1667-offer-card{min-width:0;max-width:100%;}
.als-v169-card h3,.als-v1653-product-card h3,.catalog-v1647-card h3,.als-v1667-offer-card h3{overflow-wrap:anywhere;}

/* Any horizontal chip/tab rail should scroll instead of widening the page. */
.als-v1643-category-nav .als-v1643-shell,
.als-v1662-offer-tabs,.als-v1662-suboffer-tabs,
.als-v167-city-filters,.catalog-v1647-chips{
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.als-v1643-category-nav .als-v1643-shell::-webkit-scrollbar,
.als-v1662-offer-tabs::-webkit-scrollbar,.als-v1662-suboffer-tabs::-webkit-scrollbar,
.als-v167-city-filters::-webkit-scrollbar,.catalog-v1647-chips::-webkit-scrollbar{display:none;}

/* -------------------------------------------------------------------------
   Offers
   ------------------------------------------------------------------------- */
.als-v1643-banner-track,.als-v1643-home-carousel__track{max-width:100%;}
.als-v1643-banner-copy,.als-v1643-home-slide__copy{max-width:calc(100% - 48px);}
.als-v1643-offer-block,.als-v1643-offer-block__head,.als-v1643-section-head{min-width:0;}
.als-v1644-offer-filter-form>*{min-width:0;}

/* -------------------------------------------------------------------------
   Product archive / product single
   ------------------------------------------------------------------------- */
.als-v169-filters>*{min-width:0;}
.als-v169-color-filter__panel{max-width:min(390px,calc(100vw - 30px));}
.als-v168-product-hero>*{min-width:0;}
.als-v168-native-cart form.cart>*{max-width:100%;}
.als-v168-native-cart table.variations{display:block;overflow-x:auto;}
.als-v168-thumbs{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;}

/* -------------------------------------------------------------------------
   Showrooms / catalogues / knowledge / customer-service
   ------------------------------------------------------------------------- */
.als-v167-showroom-browser,.als-v167-showroom-panel,.als-v167-showroom-map{min-width:0;max-width:100%;}
.als-v167-showroom-list{overscroll-behavior:contain;}
.catalog-v1647-reader-frame iframe{width:100%;}
.catalog-v1647-featured,.catalog-v1647-card,.catalog-v1647-cta{min-width:0;}
.als-v167-knowledge-search{max-width:100%;}

/* -------------------------------------------------------------------------
   Visualizer / calculator / request flows
   ------------------------------------------------------------------------- */
.als-viz-workspace,.als-viz-result-layout,.als-viz-save-layout,.als-viz-photo-editor,.als-viz-home-card{min-width:0;}
.als-viz-photo-stage canvas,.als-viz-compare canvas,.als-viz-compare img{max-width:100%;}
.als-v1629-calc-grid>*{min-width:0;}
.als-v16-request-card,.als-v16-request-card__body{min-width:0;}
.als-v16-request-card__body dl{min-width:0;}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */
.als-v16-footer__brand img,
.als-v16-footer .als-v16-footer__brand img{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  filter:none!important;
  object-fit:contain!important;
}
.als-v16-footer__grid>*{min-width:0;}
.als-v16-footer__contact a,.als-v16-footer__contact p{overflow-wrap:anywhere;word-break:break-word;}
.als-v16-footer__bottom .als-v16-shell{gap:14px;}
.als-v16-bottom-nav{padding-bottom:env(safe-area-inset-bottom);}

/* -------------------------------------------------------------------------
   Tablet / small laptop: the premium desktop nav layer used !important rules;
   force the intended drawer breakpoint so 1025–1180 never overlaps.
   ------------------------------------------------------------------------- */
@media (max-width:1180px){
  html{scroll-padding-top:96px;}
  .als-v16-utility{display:none!important;}
  .als-v16-header,body.admin-bar .als-v16-header{top:0!important;}
  body.admin-bar .als-v16-header{top:32px!important;}
  .als-v16-header__inner,
  body.als-rtl .als-v16-header__inner,
  body.als-ltr .als-v16-header__inner{
    width:min(calc(100% - 28px),1180px)!important;
    min-height:76px!important;
    grid-template-columns:minmax(132px,160px) minmax(0,1fr)!important;
    gap:14px!important;
  }
  .als-v16-brand{width:auto!important;min-width:0!important;padding:4px 0!important;}
  .als-v16-brand img{width:min(150px,100%)!important;height:54px!important;max-width:150px!important;}
  .als-v16-main-nav{display:none!important;}
  .als-v16-header-search{display:none!important;}
  .als-v16-header__actions{display:flex!important;justify-content:flex-end!important;gap:6px!important;min-width:0!important;}
  .als-v16-action-item{width:46px!important;min-width:46px!important;height:48px!important;padding:2px!important;border-radius:12px!important;}
  .als-v16-action-item__label{display:none!important;}
  .als-v16-header__visit{min-height:46px!important;padding-inline:13px!important;font-size:11px!important;margin-inline-start:2px!important;}
  .als-v16-mobile-toggle{display:inline-flex!important;width:46px!important;height:46px!important;border-radius:12px!important;background:#f2f7f4!important;}

  .als-v167-showroom-browser{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)!important;height:620px!important;}
  .als-v16-footer__grid{grid-template-columns:1.35fr repeat(2,minmax(0,1fr))!important;gap:30px 22px!important;}
}

@media (max-width:900px){
  body.admin-bar .als-v16-header{top:46px!important;}
  .als-v16-header__visit{display:none!important;}
  .als-v167-showroom-browser{grid-template-columns:1fr!important;height:auto!important;gap:16px!important;}
  .als-v167-showroom-panel{max-height:none!important;}
  .als-v167-showroom-list{max-height:560px;}
  .als-v167-showroom-map{height:420px!important;min-height:420px!important;}
  .als-v16-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  .als-v1643-offer-block__head,.als-v1643-section-head{align-items:flex-start!important;flex-direction:column!important;}
  .als-v1643-section-head>a{white-space:normal!important;}
  .catalog-v1647-featured{grid-template-columns:1fr!important;}
  .catalog-v1647-featured__media{max-height:520px;}
}

@media (max-width:680px){
  :root{--als68-touch:48px;--als68-mobile-gutter:15px;}
  html{scroll-padding-top:78px;}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;}
  body.admin-bar .als-v16-header{top:46px!important;}
  .als-v16-shell,.als-v16-narrow,.als-v1653-shell,.als-v1643-shell,.als-v169-shell{
    width:calc(100% - 30px)!important;
    max-width:100%!important;
  }
  .als-v16-header__inner,
  body.als-rtl .als-v16-header__inner,
  body.als-ltr .als-v16-header__inner{
    width:calc(100% - 20px)!important;
    min-height:66px!important;
    grid-template-columns:minmax(112px,132px) minmax(0,1fr)!important;
    gap:7px!important;
  }
  .als-v16-brand img{width:128px!important;height:45px!important;max-width:128px!important;}
  .als-v16-header__actions{gap:4px!important;overflow:visible!important;}
  .als-v16-action-item{width:42px!important;min-width:42px!important;height:44px!important;padding:0!important;}
  .als-v16-action-item--requests{display:none!important;}
  .als-v16-action-item--calculator{display:none!important;}
  .als-v16-action-item--selections{display:inline-flex!important;}
  .als-v16-mobile-toggle{width:44px!important;height:44px!important;}
  .als-v16-mobile-drawer{width:min(94vw,410px)!important;padding:18px!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;}
  .als-v16-mobile-drawer__head{top:-18px;padding-top:18px;}
  .als-v16-mobile-drawer__head img{width:145px!important;height:44px!important;}

  /* Typography / CTA wrapping on narrow screens. */
  h1,h2,h3{overflow-wrap:anywhere;}
  .als-v1653-section-head h2,.als-v1643-section-head h2,.catalog-v1647-section-head h2{line-height:1.25!important;}
  .btn,.als-v16-btn,.als-v167-btn,.als-v164-btn,.als-v1653-btn{white-space:normal;text-align:center;}

  /* Offers: no sideways page growth; tabs stay horizontally scrollable. */
  .als-v1643-category-nav .als-v1643-shell{width:100%!important;padding-inline:15px!important;}
  .als-v1643-banner-track,.als-v1643-home-carousel__track{min-height:390px!important;}
  .als-v1643-banner-copy,.als-v1643-home-slide__copy{
    inset-inline:18px!important;
    inset-block-end:38px!important;
    width:auto!important;
    max-width:none!important;
  }
  .als-v1643-banner-copy strong,.als-v1643-home-slide__copy strong{font-size:clamp(26px,9vw,39px)!important;line-height:1.22!important;}
  .als-v1643-banner-copy small,.als-v1643-home-slide__copy small{font-size:13px!important;}
  .als-v1643-carousel-arrow{width:42px!important;height:42px!important;font-size:26px!important;}
  .als-v1643-carousel-arrow.is-prev{left:9px!important}.als-v1643-carousel-arrow.is-next{right:9px!important}
  html[dir="rtl"] .als-v1643-carousel-arrow.is-prev{right:9px!important;left:auto!important}html[dir="rtl"] .als-v1643-carousel-arrow.is-next{left:9px!important;right:auto!important}
  .als-v1643-offer-block{padding:17px!important;border-radius:17px!important;}

  .als-v1667-offer-track{grid-auto-columns:88%!important;padding-inline:0 12%!important;}
  .als-v1667-offer-card__body h3{min-height:0!important;}
  .als-v1667-offer-card__body p{min-height:0!important;}

  /* Product filters: one readable control per row. */
  .als-v169-filters,.als-v169-category-catalogue .als-v169-filters,
  .als-v1644-offer-filter-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:10px!important;
    width:100%!important;
  }
  .als-v169-filters>*,.als-v1644-offer-filter-form>*{grid-column:1!important;width:100%!important;max-width:100%!important;}
  .als-v169-filters>label,.als-v169-filters>select,.als-v169-filters>.als-v169-color-filter,.als-v169-filters>button,.als-v169-filters>a{
    min-height:54px!important;height:auto!important;
  }
  .als-v169-color-filter__panel{position:fixed!important;z-index:1200!important;left:15px!important;right:15px!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;max-height:min(62vh,520px)!important;overflow:auto!important;width:auto!important;max-width:none!important;border-radius:18px!important;box-shadow:0 22px 60px rgba(0,35,20,.2)!important;}

  .als-v169-grid{grid-template-columns:1fr!important;gap:15px!important;}
  .als-v169-card__media{height:auto!important;aspect-ratio:1.42/1;}
  .als-v169-card__body{padding:16px!important;}
  .als-v168-product-hero{gap:22px!important;}
  .als-v168-product-heading h1{font-size:32px!important;}
  .als-v168-product-actions,.als-v168-secondary-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;}
  .als-v168-native-cart form.cart{display:grid!important;grid-template-columns:1fr!important;}
  .als-v168-native-cart .quantity,.als-v168-native-cart .single_add_to_cart_button{width:100%!important;}
  .als-v168-native-cart .quantity input{width:100%!important;}

  /* Home experience sections. */
  .als-v1653-products__grid{grid-template-columns:1fr!important;gap:15px!important;}
  .als-v1653-product-card__media{height:auto!important;aspect-ratio:1.35/1;}
  .als-v1653-visualizer__grid{grid-template-columns:1fr!important;gap:28px!important;}
  .als-v1653-compare{height:auto!important;aspect-ratio:1.05/1!important;border-radius:20px!important;}
  .als-v1653-assisted__grid{grid-template-columns:1fr!important;gap:12px!important;}
  .als-v1653-assisted__grid>article{min-height:330px!important;padding:24px!important;}
  .als-v1653-assisted__grid>div article{grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;padding:18px!important;}
  .als-v1653-assisted__grid>div article>a{grid-column:2!important;white-space:normal!important;}

  /* Showrooms. */
  .als-v167-showroom-browser{margin-inline:0!important;width:100%!important;}
  .als-v167-showroom-list{padding:10px!important;max-height:none!important;}
  .als-v167-showroom-card{padding:16px!important;}
  .als-v167-showroom-card__top{flex-direction:column!important;gap:8px!important;}
  .als-v167-showroom-card__actions{grid-template-columns:1fr 1fr!important;}
  .als-v167-showroom-map{height:330px!important;min-height:330px!important;border-radius:15px!important;}

  /* Catalogues / PDF. */
  .catalog-v1647-card,.catalog-v1647-featured,.catalog-v1647-story,.catalog-v1647-cta{border-radius:20px!important;}
  .catalog-v1647-reader-frame{padding:7px!important;border-radius:18px!important;}
  .catalog-v1647-reader-frame iframe{height:64vh!important;min-height:460px!important;}
  .catalog-v1647-cta{padding:22px 18px!important;}
  .catalog-v1647-cta__actions,.catalog-v1647-featured__actions,.catalog-v1647-card__actions{display:grid!important;grid-template-columns:1fr!important;}

  /* Calculator / requests. */
  .als-v1629-calc-grid{grid-template-columns:1fr!important;gap:16px!important;}
  .als-v1629-calc-summary{position:static!important;}
  .als-v1629-calc-form-card,.als-v1629-calc-summary{padding:18px!important;border-radius:17px!important;}
  .als-v1629-room-fields,.als-v1629-calc-actions{grid-template-columns:1fr!important;}
  .als-v1629-calc-intro{padding:24px 18px!important;}
  .als-v16-request-card>header{grid-template-columns:48px minmax(0,1fr)!important;}
  .als-v16-request-card>header>*:last-child{grid-column:2!important;}
  .als-v16-request-card__body dl{grid-template-columns:1fr 1fr!important;}
  .als-v16-request-card>footer{align-items:stretch!important;flex-direction:column!important;}

  /* Visualizer. */
  .als-viz-workspace{padding-inline:0!important;}
  .als-viz-products{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .als-viz-result-layout,.als-viz-save-layout,.als-viz-photo-editor,.als-viz-home-card{grid-template-columns:1fr!important;}
  .als-viz-compare{min-height:300px!important;}

  /* Footer and bottom nav. */
  .als-v16-footer-cta__inner{gap:22px!important;}
  .als-v16-footer__grid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important;}
  .als-v16-footer__brand{grid-column:1/-1;}
  .als-v16-footer__brand img{max-width:175px!important;}
  .als-v16-footer__bottom .als-v16-shell{align-items:flex-start!important;flex-direction:column!important;padding-block:17px!important;}
  .als-v16-footer__bottom .als-v16-shell>div{display:flex;flex-wrap:wrap;gap:12px!important;}
  .als-v16-bottom-nav{height:auto!important;min-height:66px!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;align-items:stretch!important;}
  .als-v16-bottom-nav a{min-width:0!important;min-height:62px!important;padding:7px 2px!important;font-size:10px!important;gap:4px!important;}
}

@media (max-width:420px){
  .als-v16-shell,.als-v16-narrow,.als-v1653-shell,.als-v1643-shell,.als-v169-shell{width:calc(100% - 24px)!important;}
  .als-v16-header__inner,body.als-rtl .als-v16-header__inner,body.als-ltr .als-v16-header__inner{width:calc(100% - 14px)!important;grid-template-columns:112px minmax(0,1fr)!important;}
  .als-v16-brand img{width:110px!important;max-width:110px!important;}
  .als-v16-action-item--selections{width:40px!important;min-width:40px!important;}
  .als-v16-mobile-toggle{width:40px!important;height:42px!important;}
  .als-v16-footer__grid{grid-template-columns:1fr!important;}
  .als-v16-footer__brand{grid-column:auto;}
  .als-v16-request-card__body dl{grid-template-columns:1fr!important;}
  .als-v167-showroom-card__actions{grid-template-columns:1fr!important;}
  .als-viz-products{grid-template-columns:1fr!important;}
  .als-v1643-banner-track,.als-v1643-home-carousel__track{min-height:360px!important;}
}

@media (orientation:landscape) and (max-height:560px) and (max-width:1000px){
  .als-v16-mobile-drawer{padding-top:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;}
  .als-v16-mobile-drawer__head{top:-12px;padding-top:12px;padding-bottom:10px;}
  .als-v16-mobile-menu{margin:8px 0;}
  .als-v16-mobile-menu a{padding-block:8px;min-height:40px;}
  .als-v16-mobile-drawer__services{padding-block:5px;}
  .als-v16-mobile-drawer__services>*{min-height:40px;padding-block:6px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

@media (min-width:1181px){
  .als-v16-main-nav .sub-menu.als-v1668-edge-end{inset-inline-start:auto!important;inset-inline-end:0!important;}
  .als-v16-main-nav .sub-menu.als-v1668-edge-start{inset-inline-start:0!important;inset-inline-end:auto!important;}
}
