/*
 * Stelar interaction quality pass
 * Load after landing-refinements.css and home-evolution.css.
 * This file only refines existing components and the DOM added by
 * interaction-quality-pass.js.
 */

.iq-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Bed sequence: persistent control, decoded-frame poster and honest busy state. */
#bedPull.iq-bed-persistent{
  min-width:44px;
  min-height:44px;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .2s var(--ease, ease),visibility 0s!important;
}

#bedPull.iq-bed-persistent[aria-disabled="true"]{
  cursor:progress;
}

#bedPull.iq-bed-persistent.is-dragging{
  opacity:.24!important;
}

#bedFrame[data-iq-loading="true"]{
  cursor:progress;
}

.bed-variant-tab[data-iq-loading="true"]{
  cursor:progress;
}

.bed-variant-tab[data-iq-loading="true"]::after{
  content:"";
  display:block;
  width:18px;
  height:2px;
  margin:5px auto 0;
  background:var(--accent,#ff8726);
  animation:iq-bed-loading 1s ease-in-out infinite alternate;
}

@keyframes iq-bed-loading{
  from{transform:scaleX(.25);opacity:.48}
  to{transform:scaleX(1);opacity:1}
}

#bedFrame>.iq-bed-poster{
  position:absolute!important;
  z-index:5!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  pointer-events:none!important;
  transition:opacity .2s var(--ease,ease)!important;
}

#bedFrame>.iq-bed-poster.is-releasing{
  opacity:0!important;
}

#bedNext,
.bed-variant-tab{
  min-height:44px;
}

/* FAQ: one perspective root, with the answer tray above the pulled front. */
.faq-cabinet{
  --iq-cabinet-perspective:1700px;
  --iq-cabinet-yaw:-.8deg;
  --iq-drawer-z:34px;
  box-shadow:
    inset 12px 0 22px rgba(255,255,255,.03),
    inset -14px 0 24px rgba(19,45,83,.16),
    0 24px 48px rgba(19,45,83,.14);
  transform:perspective(var(--iq-cabinet-perspective)) rotateY(var(--iq-cabinet-yaw));
  transform-style:preserve-3d;
}

.faq-cabinet .faq-list{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.09),
    inset 9px 0 14px rgba(19,45,83,.18),
    inset -9px 0 14px rgba(19,45,83,.2);
  transform:none;
  transform-style:preserve-3d;
}

.faq-cabinet .faq-list details,
.faq-cabinet .faq-list details[open]{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  perspective:none;
  transform-style:preserve-3d;
}

.faq-cabinet .faq-list details::details-content{
  position:relative;
  z-index:1;
  grid-column:1;
  grid-row:1;
  block-size:0;
  opacity:0;
  overflow:clip;
  transition:block-size .46s var(--ease,ease),opacity .18s,content-visibility .46s allow-discrete;
}

.faq-cabinet .faq-list details[open]::details-content{
  block-size:auto;
  opacity:1;
}

.faq-cabinet .faq-list summary{
  position:relative;
  z-index:3;
  grid-column:1;
  grid-row:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(14px,3vw,28px);
  min-height:68px;
  box-shadow:
    inset 0 1px rgba(255,255,255,.94),
    inset 1px 0 rgba(255,255,255,.44),
    inset -1px 0 rgba(19,45,83,.12),
    0 5px 8px rgba(19,45,83,.2);
  transform:none;
  transform-origin:center top;
}

