/* ====== ARCHIVE / GRID ====== */
/* Contenedor y título */
.amv-grid-wrap{max-width:1200px;margin:0 auto;padding:24px}
.amv-section-title{font-size:clamp(36px,5vw,72px);color:#2f8a3b;text-align:center;margin:0 0 24px;font-weight:800}

/* Reforzar que el contenedor ocupa el ancho disponible */
.amv-archive, .amv-grid-wrap, .amv-grid { width:100%; }

/* GRID 4 columnas (responsive) */
.amv-grid{
  display:grid !important;           /* ¡fuerza grid ante overrides! */
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
@media (max-width:1200px){.amv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.amv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.amv-grid{grid-template-columns:1fr}}

/* Fallback si el navegador/tema no respeta grid */
@supports not (display: grid) {
  .amv-grid{display:flex;flex-wrap:wrap;margin:-12px}
  .amv-card{width:calc(25% - 24px);margin:12px}
  @media (max-width:1200px){.amv-card{width:calc(33.333% - 24px)}}
  @media (max-width:900px){.amv-card{width:calc(50% - 24px)}}
  @media (max-width:560px){.amv-card{width:100%}}
}

/* Tarjeta */
.amv-card{
  display:flex;flex-direction:column;align-items:center;text-decoration:none;
  border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(0,0,0,.08);
  transition:transform .15s ease,box-shadow .15s ease
}
.amv-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.amv-card-img{display:flex;align-items:center;justify-content:center;height:260px}
.amv-bottle{max-height:260px;width:auto}
.amv-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#eaeaea;border-radius:12px;color:#666}

.amv-card-title{margin-top:14px;background:#1c8f3f;color:#fff;padding:12px 16px;border-radius:16px;font-weight:800;text-align:center;width:100%}

/* Botón Ver más */
.amv-loadmore-wrap{display:flex;justify-content:center;margin-top:24px}
.amv-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:700;border:none;cursor:pointer}
.amv-btn.primary{background:#1c8f3f;color:#fff}

/* ====== SINGLE / FICHA ====== */
.amv-single-wrap{max-width:1100px;margin:0 auto;padding:28px 16px}
.amv-title{font-size:clamp(34px,6vw,64px);color:#1c8f3f;margin:8px 0 16px;font-weight:800}
.amv-hero{display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start}
@media (max-width:820px){.amv-hero{grid-template-columns:1fr}}
.amv-hero .amv-hero-img img{width:100%;height:auto;}

.amv-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:14px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.amv-table th{background:#f4faf4;color:#1c8f3f;text-align:left;padding:12px;font-weight:700}
.amv-table td{background:#fff;padding:10px 12px;border-top:1px solid #eee}

.amv-tabs{margin-top:18px}
.amv-tablist{display:flex;gap:10px}
.amv-tab{border:1px solid #e0e0e0;background:#f8f8f8;border-radius:12px;padding:10px 16px;cursor:pointer;font-weight:600}
.amv-tab.active{background:#1c8f3f;color:#fff;border-color:#1c8f3f}
.amv-tab-pane{display:none;border:1px solid #eee;border-radius:14px;padding:16px;margin-top:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.amv-tab-pane.active{display:block}

.amv-cta{margin-top:22px;display:grid;gap:10px;justify-items:center;text-align:center}
.amv-cta .amv-actions{display:flex;gap:12px;flex-wrap:wrap}
.amv-btn.secondary{background:#e8f5e9;color:#1c8f3f;border:1px solid #cde8d2}

/* Forzar que el widget Shortcode ocupe todo el ancho en Elementor */
.elementor .elementor-widget-shortcode,
.elementor .elementor-widget-shortcode .elementor-widget-container,
.elementor .elementor-widget-shortcode .elementor-shortcode {
  width: 100% !important;
}

/* Asegurar que el wrap se centre y no quede limitado por estilos del tema */
.elementor .elementor-widget-shortcode .elementor-shortcode .amv-grid-wrap {
  max-width: 1200px;     /* o 100% si quieres que siga el ancho del contenedor */
  margin-left: auto;
  margin-right: auto;
}

/* Por si algún estilo del tema fuerza “display:block” en el grid */
.elementor .elementor-widget-shortcode .amv-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

/* === Forzar grid de 4 columnas dentro del widget Shortcode de Elementor === */
.elementor .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .amv-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px !important;
  width: 100% !important;
}

/* Evitar que reglas del tema den ancho fijo a los items */
.elementor .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .amv-grid > .amv-card {
  width: auto !important;          /* nada de width:100% heredado */
  max-width: none !important;      /* por si algún constructor limita el ancho */
  float: none !important;          /* por si hubiera floats antiguos */
  clear: none !important;
  display: flex !important;        /* mantenemos flex interno de la tarjeta */
}

/* Asegurar que el contenedor del shortcode no limite el ancho */
.elementor .elementor-widget-shortcode,
.elementor .elementor-widget-shortcode .elementor-widget-container,
.elementor .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode {
  width: 100% !important;
}

/* Mantener nuestro wrap centrado y ancho amplio */
.elementor .elementor-widget-shortcode .elementor-shortcode .amv-grid-wrap {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Breakpoints responsivos (con misma especificidad) */
@media (max-width: 1200px){
  .elementor .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .amv-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  
}
@media (max-width: 900px){
  .elementor .elementor-widget-shortcode .elementor-shortcode .amv-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 560px){
  .elementor .elementor-widget-shortcode .elementor-shortcode .amv-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Evita que alguna tarjeta “rompa” la grilla por tamaños internos */
.amv-grid > * { min-width: 0; box-sizing: border-box; }

/* Mantén una altura de vitrina consistente para la imagen */
.amv-card-img { height: 300px; }
@media (max-width: 900px){ .amv-card-img { height: 260px; } }
@media (max-width: 560px){ .amv-card-img { height: 220px; } }

/* Asegura que cada tarjeta sea un bloque clicable y centrado */
.amv-card { width: 100%; text-align: center; }
