/* ═══════════════════════════════════════════════════════
   RESPONSIVE — alessandradagostino.com
   3 breakpoint: 1024px (tablet), 768px (mobile), 480px (small)
   ═══════════════════════════════════════════════════════ */

/* ═══ TABLET (≤ 1024px) ═══════════════════════════════ */
@media (max-width: 1024px) {

  /* ── Home ───────────────────────────────────────── */
  .home-hero-grid         { grid-template-columns: 1fr !important; gap: 32px !important; }
  .home-hero-image        { height: 400px !important; }
  .home-about-grid        { grid-template-columns: 1fr !important; gap: 40px !important; }
  .home-stats             { gap: 24px !important; }

  /* ── Shop ───────────────────────────────────────── */
  .shop-hero-grid         { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* ── Product ────────────────────────────────────── */
  .product-main-grid      { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* ── Blog ───────────────────────────────────────── */
  .featured-post-grid     { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* ── Article ────────────────────────────────────── */
  .article-layout          { grid-template-columns: 1fr !important; gap: 40px !important; }
  .article-layout > aside:first-child { display: none !important; }

  /* ── Cart ────────────────────────────────────────── */
  .alessandra-cart__layout { grid-template-columns: 1fr !important; gap: 32px !important; }
  .alessandra-cart__right  { position: static !important; }

  /* ── Prev/Next ──────────────────────────────────── */
  .prev-next-grid         { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* ── Grids ──────────────────────────────────────── */
  .products-grid           { grid-template-columns: repeat(3, 1fr) !important; }
  .collections-grid        { grid-template-columns: repeat(2, 1fr) !important; }
  .footer-grid             { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }

  /* ── Sections padding ──────────────────────────── */
  .section                 { padding-top: 60px !important; padding-bottom: 60px !important; }
  .section--lg,
  .wp-block-group[style*="padding-top:120px"],
  .wp-block-group[style*="padding-top:140px"] {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* ── Category chips ────────────────────────────── */
  section[style*="top: 72px"] { top: 56px !important; }

  /* ── Editorial banner ──────────────────────────── */
  .wp-block-group[style*="padding-bottom:120px;background:var(--paper)"] {
    padding-bottom: 60px !important;
  }
}

/* ═══ MOBILE (≤ 768px) ════════════════════════════════ */
@media (max-width: 768px) {

  /* ── Announcement bar ───────────────────────────── */
  .announcement-bar {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    padding: 8px 12px !important;
    line-height: 1.5 !important;
  }
  .announcement-bar a {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px !important;
  }
  .announcement-bar a > span { display: block; width: 100%; text-align: center; }

  /* ── Typography ─────────────────────────────────── */
  .hero-title              { font-size: clamp(32px, 10vw, 128px) !important; line-height: 0.95 !important; }
  .section-title           { font-size: clamp(26px, 7vw, 72px) !important; }
  .article-body            { font-size: 18px !important; }
  .article-body h2         { font-size: 24px !important; margin: 32px 0 16px !important; }
  .article-body blockquote { font-size: 20px !important; padding-left: 20px !important; }
  .article-body .dropcap::first-letter { font-size: 56px !important; }
  .eyebrow                 { font-size: 9px !important; }

  /* ── Navigation ─────────────────────────────────── */
  .site-nav                { padding: 10px var(--padding-x) !important; }
  .nav-links               { display: none !important; }
  .nav-mobile-toggle       { display: flex !important; }
  .nav-actions .nav-link   { display: none !important; }
  .nav-brand__logo         { height: 36px !important; width: auto !important; }

  /* ── Home Hero ──────────────────────────────────── */
  .home-hero-image         { height: 560px !important; }
  .home-hero-image > img   { position: relative !important; width: 100% !important; height: 100% !important; top: auto !important; right: auto !important; object-fit: cover !important; object-position: top center !important; }
  .home-hero-image > .reveal:not(img) { display: none !important; } /* hide floating badges */
  .home-hero-cta           { flex-direction: column !important; align-items: stretch !important; }
  .home-hero-cta .btn-primary,
  .home-hero-cta .btn-ghost { text-align: center; justify-content: center; }

  /* ── Home About ─────────────────────────────────── */
  .home-about-grid         { gap: 32px !important; }
  .home-about-grid img     { object-fit: cover !important; object-position: top center !important; min-height: 460px !important; }
  .home-about-badge        { position: relative !important; bottom: auto !important; right: auto !important; margin-top: -40px !important; margin-left: 16px !important; margin-right: 16px !important; }
  .home-stats              { gap: 20px !important; flex-wrap: wrap !important; }

  /* ── Grids ──────────────────────────────────────── */
  .products-grid           { grid-template-columns: repeat(2, 1fr) !important; gap: 16px 10px !important; }
  .products-grid--3col     { grid-template-columns: repeat(2, 1fr) !important; gap: 20px 10px !important; }
  .posts-grid              { grid-template-columns: 1fr !important; gap: 32px !important; }
  .collections-grid        { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .instagram-grid          { grid-template-columns: repeat(3, 1fr) !important; }
  .footer-grid             { grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 32px !important; padding-bottom: 24px !important; }

  /* ── Product Card ───────────────────────────────── */
  .product-card__name      { font-size: 15px !important; }
  .product-card__price     { font-size: 14px !important; }
  .product-card__add-to-cart { transform: translateY(0) !important; opacity: 1 !important; padding: 10px !important; font-size: 9px !important; }

  /* ── Product Detail ─────────────────────────────── */
  .product-gallery          { grid-template-columns: 1fr !important; }
  .product-gallery__thumbs  { flex-direction: row !important; order: 2 !important; overflow-x: auto !important; max-height: none !important; gap: 6px !important; }
  .product-gallery__thumb   { width: 56px !important; height: 56px !important; flex-shrink: 0 !important; }
  .product-detail           { position: static !important; }
  .product-detail__title    { font-size: clamp(26px, 7vw, 60px) !important; }
  .product-detail__price    { font-size: 24px !important; }
  .trust-row                { grid-template-columns: 1fr !important; gap: 10px !important; }
  .gift-wrap-banner         { flex-direction: column !important; text-align: center !important; }
  .woocommerce div.product form.cart { flex-direction: column !important; }

  /* ── Blog ───────────────────────────────────────── */
  .post-card__title         { font-size: 20px !important; }

  /* ── Article ────────────────────────────────────── */
  .article-layout > aside   { display: none !important; }

  /* ── Contact Form ───────────────────────────────── */
  .contact-fields-grid      { grid-template-columns: 1fr !important; gap: 20px !important; }

  /* ── Sections ───────────────────────────────────── */
  .section                  { padding: 40px var(--padding-x) !important; }
  .section--sm              { padding: 28px var(--padding-x) !important; }
  .section-header           { margin-bottom: 28px !important; }
  .wp-block-group[style*="padding-top:120px"],
  .wp-block-group[style*="padding-top:140px"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* ── Cart ────────────────────────────────────────── */
  .alessandra-cart           { padding: 24px var(--padding-x) 60px !important; }
  .alessandra-cart__item     { grid-template-columns: 80px 1fr !important; gap: 14px !important; }
  .alessandra-cart__item-image img { width: 80px !important; height: 100px !important; }
  .alessandra-cart__item-end { grid-column: 1 / -1 !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; padding-top: 8px !important; border-top: 1px dashed rgba(141,166,149,0.15) !important; }
  .alessandra-cart__item-name a { font-size: 18px !important; }
  .alessandra-cart__actions  { flex-direction: column !important; align-items: stretch !important; }
  .alessandra-cart__coupon   { width: 100% !important; }
  .alessandra-cart__coupon-input { flex: 1 !important; width: auto !important; }
  .alessandra-cart__update   { margin-left: 0 !important; text-align: center !important; }

  /* ── Cart Drawer ────────────────────────────────── */
  .cart-drawer              { width: 100vw !important; }
  .cart-drawer__header      { padding: 16px 20px !important; }
  .cart-drawer__body        { padding: 14px 20px !important; }
  .cart-drawer__footer      { padding: 14px 20px !important; }

  /* ── Footer ─────────────────────────────────────── */
  .site-footer              { padding: 40px var(--padding-x) 20px !important; }
  .footer-brand__name       { font-size: 24px !important; }
  .footer-wordmark__text    { font-size: clamp(50px, 18vw, 220px) !important; }
  .footer-bottom            { flex-direction: column !important; text-align: center !important; gap: 10px !important; }
  .footer-legal             { flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }

  /* ── Breadcrumb ─────────────────────────────────── */
  .breadcrumb               { font-size: 9px !important; gap: 5px !important; margin-bottom: 20px !important; }

  /* ── Accordion ──────────────────────────────────── */
  .accordion__trigger       { gap: 12px !important; padding: 18px 0 !important; }
  .accordion__title         { font-size: 18px !important; }

  /* ── Pagination ─────────────────────────────────── */
  .pagination               { margin-top: 40px !important; }
  .pagination__link,
  .pagination__prev,
  .pagination__next          { width: 34px !important; height: 34px !important; font-size: 12px !important; }

  /* ── Tags ───────────────────────────────────────── */
  .tag                      { font-size: 9px !important; padding: 4px 10px !important; }

  /* ── Filter Chips ───────────────────────────────── */
  .filter-chips             { overflow-x: auto !important; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 4px; }
  .filter-chips::-webkit-scrollbar { display: none; }
  .filter-chip              { flex-shrink: 0 !important; padding: 8px 14px !important; font-size: 9px !important; }

  /* ── Newsletter ─────────────────────────────────── */
  .newsletter-form          { max-width: 100% !important; }

  /* ── WooCommerce Account ────────────────────────── */
  .woocommerce-account .page-content > .woocommerce { grid-template-columns: 1fr !important; gap: 0 !important; padding: 24px var(--padding-x) !important; }
  .woocommerce-MyAccount-navigation { position: static !important; margin-bottom: 24px !important; }
  .woocommerce-MyAccount-navigation ul { flex-direction: row !important; overflow-x: auto !important; border-top: none !important; border-bottom: 1px solid rgba(141,166,149,0.2) !important; scrollbar-width: none; }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .woocommerce-MyAccount-navigation li { border-bottom: none !important; flex-shrink: 0 !important; }
  .woocommerce-MyAccount-navigation li a { padding: 10px 14px !important; border-left: none !important; border-bottom: 2px solid transparent !important; font-size: 10px !important; white-space: nowrap !important; }
  .woocommerce-MyAccount-navigation li.is-active a { border-left: none !important; border-bottom-color: var(--sage-deep) !important; }

  /* ── WooCommerce Checkout ───────────────────────── */
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; gap: 24px !important; }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { float: none !important; width: 100% !important; }

  /* ── WooCommerce Cart Table (fallback) ──────────── */
  .woocommerce table.shop_table thead { display: none !important; }
  .woocommerce table.shop_table tbody tr { display: flex !important; flex-wrap: wrap !important; padding: 14px 0 !important; gap: 8px !important; align-items: center !important; }
  .woocommerce table.shop_table tbody td { border: none !important; padding: 4px 0 !important; }

  /* ── Contatti page grid ─────────────────────────── */
  .wp-block-group[style*="grid-template-columns:1.3fr 1fr"] {
    display: block !important;
  }
  .wp-block-group[style*="grid-template-columns:1.3fr 1fr"] > div {
    margin-bottom: 32px;
  }
  .wp-block-group[style*="padding:48px"][style*="background:var(--sage-whisper)"] {
    padding: 24px !important;
  }

  /* ── Alessandra page grids ──────────────────────── */
  .wp-block-columns         { flex-direction: column !important; gap: 32px !important; }
  .wp-block-column           { flex-basis: 100% !important; }

  /* ── Notifima ───────────────────────────────────── */
  .notifima-subscribe-form .fields_wrap { flex-direction: column !important; border-bottom: none !important; }
  .notifima-subscribe-form .notifima-email { border-bottom: 1px solid rgba(141,166,149,0.4) !important; }

  /* ── Reading progress ──────────────────────────── */
  .reading-progress         { top: 0 !important; }

  /* ── Monogram divider ──────────────────────────── */
  .home-hero-grid + div[style*="margin-top:100px"] {
    margin-top: 48px !important;
  }
}

/* ═══ SMALL MOBILE (≤ 480px) ═════════════════════════ */
@media (max-width: 480px) {

  .hero-title              { font-size: clamp(28px, 10vw, 80px) !important; }
  .section-title           { font-size: clamp(22px, 7vw, 48px) !important; }

  .products-grid           { grid-template-columns: 1fr !important; gap: 24px !important; }
  .collections-grid        { grid-template-columns: 1fr !important; gap: 12px !important; }
  .collection-card         { aspect-ratio: 4/3 !important; }

  .product-card__info      { flex-direction: column !important; gap: 4px !important; }

  .home-hero-image         { height: 460px !important; }
  .home-stats              { flex-direction: column !important; gap: 16px !important; }

  .instagram-grid          { grid-template-columns: repeat(2, 1fr) !important; }

  .article-layout          { grid-template-columns: 1fr !important; }
  .article-layout > aside  { display: none !important; }

  .section                 { padding: 32px var(--padding-x) !important; }

  /* Gutenberg block spacing */
  .wp-block-group[style*="padding-top:120px"],
  .wp-block-group[style*="padding-top:140px"],
  .wp-block-group[style*="padding-top:80px"] {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  /* CTA cards (Alessandra page) */
  .wp-block-group[style*="grid-template-columns:1fr 1fr"][style*="gap:32px"] {
    display: block !important;
  }
  .wp-block-group[style*="grid-template-columns:1fr 1fr"][style*="gap:32px"] > a {
    margin-bottom: 12px;
    display: block;
  }

  /* Quote block */
  .wp-block-group[style*="padding:64px 48px"],
  .wp-block-group[style*="padding:32px 24px"] {
    padding: 24px 16px !important;
  }

  /* Manifesto text */
  p.serif[style*="clamp(32px"],
  p.serif[style*="clamp(22px"] {
    font-size: clamp(20px, 5vw, 52px) !important;
  }

  /* ── Editorial slider ─────────────────────────────── */
  .editorial-slider__arrow { display: none !important; }
  .editorial-slider__slide { aspect-ratio: 4 / 5; }
  .editorial-slider__content {
    left: 28px;
    right: 28px;
    max-width: none;
  }
  .editorial-slider__excerpt { display: none; }
  .editorial-slider__dots { bottom: 16px; }
}
