/* RP TASK 4 - Offerte a tempo: pagina piu' semplice e leggibile.
   Intervento visuale, nessuna modifica a selezione, percentuali o prezzi. */

/* Tipografia e spaziatura dei contenuti, anche su desktop */
.offer-hero h1 { overflow-wrap:normal; }
.offer-hero-copy>p:not(.offer-headline) {
  font-size:clamp(.88rem,1.2vw,1rem);
  line-height:1.65;
}
.offer-hero-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  width:min(100%,485px);
}
.offer-hero-actions>* {
  width:100%;
  box-sizing:border-box;
  min-width:0;
  padding:.85rem .85rem;
  line-height:1.3;
  text-align:center;
  white-space:normal;
  font-size:.69rem;
  letter-spacing:.065em;
}
.offer-time-unit span { font-size:.61rem;letter-spacing:.045em; }
.offer-clock-card p {font-size:.81rem;line-height:1.55}
.cycle-meta {font-size:.62rem;letter-spacing:.025em}
.weekly-drop-head p {line-height:1.6;font-size:.9rem}
.offer-selection-note span {font-size:.79rem;line-height:1.4}
.offer-selection-note b {font-size:.64rem;line-height:1.35;letter-spacing:.05em}
.offer-card-content {min-width:0;display:flex;flex-direction:column;gap:.25rem}
.offer-card-meta {font-size:.65rem;line-height:1.35;letter-spacing:.045em}
.offer-product h3 {overflow-wrap:anywhere;line-height:1.13}
.offer-week-price {font-size:clamp(1.4rem,2.4vw,1.95rem)}
.offer-regular-price {font-size:.83rem}
.offer-discount {
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.025em;
  text-transform:none;
}
.offer-card-actions {margin-top:auto;padding-top:.65rem;gap:.5rem}
.offer-card-actions button {
  box-sizing:border-box;
  min-width:0;
  width:100%;
  min-height:45px;
  padding:.65rem .65rem;
  font-size:.67rem;
  font-weight:650;
  line-height:1.25;
  letter-spacing:.035em;
  white-space:normal;
}
.offer-card-actions .discover {
  border-color:#8c8174;
  color:#2e2923;
  background:rgba(255,255,255,.26);
}
.offer-card-actions button:focus-visible,
.offer-hero-cta:focus-visible {
  outline:3px solid #b49065;
  outline-offset:3px;
}
.offer-info-panel h3 {font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.1}
.offer-info-panel p {font-size:.88rem;line-height:1.6}
.mini-rule {font-size:.76rem;line-height:1.4}

