/*
Theme Name: El Punto Theme
Author: Tu Nombre
Description: Tema a medida para El Punto
Version: 1.1
*/

/*
Theme Name: El Punto Theme
Author: Tu Nombre
Description: Tema a medida para El Punto
Version: 1.2
*/

/* ⬇️ AQUÍ VA TU CSS ORIGINAL DE INDEX.HTML ⬇️ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cream:#F5F0E8;
  --ivory:#FAF7F2;
  --charcoal:#1C1C1A;
  --warm-dark:#1A1814;
  --gold:#B8954A;
  --gold-light:#D4AF6E;
  --muted:#7A7570;
  --border:rgba(28,28,26,0.12);
}
html{scroll-behavior:smooth;}
body{background:var(--ivory);color:var(--charcoal);font-family:'Karla',sans-serif;font-weight:300;overflow-x:hidden;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;background:rgba(250,247,242,0.94);backdrop-filter:blur(16px);border-bottom:0.5px solid var(--border);}
body.admin-bar nav { top: 32px !important; }
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;letter-spacing:0.12em;color:var(--charcoal);text-decoration:none;}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-size:0.76rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;}
.nav-links a:hover{color:var(--charcoal);}
.nav-cta{font-size:0.74rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:0.5px solid var(--gold);padding:0.6rem 1.4rem;transition:all 0.3s;}
.nav-cta:hover{background:var(--gold);color:var(--ivory);}

.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:5rem;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 3rem;border-right:0.5px solid var(--border);}
.hero-eyebrow{font-size:0.7rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3.8rem,7vw,6.8rem);font-weight:300;line-height:0.95;color:var(--charcoal);margin-bottom:0.5rem;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-subtitle{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:300;color:var(--muted);line-height:1.2;margin-bottom:2.5rem;}
.hero-desc{font-size:0.92rem;line-height:1.9;color:var(--muted);max-width:38ch;margin-bottom:3rem;}
.hero-actions{display:flex;align-items:center;gap:2rem;}
.btn-primary{display:inline-block;background:var(--charcoal);color:var(--ivory);font-family:'Karla',sans-serif;font-size:0.74rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;padding:1rem 2.2rem;transition:all 0.3s;}
.btn-primary:hover{background:var(--gold);}
.btn-ghost{font-size:0.78rem;color:var(--muted);text-decoration:none;border-bottom:0.5px solid var(--border);padding-bottom:2px;transition:all 0.3s;}
.btn-ghost:hover{color:var(--charcoal);border-color:var(--charcoal);}
.hero-right{position:relative;overflow:hidden;}
.hero-img-main{width:100%;height:100%;object-fit:cover;filter:brightness(0.82) contrast(1.05);transition:transform 8s ease;display:block;}
.hero-right:hover .hero-img-main{transform:scale(1.03);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,24,20,0.45) 0%,rgba(28,24,20,0.1) 60%,transparent 100%);}
.hero-stats{position:absolute;bottom:3rem;left:2.5rem;display:flex;gap:2.5rem;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:300;color:#fff;line-height:1;}
.stat-label{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:0.3rem;}
.hero-badge{position:absolute;top:2.5rem;right:2.5rem;border:0.5px solid rgba(255,255,255,0.3);padding:1rem 1.4rem;backdrop-filter:blur(8px);background:rgba(28,24,20,0.25);}
.hero-badge p{font-family:'Cormorant Garamond',serif;font-size:0.95rem;font-style:italic;color:rgba(255,255,255,0.8);line-height:1.6;}

.marquee-wrap{overflow:hidden;border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);padding:0.9rem 0;background:var(--cream);}
.marquee-track{display:flex;animation:marquee 28s linear infinite;white-space:nowrap;}
.marquee-track span{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;color:var(--muted);padding:0 2.2rem;}
.marquee-track .dot{color:var(--gold);font-style:normal;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.intro-bleed{display:grid;grid-template-columns:1fr 1fr;height:70vh;border-bottom:0.5px solid var(--border);}
.intro-img-wrap{position:relative;overflow:hidden;}
.intro-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(0.78);display:block;}
.intro-img-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(28,24,20,0.3),transparent);}
.intro-text-wrap{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem;background:var(--charcoal);}
.intro-kicker{font-size:0.7rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.intro-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.25;margin-bottom:2rem;}
.intro-body{font-size:0.88rem;line-height:1.9;color:rgba(250,247,242,0.5);max-width:42ch;}

#formaciones{padding:7rem 3rem;background:var(--ivory);}
.formaciones-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:5rem;}
.formaciones-header-left{max-width:50%;}
.formaciones-header-right{font-size:0.85rem;color:var(--muted);max-width:32ch;line-height:1.75;text-align:right;}
.section-eyebrow{font-size:0.7rem;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;line-height:1.1;color:var(--charcoal);}
.section-title em{font-style:italic;color:var(--gold);}

.formaciones-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.fcard{position:relative;overflow:hidden;cursor:pointer;}
.fcard-main{aspect-ratio:3/4;}
.fcard-sm{aspect-ratio:16/9;}
.fcard img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s ease;filter:brightness(0.72) contrast(1.08);display:block;}
.fcard:hover img{transform:scale(1.06);}
.fcard-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,14,0.9) 0%,rgba(20,18,14,0.1) 50%,transparent 100%);}
.fcard-content{position:absolute;bottom:0;left:0;right:0;padding:2.2rem;}
.fcard-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:rgba(255,255,255,0.1);line-height:1;margin-bottom:0.5rem;user-select:none;}
.fcard-tag{display:inline-block;font-size:0.62rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-light);border:0.5px solid rgba(212,175,110,0.4);padding:0.25rem 0.7rem;margin-bottom:0.8rem;}
.fcard-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:#fff;line-height:1.15;margin-bottom:0.6rem;}
.fcard-desc{font-size:0.78rem;color:rgba(255,255,255,0.55);line-height:1.7;}
.fcard-arrow{position:absolute;top:1.5rem;right:1.5rem;width:36px;height:36px;border-radius:50%;border:0.5px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);font-size:0.9rem;transition:all 0.3s;}
.fcard:hover .fcard-arrow{border-color:var(--gold);color:var(--gold);transform:rotate(45deg);}
.fcard-right-col{display:grid;grid-template-rows:1fr 1fr;gap:1.5rem;}

#nosotros{display:grid;grid-template-columns:1fr 1fr;background:var(--warm-dark);}
.about-img-col{position:relative;overflow:hidden;min-height:600px;}
.about-img-col img{width:100%;height:100%;object-fit:cover;filter:brightness(0.6) saturate(0.8);display:block;}
.about-img-tint{position:absolute;inset:0;background:linear-gradient(to right,transparent 40%,var(--warm-dark) 100%);}
.about-content{display:flex;flex-direction:column;justify-content:center;padding:6rem 4rem 6rem 5rem;}
.about-eyebrow{font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;}
.about-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:300;line-height:1.05;color:var(--ivory);margin-bottom:2rem;}
.about-title em{font-style:italic;color:var(--gold);}
.about-text{font-size:0.88rem;line-height:1.9;color:rgba(250,247,242,0.5);margin-bottom:1rem;}
.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:3rem;}
.highlight{background:rgba(250,247,242,0.04);padding:1.8rem;text-align:center;}
.highlight-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:0.3rem;}
.highlight-label{font-size:0.63rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(250,247,242,0.35);}

.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);height:45vh;border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);overflow:hidden;}
.gallery-cell{position:relative;overflow:hidden;border-right:0.5px solid rgba(250,247,242,0.06);}
.gallery-cell:last-child{border-right:none;}
.gallery-cell img{width:100%;height:100%;object-fit:cover;filter:brightness(0.65) saturate(0.85);transition:transform 0.7s ease,filter 0.5s ease;display:block;}
.gallery-cell:hover img{transform:scale(1.08);filter:brightness(0.82) saturate(1);}
.gallery-cell-label{position:absolute;bottom:1.5rem;left:1.5rem;font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.6);}

#modalidades{background:var(--cream);padding:7rem 3rem;}
.modalidades-inner{display:grid;grid-template-columns:1fr 2fr;gap:5rem;align-items:start;}
.modal-desc{font-size:0.88rem;color:var(--muted);line-height:1.8;margin-top:1.5rem;}
.modalidades-right{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(28,28,26,0.08);}
.modal-card{background:var(--cream);padding:2.5rem;transition:background 0.3s;}
.modal-card:hover{background:var(--ivory);}
.modal-icon{width:32px;height:32px;margin-bottom:1.2rem;opacity:0.8;}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:var(--charcoal);margin-bottom:0.7rem;}
.modal-text{font-size:0.82rem;color:var(--muted);line-height:1.75;}

.testimonial-section{background:var(--charcoal);padding:6rem 3rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;}
.tcard{padding:3rem 2.5rem;background:rgba(250,247,242,0.03);border:0.5px solid rgba(250,247,242,0.06);transition:background 0.3s;}
.tcard:hover{background:rgba(250,247,242,0.06);}
.tcard-stars{color:var(--gold);font-size:0.75rem;margin-bottom:1.2rem;letter-spacing:2px;}
.tcard-quote{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;font-weight:300;color:rgba(250,247,242,0.7);line-height:1.7;margin-bottom:1.8rem;}
.tcard-author-name{font-size:0.78rem;font-weight:400;letter-spacing:0.1em;color:var(--ivory);}
.tcard-author-role{font-size:0.7rem;color:var(--gold);margin-top:0.2rem;}

#contacto{padding:7rem 3rem;border-top:0.5px solid var(--border);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;}
.contact-info-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.1;color:var(--charcoal);margin-bottom:1.5rem;}
.contact-info-title em{font-style:italic;color:var(--gold);}
.contact-info-text{font-size:0.88rem;color:var(--muted);line-height:1.8;margin-bottom:3rem;}
.contact-details{display:flex;flex-direction:column;gap:1.5rem;}
.detail-label{font-size:0.63rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.detail-value{font-size:0.9rem;color:var(--charcoal);margin-top:0.2rem;}
.map-placeholder{margin-top:2.5rem;height:180px;background:var(--cream);border:0.5px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.map-pin{width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(184,149,74,0.2);}
.map-label{position:absolute;bottom:1rem;left:1rem;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.contact-form{display:flex;flex-direction:column;gap:0;}
.form-field{display:flex;flex-direction:column;border-bottom:0.5px solid var(--border);padding:1.2rem 0;}
.form-label{font-size:0.63rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:0.6rem;}
.form-input{background:transparent;border:none;outline:none;font-family:'Karla',sans-serif;font-size:0.95rem;font-weight:300;color:var(--charcoal);padding:0;width:100%;}
.form-input::placeholder{color:rgba(122,117,112,0.4);}
.form-select{background:transparent;border:none;outline:none;font-family:'Karla',sans-serif;font-size:0.95rem;font-weight:300;color:var(--charcoal);padding:0;width:100%;cursor:pointer;-webkit-appearance:none;}
.btn-submit{margin-top:2.5rem;background:var(--gold);color:var(--ivory);border:none;font-family:'Karla',sans-serif;font-size:0.74rem;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;padding:1.1rem 2.5rem;cursor:pointer;transition:background 0.3s;align-self:flex-start;}
.btn-submit:hover{background:var(--charcoal);}

footer{background:var(--warm-dark);padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:300;letter-spacing:0.1em;color:rgba(250,247,242,0.5);}
.footer-logo span{color:var(--gold);}
.footer-copy{font-size:0.7rem;letter-spacing:0.08em;color:rgba(250,247,242,0.2);}
.footer-links{display:flex;gap:2rem;list-style:none;}
.footer-links a{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(250,247,242,0.25);text-decoration:none;transition:color 0.3s;}
.footer-links a:hover{color:var(--gold);}

.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.9s ease,transform 0.9s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.15s;}
.reveal-delay-2{transition-delay:0.3s;}

@media(max-width:900px){
  nav{padding:1.2rem 1.5rem;}
  .nav-links{display:none;}
  .hero{grid-template-columns:1fr;}
  .hero-right{height:55vw;}
  .hero-left{padding:4rem 1.5rem;}
  #formaciones,#modalidades,#contacto{padding:5rem 1.5rem;}
  .formaciones-header{flex-direction:column;gap:1.5rem;}
  .formaciones-header-left{max-width:100%;}
  .formaciones-header-right{text-align:left;}
  .formaciones-grid{grid-template-columns:1fr;}
  .fcard-right-col{grid-template-rows:auto;}
  .intro-bleed{grid-template-columns:1fr;height:auto;}
  .intro-img-wrap{height:50vw;}
  .intro-text-wrap{padding:4rem 1.5rem;}
  #nosotros{grid-template-columns:1fr;}
  .about-img-col{min-height:50vw;}
  .about-content{padding:4rem 1.5rem;}
  .gallery-strip{grid-template-columns:1fr 1fr;height:auto;}
  .gallery-cell{height:40vw;}
  .modalidades-inner{grid-template-columns:1fr;gap:3rem;}
  .modalidades-right{grid-template-columns:1fr;}
  .testimonial-section{grid-template-columns:1fr;padding:4rem 1.5rem;}
  .contact-inner{grid-template-columns:1fr;gap:4rem;}
  footer{flex-direction:column;gap:1.5rem;text-align:center;}
  .footer-links{display:none;}
}

/* FIX FOR WORDPRESS ADMIN BAR EXTRA SPACING ON HERO */
body.admin-bar .hero { padding-top: calc(5rem + 32px) !important; }
body.admin-bar .page-hero { padding-top: calc(7rem + 32px) !important; }
body.admin-bar nav { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar nav { top: 46px !important; }
  body.admin-bar .hero { padding-top: calc(5rem + 46px) !important; }
  body.admin-bar .page-hero { padding-top: calc(7rem + 46px) !important; }
}