@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/inter-latin-400-700.woff2') format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../fonts/playfair-display-latin-500-700.woff2') format('woff2');
}

/* ---------- Variables ---------- */
:root{
  --container: 1200px;
  --brand: #7a0f21;

  --text: #111;
  --muted: #666;

  --line: rgba(0,0,0,.08);
  --bg: rgba(255,255,255,.92);

  --nav-h: 64px;        /* desktop navbar height */
  --nav-top: 50px;      /* distance from top */
  --nav-radius: 12px;

  --nav-h-m: 78px;      /* mobile navbar height */
  --nav-radius-m: 24px;

  /* Shared floating-navbar geometry.
     Page/component breathing room remains locally owned. */
  --amali-nav-bottom-desktop: calc(var(--nav-top) + var(--nav-h));
  --amali-nav-bottom-mobile: calc(var(--nav-top) + var(--nav-h-m));

  --amali-admin-offset-desktop: 32px;
  --amali-admin-offset-mobile: 46px;
  --amali-admin-offset-tablet: 32px;

  /* Shared catalogue-family vertical rhythm.
     Component-internal spacing remains locally owned. */
  --amali-catalogue-section-gap: 40px;
  --amali-catalogue-section-padding: 48px;
  --amali-catalogue-feature-padding: 56px;
  --amali-catalogue-support-top: 72px;
  --amali-catalogue-panel-padding: clamp(32px, 7vw, 72px);

  --shadow: 0 10px 30px rgba(0,0,0,.10);

  /* Shared AMALI card surface; component layout remains locally owned. */
  --amali-card-surface: rgba(255,255,255,.88);
  --amali-card-border: rgba(70,48,37,.11);
  --amali-card-border-hover: rgba(122,15,33,.24);
  --amali-card-shadow: 0 12px 24px rgba(45,29,18,.08);
  --amali-card-shadow-hover: 0 18px 42px rgba(45,29,18,.11);
  --amali-card-radius: 20px;
  --amali-card-radius-compact: 18px;
  --amali-card-radius-tight: 16px;
  --amali-card-blur: 10px;
  --amali-card-transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

/* ---------- Base ---------- */
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }

/* Shared interaction layer for the explicitly audited card families. */
:where(
  .product-card,
  .favorite-card,
  .marketplace-card,
  :is(.amali-catalogue-archive, .bedding-archive) ul.products li.product,
  .amali-bedding-category-card,
  #available-bedding ul.products li.product,
  .amali-bedding-archive ul.products li.product,
  .amali-curtain-category-card,
  .amali-curtains-products ul.products li.product,
  .amali-curtain-archive ul.products li.product,
  .amali-fabric-product.woocommerce .related ul.products li.product,
  .amali-fabric-product.woocommerce .upsells ul.products li.product
){
  transition: var(--amali-card-transition);
}

:where(
  .product-card,
  .favorite-card,
  :is(.amali-catalogue-archive, .bedding-archive) ul.products li.product,
  .amali-bedding-category-card,
  #available-bedding ul.products li.product,
  .amali-bedding-archive ul.products li.product,
  .amali-curtain-category-card,
  .amali-curtains-products ul.products li.product,
  .amali-curtain-archive ul.products li.product,
  .amali-fabric-product.woocommerce .related ul.products li.product,
  .amali-fabric-product.woocommerce .upsells ul.products li.product
):is(:hover, :focus-within){
  border-color: var(--amali-card-border-hover);
  box-shadow: var(--amali-card-shadow-hover);
  transform: translateY(-2px);
}

.container{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 16px;
}

.skip-link{
  position: fixed;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus,
.skip-link:focus-visible{
  top: 8px;
  left: 8px;
  z-index: 100001;
  width: auto;
  height: auto;
  padding: 12px 18px;
  margin: 0;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  border: 2px solid #fff;
  border-radius: 8px;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
  box-shadow: 0 6px 20px rgba(0,0,0,.24);
  outline: 3px solid #111;
  outline-offset: 3px;
}
.admin-bar .skip-link:focus,
.admin-bar .skip-link:focus-visible{
  top: 40px;
}
.site-main:focus{
  outline: none;
}

.site-main{
  scroll-margin-top: calc(var(--amali-nav-bottom-desktop) + 16px);
}

body.admin-bar .site-main{
  scroll-margin-top: calc(var(--amali-nav-bottom-desktop) + var(--amali-admin-offset-desktop) + 16px);
}

@media (max-width: 980px){
  .site-main{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + 16px);
  }

  body.admin-bar .site-main{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-mobile) + 16px);
  }
}

@media (min-width: 783px) and (max-width: 980px){
  body.admin-bar .site-main{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-tablet) + 16px);
  }
}

.site-main{ min-height:60vh; padding-top:0; }

@media (max-width:782px){
  .admin-bar .skip-link:focus,
  .admin-bar .skip-link:focus-visible{
    top: 54px;
  }
}

/* =========================
   HERO
   ========================= */
