:root{--red:#B3001B;--gold:#D4AF37;--jasmine:#F2D27A;--earth:#9C6B1A;--white:#FFFFFF;--ink:#171717;--muted:#777;--paper:#fbf8ef;--line:#eadfca;--shadow:0 14px 38px rgba(55,36,10,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:var(--white);line-height:1.55}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:var(--white);border-top:3px solid var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.06)}.nav-wrap{min-height:76px;display:flex;align-items:center;gap:22px}.logo img{width:205px;height:54px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:.70rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.nav a{padding:28px 0 21px}.nav a.active,.nav a:hover{color:var(--earth);border-bottom:2px solid var(--gold)}.nav-actions{display:flex;align-items:center;gap:9px}.language-label{font-size:.8rem}.language-select{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:4px;padding:8px 7px;font-size:.72rem;font-weight:700}.menu-btn{display:none;border:0;background:none;font-size:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 24px;border:0;border-radius:4px;font-size:.70rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;cursor:pointer}.btn-gold{background:var(--gold);color:#fff;box-shadow:0 8px 22px rgba(212,175,55,.24)}.btn-gold:hover{background:var(--earth)}.btn-outline{background:#fff;border:1px solid #d8cdb9;color:#333}.red-section{background:var(--red);color:#fff}.hero{padding:82px 0;border-bottom:3px solid var(--gold)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:stretch;max-width:1000px}.hero-card{background:#fff;color:var(--ink);padding:52px;border-radius:13px;box-shadow:0 18px 42px rgba(0,0,0,.14)}.pill{display:inline-block;padding:6px 13px;border:1px solid #f3ded2;border-radius:999px;color:var(--earth);background:#fffaf0;text-transform:uppercase;font-size:.64rem;letter-spacing:.12em;font-weight:700}.hero-card h1{font-family:'Playfair Display',serif;font-size:clamp(2.7rem,5vw,4.35rem);line-height:.96;margin:24px 0 20px}.hero-card h1 em{color:var(--gold);font-weight:600}.hero-card h1 strong{color:var(--red);font-weight:700}.hero-card p{color:#777;font-size:.92rem}.hero-card small{display:block;color:var(--earth);text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin:22px 0}.button-row{display:flex;gap:14px;flex-wrap:wrap}.hero-stats{display:flex;gap:36px;border-top:1px solid #eee8df;margin-top:30px;padding-top:22px}.hero-stats div{display:flex;flex-direction:column}.hero-stats b{font-family:'Playfair Display',serif;color:var(--gold);font-size:1.35rem}.hero-stats span{font-size:.68rem;color:#666}.hero-photo{position:relative;margin:0;border-radius:13px;overflow:hidden;background:#111;min-height:560px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo figcaption{position:absolute;left:28px;bottom:30px;background:rgba(255,255,255,.94);color:#333;padding:10px 14px;border-radius:6px;display:flex;flex-direction:column}.hero-photo figcaption b{font-family:'Playfair Display',serif;color:var(--earth);font-size:1.35rem}.hero-photo figcaption span{font-size:.65rem}.section-pad{padding:90px 0}.four-grid,.three-grid{display:grid;gap:26px}.four-grid{grid-template-columns:repeat(4,1fr)}.three-grid{grid-template-columns:repeat(3,1fr)}.feature,.service-card,.values-grid article{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 26px rgba(40,28,18,.04)}.feature{padding:34px 30px;min-height:220px}.feature i,.service-card i{font-style:normal;color:var(--gold);font-size:1.6rem}.feature h3,.service-card h3,.process-card h3,.values h3{font-family:'Playfair Display',serif;font-size:1.16rem}.feature p,.service-card p,.process-card p{color:#838383;font-size:.84rem}.section-title{text-align:center;max-width:650px;margin:0 auto 55px}.section-title>span{display:block;width:54px;height:2px;background:var(--gold);margin:0 auto 24px}.section-title h2{font-family:'Playfair Display',serif;font-size:2.75rem;margin:0 0 16px}.section-title p{color:#8b8b8b;font-size:.84rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{padding:26px;min-height:235px;display:flex;flex-direction:column}.service-card p{flex:1}.detail-btn{align-self:flex-start;border:0;background:transparent;padding:0;color:var(--earth);text-transform:uppercase;font-size:.67rem;letter-spacing:.08em;font-weight:700;cursor:pointer}.detail-btn:hover{color:var(--red)}.additional-box{margin-top:50px;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:38px}.additional-head{display:flex;align-items:center;gap:14px;text-transform:uppercase;color:var(--earth);font-size:.70rem;letter-spacing:.12em}.additional-head span{width:32px;height:2px;background:var(--gold)}.additional-head hr{border:0;border-top:1px solid #e7dbc2;flex:1}.additional-box>p{font-size:.8rem;color:#777}.warm-bg{background:var(--paper)}.process-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.process-card img{width:100%;height:190px;object-fit:cover}.process-card>div{padding:24px}.process-card small{color:var(--earth);text-transform:uppercase;font-size:.63rem;letter-spacing:.12em;font-weight:700}.stats-grid>div{text-align:center;border-right:1px solid #eee}.stats-grid>div:last-child{border-right:0}.stats-grid strong{display:block;color:var(--gold);font-family:'Playfair Display',serif;font-size:3.3rem;font-weight:600}.stats-grid b,.stats-grid span{display:block}.stats-grid b{font-size:.83rem}.stats-grid span{font-size:.72rem;color:#888}.trust-bar{margin-top:58px;background:var(--paper);border:1px solid var(--line);padding:24px 34px;border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:.76rem}.cta{padding:72px 0}.cta-inner{text-align:center;max-width:720px}.cta-inner small{color:var(--jasmine);text-transform:uppercase;letter-spacing:.14em}.cta h2{font-family:'Playfair Display',serif;font-size:3.15rem;line-height:1.05;margin:12px 0}.cta h2 em{color:var(--jasmine);font-weight:600}.cta p{color:#f6dfe3;font-size:.82rem;margin-bottom:27px}.footer{background:#181818;color:#aaa;padding:60px 0 26px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.25fr;gap:46px}.footer-logo{width:210px;filter:brightness(1.35);margin-bottom:15px}.footer p,.footer a,.footer span{font-size:.72rem;display:block;margin:7px 0}.footer h4,.footer b{color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.socials{display:flex;gap:10px}.socials a{width:30px;height:30px;border:1px solid #66561c;color:var(--gold);border-radius:50%;display:grid;place-items:center}.footer-bottom{border-top:1px solid #2c2c2c;margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;font-size:.65rem;color:#666}.modal{width:min(520px,92vw);border:0;border-radius:10px;padding:36px;box-shadow:0 24px 75px rgba(0,0,0,.3)}.modal::backdrop{background:rgba(0,0,0,.63)}.modal-x{position:absolute;top:12px;right:14px;border:0;background:none;font-size:1.8rem;cursor:pointer}.modal-icon{color:var(--red);font-size:1.5rem}.modal h2{font-family:'Playfair Display',serif}.modal p,.modal li{color:#666;font-size:.84rem}.modal ul{padding:0;list-style:none}.modal li{margin:8px 0}.full-btn{width:100%}.booking-hero{text-align:center;padding:56px 20px}.booking-hero small{color:var(--jasmine);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.booking-hero h1{font-family:'Playfair Display',serif;font-size:2.7rem;margin:12px 0 6px}.booking-hero p{font-size:.78rem;color:#f5d9dd}.booking-main{padding:64px 0}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:930px}.booking-form,.date-card{background:#fff}.booking-form h2,.date-card h2{font-family:'Playfair Display',serif}.booking-form{display:grid;gap:16px}.booking-form label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #ddd7cd;border-radius:4px;padding:12px 13px;background:#fff}.wide{grid-column:1/-1}.tiny-center{text-align:center;color:#777;font-size:.65rem}.form-message{text-align:center;font-weight:700}.date-card{border:1px solid var(--line);border-radius:8px;padding:26px;box-shadow:var(--shadow);align-self:start}.calendar-note{font-size:.72rem;color:#777}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px}.calendar-toolbar button{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer}.calendar-toolbar strong{text-transform:capitalize;font-family:'Playfair Display',serif}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays span{text-align:center;font-size:.62rem;color:#777;font-weight:700}.calendar-day{aspect-ratio:1;border:0;border-radius:5px;background:#faf7f0;cursor:pointer;font-size:.72rem}.calendar-day:hover:not(:disabled){outline:1px solid var(--gold)}.calendar-day.selected{background:var(--gold);color:#fff}.calendar-day.full{background:#f2c5cc;color:#9a2635;cursor:not-allowed}.calendar-day.unavailable{background:#eee;color:#bbb;cursor:not-allowed}.calendar-blank{aspect-ratio:1}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.6rem;color:#777;margin:20px 0}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#eee;margin-right:5px}.legend .gold-dot{background:var(--gold)}.legend .red-dot{background:#f0a4ad}.time-section{margin-top:20px}.time-section h3{font-family:'Playfair Display',serif;margin-bottom:4px}.time-section p{font-size:.68rem;color:#777}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-btn{padding:9px 8px;border:1px solid var(--line);background:#fff;border-radius:4px;font-size:.72rem;cursor:pointer}.time-btn.selected{background:var(--gold);border-color:var(--gold);color:#fff}.date-card aside{background:var(--paper);padding:16px;border-radius:6px;margin-top:20px}.date-card aside b{color:var(--earth);text-transform:uppercase;font-size:.66rem;letter-spacing:.1em}.date-card aside p{font-size:.68rem;color:#777}.about-hero{padding:72px 0;color:#fff;text-align:center;background:linear-gradient(90deg,rgba(35,18,20,.91),rgba(179,0,27,.82)),radial-gradient(circle at 30% 40%,#7d5553,#3d2827 60%,#201718)}.about-hero small{color:var(--jasmine);text-transform:uppercase;letter-spacing:.14em}.about-hero h1{font-family:'Playfair Display',serif;font-size:3.2rem;line-height:1.05}.about-hero h1 em{color:var(--jasmine)}.about-hero p{max-width:820px;margin:auto;font-size:.78rem;color:#eadcdd}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:900px}.mission-card{padding:36px;border-radius:8px;box-shadow:var(--shadow)}.mission-card.light{border-top:4px solid var(--red)}.mission-card.dark{background:#222;color:#fff;border-top:4px solid var(--gold)}.mission-card small{color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-weight:700}.mission-card.dark small{color:var(--jasmine)}.mission-card h2{font-family:'Playfair Display',serif;font-size:2rem}.mission-card p,.mission-card li{font-size:.76rem;color:#777}.mission-card.dark p,.mission-card.dark li{color:#c0c0c0}.values-grid{max-width:900px;margin:auto}.values-grid article{padding:26px}.values-grid b{color:var(--gold)}.values-grid p{font-size:.76rem;color:#777}.center-cta{text-align:center;margin-top:70px}.center-cta h2{font-family:'Playfair Display',serif}.center-cta p{font-size:.76rem;color:#888}
@media(max-width:1020px){.nav{display:none;position:absolute;left:4%;right:4%;top:76px;background:#fff;box-shadow:var(--shadow);padding:14px 22px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.nav a{padding:8px 0}.menu-btn{display:block;margin-left:auto}.nav-actions{margin-left:0}.nav-cta{display:none}.service-grid,.four-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-photo{min-height:480px}.footer-grid{grid-template-columns:1fr 1fr}.booking-grid{grid-template-columns:1fr}.trust-bar{grid-template-columns:1fr 1fr}.mission-grid{grid-template-columns:1fr}}
@media(max-width:640px){.shell{width:min(92%,560px)}.nav-wrap{min-height:68px}.logo img{width:165px;height:45px}.language-select{padding:7px 5px}.hero{padding:44px 0}.hero-card{padding:30px 24px}.hero-card h1{font-size:2.72rem}.hero-photo{min-height:390px}.hero-stats{gap:16px;justify-content:space-between}.section-pad{padding:62px 0}.four-grid,.three-grid,.service-grid,.trust-bar,.footer-grid,.values-grid{grid-template-columns:1fr}.feature{min-height:0}.section-title h2{font-size:2.2rem}.additional-box{padding:24px 18px}.stats-grid>div{border-right:0;border-bottom:1px solid #eee;padding:20px 0}.stats-grid>div:last-child{border-bottom:0}.cta h2{font-size:2.45rem}.footer-bottom{flex-direction:column;gap:6px}.booking-hero h1{font-size:2.25rem}.about-hero h1{font-size:2.35rem}.modal{padding:30px 24px}.button-row .btn{width:100%}.time-slots{grid-template-columns:repeat(2,1fr)}}

/* V4 — marca, iconos locales, detalles largos y refinamientos de legibilidad */
:root{--gold:#D4AF37;--jasmine:#F2D27A;--red:#B3001B;--earth:#9C6B1A;--white:#FFFFFF}
.logo.wordmark{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}.wordmark .crest{width:48px;height:48px;object-fit:contain;flex:none}.brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.16}.brand-copy strong{font-family:'Playfair Display',Georgia,serif;font-size:clamp(.75rem,1.1vw,.96rem);letter-spacing:.01em;color:#242424;white-space:nowrap}.brand-copy small{color:var(--earth);font-size:.52rem;font-weight:700;letter-spacing:.09em;white-space:nowrap}.nav-wrap{gap:14px}.nav{gap:16px}.nav-cta{padding:0 12px}.hero-card .trust-headline{color:#D4AF37;letter-spacing:.012em;text-transform:none;font-size:.76rem;line-height:1.25}
.card-icon{width:30px;height:30px;color:#B3001B;display:block;margin-bottom:16px;stroke-width:1.75;flex:none}.feature .card-icon,.service-card .card-icon{color:#B3001B;width:31px;height:31px;margin-bottom:16px}.feature{min-height:0}.feature h3,.service-card h3{margin:0 0 10px}.service-card p{min-height:0;margin:0 0 16px}.detail-btn{margin-top:auto}.service-card{min-width:0}.trust-bar{align-items:center}.trust-bar>span{display:flex;gap:10px;align-items:flex-start;color:#222;font-weight:700;font-size:.82rem;line-height:1.35}.trust-icon{color:#D4AF37;min-width:20px;width:20px;height:20px;stroke-width:2.2}.trust-bar strong{font-weight:700}.footer .logo.wordmark{justify-content:flex-start;margin-bottom:18px}.footer .brand-copy strong{color:#fff;font-size:.8rem}.footer .brand-copy small{color:#D4AF37;font-size:.5rem}.footer .crest{width:48px;height:48px}.footer p{max-width:320px}.socials{display:flex;gap:10px;margin-top:17px;flex-wrap:wrap}.socials .social-icon{width:37px;height:37px;border:1px solid #D4AF37;border-radius:50%;display:grid;place-items:center;color:#D4AF37;margin:0;background:rgba(212,175,55,.06)}.social-icon svg{width:21px;height:21px;stroke-width:1.9}.value-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#fbf4df;color:#B3001B;margin-bottom:15px}.value-icon svg{width:27px;height:27px}.values-grid article{padding:28px}.values-grid article h3{margin:0 0 10px}.modal{max-height:min(86vh,800px);overflow-y:auto}.modal #modal-text p{line-height:1.7;margin:0 0 12px}.modal #modal-list li{line-height:1.65;margin:11px 0}.modal #modal-list{margin-bottom:26px}.modal .modal-icon svg{width:34px;height:34px;color:#B3001B}.preview-alert{color:#593809;background:#fff5d7;border:1px solid #D4AF37;border-radius:8px;padding:12px;font-size:.81rem;line-height:1.55}
@media(max-width:1020px){.wordmark .crest{width:42px;height:42px}.nav-wrap{gap:10px}}
@media(max-width:640px){.brand-copy strong{font-size:.69rem}.brand-copy small{font-size:.43rem;letter-spacing:0}.wordmark .crest{width:36px;height:36px}.nav-wrap{gap:5px}.language-select{max-width:63px}.service-card{min-height:0}.socials .social-icon{width:39px;height:39px}}

/* V5 — íconos pequeños y consistentes, sin controles de idioma */
.language-label,.language-select{display:none!important}
.feature .card-icon,.service-card .card-icon,.additional-card .card-icon{width:22px!important;height:22px!important;max-width:22px;max-height:22px;margin-bottom:11px!important;flex:0 0 22px;display:block;object-fit:contain}
.value-icon{width:32px!important;height:32px!important;border-radius:8px!important;margin-bottom:10px!important}
.value-icon svg{width:18px!important;height:18px!important;max-width:18px;max-height:18px}
.socials .social-icon{width:29px!important;height:29px!important;min-width:29px;min-height:29px;border-radius:50%!important}
.socials .social-icon svg{width:15px!important;height:15px!important;max-width:15px;max-height:15px}
.trust-icon{width:16px!important;height:16px!important;min-width:16px!important}
.modal .modal-icon svg{width:24px!important;height:24px!important}

/* LOGO DEL MENÚ — COMPUTADORAS */
.site-header .logo.wordmark {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: 310px;
}

.site-header .logo.wordmark img.crest {
  display: block;
  width: 310px !important;
  height: 95px !important;
  max-width: none !important;
  object-fit: contain;
  object-position: left center;
}
/* navegation bar logo de shanghai inicio asesoria, etc. */
.site-header .nav-wrap {
  min-height: 74px;
}

/* LOGO DEL MENÚ — TArjetas */
@media (max-width: 1020px) {
  .site-header .logo.wordmark {
    width: 250px;
  }

  .site-header .logo.wordmark img.crest {
    width: 250px !important;
    height: 78px !important;
  }

  .site-header .nav-wrap {
    min-height: 88px;
  }
}

/* LOGO DEL MENÚ — TELÉFONOS */
@media (max-width: 640px) {
  .site-header .logo.wordmark {
    width: 190px;
  }

  .site-header .logo.wordmark img.crest {
    width: 190px !important;
    height: 60px !important;
  }

  .site-header .nav-wrap {
    min-height: 150px;
  }
}

/* LOGO DEL FOOTER: tamaño independiente del menú */

.footer .logo.wordmark {
  display: flex;
  align-items: center;
  width: 320px;
  max-width: 100%;
  margin-bottom: 40px;
}

.footer .logo.wordmark img.footer-crest {
  display: block;
  width: 300px !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain;
  object-position: left center;
}

/* Tamaño del logo en teléfonos */
@media (max-width: 640px) {
  .footer .logo.wordmark {
    width: 50px;
  }

  .footer .logo.wordmark img.footer-crest {
    width: 70px !important;
  }
}
/* CENTRAR LOS TEXTOS INFERIORES DEL FOOTER */

.footer .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: min(1180px, 92%) !important;
    margin: 70px auto 0 !important;
    padding: 70px 0 !important;
    gap: 8px !important;
}

.footer .footer-bottom span {
    display: block !important;
    width: 100%;
    text-align: center !important;
    margin: 0 !important;
    
}
/* BOTÓN SOLICITAR MÁS INFORMACIÓN */

#modal-request {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: fit-content !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 20px auto !important;
    padding: 14px 24px !important;

    text-align: center !important;
    font-size: 14px;
    line-height: 1.4;
   
}

/* MOSTRAR ÚNICAMENTE EL LOGO EN EL ENCABEZADO */

.site-header .logo.wordmark .brand-copy,
.site-header .logo.wordmark .brand-name {
    display: none !important;
}

.site-header .logo.wordmark::before,
.site-header .logo.wordmark::after {
    content: none !important;
}
/* ===== FOOTER IGUAL EN TODAS LAS PÁGINAS ===== */

.footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 18px;
}

.footer-crest {
  width: 300px;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.footer .brand-copy {
  display: none;
}

.footer p {
  max-width: 340px;
  line-height: 1.55;
}


@media (max-width: 768px) {
  .footer-crest {
    width: 220px;
  }
  
}
/* BOTÓN DEL MENÚ SUPERIOR EN UNA SOLA LÍNEA */

.site-header .nav-cta {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    width: auto !important;
    padding: 0 14px !important;
    font-size: 11px !important;
}

/* FOOTER UNIFORME: SOBRE NOSOTROS Y CONTACTO */

/* Parte inferior del footer */
body.footer-match .footer .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    width: 92% !important;
    max-width: none !important;
    margin: 20px auto 0 !important;
    padding: 0 !important;

    gap: 8px !important;
    text-align: center !important;

    border: none !important;
    border-top: 0 !important;
    box-shadow: none !important;
}

/* Eliminar posibles líneas decorativas */
body.footer-match .footer .footer-bottom::before,
body.footer-match .footer .footer-bottom::after {
    content: none !important;
    display: none !important;
}

/* Centrar los dos textos */
body.footer-match .footer .footer-bottom span {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
}

/* Evitar espacios adicionales entre los textos */
body.footer-match .footer .footer-bottom span + span {
    margin-top: 0 !important;
}

/* ALINEACIÓN DE LAS TARJETAS DE ASESORÍAS */

.service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.service-card {
    height: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.service-card .card-icon {
    margin-left: auto;
    margin-right: auto;
}

.service-card h3,
.service-card p {
    width: 100%;
    text-align: center;
}

.service-card .detail-btn {
    margin-top: auto;
    align-self: center;
    text-align: center;
}

/* ASESORÍAS ADICIONALES */

.additional-box .three-grid {
    align-items: stretch;
}

/* TABLETAS */

@media (max-width: 1020px) {
    .service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* TELÉFONOS */

@media (max-width: 640px) {
    .service-grid,
    .additional-box .three-grid {
        grid-template-columns: 1fr;
    }
}
/* VENTANA DE VER DETALLE */

#service-modal {
    box-sizing: border-box;
    width: min(620px, 92vw);
    max-width: 92vw;
    padding: 36px 42px;
}

#service-modal .modal-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}

#service-modal h2 {
    text-align: center;
    margin: 0 0 24px;
}

#service-modal #modal-text,
#service-modal #modal-list {
    text-align: left;
}

#service-modal h4 {
    text-align: center;
    margin: 24px 0 16px;
}

#service-modal #modal-request {
    display: flex;
    width: fit-content !important;
    max-width: 100%;
    margin: 28px auto 0 !important;
    justify-content: center;
    align-items: center;
    text-align: center;
}

/* ADAPTACIÓN PARA TELÉFONOS */

@media (max-width: 640px) {
    #service-modal {
        padding: 28px 20px;
    }

    #service-modal #modal-request {
        font-size: 12px;
        padding: 12px 16px !important;
    }
}
/* DISTRIBUCIÓN DEL CONTENIDO DE VER DETALLE */

