/* Canonical banner layout. Loaded after theme CSS; image proportions drive height. */
body .maya-banner-frame {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden;
  isolation: isolate;
  container-type: inline-size;
  background: var(--maya-surface, #fff);
}
body .maya-banner-frame::before,
body .maya-banner-frame::after { display: none !important; }
body .maya-banner-media,
body .maya-banner-image-link {
  display: block;
  grid-area: 1 / 1;
  position: relative;
  width: 100%;
  min-width: 0;
  align-self: start;
  line-height: 0;
}
body .maya-banner-media > img {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  transform: none !important;
  margin: 0;
}
body .maya-banner-frame .maya-banner-copy {
  grid-area: 1 / 1;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  align-self: center;
  justify-self: start;
  z-index: 2;
  box-sizing: border-box;
  width: 42% !important;
  max-width: 42% !important;
  margin: 6%;
  padding: 0;
  display: grid;
  gap: clamp(8px, 1cqw, 16px);
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  color: #fff;
  border: 0;
  background: none;
  box-shadow: none;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
body .maya-banner-copy[data-banner-align="right"] { justify-self: end; text-align: right; }
body .maya-banner-copy[data-banner-align="center"] { justify-self: center; text-align: center; }
body .maya-banner-copy h2,
body .maya-banner-copy h3,
body .maya-banner-copy strong {
  margin: 0;
  color: inherit;
  font-family: var(--maya-font-heading, sans-serif);
  font-size: clamp(20px, 3.2cqw, var(--maya-banner-title, 44px)) !important;
  font-weight: 750;
  line-height: 1.1 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
  background: none;
  -webkit-text-fill-color: currentColor;
  filter: none;
}
body .maya-banner-copy p {
  margin: 0;
  display: block !important;
  color: inherit;
  font-size: clamp(14px, 1.5cqw, var(--maya-banner-subtitle, 18px)) !important;
  line-height: 1.45 !important;
  overflow: visible !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
body .maya-banner-copy em,
body .maya-banner-copy .maya-banner-cta {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  min-width: 0;
  min-height: 40px;
  max-width: 100%;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: normal;
  text-transform: none;
  line-height: 1.3;
  white-space: normal;
  color: #fff;
  background: var(--maya-accent, #075985);
}
body .maya-banner-image-link:focus-visible { outline: 3px solid var(--maya-accent, #075985); outline-offset: -4px; }
/* Small slots need flowing text, independently of the width of the monitor. */
@container (max-width: 680px) {
  body .maya-banner-frame .maya-banner-copy {
    grid-area: 2 / 1;
    width: auto !important;
    max-width: none !important;
    justify-self: stretch;
    margin: 0;
    padding: 20px;
    color: var(--maya-text, #102235);
    background: var(--maya-surface, #fff);
  }
  body .maya-banner-copy h2, body .maya-banner-copy h3, body .maya-banner-copy strong,
  body .maya-banner-copy p { text-shadow: none; }
}
/* Carousel slides share one grid cell. Only the active slide contributes height. */
body .maya-fashion-hero--fluid .maya-fashion-hero__shell,
body .maya-trilogy--fluid,
body .maya-trilogy--fluid .maya-trilogy__grid {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
}
body .maya-fashion-hero--fluid .maya-fashion-hero__slides,
body .maya-trilogy--fluid .maya-trilogy__slides {
  display: grid;
  position: relative;
  inset: auto;
  height: auto !important;
  min-height: 0 !important;
}
body .maya-fashion-hero--fluid .maya-fashion-hero__slide,
body .maya-trilogy--fluid .maya-trilogy__slide {
  position: absolute;
  inset: 0;
  height: auto !important;
  min-height: 0 !important;
  visibility: hidden;
}
body .maya-fashion-hero--fluid .maya-fashion-hero__slide.is-active,
body .maya-trilogy--fluid .maya-trilogy__slide.is-active {
  position: relative;
  inset: auto;
  visibility: visible;
}
body .maya-trilogy--fluid .maya-trilogy__grid { display: block; }
body .maya-trilogy--fluid .maya-trilogy__area { min-height: 0 !important; border: 0; }
body .maya-trilogy--fluid .maya-trilogy__bottom { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
body .maya-trilogy--fluid { width: 100%; background: transparent; }
body .maya-home-style-mosaic--fluid .maya-home-style-mosaic__grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-template-areas: "main promo" "left right";
  align-items: start;
}
body .maya-chiarilu-service--fluid .maya-chiarilu-service__grid { min-height: 0; align-items: center; }
body .maya-chiarilu-service--fluid .maya-chiarilu-service__media { min-width: 0; min-height: 0; height: auto; }
body .maya-newsletter-block--fluid .maya-newsletter-deluxe {
  height: auto !important; min-height: 0 !important; max-height: none !important;
  align-items: center; overflow: visible;
}
body .maya-newsletter-block--fluid .maya-newsletter-deluxe__visual { min-height: 0 !important; height: auto; background: transparent; display: block; }
body .maya-newsletter-block--fluid .maya-newsletter-deluxe__visual-overlay { position: static; padding: 20px; background: var(--maya-surface,#fff); color: var(--maya-text,#102235); }
body .maya-feature-entry__dialog--fluid { max-height: calc(100dvh - 130px); overflow-y: auto; }
body .maya-feature-entry__dialog--fluid .maya-feature-entry__media { min-height: 0; }
body .maya-feature-entry__dialog--fluid .maya-feature-entry__copy { max-width: none; }
body .maya-feature-entry__dialog--fluid .maya-feature-entry__media::before { display: none; }
body .maya-auth-modal__banner--fluid { height: auto !important; min-height: 0 !important; }
body .maya-ca-template-hero--fluid { min-height: 0 !important; height: auto !important; align-self: start; position: relative !important; top: auto !important; }
body .maya-ca-template-hero--fluid .maya-ca-template-hero__inner { display: none; }
@media(max-width: 760px) {
  body .maya-trilogy--fluid .maya-trilogy__bottom { grid-template-columns: 1fr; }
  body .maya-home-style-mosaic--fluid .maya-home-style-mosaic__grid { grid-template-columns: 1fr; grid-template-areas: "main" "promo" "left" "right"; }
}
@media(prefers-reduced-motion: reduce) {
  body .maya-fashion-hero--fluid *, body .maya-trilogy--fluid * { transition: none !important; animation: none !important; }
}

body .maya-banner-layer-ready .maya-banner-copy { position:absolute!important;left:var(--maya-banner-left)!important;top:var(--maya-banner-top)!important;margin:0; }
body .maya-banner-layer-flow .maya-banner-copy {grid-area:2/1;width:auto!important;max-width:none!important;margin:0;padding:20px;justify-self:stretch;color:var(--maya-text,#102235);background:var(--maya-surface,#fff);}
body .maya-banner-layer-flow .maya-banner-copy h2,body .maya-banner-layer-flow .maya-banner-copy h3,body .maya-banner-layer-flow .maya-banner-copy strong,body .maya-banner-layer-flow .maya-banner-copy p{text-shadow:none;}

body .maya-auth-modal__dialog{width:min(1120px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;overflow-x:hidden;}
body .maya-auth-modal__grid{grid-template-columns:minmax(0,42%) minmax(0,58%);}
body .maya-auth-modal__grid > *{min-width:0;box-sizing:border-box;}
body .maya-auth-modal__visual .maya-banner-media{border-radius:16px;overflow:hidden;}
body .maya-gift-popup__media:has(.maya-banner-media){min-height:0;align-self:center;}
@media(max-width:760px){body .maya-auth-modal__grid{grid-template-columns:minmax(0,1fr);}}