.hero{
  position: relative;
  min-height: 62vh;
  display:flex;
  align-items:center;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.home .hero{
  background-color:#000;
  background-blend-mode: normal;
  min-height: calc(100vh + var(--nav-top));
  height: calc(100vh + var(--nav-top));
  margin-top: calc(var(--nav-top) * -1);
  overflow: hidden;
}
.home .site-main > section{
  scroll-margin-top: calc(var(--amali-nav-bottom-desktop) + 16px);
}
body.admin-bar.home .site-main > section{
  scroll-margin-top: calc(var(--amali-nav-bottom-desktop) + var(--amali-admin-offset-desktop) + 16px);
}
.home .hero-overlay{
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.55),
    rgba(0,0,0,.15)
  );
}
.home .hero-content{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  padding-top: 110px;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.10) 100%);
}
.hero-content{
  position: relative;
  z-index: 1;
  padding: 120px 0 90px;
  max-width: 620px;
  margin-left: max(16px, calc((100vw - var(--container)) / 2 + 16px));
}
.amali-catalogue-container{
  width: min(calc(100% - 32px), var(--container));
  margin-inline: auto;
}
body .amali-catalogue-page{
  padding-top: calc(var(--amali-nav-bottom-desktop) + 36px);
}
body.admin-bar .amali-catalogue-page{
  padding-top: calc(var(--amali-nav-bottom-desktop) + var(--amali-admin-offset-desktop) + 36px);
}
.amali-catalogue-breadcrumb{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 24px;
  color: #6d655e;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.6;
}
.amali-catalogue-breadcrumb a{
  color: #181512;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.amali-catalogue-breadcrumb__separator{
  margin-inline: 8px;
  color: #a69c94;
}
@media (max-width: 980px){
  body .amali-catalogue-page{
    padding-top: calc(var(--amali-nav-bottom-mobile) + 16px);
  }
  body.admin-bar .amali-catalogue-page{
    padding-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-mobile) + 16px);
  }
}
@media (min-width: 783px) and (max-width: 980px){
  body.admin-bar .amali-catalogue-page{
    padding-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-tablet) + 16px);
  }
}
:is(.amali-catalogue-archive, .bedding-archive){
  padding: 140px 0 100px;
}
:is(.amali-catalogue-archive__head, .bedding-archive__head){
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}
:is(.amali-catalogue-archive__title, .bedding-archive__title){
  margin: 0;
  font-size: 36px;
  letter-spacing: -0.02em;
}
:is(.amali-catalogue-archive__intro, .bedding-archive__intro){
  max-width: 520px;
  color: #666;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product{
  background: var(--amali-card-surface);
  border: 1px solid var(--amali-card-border);
  border-radius: var(--amali-card-radius);
  padding: 0;
  box-shadow: var(--amali-card-shadow);
  backdrop-filter: blur(var(--amali-card-blur));
  -webkit-backdrop-filter: blur(var(--amali-card-blur));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .woocommerce-LoopProduct-link{
  display: block;
  color: inherit;
  position: relative;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product a img{
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #f2f2f2;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .woocommerce-LoopProduct-link::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 15%;
  background: rgba(255,255,255,.3);
  backdrop-filter: blur(3px);
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .woocommerce-loop-product__title{
  font-size: 20px;
  margin: 0;
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  z-index: 2;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .price{
  font-size: 18px;
  color: #1c1c1c;
  margin: 0;
  position: absolute;
  left: 20px;
  bottom: 20px;
  z-index: 2;
  display: none !important;
}
:is(.amali-catalogue-archive--fabric, .bedding-archive--fabric) ul.products li.product .price{
  display: none;
}
:is(.amali-catalogue-archive--fabric, .bedding-archive--fabric) ul.products li.product .button{
  display: none;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .woo-variation-swatches,
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .variations{
  position: absolute;
  left: 20px;
  bottom: 78px;
  z-index: 2;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .woo-variation-swatches .variable-items-wrapper{
  display: flex;
  gap: 8px;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .star-rating{
  position: absolute;
  left: 20px;
  bottom: 52px;
  z-index: 2;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product .button{
  margin: 0 20px 22px;
  align-self: flex-start;
  border-radius: 12px;
  padding: 12px 20px;
  background: #f4c045;
  color: #111;
  border: 0;
  font-weight: 600;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products li.product.product_type_variable .button{
  display: none !important;
}
:is(.amali-catalogue-archive, .bedding-archive) ul.products a.add_to_cart_button{
  display: none !important;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination){
  margin-top: 32px;
}
:is(.amali-catalogue-archive, .bedding-archive).is-enhanced :is(.amali-catalogue-archive__pagination, .bedding-archive__pagination){
  display: none;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) ul{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  justify-content: center;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) a,
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 9px 14px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.12);
  color: #111;
  line-height: 1.3;
  text-align: center;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) a:focus-visible{
  outline: 3px solid rgba(122,15,33,.38);
  outline-offset: 3px;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) a[aria-disabled="true"]{
  cursor: progress;
  opacity: .65;
}
:is(.amali-catalogue-archive__pagination, .bedding-archive__pagination) .current{
  background: #111;
  color: #fff;
  border-color: #111;
}
:is(.amali-catalogue-archive__empty, .bedding-archive__empty){
  color: #666;
}
:is(.amali-catalogue-archive__sentinel, .bedding-archive__sentinel){
  width: 100%;
  height: 1px;
}
:is(.amali-catalogue-archive__loading-status, .bedding-archive__loading-status),
:is(.amali-catalogue-archive__error, .bedding-archive__error){
  min-height: 24px;
  margin: 12px auto 0;
  color: #555;
  text-align: center;
}
:is(.amali-catalogue-archive__loading-status, .bedding-archive__loading-status):empty,
:is(.amali-catalogue-archive__error, .bedding-archive__error)[hidden]{
  display: none;
}
:is(.amali-catalogue-archive__error, .bedding-archive__error){
  color: #8a1024;
}
:is(.amali-catalogue-archive__error, .bedding-archive__error) a{
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
:is(.amali-catalogue-archive__error, .bedding-archive__error) a:focus-visible{
  outline: 3px solid rgba(122,15,33,.38);
  outline-offset: 3px;
}
.single-product .site-main{
  padding-top: 120px;
}
.content{
  padding-top: 140px;
}
.page-title{
  margin-top: 0;
}
@media (max-width: 980px){
  :is(.amali-catalogue-archive__head, .bedding-archive__head){
    flex-direction: column;
    align-items: flex-start;
  }
  :is(.amali-catalogue-archive, .bedding-archive) ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  :is(.amali-catalogue-archive, .bedding-archive){
    padding: 60px 0 80px;
  }
  .content{
    padding-top: 110px;
  }
  :is(.amali-catalogue-archive, .bedding-archive) ul.products{
    grid-template-columns: 1fr;
  }
}
.hero h1{
  font-size: 52px;
  line-height: 1.08;
  margin: 0 0 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.hero p{
  margin: 0 0 28px;
  color: rgba(255,255,255,.85);
}
.hero-actions{
  display:flex;
  gap:12px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid transparent;
  transition: all .2s ease;
}
.btn-arrow{
  gap: 12px;
}
.btn-icon{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  background: #111;
  color: #fff;
  font-size: 16px;
  line-height: 1;
}
.btn-primary .btn-icon{
  background: #111;
}
.btn-secondary .btn-icon{
  background: #111;
}
.btn-primary{
  background: var(--brand);
  color: #fff;
  box-shadow: 0 10px 20px rgba(122,15,33,.25);
}
.btn-primary:hover{ filter: brightness(1.05); }
.btn-secondary{
  background: #fff;
  color: #111;
  border-color: rgba(0,0,0,.12);
}
.btn-secondary:hover{ background: #f7f7f7; }

/* =========================
   HERO CARDS
   ========================= */
.hero-cards{
  position: relative;
  z-index: 2;
  margin-top: -80px;
  padding-bottom: 20px;
}
.cards-shell{
  background: #fff;
  border-radius: 20px;
  border: 1px solid var(--line);
  box-shadow: 0 20px 40px rgba(0,0,0,.12);
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hero-card{
  padding: 22px 22px 24px;
  display:flex;
  flex-direction: column;
  gap: 14px;
}
.hero-card + .hero-card{
  border-left: 1px solid var(--line);
}
.card-top{
  display:flex;
  align-items:center;
  gap: 14px;
}
.card-icon{
  width: 64px;
  height: 64px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  border: 0;
  background: transparent;
  color: inherit;
  flex: 0 0 64px;
}
.card-icon svg{
  width: 64px;
  height: 64px;
  display:block;
}
.hero-card h3{
  margin: 0 0 2px;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.card-subtitle{
  margin: 0;
  font-size: 12px;
  color: #8a8a8a;
}
.hero-card p{
  margin: 0;
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}
.card-link{
  align-self:flex-start;
  padding: 8px 14px;
  border-radius: 10px;
  background: var(--brand);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.card-link--arrow{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 8px 12px;
}
.card-link--arrow .btn-icon{
  width: 26px;
  height: 26px;
  border-radius: 8px;
  font-size: 14px;
}
.card-link:hover{ filter: brightness(1.05); }

/* =========================
   SUPPLIERS + COLLECTIONS
   ========================= */
.suppliers{
  padding: 10px 0 40px;
  text-align: center;
}
.suppliers h2{
  margin: 0 0 18px;
  font-size: 22px;
  letter-spacing: 0.02em;
}
.suppliers-marquee{
  overflow: hidden;
  position: relative;
}
.suppliers-track{
  display:flex;
  gap: 40px;
  width: max-content;
  animation: marquee 28s linear infinite;
}
.supplier-item{
  font-size: 16px;
  color: #8a8a8a;
  white-space: nowrap;
}

.collections{
  padding: 30px 0 60px;
}
.collections-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 24px;
}
.collections-title h2{
  margin: 6px 0 0;
  font-size: 36px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  color: var(--brand);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.amp{
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 700;
  font-size: 1.35em;
  line-height: 0.9;
  text-transform: none;
}
.collections-head p{
  max-width: 420px;
  margin: 22px 0 0;
  color: #7a7a7a;
}

.collections-slider{
  padding: 12px 0 20px;
  position: relative;
}
.collections-track{
  display:flex;
  gap: 22px;
  width: auto;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0 16px 20px;
}
.collections-track::-webkit-scrollbar{
  display:none;
}
.collections-empty,
.favorites-empty{
  width: min(100%, var(--container));
  margin: 0 auto;
  padding: 22px 16px;
  color: #777;
  text-align:center;
}
.collections-arrows{
  display:flex;
  justify-content:center;
  gap: 10px;
  margin-top: 18px;
}
.collections-arrow{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #666;
  font-size: 16px;
  display:grid;
  place-items:center;
  cursor: pointer;
}
.collections-arrow:hover{ color: #111; }
.collections-arrow:disabled{
  cursor: default;
  opacity: .35;
}
.product-card{
  width: 460px;
  flex: 0 0 auto;
  background: var(--amali-card-surface);
  border-radius: var(--amali-card-radius-compact);
  border: 1px solid var(--amali-card-border);
  box-shadow: var(--amali-card-shadow);
  backdrop-filter: blur(var(--amali-card-blur));
  -webkit-backdrop-filter: blur(var(--amali-card-blur));
  overflow: hidden;
  display:flex;
  flex-direction: column;
  position: relative;
  scroll-snap-align: start;
}
.product-card__link{
  display: block;
  color: inherit;
}
.product-card__link:focus-visible{
  outline: 3px solid rgba(122,15,33,.38);
  outline-offset: -3px;
}
.product-media{
  position: relative;
  display:block;
  aspect-ratio: 1 / 1;
  background: #f2f2f2;
}
.product-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.media-placeholder{
  width: 100%;
  height: 100%;
  display:grid;
  place-items:center;
  font-size: 14px;
  color: #999;
  padding: 16px;
  text-align:center;
}
.product-body{
  padding: 16px 18px 22px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255,255,255,.3);
  backdrop-filter: blur(3px);
  display:flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}
.product-body h3{
  margin: 0;
  font-size: 18px;
}
.product-body p{
  margin: 0;
  color: #777;
  font-size: 13px;
  line-height: 1.5;
}
.product-arrow{
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  display:grid;
  place-items:center;
  font-size: 16px;
  transform: rotate(-30deg);
}

/* =========================
   CUSTOMER FAVORITES
   ========================= */
.favorites{
  padding: 26px 0 16px;
}
.favorites-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 24px;
}
.favorites-head h2{
  margin: 6px 0 0;
  font-size: 36px;
}
.favorites-head p{
  max-width: 420px;
  margin: 22px 0 0;
  color: #7a7a7a;
}
.favorites-slider{
  padding: 8px 0 12px;
  position: relative;
}
.favorites-track{
  display:flex;
  gap: 22px;
  width: auto;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0 16px 20px;
}
.favorites-track::-webkit-scrollbar{
  display:none;
}
@media (min-width:981px){
  .favorites-track--sparse{
    justify-content:center;
  }
}
.favorite-card{
  width: 460px;
  flex: 0 0 auto;
  background: var(--amali-card-surface);
  border-radius: var(--amali-card-radius-compact);
  border: 1px solid var(--amali-card-border);
  box-shadow: var(--amali-card-shadow);
  backdrop-filter: blur(var(--amali-card-blur));
  -webkit-backdrop-filter: blur(var(--amali-card-blur));
  overflow: hidden;
  display:flex;
  flex-direction: column;
  scroll-snap-align: start;
}
.favorite-media{
  position: relative;
  display:block;
  aspect-ratio: 4 / 3;
  background: #f2f2f2;
}
.favorite-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.favorite-body{
  padding: 18px 18px 20px;
  background: linear-gradient(rgba(250,246,241,.78), rgba(250,246,241,.78)), var(--amali-card-surface);
  box-shadow: inset 0 1px 0 rgba(70,48,37,.06);
  backdrop-filter: blur(var(--amali-card-blur));
  -webkit-backdrop-filter: blur(var(--amali-card-blur));
  display:flex;
  flex-direction: column;
  gap: 10px;
}
.favorite-rating{
  font-size: 12px;
  color: #444;
}
.favorite-rating span{
  color: #8a8a8a;
}
.favorite-body h3{
  margin: 0;
  font-size: 16px;
}
.favorite-body p{
  margin: 0;
  color: #777;
  font-size: 13px;
  line-height: 1.5;
}
.favorite-meta{
  display:flex;
  flex-wrap:wrap;
  gap: 5px 12px;
  color: #777;
  font-size: 12px;
}


.favorite-views{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:7px;
  margin-top:1px;
  color:#8b765f;
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
}

.favorite-views__icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:#b28b52;
}
.favorite-footer{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
}
.favorite-price{
  font-weight: 700;
  font-size: 14px;
  color: #111;
}
.favorite-cart{
  background: #e0b24a;
  color: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
}
.favorite-cart:hover{
  filter: brightness(1.05);
}

/* =========================
   PROCESS STORY
   ========================= */
.process-story{
  padding:clamp(110px, 8vw, 128px) 0 clamp(82px, 6vw, 96px);
}
.process-head{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .65fr);
  align-items:end;
  gap:clamp(48px, 8vw, 112px);
  margin-bottom:clamp(42px, 4vw, 58px);
}
.process-head h2{
  max-width:760px;
  margin:12px 0 0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size:clamp(48px, 5vw, 64px);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.05;
}
.process-head p{
  max-width:460px;
  margin:0 0 4px;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
}
.process-steps{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(30px, 4vw, 56px);
  margin:0;
  padding:0;
  list-style:none;
}
.process-step{
  min-width:0;
  padding:24px 0 0;
  border-top:1px solid rgba(17,17,17,.16);
}
.step-index{
  display:block;
  margin-bottom:clamp(34px, 4vw, 52px);
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1;
}
.process-step h3{
  margin:0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size:clamp(22px, 2vw, 28px);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.2;
}
.process-step p{
  max-width:34ch;
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
}

/* =========================
   WHOLESALE SECTION
   ========================= */
.wholesale{
  background: #171717;
  color: #fff;
  padding: 70px 0 76px;
}
.wholesale-grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
  align-items:center;
}
.wholesale .eyebrow{
  color: #b54b5a;
}
.wholesale h2{
  margin: 10px 0 18px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.15;
}
.wholesale-intro{
  max-width: 420px;
  color: #bdbdbd;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  text-align: left;
}
.wholesale-list{
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display:grid;
  gap: 18px;
}
.wholesale-list li{
  position: relative;
  padding-left: 46px;
  color: #e6e6e6;
}
.wholesale-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(122,15,33,.7);
  background: rgba(0,0,0,.25);
}
.wholesale-list li::after{
  content: "";
  position: absolute;
  left: 8px;
  top: 7px;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1.6px solid #fff;
  box-sizing: border-box;
  opacity: .9;
}
.wholesale-cta{
  background: var(--brand);
  color: #fff;
  padding: 12px 18px;
}
.wholesale-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.wholesale-cta--secondary{
  border-color: rgba(255,255,255,.3);
  background: transparent;
}
.wholesale-cta:hover,
.wholesale-cta:focus-visible{
  background: #9b1c32;
  color: #fff;
}
.wholesale-cta:focus-visible{
  outline: 3px solid rgba(255,255,255,.8);
  outline-offset: 3px;
}
.wholesale-media{
  display:flex;
  flex-direction: column;
  gap: 22px;
  align-items:flex-end;
}
.wholesale-image{
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 520px;
  aspect-ratio: 4 / 3;
  border-radius: 20px;
  background-color: #171717;
  box-shadow: 0 20px 40px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);
}
.wholesale-image::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  pointer-events: none;
}
.wholesale-image__media{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* =========================
   MARKETPLACES
   ========================= */
.marketplaces{
  padding: 56px 0 62px;
}
.marketplaces-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}
.marketplaces-head h2{
  margin: 6px 0 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.15;
}
.marketplaces-head p{
  max-width: 420px;
  margin: 22px 0 0;
  color: #7a7a7a;
}
.marketplace-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 20px;
}
.marketplace-card{
  padding: 0;
  border: 1px solid var(--amali-card-border);
  border-radius: var(--amali-card-radius);
  background: var(--amali-card-surface);
  box-shadow: var(--amali-card-shadow);
  backdrop-filter: blur(var(--amali-card-blur));
  -webkit-backdrop-filter: blur(var(--amali-card-blur));
  display:flex;
  flex-direction: column;
  align-items:stretch;
  justify-content:flex-start;
  gap: 0;
  overflow: hidden;
  text-align:center;
  transition: var(--amali-card-transition);
}
.marketplace-card__media{
  width: 100%;
  overflow: hidden;
  border-radius: 19px 19px 0 0;
  background: #eee8e2;
}
.marketplace-card__image{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  transition: transform 220ms ease;
}
.marketplace-card__image-placeholder{
  display: grid;
  width: 100%;
  aspect-ratio: 1856 / 2304;
  height: auto;
  place-items: center;
  padding: 24px;
  background: linear-gradient(145deg, #ece4dc, #f8f5f1 52%, #ddd0c4);
}
.marketplace-card__image-placeholder span{
  color: #746b64;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.marketplace-card__body{
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 22px;
}
.marketplace-card__body strong{
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 25px;
  line-height: 1.15;
}
.marketplace-card__destination{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.marketplace-card__body > span{
  color: #777;
  font-size: 13px;
  line-height: 1.35;
}
a.marketplace-card:hover{
  border-color: var(--amali-card-border-hover);
  box-shadow: var(--amali-card-shadow-hover);
  transform: translateY(-3px);
}
a.marketplace-card:hover .marketplace-card__image{
  transform: scale(1.01);
}
a.marketplace-card:focus-visible{
  outline: 3px solid rgba(122,15,33,.38);
  outline-offset: 3px;
}
.marketplaces-body{
  padding: 40px 0;
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  align-items:center;
  gap: 30px;
  min-height: 60vh;
}
.marketplaces--links-only .marketplaces-body{
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding: 30px 0;
}
.marketplaces-logos{
  position: relative;
  min-height: 240px;
}
.marketplaces--links-only .marketplaces-logos{
  display:flex;
  flex-direction: column;
  justify-content:center;
}
.marketplaces-watermark{
  position: absolute;
  top: 10px;
  left: 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 160px;
  color: rgba(0,0,0,.03);
  letter-spacing: 0.08em;
  pointer-events: none;
}
.marketplaces-logos p{
  margin: 0 0 20px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 18px;
}
.logo-row{
  display:flex;
  gap: 14px;
  align-items:center;
  margin-top: 10px;
}
.logo-chip{
  background: #111;
  color: #fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding: 12px 26px;
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: lowercase;
  text-decoration:none;
}
.logo-chip:hover,
.logo-chip:focus-visible{
  background: var(--brand);
  color: #fff;
}
.logo-chip:focus-visible{
  outline: 3px solid rgba(139, 16, 32, .28);
  outline-offset: 3px;
}
.logo-chip--placeholder{
  flex-direction: column;
  gap: 3px;
  background: #f3f0ed;
  color: #555;
  cursor: default;
  text-transform:none;
}
.logo-chip--placeholder span{
  color: #777;
  font-size: 11px;
  font-weight: 500;
}
.logo-chip--placeholder:hover{
  background: #f3f0ed;
  color: #555;
}
.marketplaces-devices{
  position: relative;
  min-height: 280px;
  display:flex;
  justify-content:flex-end;
}
.device-laptop{
  width: 100%;
  max-width: 520px;
  aspect-ratio: 16 / 10;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0,0,0,.12), rgba(0,0,0,.02)),
    url("https://images.unsplash.com/photo-1517336714731-489689fd1ca8?auto=format&fit=crop&w=1200&q=80") center/cover;
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
  border: 1px solid rgba(0,0,0,.08);
}
.device-phone{
  position: absolute;
  right: -10px;
  bottom: -10px;
  width: 170px;
  aspect-ratio: 9 / 16;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(0,0,0,.12), rgba(0,0,0,.02)),
    url("https://images.unsplash.com/photo-1511707171634-5f897ff02aa9?auto=format&fit=crop&w=700&q=80") center/cover;
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
  border: 1px solid rgba(0,0,0,.12);
}

/* =========================
   FABRIC JOURNAL
   ========================= */
.amali-journal{
  padding:clamp(72px, 8vw, 112px) 0 48px;
  background:transparent;
}
.amali-journal__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:48px;
  margin-bottom:36px;
}
.amali-journal__eyebrow{
  margin:0 0 10px;
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.4;
  text-transform:uppercase;
}
.amali-journal__header h2{
  margin:0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size:clamp(38px, 5vw, 58px);
  font-weight:600;
  letter-spacing:-.025em;
  line-height:1.05;
}
.amali-journal__introduction{
  max-width:440px;
  color:#716963;
  font-size:15px;
  line-height:1.7;
}
.amali-journal__introduction p{ margin:0; }
.amali-journal__introduction > a{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  gap:10px;
  margin-top:12px;
  color:var(--brand);
  font-weight:700;
}
.amali-journal__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(320px, .85fr);
  gap:24px;
}
.amali-journal__grid--count-1{
  max-width:860px;
  grid-template-columns:minmax(0, 1fr);
}
.amali-journal-feature,
.amali-journal-card{
  overflow:hidden;
  border:1px solid var(--amali-card-border);
  border-radius:var(--amali-card-radius-compact);
  background:var(--amali-card-surface);
  box-shadow:var(--amali-card-shadow);
}
.amali-journal-feature{
  position:relative;
  min-width:0;
}
.amali-journal-feature__media{
  display:block;
  min-height:100%;
  aspect-ratio:4 / 3;
  background:#e8ddd2;
}
.amali-journal-feature__media::after{
  content:"";
  position:absolute;
  inset:28% 0 0;
  background:linear-gradient(180deg, transparent, rgba(24,16,13,.86));
  pointer-events:none;
}
.amali-journal-feature__media img,
.amali-journal-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.amali-journal__image-fallback{
  display:grid;
  width:100%;
  height:100%;
  min-height:240px;
  place-items:center;
  background:
    linear-gradient(135deg, rgba(122,15,33,.12), transparent 58%),
    linear-gradient(145deg, #d8c6b5, #f3ebe3 52%, #bda48e);
}
.amali-journal__image-fallback span{
  color:rgba(75,48,36,.46);
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(28px, 5vw, 54px);
  letter-spacing:.18em;
}
.amali-journal-feature__content{
  position:absolute;
  z-index:1;
  right:0;
  bottom:0;
  left:0;
  padding:clamp(24px, 4vw, 42px);
  color:#fff;
}
.amali-journal__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 14px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.09em;
  line-height:1.4;
  text-transform:uppercase;
}
.amali-journal__meta time{ opacity:.76; }
.amali-journal-feature h3,
.amali-journal-card h3{
  margin:12px 0 0;
  font-family:'Playfair Display', Georgia, serif;
  font-weight:600;
  overflow-wrap:anywhere;
}
.amali-journal-feature h3{
  max-width:680px;
  font-size:clamp(28px, 4vw, 46px);
  line-height:1.08;
}
.amali-journal-feature__content > p{
  max-width:620px;
  margin:14px 0 0;
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.65;
}
.amali-journal__read-link{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  gap:10px;
  margin-top:14px;
  color:inherit;
  font-size:13px;
  font-weight:700;
}
.amali-journal__grid--count-2 .amali-journal__list{ grid-template-rows:minmax(0, 1fr); }
.amali-journal__list{
  display:grid;
  min-width:0;
  grid-template-rows:repeat(2, minmax(0, 1fr));
  gap:24px;
}
.amali-journal-card{
  display:grid;
  min-width:0;
  grid-template-columns:minmax(120px, .8fr) minmax(0, 1.2fr);
}
.amali-journal-card__media{
  display:block;
  min-height:180px;
  background:#e8ddd2;
}
.amali-journal-card__content{
  display:flex;
  min-width:0;
  flex-direction: column;
  justify-content:center;
  padding:22px;
}
.amali-journal-card .amali-journal__meta{ color:#82736b; }
.amali-journal-card h3{
  color:#28211e;
  font-size:clamp(19px, 2vw, 25px);
  line-height:1.18;
}
.amali-journal-card .amali-journal__read-link{ color:var(--brand); }
.amali-journal a:focus-visible{
  outline:3px solid rgba(122,15,33,.45);
  outline-offset:3px;
}
@media (max-width:900px){
  .amali-journal__header{ align-items:flex-start; }
  .amali-journal__grid{ grid-template-columns: 1fr; }
  .amali-journal__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-template-rows:auto;
  }
  .amali-journal-card{ grid-template-columns: 1fr; }
  .amali-journal-card__media{ aspect-ratio:16 / 10; }
}
@media (max-width:680px){
  .amali-journal__header{ flex-direction: column; gap:18px; }
  .amali-journal__grid,
  .amali-journal__list{ grid-template-columns: 1fr; }
  .amali-journal-feature__media{ aspect-ratio:4 / 5; }
  .amali-journal-feature__content > p{ display:none; }
  .amali-journal-card{ grid-template-columns:minmax(112px, .75fr) minmax(0, 1.25fr); }
  .amali-journal-card__media{ min-height:170px; aspect-ratio:auto; }
  .amali-journal-card__content{ padding:18px; }
}
@media (max-width:420px){
  .amali-journal-card{ grid-template-columns: 1fr; }
  .amali-journal-card__media{ aspect-ratio:16 / 10; }
}
@media (prefers-reduced-motion:reduce){
  .amali-journal *{ scroll-behavior:auto; transition:none; }
}
/* =========================
   GOOGLE REVIEWS
   ========================= */
.reviews{
  padding: 70px 0 90px;
}
.reviews-head{
  display:flex;
  align-items:flex-start;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}
.reviews-head h2{
  margin: 6px 0 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 1.15;
}
.reviews-head p{
  max-width: 420px;
  margin: 22px 0 0;
  color: #7a7a7a;
}
.reviews-slider{
  overflow: hidden;
  position: relative;
}
.reviews-track{
  display:flex;
  gap: 18px;
  width: max-content;
  animation: marquee-collections 36s linear infinite;
}
.reviews-slider:hover .reviews-track{
  animation-play-state: paused;
}
.review-card{
  width: 240px;
  flex: 0 0 auto;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
}
.reviews-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.review-card--large{
  width: 100%;
}
.review-media{
  position: relative;
  aspect-ratio: 3 / 4;
  background: #f2f2f2;
}
.review-meta{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 100%);
  color: #fff;
  font-size: 12px;
}
.review-person{
  display:flex;
  align-items:center;
  gap: 8px;
}
.review-avatar{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.2);
}
.review-person strong{
  display:block;
  font-size: 12px;
}
.review-person span{
  display:block;
  font-size: 11px;
  color: rgba(255,255,255,.75);
}
.review-rating{
  display:flex;
  align-items:center;
  gap: 4px;
  font-weight: 600;
}