#service-modal #modal-text {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

#service-modal #modal-text p {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
}

#service-modal #modal-list {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
}

#service-modal #modal-list li {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
}
/* FOOTER MÁS COMPACTO SOLO EN INICIO */

body:not(.footer-match) .footer {
    padding-top: 36px !important;
    padding-bottom: 20px !important;
}

body:not(.footer-match) .footer .footer-grid {
    row-gap: 16px !important;
}

body:not(.footer-match) .footer .footer-bottom {
    margin-top: 18px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: none !important;
}

body:not(.footer-match) .footer .footer-bottom span {
    margin: 0 !important;
}

.time-btn.occupied {
  background: #d93025 !important;
  color: #ffffff !important;
  border-color: #d93025 !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
}

.time-btn.occupied small {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #ffffff;
}

/* ===== MODAL DE CONFIRMACIÓN DE RESERVA ===== */

.success-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.55);
}

.success-modal[hidden] {
  display: none;
}

.success-modal-box {
  width: min(460px, 92vw);
  background: #ffffff;
  border-radius: 14px;
  padding: 34px 30px 28px;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.success-check {
  width: 60px;
  height: 60px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #D4AF37;
  color: #ffffff;
  font-size: 30px;
  font-weight: 700;
}

.success-modal-box h2 {
  margin: 0 0 10px;
  font-family: 'Playfair Display', serif;
  font-size: 1.9rem;
  color: #222222;
}

.success-intro {
  margin: 0 0 22px;
  color: #666666;
  font-size: 0.82rem;
  line-height: 1.6;
}

.success-details {
  text-align: left;
  background: #faf7f0;
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 20px;
}

.success-details div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #ece6da;
}

.success-details div:last-child {
  border-bottom: 0;
}

.success-details span {
  color: #888888;
  font-size: 0.72rem;
}

.success-details strong {
  color: #222222;
  font-size: 0.76rem;
  text-align: right;
}

.success-message {
  margin: 0 0 22px;
  color: #666666;
  font-size: 0.78rem;
  line-height: 1.6;
}

#success-close {
  min-width: 150px;
}