/* ===========================
   PORTADA - EMBUDO DEL TALLER
   =========================== */

html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 80px; }

.section { padding: 70px 0; }
.section-alt { background: var(--soft-pink); }
.section-title { text-align: center; font-size: 2.1rem; color: var(--primary-color); margin-bottom: 0.5rem; }
.section-lead { text-align: center; max-width: 720px; margin: 0 auto 2.5rem; color: #4b5563; font-size: 1.1rem; }
.eyebrow { text-transform: uppercase; letter-spacing: 2px; font-size: 0.85rem; font-weight: 700; color: var(--accent-gold); }

.btn-primary { background: var(--primary-color); color: #fff; }
.btn-primary:hover { background: var(--secondary-color); }
.btn-outline { background: transparent; color: var(--primary-color); border: 2px solid var(--primary-color); }
.btn-outline:hover { background: var(--primary-color); color: #fff; }
.btn-whatsapp { background: #25d366; color: #fff; }
.btn-whatsapp:hover { background: #1ebe5a; }
.btn-disabled { background: #e5e7eb; color: #6b7280; cursor: default; pointer-events: none; }
.btn-row { display: flex; flex-wrap: wrap; gap: 0.8rem; }

.logo img { height: 42px; width: auto; display: block; }

/* Hero */
.taller-hero {
    background: linear-gradient(135deg, #fff5f8 0%, #fde4ec 55%, #f9d5e1 100%);
    padding: 60px 0 70px;
    overflow: hidden;
}
.taller-hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 3rem; align-items: center; }
.taller-hero h1 { font-size: 3.2rem; line-height: 1.1; color: var(--primary-color); margin: 0.4rem 0 0.3rem; font-family: Georgia, 'Times New Roman', serif; }
.taller-hero .subtitle { font-size: 1.7rem; font-style: italic; color: var(--secondary-color); margin-bottom: 1.2rem; font-family: Georgia, serif; }
.taller-hero p.intro { font-size: 1.15rem; color: #374151; margin-bottom: 1.5rem; max-width: 560px; }
.hero-facts { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem 1.2rem; margin-bottom: 1.8rem; }
.hero-facts li { background: #fff; border-radius: 12px; padding: 0.7rem 1rem; box-shadow: var(--shadow); font-size: 1rem; }
.hero-facts strong { display: block; color: var(--primary-color); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; }
.hero-poster { display: block; max-width: 400px; margin: 0 auto; border-radius: 16px; box-shadow: 0 20px 45px rgba(155, 44, 92, 0.28); transform: rotate(1.5deg); transition: transform 0.3s ease; }
.hero-poster:hover { transform: rotate(0) scale(1.02); }
.hero-poster img { width: 100%; height: auto; display: block; border-radius: 16px; }

/* Datos clave */
.key-strip { background: var(--primary-color); color: #fff; padding: 1.4rem 0; }
.key-strip ul { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; }
.key-strip strong { display: block; font-size: 1.2rem; }
.key-strip span { font-size: 0.9rem; opacity: 0.9; }

/* Qué incluye */
.include-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.include-card { background: #fff; border-radius: 14px; padding: 1.6rem; box-shadow: var(--shadow); border-top: 4px solid var(--secondary-color); }
.include-card .icon { font-size: 2rem; display: block; margin-bottom: 0.6rem; }
.include-card h3 { color: var(--primary-color); margin-bottom: 0.4rem; font-size: 1.15rem; }
.include-card p { color: #4b5563; font-size: 0.98rem; }

/* Dos columnas genéricas */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.split h2 { color: var(--primary-color); font-size: 2rem; margin: 0.3rem 0 1rem; text-align: left; }
.split p { margin-bottom: 1rem; color: #374151; }
.check-list { list-style: none; margin: 1rem 0 1.5rem; }
.check-list li { padding-left: 1.8rem; position: relative; margin-bottom: 0.6rem; }
.check-list li::before { content: "✿"; position: absolute; left: 0; color: var(--secondary-color); }

/* Caseta */
.cabin-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 0.8rem; }
.cabin-gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 12px; box-shadow: var(--shadow); display: block; }
.cabin-gallery img:first-child { grid-row: span 2; }

/* Agenda */
.agenda { background: linear-gradient(135deg, #fff7f0, #fdeff3); }
.agenda-cover {
    width: 100%;
    max-width: 340px;
    aspect-ratio: 1000 / 1510;
    margin: 0 auto;
    border-radius: 6px 14px 14px 6px;
    background: url("../images/Portada%20NUEVA%20Agenda_retocada.jpg") right center / 200% auto no-repeat;
    box-shadow: -6px 8px 0 rgba(155, 44, 92, 0.15), 0 20px 40px rgba(0, 0, 0, 0.2);
}
.agenda-box { background: #fff; border-radius: 14px; padding: 1.4rem; box-shadow: var(--shadow); margin-top: 1.2rem; }
.agenda-box p { margin-bottom: 0.8rem; font-size: 0.95rem; }
.agenda-badge { display: inline-block; background: var(--accent-gold); color: #fff; padding: 0.25rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 700; margin-bottom: 0.8rem; }

/* Guía */
.guide { text-align: center; max-width: 760px; margin: 0 auto; }
.guide p { font-size: 1.1rem; color: #374151; }

/* Blog y YouTube */
.media-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.media-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; }
.media-card img { width: 100%; height: 220px; object-fit: cover; display: block; }
.media-card .body { padding: 1.6rem; display: flex; flex-direction: column; gap: 0.8rem; flex: 1; }
.media-card h3 { color: var(--primary-color); font-size: 1.4rem; }
.media-card .btn-row { margin-top: auto; }
.media-card.blog-card-home .media-placeholder { height: 220px; display: flex; align-items: center; justify-content: center; font-size: 5rem; background: linear-gradient(135deg, #fde4ec, #f9d5e1); }

/* CTA final */
.final-cta { background: linear-gradient(135deg, var(--primary-color), #6e1e42); color: #fff; text-align: center; padding: 70px 0; }
.final-cta h2 { font-size: 2.2rem; margin-bottom: 0.6rem; }
.final-cta p { max-width: 640px; margin: 0 auto 1.8rem; opacity: 0.95; font-size: 1.1rem; }
.final-cta .btn-row { justify-content: center; }
.final-cta .btn-primary { background: #fff; color: var(--primary-color); }
.final-cta .btn-primary:hover { background: var(--soft-pink); }
.final-cta .small { margin-top: 1.5rem; font-size: 0.95rem; opacity: 0.9; }

@media (max-width: 900px) {
    .taller-hero-grid, .split, .media-grid { grid-template-columns: 1fr; }
    .taller-hero h1 { font-size: 2.4rem; }
    .taller-hero .subtitle { font-size: 1.35rem; }
    .hero-poster { max-width: 300px; }
    .key-strip ul { grid-template-columns: 1fr 1fr; }
    .split .cabin-gallery { order: -1; }
}

@media (max-width: 480px) {
    .hero-facts { grid-template-columns: 1fr; }
    .btn-row .btn { width: 100%; }
    .section { padding: 50px 0; }
    .section-title { font-size: 1.7rem; }
}
