
/* Capri v1.47 — corrección global de pies de foto y textos bajo imagen en móvil */
@media (max-width: 800px) {
  /* Nunca recortar captions/labels */
  figcaption,
  .home-flavour-caption,
  .capri-real-formats figcaption,
  .capri-local-format-gallery figcaption,
  .vintage-photo figcaption,
  .atlas-photo figcaption,
  .home-craft-image figcaption,
  .home-craft-photo figcaption {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.3 !important;
    box-sizing: border-box !important;
  }

  /* Las fotos tipo álbum tenían un hueco fijo de 34px para el pie.
     En móvil el texto puede necesitar dos líneas: damos altura real. */
  .vintage-photo,
  .atlas-photo {
    padding-bottom: 52px !important;
    overflow: visible !important;
  }
  .vintage-photo:after,
  .atlas-photo:after {
    bottom: 52px !important;
  }
  .vintage-photo figcaption,
  .atlas-photo figcaption {
    left: 10px !important;
    right: 10px !important;
    bottom: 8px !important;
    padding: 0 2px !important;
    font-size: 11px !important;
  }

  /* Galerías de formatos/pedido */
  .capri-real-formats figure,
  .capri-local-format-gallery figure {
    overflow: hidden !important;
    height: auto !important;
  }
  .capri-real-formats figcaption,
  .capri-local-format-gallery figcaption {
    display: block !important;
    padding: 12px 14px 14px !important;
    font-size: .9rem !important;
  }

  /* Nombre y categoría de sabores de portada */
  .home-flavour-caption {
    padding: 11px 3px 3px !important;
  }
  .home-flavour-caption h3 {
    white-space: normal !important;
    overflow: visible !important;
    display: block !important;
    line-height: 1.15 !important;
    min-height: 0 !important;
    margin-bottom: 5px !important;
  }
}

@media (max-width: 500px) {
  .home-flavour-caption h3 {
    font-size: 16px !important;
  }
  .home-craft-image figcaption,
  .home-craft-photo figcaption {
    max-width: calc(100% - 20px) !important;
    right: 10px !important;
    left: auto !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }
}

/* v1.48 — pedido móvil más compacto y carrito sin tapar acciones */
@media (max-width: 760px) {
  /* La guía visual ya contiene nombres y precios: evitamos repetir cinco tarjetas enormes. */
  .capri-cone-prices { display:none !important; }
  .capri-cone-showcase { padding:10px !important; margin:10px 0 20px !important; }
  .capri-cone-showcase__head { margin-bottom:10px !important; }
  .capri-cone-showcase__head h2 { font-size:1.35rem !important; line-height:1.12 !important; }
  .capri-cone-showcase__head p { font-size:.82rem !important; line-height:1.4 !important; }
  .capri-cone-note { margin:10px 4px 0 !important; font-size:.84rem !important; line-height:1.42 !important; }

  /* Carrito compacto a la derecha; no ocupa todo el ancho ni tapa PERSONALIZAR. */
  html body a.capri-floating-cart,
  body a.capri-floating-cart,
  .capri-floating-cart {
    left:auto !important;
    right:10px !important;
    bottom:10px !important;
    max-width:220px !important;
    padding:8px 11px !important;
    gap:8px !important;
    border-radius:12px !important;
  }
  html body a.capri-floating-cart .capri-floating-cart__icon { font-size:18px !important; }
  html body a.capri-floating-cart .capri-floating-cart__text strong { font-size:9px !important; }
  html body a.capri-floating-cart .capri-floating-cart__text span { font-size:11px !important; }

  /* Reserva espacio al final del pedido para que el carrito no cubra el último control. */
  body:has(.order-premium-shell) .order-premium-shell { padding-bottom:76px !important; }

  /* En la portada las dos polaroids pasan a un flujo vertical real. Así la
     segunda fotografía nunca se monta sobre el pie de la primera. */
  .home-story-photos {
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:18px !important;
    min-height:0 !important;
  }
  .home-story-photos .story-photo-large,
  .home-story-photos .story-photo-small {
    position:relative !important;
    inset:auto !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
  }
  .home-story-photos .story-photo-large { width:100% !important; }
  .home-story-photos .story-photo-small { width:72% !important; margin-left:auto !important; }
  .home-story-photos .atlas-photo img { height:auto !important; max-height:none !important; }

  /* El panel completo es desplazable en móvil; el formulario final deja de
     quedar fuera de pantalla al bloquearse el scroll de la página. */
  .cart-drawer {
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }
  .cart-drawer-head {
    position:sticky !important;
    top:0 !important;
    z-index:3 !important;
    padding:16px 18px !important;
    background:#fff !important;
  }
  .cart-drawer-head h2 { font-size:2rem !important; }
  .cart-drawer-body {
    flex:none !important;
    overflow:visible !important;
    padding:4px 18px !important;
  }
  .drawer-cart-row { padding:14px 0 !important; gap:10px !important; }
  .drawer-row-end { flex:0 0 auto !important; }
  .remove-item { padding:5px 0 !important; font-size:11px !important; }
  .cart-drawer-footer {
    padding:16px 18px calc(24px + env(safe-area-inset-bottom)) !important;
  }
  .cart-is-open .capri-floating-cart { display:none !important; }
  .modern-checkout.open { display:block !important; }

  .pickup-only-banner {
    display:grid !important;
    gap:4px !important;
    margin-top:18px !important;
    padding:14px 16px !important;
    border-left:4px solid var(--orange) !important;
    border-radius:10px !important;
    background:#fff8e9 !important;
  }
  .pickup-only-banner strong { color:var(--teal) !important; }
  .pickup-only-banner span { font-size:.86rem !important; line-height:1.4 !important; }
  .pickup-fields { grid-template-columns:1fr !important; }
}