/* =========================
   ASSURANCE
   ========================= */
.assurance{
  padding:32px 0 68px;
}
.assurance-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
  margin-bottom:42px;
}
.assurance .eyebrow{
  color:var(--brand);
}
.assurance-head h2{
  margin:6px 0 0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size:56px;
  font-weight:600;
  line-height:1.15;
}
.assurance-head p{
  max-width:470px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.assurance-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin:0;
  padding:0;
  list-style:none;
}
.assurance-service{
  min-width:0;
  padding:0 clamp(22px, 2.4vw, 34px);
  border-left:1px solid var(--line);
}
.assurance-service:first-child{
  padding-left:0;
  border-left:0;
}
.assurance-service:last-child{
  padding-right:0;
}
.assurance-service > a{
  display:block;
  min-height:100%;
  padding:6px 0 10px;
}
.assurance-service__number{
  display:block;
  margin-bottom:24px;
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  line-height:1;
}
.assurance-service h3{
  margin:0;
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size:clamp(20px, 1.7vw, 24px);
  font-weight:600;
  line-height:1.25;
  transition:color 180ms ease;
}
.assurance-service p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.assurance-service > a:hover h3{
  color:var(--brand);
}
.assurance-service > a:focus-visible{
  outline:3px solid rgba(122,15,33,.38);
  outline-offset:6px;
}
@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@keyframes marquee-collections{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

@media (max-width:1200px){
  .hero h1{ font-size: 44px; }
  .collections-title h2{ font-size: 32px; }
  .favorites-head h2{ font-size: 32px; }
  .wholesale h2{ font-size: 34px; }
  .product-card{ width: 400px; }
  .favorite-card{ width: 400px; }
  .wholesale-grid{ gap: 36px; }
  .marketplaces-head h2{ font-size: 32px; }
  .marketplaces-body{
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .marketplaces-devices{
    justify-content:flex-start;
  }
  .device-phone{
    right: 0;
  }
  .reviews-head h2{ font-size: 32px; }
  .reviews-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .assurance-head h2{ font-size:32px; }
  .assurance-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .assurance-service{
    padding:30px;
  }
  .assurance-service:nth-child(odd){
    padding-left:0;
    border-left:0;
  }
  .assurance-service:nth-child(even){
    padding-right:0;
    border-left:1px solid var(--line);
  }
  .assurance-service:nth-child(n+3){
    border-top:1px solid var(--line);
  }
}

@media (prefers-reduced-motion: reduce){
  .suppliers-track,
  .collections-track,
  .favorites-track{
    animation: none;
  }
  .collections-track,
  .favorites-track{
    scroll-behavior: auto;
  }
  .product-card,
  .favorite-card,
  :is(.amali-catalogue-archive, .bedding-archive) ul.products li.product,
  .amali-bedding-category-card,
  #available-bedding ul.products li.product,
  .amali-bedding-archive ul.products li.product,
  .amali-curtain-category-card,
  .amali-curtains-products ul.products li.product,
  .amali-curtain-archive ul.products li.product,
  .marketplace-card,
  .marketplace-card__image,
  .assurance-service h3,
  .wholesale-cta{
    transition: none;
  }
  .product-card:hover,
  .product-card:focus-within,
  .favorite-card:hover,
  .favorite-card:focus-within,
  :is(.amali-catalogue-archive, .bedding-archive) ul.products li.product:hover,
  :is(.amali-catalogue-archive, .bedding-archive) ul.products li.product:focus-within,
  .amali-bedding-category-card:hover,
  .amali-bedding-category-card:focus-within,
  #available-bedding ul.products li.product:hover,
  #available-bedding ul.products li.product:focus-within,
  .amali-bedding-archive ul.products li.product:hover,
  .amali-bedding-archive ul.products li.product:focus-within,
  .amali-curtain-category-card:hover,
  .amali-curtain-category-card:focus-within,
  .amali-curtains-products ul.products li.product:hover,
  .amali-curtains-products ul.products li.product:focus-within,
  .amali-curtain-archive ul.products li.product:hover,
  .amali-curtain-archive ul.products li.product:focus-within,
  a.marketplace-card:hover,
  a.marketplace-card:hover .marketplace-card__image{
    transform: none;
  }
}

/* =========================
   NAVBAR (DESKTOP)
   ========================= */
.site-header{
  position: fixed;
  top: var(--nav-top);
  left: 0;
  right: 0;
  z-index: 9999;
  background: transparent;
  padding: 0;
}

body.admin-bar .site-header{
  top: calc(var(--nav-top) + var(--amali-admin-offset-desktop));
}

/* Capsule */
.nav-shell{
  display:flex;
  align-items:center;
  gap:14px;

  height: var(--nav-h);
  padding: 0 16px;

  border-radius: var(--nav-radius);
  background: linear-gradient(135deg, rgba(255,255,255,.75), rgba(255,255,255,.35));
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 20px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
}

/* Brand / Logo */
.brand{
  height: 100%;
  display:flex;
  align-items:center;
  flex: 0 0 auto;
}
.brand .custom-logo-link{
  display:flex;
  align-items:center;
}
.brand img.custom-logo{
  height: 48px;         /* desktop logo size */
  width: auto;
  max-height: 100%;
  display:block;
}

/* Center menu */
.site-nav{
  flex:1;
  display:flex;
  justify-content:center;
}

/* Menu list */
.nav-list{
  list-style:none;
  display:flex;
  gap:18px;
  margin:0;
  padding:0;
}
.nav-list li{
  position: relative;
}

/* Figma-style menu */
.nav-list a{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #111;
  letter-spacing: 0;
  line-height: 1.2;

  padding: 8px 14px;
  border-radius: 10px;
  transition: all .25s ease;
}
.nav-list .menu-item-has-children > a{
  position: relative;
  padding-right: 26px;
}
.nav-list a:hover{
  background: rgba(0,0,0,.04);
  color: var(--brand);
}

.nav-subtoggle{ display:none; }
.nav-list .menu-item-has-children > a::after{
  content: "";
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #777;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.nav-list .sub-menu .menu-item-has-children > a::after{
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #777;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.nav-list .sub-menu{
  list-style: none;
  margin: 0;
  padding: 12px 12px 14px;
  position: absolute;
  top: calc(100% - 6px);
  left: 0;
  min-width: 240px;
  background: linear-gradient(135deg, rgba(255,255,255,.75), rgba(255,255,255,.35));
  border-radius: 0 0 16px 16px;
  border: 1px solid rgba(255,255,255,.55);
  border-top: 0;
  box-shadow: 0 20px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  display: none;
  z-index: 9999;
}
@media (min-width:981px){
  .nav-list > li > .sub-menu{
    top: calc(100% + ((var(--nav-h) - 35px) / 2));
  }
  .nav-list > li > .sub-menu::before{
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: calc((var(--nav-h) - 35px) / 2);
  }

  /* Keep nested panels connected to their owning item during pointer travel. */
  .nav-list .sub-menu > .menu-item-has-children::before,
  .nav-list .sub-menu > .menu-item-has-children::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 14px;
    pointer-events: auto;
  }
  .nav-list .sub-menu > .menu-item-has-children::before{
    right: 100%;
  }
  .nav-list .sub-menu > .menu-item-has-children::after{
    left: 100%;
  }
}
@media (min-width:981px){
  .nav-list li:hover > .sub-menu,
  .nav-list li:focus-within > .sub-menu{
    display: block;
  }

  .nav-list > li.is-desktop-menu-closed > .sub-menu{
    display: none;
  }
}
.nav-list .sub-menu a{
  display:flex;
  align-items:center;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 14px;
  color: #444;
  border-radius: 10px;
  gap: 12px;
}
.nav-list .sub-menu a:hover{
  background: rgba(0,0,0,.05);
  color: var(--brand);
}
.nav-list .sub-menu .sub-menu{
  top: 0;
  left: calc(100% + 12px);
  margin-left: 0;
  border-radius: 16px;
  border-left: 1px solid rgba(255,255,255,.55);
}
.nav-list > li > .sub-menu.align-right{
  right: 0;
  left: auto;
}
.nav-list .sub-menu .sub-menu.opens-left{
  right: calc(100% + 12px);
  left: auto;
}
.nav-list .current-menu-item > a,
.nav-list .current_page_item > a{
  background: rgba(122,15,33,.10);
  color: var(--brand);
  font-weight: 700;
}

/* Right icons (desktop) */
.nav-actions{
  display:flex;
  gap:10px;
  flex: 0 0 auto;
}
.nav-ico{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.55);
  font-size:14px;
  transition: all .2s ease;
}
.nav-ico svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.nav-ico:hover{
  background:#fff;
  border-color: rgba(0,0,0,.15);
}