.faq-cabinet .faq-list summary>span:first-child{
  min-width:0;
  text-wrap:balance;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.faq-cabinet .faq-handle{
  width:52px;
}

.faq-cabinet .faq-list details:not([open]) summary:hover{
  transform:translate3d(0,0,8px);
  box-shadow:
    inset 0 1px rgba(255,255,255,.96),
    0 8px 12px rgba(19,45,83,.24);
}

.faq-cabinet .faq-list details[open] summary{
  box-shadow:
    inset 0 1px rgba(255,255,255,.96),
    0 6px 0 rgba(19,45,83,.24),
    0 18px 28px rgba(19,45,83,.24);
  transform:translate3d(0,0,var(--iq-drawer-z)) scaleX(1.004);
}

.faq-cabinet .faq-list summary::before{
  box-shadow:0 3px 6px rgba(19,45,83,.2);
}

.faq-cabinet .faq-answer{
  width:100%;
  margin:0;
  padding:8px 6px 12px;
  overflow:hidden;
  opacity:0;
  transform:translate3d(0,-8px,8px) scaleY(.9);
  transform-origin:center top;
}

.faq-cabinet .faq-list details[open] .faq-answer{
  opacity:1;
  transform:translate3d(0,-2px,14px) scaleY(1);
}

.faq-cabinet .faq-drawer-shell{
  width:calc(100% + var(--faq-drawer-wing,22px) * 2);
  margin:0 calc(var(--faq-drawer-wing,22px) * -1) -12px;
  box-shadow:
    inset 0 10px 18px rgba(19,45,83,.22),
    inset 0 -1px rgba(255,255,255,.1),
    0 10px 14px rgba(19,45,83,.16);
}

@supports not selector(details::details-content){
  .faq-cabinet .faq-list details[open]{
    display:flex;
    flex-direction:column-reverse;
  }
}

/* Contact progressive enhancement. */
.iq-contact-method-field{
  grid-column:1/-1;
}

.iq-contact-method{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}

.iq-contact-method legend{
  margin:0 0 8px;
  padding:0;
  color:var(--text,var(--ink,#414246));
  font-size:13px;
  font-weight:700;
}

.iq-contact-method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
}

.iq-contact-method-item{
  display:grid;
  gap:7px;
  min-width:0;
}

.iq-contact-method-item label{
  color:var(--text,var(--ink,#414246));
  font-size:13px;
  font-weight:700;
}

.iq-contact-method-item input{
  width:100%;
  min-height:46px;
}

.iq-contact-method-hint,
.iq-field-error{
  grid-column:1/-1;
  margin:0;
  font-size:12px;
  line-height:1.4;
}

.iq-contact-method-hint{
  color:var(--muted,#65666b);
}

.iq-field-error{
  color:#8c2525;
  font-weight:700;
}

.contact-form [aria-invalid="true"],
.subpage-contact-form [aria-invalid="true"]{
  border-color:#8c2525!important;
  outline:2px solid rgba(140,37,37,.25);
  outline-offset:1px;
}

.contact-form[data-iq-form-state="checking"],
.subpage-contact-form[data-iq-form-state="checking"]{
  cursor:progress;
}

.contact-form .form-note,
.subpage-contact-form .subpage-contact-note,
.iq-form-note{
  min-height:36px;
  line-height:1.45;
}

.contact-form[data-iq-form-state="invalid"] .form-note,
.subpage-contact-form[data-iq-form-state="invalid"] .subpage-contact-note,
.contact-form[data-iq-form-state="invalid"] .iq-form-note,
.subpage-contact-form[data-iq-form-state="invalid"] .iq-form-note{
  color:#8c2525;
  font-weight:700;
}

.iq-contact-secondary{
  min-width:0;
}

.iq-contact-secondary>summary{
  min-height:44px;
  list-style:none;
  cursor:pointer;
}

.iq-contact-secondary>summary::-webkit-details-marker{
  display:none;
}

@media(min-width:768px){
  .iq-contact-secondary{
    display:contents;
  }

  .iq-contact-secondary>summary{
    display:none;
  }
}

.iq-map{
  isolation:isolate;
  z-index:0;
  min-width:0;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),transparent 38%),
    var(--ink-mid,#4d4f53);
}

.iq-map iframe{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

.iq-map iframe[hidden]{
  display:none!important;
}

.iq-map-activate{
  position:absolute;
  z-index:4;
  top:25%;
  left:50%;
  display:grid;
  gap:5px;
  width:min(310px,calc(100% - 32px));
  min-height:56px;
  padding:13px 18px;
  border:1px solid var(--accent,#ff8726);
  border-radius:var(--radius,4px);
  background:rgba(35,36,39,.94);
  color:var(--white,#f9fbff);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transform:translate(-50%,-50%);
  transition:transform .2s var(--ease,ease),background .2s,border-color .2s;
}

.iq-map-activate strong{
  font-size:14px;
  line-height:1.25;
}

.iq-map-activate small{
  color:rgba(249,251,255,.76);
  font-size:11px;
  line-height:1.35;
}

.iq-map-activate:hover{
  background:rgba(19,45,83,.96);
}

.iq-map-activate:active{
  transform:translate(-50%,calc(-50% + 1px)) scale(.985);
}

.iq-map-activate:focus-visible,
.iq-map-direct:focus-visible{
  outline:3px solid var(--accent,#ff8726);
  outline-offset:3px;
}

.iq-map-status{
  position:absolute;
  z-index:4;
  top:14px;
  left:14px;
  max-width:calc(100% - 28px);
  margin:0;
  padding:8px 10px;
  border-left:3px solid var(--accent,#ff8726);
  background:rgba(35,36,39,.92);
  color:var(--white,#f9fbff);
  font-size:12px;
  line-height:1.35;
}

.iq-map-status:empty{
  display:none;
}

.iq-map-direct{
  position:absolute;
  z-index:4;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 12px;
  border:1px solid rgba(249,251,255,.5);
  border-radius:var(--radius,4px);
  background:rgba(35,36,39,.9);
  color:var(--white,#f9fbff);
  font-size:12px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
}

.iq-map[data-iq-map-state="idle"] .iq-map-status,
.iq-map[data-iq-map-state="idle"] .iq-map-direct,
.iq-map[data-iq-map-state="loading"] .iq-map-direct{
  display:none;
}

.iq-map[data-iq-map-state="loading"] .iq-map-activate,
.iq-map[data-iq-map-state="ready"] .iq-map-activate{
  display:none;
}

.iq-map[data-iq-map-state="error"] .iq-map-activate{
  top:25%;
}

.file-drop-remove{
  min-width:44px!important;
  width:44px!important;
  min-height:44px!important;
  height:44px!important;
}

@media(max-width:767px){
  /* The mobile bed is a stage followed by normal-flow copy. */
  #lozko-w-szafie.bed-scroll,
  #lozko-w-szafie .bed-sticky{
    height:auto!important;
    min-height:0!important;
  }

  #lozko-w-szafie .bed-sticky{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    overflow:visible;
    background:var(--ink-deep,#393a3d);
  }

  #lozko-w-szafie .bed-sticky::after{
    content:none;
  }

  #lozko-w-szafie .bed-frame{
    position:relative;
    z-index:1;
    inset:auto;
    grid-column:1;
    grid-row:1;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    min-height:0;
    overflow:hidden;
  }

  #lozko-w-szafie .bed-frame>img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  #lozko-w-szafie .bed-copy{
    position:relative;
    z-index:2;
    inset:auto;
    grid-column:1;
    grid-row:2;
    display:block;
    width:auto;
    max-height:none;
    padding:24px var(--pad,20px) 28px;
    overflow:visible;
    border:0;
    border-top:3px solid var(--accent,#ff8726);
    background:var(--ink-deep,#393a3d);
    pointer-events:auto;
    transform:none;
  }

  #lozko-w-szafie .bed-summary{
    margin-top:0;
  }

  #lozko-w-szafie .bed-summary h2{
    max-width:12ch;
    font-size:clamp(32px,10vw,42px);
    line-height:.95;
  }

  #lozko-w-szafie .bed-copy p{
    max-width:46ch;
    font-size:13px;
    line-height:1.48;
  }

  #lozko-w-szafie .bed-variants{
    width:100%;
    margin-top:16px;
  }

  #lozko-w-szafie .bed-variant-tab{
    min-height:44px;
  }

  #lozko-w-szafie .bed-controls{
    align-items:center;
    margin-top:16px;
  }

  #lozko-w-szafie .bed-state{
    display:block!important;
  }

  #lozko-w-szafie .bed-state:not(:focus):not(:active){
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    border:0!important;
  }

  #lozko-w-szafie .bed-copy .btn{
    min-height:44px;
  }

  .faq-cabinet{
    --iq-cabinet-perspective:1900px;
    --iq-cabinet-yaw:-.2deg;
    --iq-drawer-z:18px;
    transform:perspective(var(--iq-cabinet-perspective)) rotateY(var(--iq-cabinet-yaw));
  }

  .faq-cabinet .faq-list summary{
    min-height:68px;
    padding:14px 16px;
  }

  .faq-cabinet .faq-handle{
    width:38px;
  }

  .faq-cabinet .faq-list details[open] summary{
    transform:translate3d(0,0,var(--iq-drawer-z)) scaleX(1.002);
  }

  .faq-cabinet .faq-list details[open] .faq-answer{
    transform:translate3d(0,-2px,8px) scaleY(1);
  }

  .contact-location,
  .subpage-contact-location{
    grid-template-rows:auto auto!important;
  }

  .contact-info,
  .subpage-contact-info{
    padding:22px 20px 24px!important;
  }

  .contact-info h3,
  .subpage-contact-info h3{
    margin-bottom:16px;
    font-size:clamp(30px,9vw,38px);
  }

  .contact-addresses,
  .subpage-contact-addresses{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 16px!important;
  }

  .contact-addresses>div,
  .subpage-contact-addresses>div{
    min-width:0;
    overflow-wrap:anywhere;
  }

  .contact-bank-account{
    margin-top:14px!important;
    padding:12px 14px!important;
  }

  .iq-contact-secondary{
    display:block;
    margin-top:14px;
    border-top:1px solid rgba(255,255,255,.2);
  }

  .iq-contact-secondary>summary{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 28px 10px 0;
    color:var(--white,#f9fbff);
    font-size:12px;
    font-weight:800;
    line-height:1.3;
  }

  .iq-contact-secondary>summary::after{
    content:"+";
    position:absolute;
    right:2px;
    color:var(--accent,#ff8726);
    font-size:21px;
    font-weight:500;
    line-height:1;
  }

  .iq-contact-secondary[open]>summary::after{
    content:"-";
  }

  .iq-contact-secondary>summary:focus-visible{
    outline:2px solid var(--accent,#ff8726);
    outline-offset:3px;
  }

  .contact-map.iq-map,
  .subpage-contact-map.iq-map{
    position:relative;
    inset:auto;
    min-height:88px!important;
    transition:min-height .26s var(--ease,ease);
  }

  .contact-map.iq-map[data-iq-map-state="loading"],
  .contact-map.iq-map[data-iq-map-state="ready"],
  .contact-map.iq-map[data-iq-map-state="error"],
  .subpage-contact-map.iq-map[data-iq-map-state="loading"],
  .subpage-contact-map.iq-map[data-iq-map-state="ready"],
  .subpage-contact-map.iq-map[data-iq-map-state="error"]{
    min-height:250px!important;
  }

  .iq-map-activate{
    top:50%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:56px;
    padding:10px 14px;
  }

  .iq-map[data-iq-map-state="error"] .iq-map-activate{
    top:42%;
  }

  .iq-map-activate small{
    max-width:14ch;
    text-align:right;
  }

  .iq-map-direct{
    top:auto;
    right:10px;
    bottom:10px;
    max-width:calc(100% - 20px);
  }

  .contact-form,
  .subpage-contact-form{
    padding:28px 20px 32px!important;
  }

  .contact-form h2,
  .subpage-contact-form h2{
    margin-bottom:22px!important;
    font-size:clamp(32px,10vw,38px)!important;
  }

  .iq-contact-method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .subpage-contact-form input,
  .subpage-contact-form select,
  .subpage-contact-form textarea{
    min-height:46px;
  }

  .contact-form textarea,
  .subpage-contact-form textarea{
    min-height:92px;
  }

  .form-actions,
  .subpage-contact-actions{
    gap:12px;
    margin-top:18px;
  }
}

@media(max-width:360px){
  .contact-info,
  .subpage-contact-info{
    padding-inline:18px!important;
  }

  .iq-map-activate{
    width:calc(100% - 20px);
  }
}

@media(max-width:300px){
  .contact-addresses,
  .subpage-contact-addresses,
  .iq-contact-method-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .bed-variant-tab[data-iq-loading="true"]::after{
    animation:none;
  }

  #bedFrame>.iq-bed-poster,
  .faq-cabinet,
  .faq-cabinet .faq-list details::details-content,
  .faq-cabinet .faq-list summary,
  .faq-cabinet .faq-answer,
  .contact-map.iq-map,
  .subpage-contact-map.iq-map,
  .iq-map-activate{
    transition:none!important;
  }

  #bedPull.iq-bed-persistent{
    display:none!important;
  }

  .faq-cabinet,
  .faq-cabinet .faq-list details[open] summary,
  .faq-cabinet .faq-list details[open] .faq-answer{
    transform:none!important;
  }
}

@media(forced-colors:active){
  .faq-cabinet,
  .faq-cabinet .faq-list,
  .faq-cabinet .faq-list details,
  .faq-cabinet .faq-drawer-shell{
    border:1px solid CanvasText;
    background:Canvas;
    box-shadow:none;
  }

  .faq-cabinet .faq-list summary{
    border:2px solid ButtonText;
    background:ButtonFace;
    color:ButtonText;
    box-shadow:none;
  }

  .faq-cabinet .faq-list details[open] summary{
    outline:2px solid Highlight;
    outline-offset:-4px;
  }

  .faq-cabinet .faq-handle{
    border:2px solid ButtonText;
    background:Highlight;
    box-shadow:none;
  }

  .faq-cabinet .faq-answer p{
    color:CanvasText;
  }

  .iq-map-activate,
  .iq-map-direct,
  .iq-map-status{
    border:2px solid ButtonText;
    background:Canvas;
    color:CanvasText;
  }

  .iq-field-error,
  .contact-form[data-iq-form-state="invalid"] .form-note,
  .subpage-contact-form[data-iq-form-state="invalid"] .subpage-contact-note{
    color:CanvasText;
  }

  .iq-contact-secondary{
    border-color:CanvasText;
  }

  .iq-contact-secondary>summary{
    color:CanvasText;
  }
}
