/* ============================================================
   KHADIZA DREAMS — shipping.css
   Used only by: shipping.html
   Depends on: styles.css (tokens, buttons, footer, drawers)
   ============================================================ */


/* ============================================================
   1. BREADCRUMBS
   ============================================================ */
.crumbs{
  padding-block:24px;
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.crumbs a{ transition:color .3s; }
.crumbs a:hover{ color:var(--ink); }
.crumbs span{ margin-inline:9px; opacity:.45; }


/* ============================================================
   2. PAGE HERO
   ============================================================ */
.page-hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:clamp(280px, 40vh, 420px);
  overflow:hidden;
  background:#1a1714;
  isolation:isolate;
}

.page-hero__img{
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(.65) brightness(.72) contrast(1.05);
}

.page-hero::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(to top,
    rgba(12,10,8,.82) 0%,
    rgba(12,10,8,.28) 55%,
    rgba(12,10,8,.45) 100%);
}

.page-hero__body{
  position:relative;
  z-index:2;
  padding-block:clamp(38px, 5.5vw, 68px);
  color:#fff;
  max-width:64ch;
}

.page-hero .eyebrow{ color:rgba(255,255,255,.8); }

.page-hero__title{
  margin:14px 0 16px;
  font-size:clamp(34px, 5.4vw, 68px);
  font-weight:300;
  line-height:1.02;
  color:#fff;
}

.page-hero__title em{
  font-style:italic;
  color:var(--gold-soft);
}

.page-hero__text{
  font-size:15px;
  line-height:1.75;
  color:rgba(255,255,255,.82);
  max-width:54ch;
}


/* ============================================================
   3. QUICK FACTS STRIP
   ============================================================ */
.quick-facts{
  border-bottom:1px solid var(--line);
  background:var(--paper);
}

.quick-facts__grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
}

.quick-fact{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:26px clamp(14px, 2vw, 28px);
  border-right:1px solid var(--line);
}

.quick-fact:last-child{ border-right:0; }

.quick-fact__icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--soft);
  color:var(--gold);
}
.quick-fact__icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.quick-fact__label{
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--muted);
}

.quick-fact__value{
  font-size:14px;
  font-weight:400;
  line-height:1.4;
  color:var(--ink);
}


/* ============================================================
   4. SECTIONS
   ============================================================ */
.section{
  padding-block:clamp(48px, 6vw, 88px);
}

.section--soft{ background:var(--soft); }


/* ============================================================
   5. OPTIONS GRID
   ============================================================ */
.options-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(16px, 2.2vw, 28px);
  margin-top:clamp(30px, 4vw, 52px);
}

.ship-option{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:clamp(24px, 2.8vw, 36px);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:border-color .3s var(--ease), transform .4s var(--ease), box-shadow .4s var(--ease);
}
.ship-option:hover{
  border-color:var(--line-dark);
  transform:translateY(-3px);
  box-shadow:0 18px 40px -30px rgba(23,21,18,.35);
}

.ship-option__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.ship-option__name{
  font-size:20px;
  font-weight:400;
  line-height:1.2;
  color:var(--ink);
}

.ship-option__badge{
  padding:5px 10px;
  background:var(--gold);
  color:#fff;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  border-radius:2px;
  white-space:nowrap;
}

.ship-option__price{
  font-family:var(--font-display);
  font-size:28px;
  font-weight:500;
  line-height:1;
  color:var(--ink);
  margin-top:2px;
}
.ship-option__price small{
  font-family:var(--font-body);
  font-size:11.5px;
  font-weight:300;
  color:var(--muted);
  display:block;
  margin-top:6px;
  letter-spacing:.04em;
}

.ship-option__text{
  font-size:13.5px;
  font-weight:300;
  line-height:1.7;
  color:var(--ink-soft);
}

.ship-option__list{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:16px;
  margin-top:auto;
  border-top:1px solid var(--line);
}

.ship-option__list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:12.5px;
  font-weight:300;
  line-height:1.55;
  color:var(--ink-soft);
}

.ship-option__list li::before{
  content:'';
  flex-shrink:0;
  width:7px;
  height:1px;
  background:var(--gold);
  margin-top:.68em;
}


/* ============================================================
   6. TIMELINE
   ============================================================ */
.timeline{
  padding-block:clamp(48px, 6vw, 88px);
  background:var(--soft);
}

.timeline__list{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(20px, 2.6vw, 44px);
  margin-top:clamp(30px, 4vw, 52px);
}