/* ✅ Mobile actions inside dropdown are hidden by default */
.nav-actions--mobile{ display:none; }

/* =========================
   MOBILE HAMBURGER (BASE)
   - hidden on desktop
   ========================= */
.nav-burger{
  display:none;               /* show only on mobile */
  flex-direction: column;
  justify-content: space-between;
  align-items: center;

  width: 44px;
  height: 44px;
  padding: 11px 5px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;

  margin-left: auto;
}
.nav-burger span{
  display:block;
  height: 3px;
  width: 34px;
  background-color: #111;
  border-radius: 10px;
  transition: .25s ease;
}
.nav-burger:focus-visible{
  outline: 3px solid rgba(122,15,33,.38);
  outline-offset: 3px;
}

/* =========================
   NAVBAR (MOBILE)
   - big capsule, logo left, burger right
   - dropdown menu panel
   - ✅ icons moved into dropdown under menu items
   ========================= */
@media (max-width:980px){
  .home .site-main > section{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + 16px);
  }
  body.admin-bar.home .site-main > section{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-mobile) + 16px);
  }
  .hero{
    min-height: 60vh;
  }
  .hero-content{
    padding: 110px 16px 80px;
    margin-left: 0;
  }
  .hero h1{ font-size: 38px; }
  .hero-actions{ flex-wrap: wrap; }
  .hero-cards{ margin-top: -50px; }
  .cards-shell{
    grid-template-columns: 1fr;
  }
  .hero-card + .hero-card{
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .suppliers{ padding: 0 0 30px; }
  .suppliers h2{ font-size: 18px; }
  .collections-head{
    flex-direction: column;
    align-items:flex-start;
  }
  .collections-title h2{ font-size: 28px; }
  .collections-head p{ margin-top: 8px; }
  .collections-slider{
    padding-bottom: 12px;
  }
  .collections-track{
    padding: 0 16px;
  }
  .product-card{
    width: calc(100vw - 64px);
    scroll-snap-align: center;
  }
  .collections-arrows{
    margin-top: 12px;
  }
  .favorites-head{
    flex-direction: column;
    align-items:flex-start;
  }
  .favorites-head h2{ font-size: 28px; }
  .favorites-head p{ margin-top: 8px; }
  .favorites-slider{
    padding-bottom: 12px;
  }
  .favorites-track{
    padding: 0 16px;
  }
  .favorite-card{
    width: calc(100vw - 64px);
    scroll-snap-align: center;
  }
  .process-story{
    padding:clamp(56px, 8vw, 72px) 0 clamp(52px, 7vw, 64px);
  }
  .process-head{
    grid-template-columns: 1fr;
    align-items:start;
    gap:24px;
    margin-bottom:40px;
  }
  .process-head h2{
    max-width:720px;
    font-size:clamp(38px, 7vw, 48px);
  }
  .process-head p{
    max-width:65ch;
    margin:0;
  }
  .process-steps{
    grid-template-columns: 1fr;
    gap:0;
  }
  .process-step{
    display:grid;
    grid-template-columns:64px minmax(0, 1fr);
    column-gap:24px;
    padding:28px 0;
  }
  .step-index{
    grid-row:1 / span 2;
    margin:5px 0 0;
  }
  .process-step p{
    max-width:60ch;
    margin-top:10px;
  }
  .wholesale{
    padding: 54px 0 60px;
    min-height: auto;
  }
  .wholesale-grid{
    grid-template-columns: 1fr;
  }
  .wholesale h2{
    font-size: 30px;
  }
  .wholesale-media{
    align-items:flex-start;
  }
  .wholesale-image{
    max-width: 100%;
  }
  .marketplaces{
    padding: 48px 0 54px;
  }
  .marketplaces-head{
    flex-direction: column;
    align-items:flex-start;
  }
  .marketplaces-head h2{ font-size: 30px; }
  .marketplaces-head p{ margin-top: 8px; }
  .marketplaces-body{
    padding: 26px;
  }
  .marketplaces-watermark{
    font-size: 110px;
  }
  .marketplaces-devices{
    min-height: 220px;
  }
  .device-phone{
    width: 130px;
  }
  .reviews{
    padding: 60px 0 70px;
  }
  .reviews-head{
    flex-direction: column;
    align-items:flex-start;
  }
  .reviews-head h2{ font-size: 30px; }
  .reviews-head p{ margin-top: 8px; }
  .reviews-grid{
    grid-template-columns: 1fr;
  }
  .assurance{
    padding:32px 0 56px;
  }
  .assurance-head{
    flex-direction: column;
    align-items:flex-start;
  }
  .assurance-head h2{ font-size:30px; }
  .assurance-head p{ margin-top:8px; }
  /* =====================
     MOBILE TOP BAR
     ===================== */
  .nav-shell{
    width: calc(100% - 32px);
    margin: 0 auto;

    height: var(--nav-h-m);
    padding: 0 20px;
    border-radius: var(--nav-radius-m);

    display:flex;
    align-items:center;
    justify-content: space-between;
  }

  .brand img.custom-logo{
    height: 52px;
  }

  /* Hide desktop icons */
  .nav-shell > .nav-actions{
    display:none !important;
  }

  /* Show burger */
  .nav-burger{
    display:flex;
  }

  /* =====================
     DROPDOWN PANEL
     ===================== */
  .site-nav{
    --mobile-nav-panel-top: calc(var(--amali-nav-bottom-mobile) - 10px);
    --mobile-nav-bottom-gap: calc(16px + env(safe-area-inset-bottom));
    display:none;
    position: fixed;
    left: 16px;
    right: 16px;

    top: var(--mobile-nav-panel-top);

    background: #fff;
    border-radius: 0 0 var(--nav-radius-m) var(--nav-radius-m);
    padding: 18px 22px 20px;
    max-height: calc(100vh - var(--mobile-nav-panel-top) - var(--mobile-nav-bottom-gap));
    max-height: calc(100svh - var(--mobile-nav-panel-top) - var(--mobile-nav-bottom-gap));
    overflow: hidden;

    border: 1px solid rgba(0,0,0,.10);
    border-top: 0;
    box-shadow: 0 30px 70px rgba(0,0,0,.20);

    z-index: 9998;
  }

  body.admin-bar .site-header{
    top: calc(var(--nav-top) + var(--amali-admin-offset-mobile));
  }

  body.admin-bar .site-nav{
    --mobile-nav-panel-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-mobile) - 10px);
  }

  .site-nav.is-open{
    display:flex;
    flex-direction: column;
  }

  body.is-mobile-menu-open{
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.is-mobile-menu-open .nav-shell{
    position: relative;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.is-mobile-menu-open .nav-shell::before{
    content: "";
    position: absolute;
    z-index: 1;
    inset: -1px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.75), rgba(255,255,255,.35));
    box-shadow: 0 20px 50px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.6);
    backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
    pointer-events: none;
  }

  body.is-mobile-menu-open .site-nav{
    z-index: 0;
  }

  body.is-mobile-menu-open .brand,
  body.is-mobile-menu-open .nav-burger{
    position: relative;
    z-index: 2;
  }

  /* =====================
     MENU ITEMS
     ===================== */
  .nav-list{
    display:flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    align-items: center;

    gap: 18px;               /* ✅ MORE SPACE */
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .nav-list li{
    width: 100%;
  }

  .nav-list li.menu-item-has-children{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .nav-list li.menu-item-has-children > a,
  .nav-list li.menu-item-has-children > .nav-subtoggle{
    grid-column: 1;
    grid-row: 1;
  }

  .nav-list li.menu-item-has-children > .sub-menu{
    grid-column: 1;
    grid-row: 2;
  }

  .nav-list a{
    display:block;
    width: 100%;

    text-align:center;
    font-size: 18px;
    font-weight: 500;

    padding: 18px 20px;      /* ✅ BETTER TOUCH AREA */
    border-radius: 20px;

    color: #8A8A8A;
    transition: all .25s ease;
  }
  .nav-list .menu-item-has-children > a::after,
  .nav-list .sub-menu .menu-item-has-children > a::after{
    content: none;
  }
  .nav-subtoggle{
    position: relative;
    z-index: 1;
    align-self: center;
    justify-self: end;
    margin-right: 16px;
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.12);
    background: #fff;
    color: #666;
    display:grid;
    place-items:center;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
  }
  .nav-list .sub-menu{
    position: static;
    display: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 6px 0 0;
    margin: 0;
  }
  .nav-list > li > .sub-menu.align-right,
  .nav-list .sub-menu .sub-menu,
  .nav-list .sub-menu .sub-menu.opens-left{
    right: auto;
    left: auto;
    border-radius: 0;
    border-left: 0;
  }
  .nav-list li.is-open > .sub-menu{
    display: block;
  }
  .nav-list .sub-menu li{
    width: 100%;
  }
  .nav-list .sub-menu a{
    font-size: 15px;
    padding: 10px 12px;
    color: #666;
  }

  .nav-list a:hover{
    background: rgba(0,0,0,.04);
    color: var(--brand);
  }

  .nav-list .current-menu-item > a,
  .nav-list .current_page_item > a{
    background: rgba(122,15,33,.14);
    color: var(--brand);
    font-weight: 700;
  }

  /* =====================
     MOBILE ACTION ICONS
     ===================== */
  .nav-actions--mobile{
    margin-top: 16px;
    flex: 0 0 auto;
    padding-top: 16px;

    border-top: 1px solid rgba(0,0,0,.08);

    display:flex;
    justify-content: center;
    gap: 22px;
  }

  .nav-actions--mobile .nav-ico{
    width:58px;
    height:58px;

    font-size:18px;
    border-radius:999px;

    background: rgba(0,0,0,.04);
    border: 1px solid rgba(0,0,0,.12);

    display:grid;
    place-items:center;

    transition: all .2s ease;
  }

  .nav-actions--mobile .nav-ico:hover{
    background: rgba(0,0,0,.08);
    border-color: rgba(0,0,0,.18);
  }

  .nav-actions--mobile .nav-ico svg{
    width:24px;
    height:24px;
  }
}

