/* Ediberia demo2 - estilos propios sobre Edutra (tema hijo) */
:root{
  --ed-crimson:#802939; --ed-red:#b7262e; --ed-pastel:#d49da3; --ed-orange:#e9b049;
  --ed-ink:#2b1418; --ed-soft:#fbf3f4; --ed-line:#ead9db; --ed-white:#ffffff;
  --global-body-font-family:'Montserrat',sans-serif;
  --global-heading-font-family:'Nunito',sans-serif;
}
body,button,input,select,textarea,.elementor-widget-text-editor,.elementor-widget-icon-list .elementor-icon-list-text{font-family:'Montserrat',sans-serif}
h1,h2,h3,h4,h5,h6,.elementor-heading-title,.site-branding .site-title{font-family:'Nunito',sans-serif !important}
.elementor-button,.wp-block-button__link{font-family:'Nunito',sans-serif;letter-spacing:.5px}
h1,h2,h3,h4,h5,h6{text-transform:none !important}
sr7-txt{font-family:'Nunito',sans-serif !important}

/* logo */
.site-branding .custom-logo,.site-branding img{max-height:64px;width:auto}
.site-footer .custom-logo{max-height:70px;width:auto}

/* secciones propias */
.ed-sec{padding:84px 0}
.ed-sec.ed-soft{background:var(--ed-soft)}
.ed-wrap{max-width:1348px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.ed-head{text-align:center;max-width:820px;margin:0 auto 48px}
.ed-label{display:block;font:700 14px/1 'Nunito',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--ed-crimson);margin-bottom:14px}
.ed-title{font:800 clamp(30px,4vw,46px)/1.2 'Nunito',sans-serif;color:var(--ed-ink);margin:0 0 16px}
.ed-lead{color:#5b4a4d;font-size:17px;line-height:1.7;margin:0}
.ed-grid{display:grid;gap:24px}
.ed-g2{grid-template-columns:repeat(2,1fr)}
.ed-g3{grid-template-columns:repeat(3,1fr)}
.ed-g5{grid-template-columns:repeat(6,1fr)}
.ed-g5>.ed-card{grid-column:span 2}
.ed-g5>.ed-card:nth-child(4){grid-column:2 / span 2}
.ed-g5>.ed-card:nth-child(5){grid-column:4 / span 2}
.ed-card{background:var(--ed-white);border:1px solid var(--ed-line);border-radius:14px;padding:32px 28px;box-sizing:border-box;transition:transform .2s,box-shadow .2s}
.ed-soft .ed-card{border-color:transparent}
.ed-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(128,41,57,.12)}
.ed-card h3{font:700 21px/1.3 'Nunito',sans-serif;color:var(--ed-crimson);margin:0 0 12px}
.ed-card p{margin:0;color:#5b4a4d;font-size:15px;line-height:1.7}
.ed-num{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ed-crimson);color:#fff;font:800 18px/1 'Nunito',sans-serif;margin-bottom:18px}
.ed-card.ed-alt .ed-num{background:var(--ed-orange);color:var(--ed-ink)}
.ed-mv .ed-card{padding:40px 36px}
.ed-mv h3{font-size:26px}

/* packs */
.ed-pack{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ed-line);border-radius:18px;padding:38px 32px;box-sizing:border-box}
.ed-pack.ed-feat{border:2px solid var(--ed-crimson);box-shadow:0 18px 44px rgba(128,41,57,.14)}
.ed-pack .ed-tag{position:absolute;top:-14px;left:32px;background:var(--ed-orange);color:var(--ed-ink);font:800 12px/1 'Nunito',sans-serif;letter-spacing:1px;text-transform:uppercase;padding:8px 14px;border-radius:99px}
.ed-pack h3{font:800 24px/1.25 'Nunito',sans-serif;color:var(--ed-ink);margin:0 0 6px;min-height:60px}
.ed-price{font:800 52px/1 'Nunito',sans-serif;color:var(--ed-crimson);margin:10px 0 22px}
.ed-price small{font:600 20px/1 'Nunito',sans-serif;margin-left:4px;color:var(--ed-red)}
.ed-pack ul{list-style:none;margin:0 0 26px;padding:0;flex:1}
.ed-pack li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid #f3e7e8;color:#4a3a3d;font-size:15px;line-height:1.5}
.ed-pack li:before{content:"\2713";position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:50%;background:var(--ed-crimson);color:#fff;font-size:12px;line-height:20px;text-align:center}
.ed-note{font-size:14px;color:#6b5a5d;margin:0 0 22px}
.ed-note a{color:var(--ed-crimson);font-weight:700;text-decoration:underline}
.ed-btn{display:inline-block;background:var(--ed-crimson);color:#fff !important;font:700 15px/1 'Nunito',sans-serif;letter-spacing:.5px;text-transform:uppercase;text-align:center;padding:18px 34px;border-radius:99px;text-decoration:none !important;transition:background .2s}
.ed-btn:hover{background:var(--ed-red)}
.ed-btn.ed-ghost{background:transparent;color:var(--ed-crimson) !important;border:2px solid var(--ed-crimson);padding:16px 32px}
.ed-btn.ed-ghost:hover{background:var(--ed-crimson);color:#fff !important}
.ed-btn.ed-gold{background:var(--ed-orange);color:var(--ed-ink) !important}
.ed-btn.ed-gold:hover{background:#f1bd62}

/* testimonios */
.ed-soon{background:var(--ed-soft);border:2px dashed var(--ed-pastel);border-radius:18px;padding:56px 28px;text-align:center;max-width:860px;margin:0 auto}
.ed-soon p{margin:0;font:700 24px/1.4 'Nunito',sans-serif;color:var(--ed-crimson)}

/* contacto */
.ed-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start}
.ed-dl{list-style:none;margin:0;padding:0}
.ed-dl li{padding:16px 0;border-bottom:1px solid var(--ed-line);display:flex;flex-direction:column;gap:4px;font-size:16px;color:#4a3a3d}
.ed-dl b{font:700 13px/1 'Nunito',sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--ed-crimson)}
.ed-dl a{color:var(--ed-ink);text-decoration:none;font-weight:600}
.ed-dl a:hover{color:var(--ed-red)}
.ed-box{background:var(--ed-soft);border-radius:16px;padding:34px 30px}
.ed-box h3{font:800 24px/1.3 'Nunito',sans-serif;color:var(--ed-ink);margin:0 0 18px}

/* formulario (Contact Form 7) */
.ed-form label,.ed-form .ed-q{display:block;font:600 14px/1.4 'Montserrat',sans-serif;color:var(--ed-ink);margin-bottom:16px}
.ed-form .ed-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ed-form input[type=text],.ed-form input[type=email],.ed-form input[type=tel],.ed-form textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:14px 16px;border:1px solid #d9c6c9;border-radius:10px;background:#fff;font:400 15px/1.4 'Montserrat',sans-serif}
.ed-form input:focus,.ed-form textarea:focus{outline:2px solid var(--ed-pastel);border-color:var(--ed-crimson)}
.ed-form .wpcf7-radio{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:8px}
.ed-form .wpcf7-list-item{margin:0}
.ed-form .wpcf7-list-item label{display:inline-flex;gap:8px;align-items:center;margin:0;font-weight:500}
.ed-form .wpcf7-acceptance label{font-weight:500;font-size:13px}
.ed-form .wpcf7-acceptance a{color:var(--ed-crimson);text-decoration:underline}
.ed-form input[type=submit]{background:var(--ed-crimson);color:#fff;border:0;border-radius:99px;padding:18px 40px;font:700 15px/1 'Nunito',sans-serif;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.ed-form input[type=submit]:hover{background:var(--ed-red)}
.ed-form .wpcf7-not-valid-tip{color:var(--ed-red);font-size:13px}

/* PCE: tabla */
.ed-tablewrap{border-radius:14px;border:1px solid var(--ed-line);overflow:hidden}
table.ed-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.ed-table th{background:var(--ed-crimson);color:#fff;font:700 13px/1.3 'Nunito',sans-serif;text-align:left;padding:14px 12px;letter-spacing:.3px;text-transform:uppercase;vertical-align:bottom}
.ed-table td{padding:13px 12px;border-top:1px solid #f0e3e5;color:#4a3a3d;vertical-align:top;line-height:1.45}
.ed-table td:first-child{font-weight:700;color:var(--ed-ink);min-width:200px}
.ed-table tr:nth-child(even) td{background:var(--ed-soft)}
.ed-asig{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ed-asig a{display:block;background:#fff;border:1px solid var(--ed-line);border-radius:12px;padding:18px 18px;text-decoration:none !important;color:var(--ed-ink);font:700 16px/1.3 'Nunito',sans-serif;transition:all .2s}
.ed-asig a span{display:block;margin-top:6px;font:500 12px/1.3 'Montserrat',sans-serif;color:var(--ed-crimson)}
.ed-asig a:hover{border-color:var(--ed-crimson);box-shadow:0 10px 24px rgba(128,41,57,.12);transform:translateY(-2px)}
.ed-cta{background:linear-gradient(135deg,var(--ed-crimson),#5d1b28);border-radius:20px;padding:56px 32px;text-align:center;color:#fff}
.ed-cta h2{font:800 clamp(26px,3.4vw,38px)/1.25 'Nunito',sans-serif;color:#fff;margin:0 0 22px}

/* contenido pendiente */
.ed-pend{max-width:760px;margin:40px auto;padding:36px 30px;background:var(--ed-soft);border:2px dashed var(--ed-pastel);border-radius:16px;font:700 20px/1.5 'Nunito',sans-serif;color:var(--ed-crimson);text-align:center}

/* pie */
.ed-foot h4{font:800 18px/1.3 'Nunito',sans-serif;margin:0 0 16px}
.ed-foot ul{list-style:none;margin:0;padding:0}
.ed-foot li{margin:0 0 10px}
.ed-foot a{text-decoration:none}
.ed-foot a:hover{text-decoration:underline}
.ed-foot p{margin:0 0 10px;font-size:14px;line-height:1.7}

/* WhatsApp flotante */
.ed-wa{position:fixed;right:22px;bottom:22px;z-index:9999;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .2s}
.ed-wa:hover{transform:scale(1.08)}
.ed-wa svg{width:32px;height:32px;fill:#fff}

@media (max-width:1024px){
  .ed-g3{grid-template-columns:repeat(2,1fr)}
  .ed-g5{grid-template-columns:repeat(2,1fr)}
  .ed-g5>.ed-card,.ed-g5>.ed-card:nth-child(4),.ed-g5>.ed-card:nth-child(5){grid-column:auto}
  .ed-asig{grid-template-columns:repeat(2,1fr)}
  .ed-contact{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ed-sec{padding:56px 0}
  .ed-g2,.ed-g3,.ed-g5{grid-template-columns:1fr}
  .ed-asig{grid-template-columns:1fr}
  .ed-form .ed-row{grid-template-columns:1fr}
  .ed-pack h3{min-height:0}
  table.ed-table,.ed-table thead,.ed-table tbody,.ed-table tr,.ed-table td{display:block}
  .ed-table thead{position:absolute;left:-9999px}
  .ed-table tr{border-bottom:8px solid var(--ed-soft);padding:6px 0}
  .ed-table td{border:0;padding:8px 14px;background:#fff !important}
  .ed-table td:first-child{background:var(--ed-soft) !important;font-size:15px;min-width:0}
  .ed-table td[data-l]:before{content:attr(data-l) ": ";font-weight:700;color:var(--ed-crimson)}
}

/* correcciones de plantilla */
body,p,li,.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-icon-list-text,.elementor-button,.site-header,.site-footer{text-transform:none !important}
.main-navigation .primary-menu-container > ul > li > a{text-transform:uppercase !important}
.elementor-button,.ed-btn{text-transform:uppercase !important}
.site-branding img,.site-branding .custom-logo{background:#fff;border-radius:12px;padding:6px 14px;box-sizing:content-box}
.ed-foot h4{color:#fff}
.ed-foot a,.ed-foot p{color:#f3e7e8}
.ed-foot a:hover{color:#fff}
.ed-sec.ed-nb{padding-bottom:0}
.ed-sec.ed-nt{padding-top:40px}
.entry-hero-container-inner,.page-hero-section .entry-hero-container-inner{background:var(--ed-crimson) !important}
.entry-hero .entry-title,.entry-hero h1{color:#fff !important}
.entry-hero{border-bottom:6px solid var(--ed-orange)}
.ed-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:8px}
.ed-form .wpcf7-checkbox .wpcf7-list-item label{display:inline-flex;gap:8px;align-items:center;margin:0;font-weight:500}