/* Tablet e desktop: meno dispersione verticale, piu' spazio ai prodotti. */
@media (min-width:760px) {
  .offer-hero {
    min-height:clamp(560px,70svh,690px);
    padding-top:calc(var(--header-h) + 3rem);
    padding-bottom:3.6rem;
    border-radius:0 0 30px 30px;
  }
  .offer-hero-grid {
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
    gap:clamp(1.5rem,4vw,4rem);
    align-items:center;
  }
  .offer-hero h1 {
    font-size:clamp(3.7rem,7.2vw,8rem);
    line-height:.86;
    margin:.45rem 0 1rem;
  }
  .offer-headline {
    font-size:clamp(1.85rem,2.9vw,3.1rem);
    line-height:1.08;
  }
  .offer-clock-card {
    min-height:255px;
    padding:1.6rem;
    border-radius:24px;
  }
  .offer-clock-card h2 {font-size:clamp(1.75rem,2.8vw,2.6rem)}
  .weekly-drop {padding:4rem 0 5rem;border-radius:30px}
  .weekly-drop-head {gap:1.7rem;margin-bottom:1.7rem}
  .weekly-drop-head h2 {font-size:clamp(2.8rem,5.1vw,4.9rem);line-height:.96}
  .offer-editorial-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
  .offer-product {border-radius:21px;background:#f6f2eb}
  .offer-product.featured {
    grid-column:1/-1;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  }
  .offer-product.featured .offer-media {min-height:345px}
  .offer-product.featured .offer-card-content {padding:clamp(1.5rem,2.5vw,2.5rem)}
  .offer-product.featured h3 {font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.08}
  .offer-product:not(.featured) .offer-card-content {padding:1.2rem}
  .offer-product h3 {font-size:clamp(1.4rem,2.1vw,1.85rem)}
  .offer-media {aspect-ratio:1.08}
  .offer-badge,.offer-featured-label {font-size:.6rem;letter-spacing:.055em}
  .offer-card-actions {grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer-card-actions button {min-height:47px}
}
@media (min-width:1120px) {
  .offer-editorial-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
  .offer-product.featured {grid-column:1/-1}
  .offer-hero {min-height:clamp(580px,68svh,720px)}
  .offer-hero h1 {font-size:clamp(5.4rem,7.6vw,8.4rem)}
  .offer-card-actions button {font-size:.69rem}
}
@media (min-width:760px) and (max-width:925px) {
  .offer-hero-grid {grid-template-columns:minmax(0,1fr) minmax(275px,.85fr);gap:1rem}
  .offer-hero h1 {font-size:clamp(3.5rem,7vw,4.6rem)}
  .offer-hero-actions {grid-template-columns:minmax(0,1fr)}
  .offer-clock-card {padding:1rem}
  .offer-product.featured .offer-media {min-height:330px}
}

/* Smartphone: testata compatta e schede orizzontali a lista. */
@media (max-width:759px) {
  .offer-hero {
    min-height:0;
    padding:calc(var(--header-h) + 1.4rem) 0 1.55rem;
    align-items:initial;
    border-radius:0 0 22px 22px;
  }
  .offer-hero .breadcrumb {display:none}
  .offer-hero-grid {gap:1.25rem}
  .offer-hero h1 {
    font-size:clamp(3.05rem,13.7vw,4.45rem);
    line-height:.9;
    letter-spacing:-.047em;
    margin:.5rem 0 .7rem;
  }
  .offer-headline {
    font-size:clamp(1.35rem,5.9vw,1.9rem);
    line-height:1.12;
    margin-bottom:.6rem;
  }
  .offer-hero-copy>p:not(.offer-headline) {font-size:.84rem;line-height:1.55}
  .offer-hero-actions {width:100%;margin-top:1.1rem;gap:.5rem}
  .offer-hero-actions>* {min-height:46px;font-size:.64rem;padding:.65rem .5rem}
  .offer-clock-card {
    min-height:0;
    padding:1rem;
    border-radius:18px;
    background:#1a1816;
    backdrop-filter:none;
    gap:0;
  }
  .offer-clock-card .eyebrow {font-size:.6rem}
  .offer-clock-card h2 {font-size:1.35rem;line-height:1.1;margin:.35rem 0 .7rem}
  .offer-timer {grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.1rem 0 .65rem}
  .offer-time-unit {padding:.6rem .3rem;border-radius:11px}
  .offer-time-unit strong {font-size:1.8rem;line-height:1.1}
  .offer-time-unit span {font-size:.63rem;margin-top:.15rem}
  .offer-time-unit:last-child {display:none}
  .offer-clock-card p {font-size:.72rem}
  .cycle-meta {display:none}
  #cycleIdLabel {display:none}
  .weekly-drop {
    padding:2.9rem 0 3.2rem;
    border-radius:22px;
  }
  .weekly-drop-head {gap:.55rem;margin-bottom:1rem}
  .weekly-drop-head h2 {
    font-size:clamp(2.15rem,8vw,2.9rem);
    line-height:1;
    letter-spacing:-.035em;
  }
  .weekly-drop-head p {font-size:.81rem;line-height:1.5}
  .offer-selection-note {
    align-items:flex-start;
    flex-wrap:wrap;
    gap:.4rem;
    padding:.75rem;
    margin-bottom:1rem;
    border-radius:12px;
  }
  .offer-selection-note span {font-size:.72rem}
  .offer-selection-note b {font-size:.65rem}
  .offer-editorial-grid {grid-template-columns:minmax(0,1fr);gap:.85rem}
  .offer-product,.offer-product.featured {
    display:grid;
    grid-template-columns:minmax(0,37%) minmax(0,1fr);
    grid-column:auto;
    align-items:stretch;
    min-width:0;
    border-radius:17px;
    background:#f7f3ed;
  }
  .offer-media,.offer-product.featured .offer-media {
    aspect-ratio:auto;
    min-height:0;
    height:100%;
    border-radius:0;
  }
  .offer-media img {width:100%;height:100%;object-fit:cover}
  .offer-badge,.offer-featured-label {
    left:.35rem;
    right:auto;
    max-width:calc(100% - .7rem);
    padding:.3rem .35rem;
    font-size:.49rem;
    letter-spacing:.018em;
    line-height:1.2;
    border-radius:8px;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .offer-featured-label {top:2.7rem;font-size:.47rem}
  .offer-card-content,.offer-product.featured .offer-card-content {
    padding:.8rem .7rem;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:.18rem;
    min-width:0;
  }
  .offer-card-meta {font-size:.55rem;letter-spacing:.015em;gap:.3rem;flex-wrap:wrap}
  .offer-product h3,.offer-product.featured h3 {
    font-size:clamp(1.03rem,4.55vw,1.29rem);
    line-height:1.18;
    margin:.25rem 0 .4rem;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .offer-price-block {align-items:baseline;gap:.18rem .5rem}
  .offer-regular-price {font-size:.72rem}
  .offer-week-price {font-size:clamp(1.25rem,5.5vw,1.6rem)}
  .offer-discount {width:100%;font-size:.69rem;line-height:1.3}
  .offer-card-actions {
    grid-template-columns:minmax(0,1fr);
    gap:.42rem;
    margin-top:auto;
    padding-top:.7rem;
  }
  .offer-card-actions button {min-height:40px;font-size:.65rem;line-height:1.2;padding:.55rem .35rem}
  .offer-info-section {padding:2.8rem 0;border-radius:22px}
  .offer-info-grid {gap:.8rem}
  .offer-info-panel {border-radius:18px;padding:1.2rem}
  .offer-final {padding:2.5rem 0 .5rem}
  .offer-final h2 {font-size:2.7rem;line-height:1}
}
@media(max-width:360px) {
  .offer-product,.offer-product.featured {grid-template-columns:minmax(0,35%) minmax(0,1fr)}
  .offer-card-content,.offer-product.featured .offer-card-content {padding:.75rem .6rem}
  .offer-hero h1 {font-size:clamp(2.9rem,13.5vw,3.5rem)}
}