@media (max-width: 640px){
  .marketplace-grid,
  .assurance-grid{
    grid-template-columns: 1fr;
  }
  .assurance-service,
  .assurance-service:nth-child(odd),
  .assurance-service:nth-child(even){
    padding:26px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .assurance-service:first-child{
    padding-top:0;
    border-top:0;
  }
  .assurance-service:last-child{
    padding-bottom:0;
  }
}

@media (min-width: 783px) and (max-width: 980px){
  body.admin-bar.home .site-main > section{
    scroll-margin-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-tablet) + 16px);
  }

  body.admin-bar .site-header{
    top: calc(var(--nav-top) + var(--amali-admin-offset-tablet));
  }

  body.admin-bar .site-nav{
    --mobile-nav-panel-top: calc(var(--amali-nav-bottom-mobile) + var(--amali-admin-offset-tablet) - 10px);
  }
}

/* =========================
   FOOTER
   ========================= */
.site-footer{
  position: relative;
  background: #1c1c1c;
  color: #cfcfcf;
  padding: 80px 0 32px;
  overflow: hidden;
}
.footer-inner{
  position: relative;
}
.footer-top{
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(140px, 1fr));
  gap: 40px;
  position: relative;
  z-index: 2;
}
.footer-brand{
  max-width: 420px;
}
.footer-logo{
  display: inline-flex;
  align-items: center;
  margin-bottom: 25px;
}
.footer-logo img{
  height: 100px;
  width: auto;
  display: block;
}
.footer-logo-text{
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  color: #f5f5f5;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.footer-blurb{
  margin: 0;
  color: #9b9b9b;
  line-height: 1.6;
}

