/*
Theme Name: Rai Academia
Author: Rai Academia
Description: Web de Rai Academia en Noia. Diseño adaptable, accesible y ligero.
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rai-academia
*/
:root{--navy:#111c42;--blue:#2649cb;--sky:#eaf1fc;--ink:#17223a;--muted:#5f6a7d;--cream:#f7f8fc;--line:#dce2ed;--lime:#d8ef91}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;background:white}a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5384ff;outline-offset:5px}.wrap{max-width:1220px;margin:auto;padding:0 36px}.top{background:var(--navy);color:white;font-size:12px;letter-spacing:.04em}.top .wrap{display:flex;justify-content:space-between;padding-top:9px;padding-bottom:9px}.top a{text-decoration:none}.header{background:rgba(255,255,255,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:30px}.logo img{width:144px;height:auto}.links{display:flex;align-items:center;gap:27px}.links a{text-decoration:none;font-size:14px;font-weight:600}.links a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--blue);color:white!important;padding:15px 24px;border:1px solid var(--blue);border-radius:7px;text-decoration:none;font-size:14px;font-weight:650;transition:transform .2s,background .2s}.button:hover{background:#1838a8;transform:translateY(-2px)}.button.light{background:white;color:var(--navy)!important;border-color:var(--line)}.button.lime{background:var(--lime);border-color:var(--lime);color:var(--navy)!important}.eyebrow{display:block;font-size:11px;font-weight:750;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.hero{background:linear-gradient(115deg,#f3f6fd 0%,#f8f9fc 65%,#e8eef9 100%);padding:74px 0 56px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(46px,5.2vw,72px);line-height:1.07;letter-spacing:-.055em;font-weight:720;margin-bottom:25px}h1 em{font-style:normal;color:var(--blue)}.lead{color:var(--muted);font-size:18px;line-height:1.75;max-width:510px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-photo{position:relative;padding:0 0 27px 20px}.hero-photo:before{content:"";position:absolute;inset:30px -30px 0 50px;background:#dce5f6;border-radius:140px 12px 12px 12px}.hero-photo img{position:relative;width:100%;height:430px;object-fit:cover;border-radius:110px 9px 9px 9px}.photo-label{position:absolute;left:0;bottom:0;background:white;padding:17px 25px;border-radius:8px;box-shadow:0 10px 35px #17223a13;font-size:13px}.photo-label strong{display:block;font-size:16px}.hero-note{display:flex;gap:24px;margin-top:32px;font-size:12px;color:var(--muted)}.hero-note span:before{content:"✓";color:var(--blue);font-weight:bold;margin-right:7px}.strip{border-bottom:1px solid var(--line)}.strip .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:23px;padding-bottom:23px;font-size:12px;font-weight:650;letter-spacing:.06em;color:var(--muted)}section{padding:94px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-head p{max-width:360px;color:var(--muted);font-size:15px;margin:0}h2{font-size:clamp(32px,3.5vw,46px);line-height:1.18;letter-spacing:-.04em;margin-bottom:0}h3{font-size:21px;line-height:1.3;letter-spacing:-.02em}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);padding:31px;border-radius:10px;background:white;display:flex;flex-direction:column}.card .num{font-size:12px;color:var(--blue);margin-bottom:35px;font-weight:700}.card p{font-size:14px;color:var(--muted);margin-bottom:24px}.card a{margin-top:auto;text-decoration:none;font-size:13px;font-weight:700;color:var(--blue)}.card.featured{background:var(--navy);color:white;border-color:var(--navy)}.card.featured p{color:#c4cde4}.card.featured a,.card.featured .num{color:var(--lime)}.subjects{margin-top:33px;display:flex;flex-wrap:wrap;gap:9px}.subjects span{border:1px solid var(--line);border-radius:30px;font-size:12px;padding:7px 14px}.why{background:var(--navy);color:white}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.why .eyebrow{color:var(--lime)}.why p{color:#c1cbe0}.why h2{margin-bottom:25px}.reasons{display:grid;grid-template-columns:1fr 1fr;gap:35px}.reason{border-top:1px solid #ffffff30;padding-top:23px}.reason b{color:var(--lime);font-size:12px}.reason h3{font-size:19px;margin:13px 0 9px}.reason p{font-size:14px;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-panel{background:var(--sky);border-radius:12px;padding:45px}.about-panel .big{font-size:54px;color:var(--blue);line-height:1;letter-spacing:-.04em;margin:17px 0 25px;font-weight:700}.about-panel p{font-size:15px;color:var(--muted)}.collab{border-top:1px solid #cbd6ed;margin-top:30px;padding-top:25px}.collab strong{font-size:17px;display:block}.collab small{color:var(--muted)}.about-copy p{color:var(--muted);font-size:16px;margin-top:25px}.steps{display:flex;gap:20px;margin-top:33px}.steps div{flex:1;font-size:12px}.steps b{display:block;color:var(--blue);font-size:21px;margin-bottom:7px}.faq{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-intro p{color:var(--muted);font-size:15px;margin-top:22px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:16px;font-weight:650;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--blue);font-size:24px;line-height:1}details[open] summary:after{content:"−"}details p{color:var(--muted);font-size:14px;padding-right:25px;margin:15px 0 4px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}.contact-list{display:grid;gap:24px}.contact-list small{display:block;font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.contact-list a{text-decoration:none}.contact-list strong{font-weight:600}.contact-box{background:var(--sky);padding:38px;border-radius:12px}.contact-box h3{font-size:27px}.contact-box p{font-size:15px;color:var(--muted)}.schedule{margin-top:30px;padding-top:23px;border-top:1px solid #cbd6ed;font-size:14px}.schedule p{font-size:13px;margin:5px 0}.footer{background:#0c1430;color:#bdc7dd;padding:48px 0 22px;font-size:12px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:32px}.footer img{width:145px}.footer a{text-decoration:none}.footer-nav{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.footer-bottom{padding-top:22px;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px}.legal{max-width:850px;min-height:65vh;padding-top:65px;padding-bottom:75px}.legal h1{font-size:44px}.legal h2{font-size:25px;margin:30px 0 15px}.legal p,.legal li{font-size:15px;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:white;padding:12px;z-index:100}.mobile-toggle{display:none}.wa-fallback{position:fixed;right:24px;bottom:24px;border-radius:50px;background:#177e4c;color:white;padding:15px 22px;text-decoration:none;box-shadow:0 5px 25px #0003;z-index:30;font-size:14px;font-weight:650}
@media(min-width:783px){body.admin-bar .header{top:32px}}
@media(max-width:950px){.links{gap:15px}.links a{font-size:12px}.hero-grid{gap:28px}.hero-photo img{height:360px}.why-grid,.about-grid,.faq-grid{gap:40px}.cards{grid-template-columns:repeat(2,1fr)}.hero-note{gap:12px;flex-wrap:wrap}.contact-grid{gap:35px}}
@media(max-width:700px){.wrap{padding:0 22px}.top .wrap{justify-content:center}.top .top-location{display:none}.nav{min-height:80px;flex-wrap:wrap;gap:0}.logo img{width:120px}.mobile-toggle{display:block;border:1px solid var(--line);background:white;padding:8px 13px;border-radius:5px;font-size:13px}.links{display:none;width:100%;padding:20px 0;flex-wrap:wrap;gap:19px}.links.open{display:flex}.links a{font-size:14px}.hero{padding:43px 0}.hero-grid,.why-grid,.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:36px}h1{font-size:48px}.hero-photo{margin-top:8px}.hero-photo img{height:310px}.lead{font-size:16px}.hero-note{font-size:11px}.strip .wrap{justify-content:center;font-size:10px;gap:14px}.section-head{display:block}.section-head p{margin-top:20px}.cards{grid-template-columns:1fr}.card{padding:27px}.card .num{margin-bottom:22px}section{padding:62px 0}.reasons{gap:25px}.about-panel{padding:28px}.about-panel .big{font-size:44px}.contact-box{padding:28px}.footer-top,.footer-bottom{flex-direction:column}.footer-nav{gap:17px}.actions .button{padding:13px 18px}.wa-fallback{right:16px;bottom:16px}.faq-grid{gap:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Elementor: light defaults. Widget controls remain editable in the visual editor. */
.elementor .e-con.rai-e-wrap{max-width:1220px;margin-inline:auto}
.elementor .elementor-widget-heading .elementor-heading-title em{font-style:normal;color:#2649cb}
.elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor .rai-e-photo img{width:100%;object-fit:cover}
.elementor .rai-e-photo-label{background:#fff;padding:17px 25px;border-radius:8px;box-shadow:0 10px 35px #17223a13;margin-top:-18px;z-index:1;max-width:100%}
.elementor .rai-e-photo-label strong{display:block;font-size:16px}
.elementor .rai-e-contact-list small{display:block;font-size:11px;color:#5f6a7d;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.elementor .rai-e-contact-list a{text-decoration:none}
.elementor .rai-e-schedule{margin-top:25px;border-top:1px solid #cbd6ed;padding-top:23px;font-size:14px}
.elementor .rai-e-schedule p{font-size:13px;margin:5px 0}
.elementor .rai-e-steps b{display:block;color:#2649cb;font-size:21px;margin-bottom:7px}
.elementor .rai-e-faq-toggle .elementor-toggle-item{border-bottom:1px solid #dce2ed}
.elementor .rai-e-faq-toggle .elementor-tab-title,.elementor .rai-e-faq-toggle .elementor-tab-content{border:0}
.elementor .rai-e-faq-toggle .elementor-toggle-icon{color:#2649cb}
.elementor .rai-e-big{margin:17px 0 25px}
.elementor .rai-e-why .elementor-widget-heading:not(.rai-e-eyebrow){margin-bottom:15px}
.elementor .rai-e-card .elementor-widget-button{margin-top:auto}
@media(max-width:767px){.elementor .rai-e-photo img{height:310px}.elementor .rai-e-big .elementor-heading-title{font-size:44px}}
@media(prefers-reduced-motion:reduce){.elementor .elementor-invisible{visibility:visible!important}.elementor .animated{animation:none!important;transform:none!important}}

/* Formulario de contacto */
.rai-contact-form{margin-top:24px;text-align:left}
.rai-contact-form p{margin:0 0 17px!important}
.rai-contact-form label{display:block;color:#17223a;font-size:14px;font-weight:600;line-height:1.5}
.rai-contact-form input[type=text],.rai-contact-form input[type=email],.rai-contact-form input[type=tel],.rai-contact-form textarea{display:block;width:100%;max-width:100%;margin-top:7px;padding:12px 13px;background:#fff;color:#17223a;border:1px solid #bcc8dd;border-radius:6px;font-size:16px;line-height:1.4;box-shadow:none;min-height:46px}
.rai-contact-form textarea{resize:vertical;min-height:120px}
.rai-contact-form input:focus-visible,.rai-contact-form textarea:focus-visible{outline:3px solid #2649cb66;outline-offset:2px;border-color:#2649cb}
.rai-contact-form .rai-form-required,.rai-contact-form .rai-form-note{font-size:12px;color:#5f6a7d;line-height:1.6}
.rai-contact-form .rai-form-consent label{font-size:12px;font-weight:400;line-height:1.6}
.rai-contact-form .wpcf7-list-item{margin:0}
.rai-contact-form .wpcf7-list-item label{display:flex;gap:9px;align-items:flex-start}
.rai-contact-form input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:2px 0 0;accent-color:#2649cb}
.rai-contact-form .rai-form-consent a{color:#1838a8;text-decoration:underline}
.rai-contact-form input[type=submit]{display:inline-block;min-height:48px;padding:14px 24px;border:1px solid #2649cb;border-radius:7px;background:#2649cb;color:#fff;font-size:14px;font-weight:650;cursor:pointer}
.rai-contact-form input[type=submit]:hover{background:#1838a8}
.rai-contact-form input[type=submit]:disabled{opacity:.55;cursor:not-allowed}
.rai-contact-form .wpcf7-not-valid-tip{font-size:12px;color:#a31d36;margin-top:5px}
.rai-e-contact-box .wpcf7-response-output{margin:15px 0;padding:12px 14px;border-radius:6px;font-size:14px;line-height:1.5}
.rai-contact-form .wpcf7-spinner{margin:0 0 0 10px;vertical-align:middle}
@media(max-width:767px){.rai-contact-form input[type=submit]{width:100%}}