/* DanZla mobile art direction. Desktop remains controlled by the Polene-based theme. */
@media (max-width: 1023px) {
  :root { --dz-mobile-gutter: 16px; }
  html { overflow-x: hidden; scroll-padding-top: 64px; }
  body { overflow-x: hidden; }

  .header { min-height: 64px; }
  .header__mobile-bar {
    height: 64px;
    padding: 0 var(--dz-mobile-gutter);
    background: rgba(247, 244, 239, .74);
    border-bottom: 1px solid rgba(20, 18, 16, .08);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
  .header__mobile-logo {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 116px !important;
    max-width: 42vw !important;
    height: auto !important;
    transform: translate(-50%, -50%) !important;
  }
  .header__mobile-logo img { width: 100% !important; height: auto !important; }
  .header__burger, .header__mobile-search { z-index: 3; }
  .header__nav__panel { display: none !important; }

  .dz-mobile-nav {
    position: fixed;
    inset: 64px 0 0;
    box-sizing: border-box;
    width: 100%;
    height: calc(100dvh - 64px);
    z-index: 9998;
    display: flex;
    flex-direction: column;
    padding: 0 var(--dz-mobile-gutter) max(20px, env(safe-area-inset-bottom));
    background: #f7f4ef;
    color: #171513;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity .25s ease, transform .35s cubic-bezier(.22, 1, .36, 1), visibility 0s .35s;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .dz-mobile-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .dz-mobile-nav__search {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    gap: 18px;
    width: 100%;
    min-height: 72px;
    padding: 0 14px;
    border: 0;
    border-bottom: 1px solid rgba(23, 21, 19, .13);
    background: transparent;
    color: #6f6964;
    text-align: left;
  }
  .dz-mobile-nav__search span {
    width: 15px;
    height: 15px;
    border: .7px solid #171513;
    border-radius: 50%;
    position: relative;
  }
  .dz-mobile-nav__search span::after {
    position: absolute;
    right: -5px;
    bottom: -3px;
    width: 6px;
    border-top: .7px solid #171513;
    content: "";
    transform: rotate(45deg);
    transform-origin: left center;
  }
  .dz-mobile-nav__search b {
    font: 400 10px/1 Manrope, Arial, sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .dz-mobile-nav__featured {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0 22px;
  }
  .dz-mobile-nav__featured a {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: .76;
    overflow: hidden;
    background: #d8d1ca;
    color: #fff;
    text-decoration: none;
  }
  .dz-mobile-nav__featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .dz-mobile-nav__featured a:first-child img { object-position: 27% center; }
  .dz-mobile-nav__featured a:last-child img { object-position: 69% center; }
  .dz-mobile-nav__featured span {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    color: #fff;
    font: 400 clamp(18px, 5.7vw, 26px)/1 Prata, Georgia, serif;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .25);
  }
  .dz-mobile-nav__main { display: grid; }
  .dz-mobile-nav__main a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    border-top: 0;
    font-family: Prata, Georgia, serif;
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1;
    text-decoration: none;
  }
  .dz-mobile-nav__main a:last-child { border-bottom: 1px solid rgba(23, 21, 19, .13); }
  .dz-mobile-nav__main a::after {
    width: 9px;
    height: 7px;
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 9 7%22 fill=%22none%22%3E%3Cpath d=%22M0 3.5h8.36M5.14.23 8.36 3.5 5.14 6.77%22 stroke=%22%23171513%22 stroke-width=%22.5%22/%3E%3C/svg%3E") center/contain no-repeat;
    flex: 0 0 auto;
  }
  .dz-mobile-nav__services {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 18px;
    margin-top: auto;
    padding-top: 28px;
  }
  .dz-mobile-nav__services a {
    color: inherit;
    font: 500 10px/1.3 Manrope, Arial, sans-serif;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
  }
  .dz-mobile-nav__services a:nth-child(even) {
    justify-self: end;
    text-align: right;
  }
  body.dz-mobile-menu-open { overflow: hidden; }

  .hero__image-container { height: 100svh; min-height: 620px; }
  .hero__product-card { margin-inline: 12px; }
  .hero-product__details { padding: 16px; }

  .promoted-collections { padding: 48px var(--dz-mobile-gutter) !important; }
  .promoted-collections__list { gap: 0 !important; }
  .promoted-collections__item,
  .promoted-collections__item:last-child { border: 0 !important; }
  .promoted-collections .promoted-collections__item-title {
    padding: 12px 0 !important;
    font-family: Primary, serif !important;
    font-size: clamp(24px, 7.2vw, 30px) !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }

  .best-section { padding: 0 12px 44px; }
  .best-section__inner { gap: 12px !important; }
  .best-section__item { min-height: 0; }
  .best-section__item video, .best-section__item img { aspect-ratio: 4 / 5; object-fit: cover; }

  #shopify-section-template--30031534752113__product_banner_dNjcmp { padding-block: 0 48px !important; }
  .product-banner { min-height: min(132vw, 620px); }
  .product-banner__image, .product-banner__image img { height: 100%; }
  .product-banner__image img { object-fit: cover; object-position: center; }
  .product-banner__content { padding: 22px var(--dz-mobile-gutter) !important; }

  .section-carousel { padding-inline: 0 !important; }
  .section-carousel .component-carousel__viewport { padding-inline: 12px; }
  .section-carousel .component-product-card__footer { padding: 8px 0 0; }

  .mosaic__grid-margin { margin-inline: 0 !important; }
  .mosaic__grid-gap { gap: 4px !important; }
  .mosaic img { min-height: 44vw; object-fit: cover; }

  .instagram { height: 100svh; min-height: 640px; }
  .instagram__inner { padding-inline: var(--dz-mobile-gutter); }

  .motion-section {
    height: calc(250vh + 220px) !important;
    height: calc(250svh + 220px) !important;
    padding-top: 72px !important;
  }
  .motion-section__top { margin-bottom: 40px !important; }
  .motion-section__subtitle { font-size: 18px !important; }
  .motion-section__text { max-width: 340px !important; font-size: 14px !important; line-height: 1.55 !important; }
  .motion-section__pin {
    position: relative;
    width: 100% !important;
    height: 100vh !important;
    height: 100svh !important;
  }
  .motion-section__bottom {
    position: absolute !important;
    inset: 0 !important;
  }
  .motion-section__photo { object-position: 53% center; }
  .motion-section__scroll, .motion-section__cursor { display: none !important; }

  .footer {
    min-height: 0 !important;
    padding: calc(var(--fr) * 5.6) 0 calc(var(--fr) * 2.5) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background: linear-gradient(155deg, #a8a4a1 0%, #918b87 58%, #756d68 100%);
  }
  .footer__bg { display: none; }
  .footer__inner { padding: 0 calc(var(--fr) * 1.6) !important; }
  .footer__top {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: calc(var(--fr) * 1.3) calc(var(--fr) * 2.2) !important;
    margin-bottom: calc(var(--fr) * 5) !important;
  }
  .footer__top .footer__nav { display: contents !important; }
  .footer__nav { gap: calc(var(--fr) * 1.3) calc(var(--fr) * 2.2) !important; }
  .footer__nav a { font-size: calc(var(--fr) * 1.3) !important; line-height: calc(var(--fr) * 1.3) !important; letter-spacing: calc(var(--fr) * -.12) !important; }
  .footer__logo {
    margin-bottom: calc(var(--fr) * 5.5) !important;
    transform: none !important;
  }
  .footer__title { row-gap: calc(var(--fr) * 1.2); font-size: calc(var(--fr) * 3.8) !important; line-height: 1.05 !important; margin-bottom: calc(var(--fr) * 3) !important; transform: none !important; }
  .footer__title span { margin-top: calc(var(--fr) * 1); font-size: calc(var(--fr) * 1.8) !important; line-height: 1.2 !important; white-space: nowrap; }
  .footer__form { flex-wrap: wrap; gap: calc(var(--fr) * .8) !important; opacity: 1 !important; }
  .footer__label { flex: none; width: calc(var(--fr) * 27.5) !important; }
  .footer__submit { width: auto !important; font-size: calc(var(--fr) * 1.8) !important; }
  .footer__bottom a, .footer__bottom button, .footer__bottom p { font-size: calc(var(--fr) * 1.3) !important; line-height: calc(var(--fr) * 1.3) !important; }
  .footer__img { top: calc(var(--fr) * 13.5) !important; bottom: auto !important; left: calc(var(--fr) * 6.5) !important; width: calc(var(--fr) * 26) !important; transform: none !important; }

  .dz-cookie { right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); width: min(calc(100vw - 16px), 326px); }
}

@media (max-width: 359px) {
  .header__mobile-logo { width: 104px !important; }
  .dz-mobile-nav__main a { min-height: 48px; font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .dz-mobile-nav { transition: none; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .motion-section { height: auto !important; }
  .motion-section__pin { height: min(132vw, 620px) !important; }
  .motion-section__bottom {
    -webkit-mask-size: 1000% !important;
    mask-size: 1000% !important;
  }
}