.footer-links{
  display: contents;
}
.footer-col h3{
  margin: 0 0 14px;
  font-size: 16px;
  color: #f0f0f0;
}
.footer-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  font-size: 14px;
}
.footer-menu a{
  color: #9b9b9b;
}
.footer-menu a:hover{
  color: #fff;
}
.footer-col--social .footer-menu{
  margin-bottom: 16px;
}
.footer-social-title{
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #f0f0f0;
}
.footer-social-links{
  display: flex;
  gap: 10px;
}
.social-chip{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #f5f5f5;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0,0,0,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.social-chip svg{
  width: 18px;
  height: 18px;
  fill: none;
  stroke: #8b0f20;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.social-chip--facebook svg,
.social-chip--youtube svg{
  fill: #8b0f20;
  stroke: none;
}
.social-chip--youtube .youtube-play{
  fill: #fff;
}
.social-chip--tiktok svg{
  fill: none;
  stroke: #8b0f20;
}
.social-chip:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}
.footer-bottom{
  margin-top: 56px;
  text-align: center;
  position: relative;
  z-index: 2;
}
.footer-divider{
  height: 1px;
  background: rgba(255,255,255,.12);
  margin-bottom: 8px;
}
.footer-copy{
  margin: 0;
  color: #7f7f7f;
  font-size: 13px;
}
.footer-watermark{
  position: absolute;
  left: 50%;
  bottom: 52px;
  transform: translateX(-50%);
  font-family: 'Playfair Display', serif;
  font-size: clamp(64px, 12vw, 180px);
  color: rgba(139,15,32,.16);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  z-index: 1;
  pointer-events: none;
  white-space: nowrap;
}

@media (max-width: 1100px){
  .footer-top{
    grid-template-columns: minmax(240px, 1.3fr) repeat(2, minmax(160px, 1fr));
  }
  .footer-links{
    display: grid;
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    gap: 32px;
  }
}