.timeline__item{
  position:relative;
  padding-top:34px;
  border-top:1px solid var(--line-dark);
}

.timeline__item::before{
  content:'';
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--gold);
}

.timeline__num{
  display:block;
  margin-bottom:12px;
  font-family:var(--font-display);
  font-size:clamp(28px, 3vw, 40px);
  font-weight:300;
  line-height:1;
  color:var(--gold);
}

.timeline__title{
  font-size:17px;
  font-weight:500;
  margin-bottom:8px;
  color:var(--ink);
}

.timeline__text{
  font-size:13px;
  line-height:1.75;
  color:var(--muted);
}


/* ============================================================
   7. COVERAGE TABLE
   ============================================================ */
.coverage{
  width:100%;
  border-collapse:collapse;
  margin-top:clamp(28px, 3.6vw, 44px);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}

.coverage thead{
  background:var(--soft);
}

.coverage th{
  text-align:left;
  padding:16px 20px;
  font-family:var(--font-body);
  font-size:10px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
  border-bottom:1px solid var(--line);
}

.coverage td{
  padding:16px 20px;
  font-size:13.5px;
  font-weight:300;
  line-height:1.5;
  color:var(--ink-soft);
  border-bottom:1px solid var(--line);
}

.coverage tr:last-child td{
  border-bottom:0;
}

.coverage td strong{
  font-weight:500;
  color:var(--ink);
}

.coverage td:last-child{
  text-align:right;
  white-space:nowrap;
}

.coverage-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin-inline:calc(var(--gutter) * -1);
  padding-inline:var(--gutter);
}

@media (min-width:1024px){
  .coverage-wrap{
    margin-inline:0;
    padding-inline:0;
  }
}


/* ============================================================
   8. INFO CARD
   ============================================================ */
.info-card{
  padding:clamp(24px, 3vw, 40px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  display:flex;
  flex-direction:column;
  gap:18px;
}

.info-card--soft{
  background:var(--soft);
  border-color:transparent;
}

.info-card__title{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink);
}

.info-card__text{
  font-size:14px;
  font-weight:300;
  line-height:1.8;
  color:var(--ink-soft);
  max-width:66ch;
}

.info-card__text p + p{ margin-top:12px; }

.info-card__text ul{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:6px;
}

.info-card__text li{
  position:relative;
  padding-left:18px;
  font-size:13.5px;
}

.info-card__text li::before{
  content:'';
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:1px;
  background:var(--gold);
}

.info-card__text a{
  color:var(--ink);
  border-bottom:1px solid var(--line-dark);
  transition:border-color .3s;
}
.info-card__text a:hover{ border-bottom-color:var(--ink); }


/* ============================================================
   9. TWO-COLUMN BLOCK
   ============================================================ */
.two-col{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:clamp(20px, 3vw, 44px);
  margin-top:clamp(30px, 4vw, 52px);
}


/* ============================================================
   10. CTA STRIP
   ============================================================ */
.cta-strip{
  padding-block:clamp(48px, 6vw, 88px);
  background:var(--soft);
}

.cta-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
  padding:clamp(28px, 4vw, 52px);
  background:var(--paper);
  border-radius:var(--radius);
}

.cta-strip__body{
  max-width:52ch;
}

.cta-strip__title{
  font-size:clamp(24px, 3vw, 34px);
  font-weight:300;
  line-height:1.15;
  margin-bottom:10px;
}

.cta-strip__title em{
  font-style:italic;
  color:var(--gold);
}

.cta-strip__text{
  font-size:14px;
  line-height:1.75;
  color:var(--muted);
}

.cta-strip__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}


/* ============================================================
   11. RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .quick-facts__grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .quick-fact:nth-child(2){ border-right:0; }
  .quick-fact:nth-child(-n+2){ border-bottom:1px solid var(--line); }

  .options-grid{
    grid-template-columns:1fr;
  }

  .timeline__list{
    grid-template-columns:repeat(2, 1fr);
  }

  .two-col{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .quick-facts__grid{
    grid-template-columns:1fr;
  }
  .quick-fact{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:20px var(--gutter);
  }
  .quick-fact:last-child{ border-bottom:0; }

  .timeline__list{
    grid-template-columns:1fr;
  }

  .cta-strip__inner{
    padding:24px;
  }
  .cta-strip__actions{
    width:100%;
  }
  .cta-strip__actions .btn{
    flex:1;
    justify-content:center;
  }
}