/* Shared request controls. Gallery CTA is the visual reference.
   The layer keeps these opt-in components above legacy !important overrides. */
@layer als-request-reduced, als-request-ui;
@layer als-request-ui {
  :is(.als-request-button, :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request), .als-request-modal .callback-alert-ok) {
    box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:space-between!important;
    gap:18px!important;min-height:54px!important;height:auto!important;max-width:100%!important;padding:10px 13px 10px 20px!important;
    border:1px solid #98623b!important;border-radius:5px!important;background:#98623b!important;background-image:none!important;
    box-shadow:none!important;color:#fff!important;font:600 13px/1.3 'Segoe UI',sans-serif!important;letter-spacing:.02em!important;
    text-align:left!important;text-transform:none!important;text-decoration:none!important;text-shadow:none!important;cursor:pointer!important;
    transition:background-color .22s ease,border-color .22s ease,transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease!important;
  }
  :is(.als-request-button, :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request), .als-request-modal .callback-alert-ok)::before {content:none!important;display:none!important}
  :is(.als-request-button:not(.als-request-callback):not(.als-request-dismiss), :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request))::after,
  .als-request-button .als-request-icon {
    box-sizing:border-box!important;display:grid!important;place-items:center!important;position:static!important;inset:auto!important;
    flex:0 0 30px!important;width:30px!important;height:30px!important;margin:0!important;padding:0!important;overflow:visible!important;
    border:1px solid rgba(255,255,255,.7)!important;border-radius:50%!important;background:transparent!important;color:#fff!important;
    font:400 18px/1 Georgia,serif!important;opacity:1!important;pointer-events:none!important;
    transition:transform .22s cubic-bezier(.2,.7,.2,1),background-color .22s ease!important;
  }
  :is(.als-request-button:not(.als-request-callback):not(.als-request-dismiss), :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request))::after {content:'↗'!important}
  .als-request-button.als-request-callback::after {content:none!important;display:none!important}
  .als-request-button .als-request-label {min-width:0!important;font:inherit!important;color:inherit!important}
  .als-request-button .als-request-phone {display:block!important;width:18px!important;height:18px!important;transform-origin:50% 50%!important}
  :is(.als-request-button, :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request), .als-request-modal .callback-alert-ok):is(:hover,:focus-visible) {
    background:#7f502f!important;border-color:#7f502f!important;box-shadow:0 6px 18px rgba(58,65,48,.13)!important;color:#fff!important;
  }
  :is(.als-request-button:not(.als-request-callback):not(.als-request-dismiss), :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request)):is(:hover,:focus-visible)::after {
    transform:translate(2px,-2px)!important;background:rgba(255,255,255,.1)!important;
  }
  .als-request-callback:is(:hover,:focus-visible) .als-request-icon {background:rgba(255,255,255,.1)!important}
  .als-request-callback:is(:hover,:focus-visible) .als-request-phone {animation:als-request-ring .48s ease-out 1!important}
  :is(.als-request-button, :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request), .als-request-modal .callback-alert-ok):active {transform:translateY(1px)!important}
  :is(.als-request-button, :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request), .als-request-modal .callback-alert-ok):focus-visible {outline:2px solid #28332d!important;outline-offset:3px!important}
  .als-request-button:disabled {cursor:wait!important;opacity:.65!important;transform:none!important;box-shadow:none!important}
  .als-request-button:disabled::after {transform:none!important}
  #t3-header .als-request-callback {width:auto!important;margin:0!important;transform:none!important}
  #t3-header .als-request-callback:active {transform:translateY(1px)!important}

  /* Both modules use the gallery form's paper, header, fields and spacing. */
  .als-request-modal {
    --als-request-ink:#21302e;--als-request-pine:#213431;--als-request-paper:#fbfaf7;--als-request-line:#d9d5cd;--als-request-wood:#a66d3d;
    box-sizing:border-box!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;
    width:calc(100% - 24px)!important;max-width:450px!important;max-height:calc(100dvh - 24px)!important;margin:0!important;padding:0!important;
    overflow:auto!important;overscroll-behavior:contain!important;border:1px solid rgba(33,52,49,.18)!important;border-radius:6px!important;
    background:var(--als-request-paper)!important;color:var(--als-request-ink)!important;
    box-shadow:0 30px 80px rgba(18,38,34,.28),0 2px 10px rgba(18,38,34,.1)!important;
    font-family:'Merriweather','Times New Roman',Times,serif!important;
  }
  .als-request-modal[aria-hidden="false"] {animation:als-request-appear .2s ease-out both!important}
  .als-request-modal .als-request-caption {
    box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
    position:sticky!important;top:0!important;z-index:30!important;min-height:64px!important;padding:10px 12px 10px 20px!important;
    border:0!important;border-bottom:3px solid var(--als-request-wood)!important;border-radius:5px 5px 0 0!important;
    background:var(--als-request-pine)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  .als-request-modal :is(.contactus-lightbox-cap,.joomly-callback-cap) {min-width:0!important;width:auto!important;margin:0!important;padding-right:12px!important}
  .als-request-modal .als-request-caption h4 {
    margin:0!important;color:var(--als-request-paper)!important;font:400 18px/1.35 'Merriweather','Times New Roman',Times,serif!important;
    letter-spacing:-.01em!important;text-align:left!important;text-wrap:balance!important;
  }
  .als-request-modal .als-request-close {
    box-sizing:border-box!important;display:flex!important;flex:0 0 44px!important;align-items:center!important;justify-content:center!important;
    width:44px!important;height:44px!important;margin:0!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:2px!important;
    background:rgba(255,255,255,.07)!important;color:#fff!important;cursor:pointer!important;
    transition:background-color .24s cubic-bezier(.32,.72,.28,1),border-color .24s cubic-bezier(.32,.72,.28,1),transform .24s cubic-bezier(.32,.72,.28,1)!important;
  }
  .als-request-modal .als-request-close:hover {background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.42)!important}
  .als-request-modal .als-request-close:active {transform:scale(.96)!important}
  .als-request-modal .als-request-close:focus-visible {outline:3px solid #fff!important;outline-offset:-4px!important}
  .als-request-modal .als-request-close>i {float:none!important;margin:0!important;font-size:0!important;line-height:1!important;pointer-events:none!important}
  .als-request-modal .als-request-close>i::before {content:'×'!important;font:400 26px/1 Arial,sans-serif!important;color:#fff!important}
  .als-request-modal .als-request-body {padding:14px 18px 16px!important;background:var(--als-request-paper)!important;border-radius:0 0 5px 5px!important}
  .als-request-modal form {margin:0!important}
  .als-request-modal :is(.joomly-contactus-div,.joomly-callback-div) {margin:0 0 7px!important}
  .als-request-modal :is(.contactus-enhanced-field,.callback-enhanced-field) {position:relative!important}
  .als-request-modal :is(.contactus-enhanced-label,.callback-enhanced-label) {
    position:absolute!important;z-index:1!important;top:7px!important;left:15px!important;margin:0!important;color:#7a817d!important;
    font:400 10px/1 'Merriweather','Times New Roman',Times,serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;
    pointer-events:none!important;transition:color .24s cubic-bezier(.32,.72,.28,1)!important;
  }
  .als-request-modal :is(.contactus-enhanced-field,.callback-enhanced-field):focus-within :is(.contactus-enhanced-label,.callback-enhanced-label) {color:#86552f!important}
  .als-request-modal :is(.contactus-fields:where(:not([type="checkbox"]):not(.contactus-fields-const)),.joomly-callback-field) {
    box-sizing:border-box!important;display:block!important;width:100%!important;height:46px!important;min-height:46px!important;margin:0!important;
    padding:18px 12px 5px!important;border:1px solid var(--als-request-line)!important;border-radius:2px!important;background:#fff!important;
    box-shadow:inset 0 1px 0 rgba(33,48,46,.03)!important;color:var(--als-request-ink)!important;
    font:400 15px/1.45 'Merriweather','Times New Roman',Times,serif!important;
    transition:border-color .24s cubic-bezier(.32,.72,.28,1),box-shadow .24s cubic-bezier(.32,.72,.28,1),background-color .24s cubic-bezier(.32,.72,.28,1)!important;
  }
  .als-request-modal textarea.contactus-fields {height:84px!important;min-height:84px!important;padding-top:20px!important;resize:vertical!important}
  .als-request-modal :is(.contactus-fields:not([type="checkbox"]):not(.contactus-fields-const),.joomly-callback-field):hover {border-color:#bcb7ae!important}
  .als-request-modal :is(.contactus-fields:not([type="checkbox"]):not(.contactus-fields-const),.joomly-callback-field):focus {
    outline:0!important;border-color:var(--als-request-wood)!important;box-shadow:0 0 0 3px rgba(166,109,61,.17),inset 0 1px 0 rgba(33,48,46,.03)!important;
  }
  .als-request-modal select {box-sizing:border-box!important;max-width:100%!important;height:46px!important;border:1px solid var(--als-request-line)!important;border-radius:2px!important;background-color:#fff!important;color:var(--als-request-ink)!important}
  .als-request-modal .als-request-time>div {display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .als-request-modal .als-request-time select {margin:0!important}
  .als-request-modal .als-consent-label {font:400 12px/1.55 'Merriweather','Times New Roman',Times,serif!important;color:#52615c!important}
  .als-request-modal :is(.smart-callback-captcha,.smart-captcha):empty {margin-bottom:0!important}
  .als-request-modal .als-request-submit {width:100%!important;margin:7px 0 0!important}
  .als-request-modal .als-request-result {padding:30px 32px 32px!important;text-align:center!important}
  .als-request-modal .als-request-result p {margin:0 auto 24px!important;color:#43514d!important;font:400 16px/1.65 'Merriweather','Times New Roman',Times,serif!important}
  .als-request-modal :is(.als-request-dismiss,.callback-alert-ok) {width:auto!important;min-width:154px!important;margin:0!important;justify-content:center!important}
  .als-request-modal :is(.als-request-dismiss,.callback-alert-ok)::after {content:none!important;display:none!important}

  @media(max-width:767px) {
    #t3-header .als-request-callback {width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:6px!important;gap:0!important}
    #t3-header .als-request-callback .als-request-label {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  }
  @media(max-width:520px) {
    .als-request-modal {width:calc(100% - 16px)!important;max-height:calc(100dvh - 16px)!important}
    .als-request-modal .als-request-caption {min-height:58px!important;padding-left:16px!important}
    .als-request-modal .als-request-caption h4 {font-size:16px!important}
    .als-request-modal .als-request-body {padding:10px 12px 12px!important}
    .als-request-modal :is(.joomly-contactus-div,.joomly-callback-div) {margin-bottom:6px!important}
    .als-request-modal textarea.contactus-fields {height:70px!important;min-height:70px!important}
    .als-request-modal .als-request-result {padding:24px 20px 26px!important}
  }
  @media(max-height:720px) and (min-width:521px) {
    .als-request-modal .als-request-caption {min-height:58px!important}
    .als-request-modal .als-request-body {padding:10px 16px 12px!important}
    .als-request-modal :is(.joomly-contactus-div,.joomly-callback-div) {margin-bottom:6px!important}
    .als-request-modal textarea.contactus-fields {height:72px!important;min-height:72px!important}
  }
}
/* Important declarations in this earlier layer override every motion state. */
@layer als-request-reduced {
  @media(prefers-reduced-motion:reduce) {
    .als-request-button,.als-request-button::after,.als-request-button *,.als-request-modal,.als-request-modal *,:where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request),:where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request)::after {transition:none!important;animation:none!important}
    :is(.als-request-button,:where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request)):is(:hover,:focus-visible,:active),
    :is(.als-request-button,:where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request)):is(:hover,:focus-visible)::after,
    .als-request-button .als-request-phone,.als-request-modal .als-request-close:active,.als-request-modal .callback-alert-ok:active {transform:none!important}
  }
}
@keyframes als-request-ring {0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(4deg)}}
@keyframes als-request-appear {from{opacity:0}to{opacity:1}}

@layer als-request-ui {
 :where(a[href^="#"][href$="-request"],a[href="#request"],.configurator #request,.configurator #custom-request)>span:not(.als-request-label){display:none!important}
}

@layer als-request-ui {
 .configurator{grid-template-rows:minmax(0,1fr) auto!important}
 .configurator>.selection-bar{min-height:66px!important;padding-block:5px!important}
}
/* Text links reproduce the current homepage request-section email link. */
@layer als-request-ui {
  .als-text-link {
    display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:22px!important;
    position:relative!important;box-sizing:border-box!important;width:fit-content!important;min-height:44px!important;max-width:100%!important;min-width:0!important;
    padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    color:#263e34!important;font:500 13px/1.45 'Segoe UI',sans-serif!important;letter-spacing:normal!important;
    text-transform:none!important;text-decoration:none!important;text-shadow:none!important;transition:color .22s!important;
  }
  .als-text-link::before {content:none!important;display:none!important}
  .als-text-link::after {
    content:''!important;display:block!important;position:absolute!important;left:0!important;right:32px!important;bottom:6px!important;top:auto!important;
    width:auto!important;height:1px!important;border:0!important;background:currentColor!important;opacity:1!important;
    transform:scaleX(0)!important;transform-origin:right!important;transition:transform .26s cubic-bezier(.22,.61,.36,1)!important;pointer-events:none!important;
  }
  .als-text-link .als-text-label {min-width:0!important;font:inherit!important;color:inherit!important;transform:none!important}
  .als-text-link .als-text-arrow {
    display:inline-block!important;flex:0 0 auto!important;font:500 20px/1.45 'Segoe UI',sans-serif!important;color:inherit!important;
    border:0!important;background:none!important;transform:none!important;transition:transform .26s cubic-bezier(.22,.61,.36,1)!important;
  }
  .als-text-link:is(:hover,:focus-visible)::after {transform:scaleX(1)!important;transform-origin:left!important}
  .als-text-link:is(:hover,:focus-visible) .als-text-arrow {transform:translate(3px,-3px)!important}
  .als-text-link:focus-visible {outline:2px solid #ac7849!important;outline-offset:4px!important}

  /* Links inside prose retain text flow, including consent paragraphs. */
  .als-text-link.als-text-link--inline {display:inline!important;min-height:0!important;font:inherit!important;white-space:normal!important}
  .als-text-link--inline::after {content:none!important;display:none!important}
  .als-text-link--inline .als-text-label {
    background-image:linear-gradient(currentColor,currentColor)!important;background-size:0 1px!important;background-repeat:no-repeat!important;
    background-position:right bottom!important;transition:background-size .26s cubic-bezier(.22,.61,.36,1)!important;
  }
  .als-text-link--inline .als-text-arrow {margin-left:.35em!important;font-size:1em!important;line-height:inherit!important}
  .als-text-link--inline:is(:hover,:focus-visible) .als-text-label {background-size:100% 1px!important;background-position:left bottom!important}
}
@layer als-request-reduced {
  @media(prefers-reduced-motion:reduce) {
    .als-text-link,.als-text-link::after,.als-text-link * {transition:none!important;animation:none!important}
    .als-text-link:is(:hover,:focus-visible) .als-text-arrow {transform:none!important}
  }
}