@media (max-width: 760px){
  .site-footer{
    padding: 60px 0 28px;
  }
  .footer-top{
    grid-template-columns: 1fr;
  }
  .footer-links{
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .footer-watermark{
    font-size: clamp(56px, 20vw, 110px);
    bottom: 44px;
    opacity: .7;
  }
}

@media (max-width: 540px){
  .footer-links{
    grid-template-columns: 1fr;
  }
}

/* =========================
   CONTACT FLOATING ACTIONS / AMALI ASSISTANT
   ========================= */
.contact-fab{
  position:fixed;
  right:max(20px, env(safe-area-inset-right));
  bottom:max(20px, env(safe-area-inset-bottom));
  z-index:9000;
  color:var(--brand);
}

.contact-fab__toggle{
  position:relative;
  z-index:3;
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid rgba(122,15,33,.12);
  border-radius:50%;
  background:rgba(255,255,255,.98);
  color:var(--brand);
  box-shadow:
    0 10px 30px rgba(28,20,18,.15),
    0 2px 8px rgba(28,20,18,.07);
  list-style:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.contact-fab__toggle::-webkit-details-marker{
  display:none;
}

.contact-fab__toggle::marker{
  content:"";
}

.contact-fab__toggle svg{
  width:29px;
  height:29px;
}

.contact-fab__toggle:hover{
  transform:translateY(-2px);
  border-color:rgba(122,15,33,.24);
  box-shadow:
    0 14px 34px rgba(28,20,18,.17),
    0 3px 9px rgba(28,20,18,.08);
}

.contact-fab[open] .contact-fab__toggle{
  transform:none;
  border-color:rgba(122,15,33,.20);
}

.contact-fab svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.contact-fab__panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 14px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(390px, calc(100vw - 40px));
  height:min(590px, calc(100dvh - 118px));
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(56,42,35,.10);
  border-radius:24px;
  background:#fbf8f5;
  color:#2d2622;
  box-shadow:
    0 28px 70px rgba(28,20,18,.20),
    0 8px 24px rgba(28,20,18,.10);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(10px) scale(.985);
  transform-origin:bottom right;
  transition:
    opacity .2s ease,
    transform .2s ease,
    visibility 0s linear .2s;
}

.contact-fab[open] .contact-fab__panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition-delay:0s;
}

.contact-fab__panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:78px;
  padding:16px 18px;
  border-bottom:1px solid rgba(56,42,35,.08);
  background:rgba(255,255,255,.84);
}

.contact-fab__identity{
  display:flex;
  align-items:center;
  min-width:0;
  gap:12px;
}

.contact-fab__mark{
  display:grid;
  width:42px;
  height:42px;
  flex:0 0 42px;
  place-items:center;
  border:1px solid rgba(122,15,33,.12);
  border-radius:14px;
  background:#fff;
  color:var(--brand);
  box-shadow:0 5px 16px rgba(28,20,18,.08);
}

.contact-fab__mark svg{
  width:23px;
  height:23px;
}

.contact-fab__identity h2{
  margin:0;
  color:#241d1a;
  font-family:'Playfair Display', Georgia, serif;
  font-size:19px;
  font-weight:600;
  line-height:1.2;
}

.contact-fab__identity p{
  margin:4px 0 0;
  color:#83766f;
  font-size:12px;
  line-height:1.25;
}

.contact-fab__close{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 38px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#766a64;
  cursor:pointer;
  transition:
    color .18s ease,
    background-color .18s ease;
}

.contact-fab__close:hover{
  background:#f1ebe6;
  color:var(--brand);
}

.contact-fab__close svg{
  width:20px;
  height:20px;
}

.contact-fab__chat{
  display:grid;
  grid-template-rows:minmax(0,1fr);
  min-height:0;
}

.contact-fab [hidden]{
  display:none !important;
}

.contact-fab__chat-content{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto auto;
  min-height:0;
}

.contact-fab__identity-gate{
  min-height:0;
  overflow-y:auto;
  padding:22px 18px 20px;
}

.contact-fab__identity-gate-inner{
  max-width:330px;
  margin:0 auto;
}

.contact-fab__identity-eyebrow{
  margin:0 0 6px;
  color:var(--brand);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-fab__identity-gate h3{
  margin:0;
  color:#241d1a;
  font-family:'Playfair Display', Georgia, serif;
  font-size:22px;
  font-weight:600;
  line-height:1.25;
}

.contact-fab__identity-copy{
  margin:9px 0 18px;
  color:#746861;
  font-size:12px;
  line-height:1.55;
}

.contact-fab__identity-form{
  display:grid;
  gap:13px;
}

.contact-fab__field{
  display:grid;
  gap:6px;
}

.contact-fab__field > span{
  color:#655a54;
  font-size:11px;
  font-weight:600;
}

.contact-fab__field input{
  width:100%;
  min-height:44px;
  padding:10px 12px;
  border:1px solid rgba(56,42,35,.13);
  border-radius:12px;
  outline:0;
  background:#fff;
  color:#302824;
  font:inherit;
  font-size:13px;
}

.contact-fab__field input:focus{
  border-color:rgba(122,15,33,.38);
  box-shadow:0 0 0 3px rgba(122,15,33,.07);
}

.contact-fab__consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#746861;
  font-size:11px;
  line-height:1.45;
}

.contact-fab__consent input{
  width:16px;
  height:16px;
  flex:0 0 16px;
  margin-top:1px;
  accent-color:var(--brand);
}

.contact-fab__consent a{
  color:var(--brand);
  font-weight:600;
  text-underline-offset:2px;
}

.contact-fab__identity-error{
  margin:0;
  padding:9px 10px;
  border:1px solid rgba(122,15,33,.15);
  border-radius:10px;
  background:#fff6f7;
  color:#7a0f21;
  font-size:11px;
  line-height:1.4;
}

.contact-fab__identity-submit{
  min-height:44px;
  padding:10px 16px;
  border:0;
  border-radius:12px;
  background:var(--brand);
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:
    opacity .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.contact-fab__identity-submit:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(122,15,33,.22);
}

.contact-fab__identity-submit:disabled{
  opacity:.55;
  cursor:wait;
}

.contact-fab__identity-form :is(
  input,
  .contact-fab__identity-submit,
  .contact-fab__consent a
):focus-visible{
  outline:3px solid rgba(122,15,33,.26);
  outline-offset:3px;
}

.contact-fab__messages{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px 18px 14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(122,15,33,.20) transparent;
}

.contact-fab__message{
  display:flex;
  margin:0 0 12px;
}

.contact-fab__message--user{
  justify-content:flex-end;
}

.contact-fab__message--system{
  justify-content:center;
  margin:4px 0 14px;
}

.contact-fab__system-notice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:88%;
  padding:6px 10px;
  border:1px solid rgba(56,42,35,.08);
  border-radius:999px;
  background:rgba(248,243,239,.88);
  color:#81736c;
  font-size:11px;
  font-weight:600;
  line-height:1.35;
  text-align:center;
}

.contact-fab__system-notice-icon{
  display:grid;
  width:16px;
  height:16px;
  flex:0 0 16px;
  place-items:center;
  border-radius:50%;
  background:rgba(122,15,33,.09);
  color:var(--brand);
  font-size:10px;
  font-weight:800;
}

.contact-fab__system-notice--resolved{
  flex-direction:column;
  gap:9px;
  max-width:94%;
  padding:10px 12px;
  border-radius:14px;
}

.contact-fab__resolved-action{
  min-height:42px;
  padding:7px 14px;
  border:0;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.contact-fab__resolved-action:hover{
  filter:brightness(1.05);
}


.contact-fab__system-notice--connecting
.contact-fab__system-notice-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  width:24px;
  flex-basis:24px;
  background:transparent;
}

.contact-fab__system-notice--connecting
.contact-fab__system-notice-icon span{
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--brand);
  animation:amali-human-connecting 1s ease-in-out infinite;
}

.contact-fab__system-notice--connecting
.contact-fab__system-notice-icon span:nth-child(2){
  animation-delay:.15s;
}

.contact-fab__system-notice--connecting
.contact-fab__system-notice-icon span:nth-child(3){
  animation-delay:.30s;
}

@keyframes amali-human-connecting{
  0%,
  60%,
  100%{
    opacity:.28;
    transform:translateY(0);
  }

  30%{
    opacity:1;
    transform:translateY(-2px);
  }
}

.contact-fab__bubble{
  max-width:84%;
  padding:11px 13px;
  border:1px solid rgba(56,42,35,.08);
  border-radius:16px 16px 16px 5px;
  background:#fff;
  color:#51453f;
  box-shadow:0 4px 14px rgba(28,20,18,.05);
  font-size:14px;
  line-height:1.5;
}

.contact-fab__message--user .contact-fab__bubble{
  border-color:transparent;
  border-radius:16px 16px 5px 16px;
  background:var(--brand);
  color:#fff;
  box-shadow:none;
}

.contact-fab__bubble p{
  margin:0;
}

.contact-fab__starters{
  margin-top:18px;
}

.contact-fab__starters-title{
  margin:0 0 9px;
  color:#81736c;
  font-size:12px;
  font-weight:600;
}

.contact-fab__starter-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.contact-fab__starter-grid button{
  min-height:42px;
  padding:9px 11px;
  border:1px solid rgba(122,15,33,.14);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  color:var(--brand);
  font:inherit;
  font-size:12px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:
    border-color .18s ease,
    background-color .18s ease,
    transform .18s ease;
}

.contact-fab__starter-grid button:hover{
  border-color:rgba(122,15,33,.30);
  background:#fff;
  transform:translateY(-1px);
}

.contact-fab__support{
  padding:11px 18px 12px;
  border-top:1px solid rgba(56,42,35,.07);
  background:#f8f3ef;
}

.contact-fab__support-label{
  display:block;
  margin-bottom:8px;
  color:#8a7c74;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}

.contact-fab__quick-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}

.contact-fab__quick-action{
  display:flex;
  min-width:0;
  min-height:40px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 8px;
  border:1px solid rgba(56,42,35,.09);
  border-radius:11px;
  background:#fff;
  color:#62554f;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:
    border-color .18s ease,
    color .18s ease,
    background-color .18s ease;
}

.contact-fab__quick-action:hover{
  border-color:rgba(122,15,33,.22);
  background:#fffafa;
  color:var(--brand);
}