@media (min-width: 761px) {
  .pickup-only-banner {display:flex;gap:12px;align-items:center;margin-top:20px;padding:14px 18px;border-left:4px solid var(--orange);border-radius:10px;background:#fff8e9}
  .pickup-only-banner strong {color:var(--teal);white-space:nowrap}
}

.pickup-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;grid-column:1/-1}
.pickup-fields label{margin:0}
.pickup-fields small{display:block;color:var(--muted);font-size:11px;margin-top:2px}

/* El panel completo del pedido debe desplazarse en cualquier pantalla. El
   formulario puede superar la altura disponible tanto en móvil como en PC. */
.cart-drawer{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}
.cart-drawer-head{
  position:sticky !important;
  top:0 !important;
  z-index:4 !important;
  background:#fff !important;
}
.cart-drawer-body{
  flex:0 0 auto !important;
  overflow:visible !important;
}
.cart-drawer-footer{
  flex:0 0 auto !important;
}
.cart-is-open .capri-floating-cart{
  display:none !important;
}
.order-success-modern{text-align:center;padding:42px 24px 30px}
.order-success-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#27888b;color:#fff;font-size:36px;font-weight:900}
.order-success-modern h3{font:700 38px/1 var(--serif);margin:8px 0 14px;color:var(--ink)}
.order-success-modern>p{color:var(--muted);line-height:1.55}
.order-success-modern dl{margin:24px 0;text-align:left;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.order-success-modern dl div{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border-bottom:1px solid var(--line)}
.order-success-modern dl div:last-child{border-bottom:0}
.order-success-modern dt{color:var(--muted)}
.order-success-modern dd{margin:0;font-weight:900;text-align:right;color:var(--ink)}
.order-success-note{font-weight:800;color:#267047 !important}
.order-email-status{padding:12px 14px;border-radius:10px;font-size:.9rem}
.order-email-status.ok{background:#e9f7ef;color:#267047 !important}
.order-email-status.warning{background:#fff4df;color:#8b5b12 !important}
.order-again-button{display:block;text-align:center;margin-top:10px}

/* v1.60 — pausa temporal de pedidos propios */
.order-coming-soon{min-height:62vh;display:grid;place-items:center;padding-top:clamp(70px,10vw,130px);padding-bottom:clamp(70px,10vw,130px)}
.order-coming-soon__card{width:min(760px,100%);padding:clamp(34px,7vw,76px);text-align:center;border:1px solid rgba(17,54,60,.14);border-radius:28px;background:#fffaf1;box-shadow:0 24px 70px rgba(35,48,40,.1)}
.order-coming-soon__card h1{margin:10px 0 20px;font:700 clamp(52px,9vw,92px)/.95 var(--serif);color:var(--ink)}
.order-coming-soon__card p{max-width:620px;margin:12px auto;color:var(--muted);font-size:clamp(18px,2.2vw,23px);line-height:1.5}
.order-coming-soon__card .order-coming-soon__payment{display:inline-block;margin:20px auto 6px;padding:11px 18px;border-radius:999px;background:#edf6f5;color:#176f74;font-size:16px;font-weight:900}
.order-coming-soon__card .actions{justify-content:center;margin-top:28px}
@media(max-width:600px){.order-coming-soon{padding:52px 18px}.order-coming-soon__card{padding:38px 22px;border-radius:20px}.order-coming-soon__card .actions{display:grid}.order-coming-soon__card .btn{width:100%}}