.contact-fab__quick-action svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:var(--brand);
}

.contact-fab__composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:end;
  gap:8px;
  padding:12px 14px;
  border-top:1px solid rgba(56,42,35,.08);
  background:#fff;
}

.contact-fab__composer textarea{
  width:100%;
  min-height:42px;
  max-height:108px;
  resize:none;
  overflow-y:auto;
  padding:10px 12px;
  border:1px solid rgba(56,42,35,.13);
  border-radius:13px;
  outline:0;
  background:#fbf9f7;
  color:#302824;
  font:inherit;
  font-size:13px;
  line-height:1.45;
}

.contact-fab__composer textarea::placeholder{
  color:#a39791;
}

.contact-fab__composer textarea:focus{
  border-color:rgba(122,15,33,.38);
  background:#fff;
  box-shadow:0 0 0 3px rgba(122,15,33,.07);
}

.contact-fab__send{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:13px;
  background:var(--brand);
  color:#fff;
  cursor:pointer;
  transition:
    opacity .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.contact-fab__send:not(:disabled):hover{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(122,15,33,.22);
}

.contact-fab__send:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.contact-fab__send svg{
  width:20px;
  height:20px;
}

.contact-fab__disclaimer{
  margin:0;
  padding:0 14px 11px;
  background:#fff;
  color:#9b8f89;
  font-size:10px;
  line-height:1.35;
  text-align:center;
}

.contact-fab :is(
  .contact-fab__toggle,
  .contact-fab__close,
  .contact-fab__starter-grid button,
  .contact-fab__quick-action,
  .contact-fab__resolved-action,
  .contact-fab__send
):focus-visible{
  outline:3px solid rgba(122,15,33,.26);
  outline-offset:3px;
}

@media (max-width:760px){
  .contact-fab{
    right:max(14px, env(safe-area-inset-right));
    bottom:max(14px, env(safe-area-inset-bottom));
  }

  .contact-fab__toggle{
    width:56px;
    height:56px;
  }

  .contact-fab__toggle svg{
    width:28px;
    height:28px;
  }

  .contact-fab__panel{
    right:0;
    bottom:calc(100% + 10px);
    width:calc(100vw - 28px);
    height:min(72dvh, 570px);
    min-height:400px;
    border-radius:22px;
  }

  .contact-fab__panel-head{
    min-height:72px;
    padding:14px 15px;
  }

  .contact-fab__messages{
    padding:16px 14px 12px;
  }

  .contact-fab__support{
    padding:10px 14px 11px;
  }

  .contact-fab__composer{
    padding:10px 11px;
  }
}

@media (max-width:390px){
  .contact-fab__starter-grid{
    grid-template-columns:1fr;
  }

  .contact-fab__quick-action{
    padding-inline:5px;
  }

  .contact-fab__quick-action span{
    font-size:10px;
  }
}

@media (prefers-reduced-motion:reduce){
  .nav-burger span,
  .contact-fab__toggle,
  .contact-fab__panel,
  .contact-fab__close,
  .contact-fab__starter-grid button,
  .contact-fab__quick-action,
  .contact-fab__resolved-action,
  .contact-fab__send{
    transition:none;
  }
}

@media print{
  .contact-fab{
    display:none;
  }
}


/* =========================
   CANONICAL FABRIC CARD
   Featured image standard: 4:5 portrait
   Recommended master artwork: 1600 × 2000 px
   ========================= */

.amali-fabric-card{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--amali-card-border);
  border-radius:var(--amali-card-radius-compact);
  background:var(--amali-card-surface);
  box-shadow:var(--amali-card-shadow);
}

.amali-fabric-card__media{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4 / 5;
  overflow:hidden;
  background:#f2eee9;
}

.amali-fabric-card__media picture{
  display:block;
  width:100%;
  height:100%;
}

.amali-fabric-card__media img,
.amali-fabric-card__image{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
}

.amali-fabric-card__placeholder{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  padding:24px;
  color:#766d67;
  text-align:center;
}

.amali-fabric-card__overlay{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  padding:16px 18px 17px;
  background:
    linear-gradient(rgba(250,246,241,.96), rgba(250,246,241,.96)),
    var(--amali-card-surface);
  box-shadow:0 -10px 30px rgba(38,28,23,.08);
  transform:translateY(100%);
  opacity:0;
  visibility:hidden;
  transition:
    transform .32s ease,
    opacity .24s ease,
    visibility .32s ease;
}

.amali-fabric-card:hover .amali-fabric-card__overlay,
.amali-fabric-card:focus-within .amali-fabric-card__overlay,
.amali-fabric-card.is-active .amali-fabric-card__overlay{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}

.amali-fabric-card__heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:20px;
}

.amali-fabric-card__content{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  gap:7px;
}

.amali-fabric-card__title{
  margin:0;
  min-width:0;
  color:#28211e;
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(18px, 1.6vw, 22px);
  font-weight:600;
  line-height:1.25;
}

.amali-fabric-card__title a{
  color:inherit;
  text-decoration:none;
}

.amali-fabric-card__meta{
  margin:0;
  color:#777;
  font-size:12px;
  line-height:1.5;
}

.amali-fabric-card__actions{
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.amali-fabric-card__cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:auto;
  margin:0;
  padding:8px 11px;
  border:1px solid rgba(122,15,33,.25);
  border-radius:9px;
  color:var(--brand);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
}

.amali-fabric-card__cta:hover{
  border-color:var(--brand);
}

.amali-fabric-card__views{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 4px 0 0;
  color:#8b765f;
  font-size:12px;
  font-weight:500;
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
}

.amali-fabric-card__views-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  color:#b28b52;
}

.amali-fabric-card :is(a,button):focus-visible{
  outline:3px solid rgba(122,15,33,.45);
  outline-offset:3px;
}

/* Homepage horizontal carousel sizing only. */
.favorites-track > .amali-fabric-card{
  width:460px;
  flex:0 0 460px;
  scroll-snap-align:start;
}

@media (max-width:767px){
  .favorites-track > .amali-fabric-card{
    width:calc(100vw - 64px);
    flex-basis:calc(100vw - 64px);
    scroll-snap-align:center;
  }
}

@media (max-width:520px){
  .amali-fabric-card__heading{
    gap:12px;
  }

  .amali-fabric-card__cta{
    padding:7px 9px;
    font-size:11px;
  }

  .amali-fabric-card__views{
    font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .amali-fabric-card__overlay{
    transition:none;
  }
}

/* Short-mobile assistant viewport correction */
@media (max-width:760px) and (max-height:720px){
  .contact-fab__panel{
    height:min(64dvh, 430px);
    min-height:0;
  }

  .contact-fab__panel-head{
    min-height:64px;
    padding:10px 14px;
  }

  .contact-fab__mark{
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  .contact-fab__identity h2{
    font-size:17px;
  }

  .contact-fab__identity p{
    margin-top:2px;
    font-size:11px;
  }

  .contact-fab__messages{
    padding:12px 14px 10px;
  }

  .contact-fab__starters{
    margin-top:12px;
  }

  .contact-fab__starter-grid{
    grid-template-columns:1fr 1fr;
  }

  .contact-fab__starter-grid button{
    min-height:38px;
    padding:7px 9px;
  }

  .contact-fab__support{
    padding:8px 14px;
  }

  .contact-fab__support-label{
    margin-bottom:6px;
  }

  .contact-fab__quick-action{
    min-height:38px;
  }

  .contact-fab__composer{
    padding:8px 10px;
  }

  .contact-fab__disclaimer{
    padding-bottom:8px;
  }
}

/* Amali Assistant verified human handoff */
.contact-fab__handoff{
  margin-top: 10px;
}

.contact-fab__handoff-locations{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.contact-fab__handoff-location{
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid rgba(122,15,33,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--brand);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms ease;
}

.contact-fab__handoff-location:hover{
  border-color: rgba(122,15,33,.42);
  background: rgba(122,15,33,.05);
}

.contact-fab__handoff-location:active{
  transform: translateY(1px);
}

.contact-fab__handoff-location:focus-visible{
  outline: 3px solid rgba(122,15,33,.28);
  outline-offset: 2px;
}

.contact-fab__handoff-whatsapp{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  border-radius: 12px;
  background: var(--brand);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
}

.contact-fab__handoff-whatsapp:hover{
  color: #fff;
  filter: brightness(1.05);
}

.contact-fab__handoff-whatsapp:focus-visible{
  outline: 3px solid rgba(122,15,33,.28);
  outline-offset: 3px;
}

/* Amali Assistant contextual verified actions */
.contact-fab__handoff-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.contact-fab__handoff-action{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border:1px solid rgba(122,15,33,.22);
  border-radius:12px;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
}

.contact-fab__handoff-action--primary{
  border-color:var(--brand);
  background:var(--brand);
  color:#fff;
}

.contact-fab__handoff-action--primary:hover{
  color:#fff;
  filter:brightness(1.05);
}

.contact-fab__handoff-action--secondary{
  background:#fff;
  color:var(--brand);
}

.contact-fab__handoff-action--secondary:hover{
  background:rgba(122,15,33,.05);
  color:var(--brand);
}

.contact-fab__handoff-action:focus-visible{
  outline:3px solid rgba(122,15,33,.28);
  outline-offset:3px;
}

/* Assistant quick next-step controls */
.contact-fab__quick-action{
  font-family:inherit;
  cursor:pointer;
}

button.contact-fab__quick-action{
  appearance:none;
}

button.contact-fab__quick-action:active{
  transform:translateY(1px);
}
