/* Mejoras sobre el tema original. Se conserva su estructura y su paleta. */
.cal-hero.is-split .cal-h1{font-weight:600;letter-spacing:-.045em;line-height:1.08}
.cal-hero.is-split .cal-lead{font-size:clamp(1rem,.85rem + .3vw,1.15rem);line-height:1.75}
.cal-hero.is-split .cal-hero__visual{isolation:isolate}
.cal-hero.is-split .cal-hero__visual:before{content:'';position:absolute;inset:-24px -18px 25px;z-index:-1;border-radius:32px;background:linear-gradient(135deg,#fff3da,#ffede3 28%,#fde6ec 52%,#f4e8f9 76%,#e9e9f7);transform:rotate(-3deg)}
.cal-hero.is-split .cal-mock__frame{box-shadow:0 20px 60px -28px #3d3d9440;border-radius:20px}
.cal-pillar{transition:transform .3s ease,box-shadow .3s ease}
.cal-pillar:hover{transform:translateY(-5px);box-shadow:0 18px 40px -30px #3d3d9460}
@media(prefers-reduced-motion:no-preference){.cal-hero.is-split .cal-float{animation:cal-original-float 8s ease-in-out infinite}.cal-hero.is-split .cal-float--next{animation-delay:-3s}}
@keyframes cal-original-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@media(max-width:960px){.cal-hero.is-split .cal-hero__visual{margin-top:25px}.cal-hero.is-split .cal-hero__visual:before{inset:-15px 0 20px}}
@media(prefers-reduced-motion:reduce){.cal-pillar{transition:none}}
/* Ritmo visual de la página completa. */
.cal-refined-home{background:#fff}
.cal-h1,.cal-h2{letter-spacing:-.045em}
.cal-section{padding-block:clamp(65px,7vw,110px)}
.cal-split__text .cal-h2{font-weight:600;line-height:1.12}
.cal-split__text .cal-lead,.cal-split__text p{line-height:1.8}
.cal-split__visual{isolation:isolate}
.cal-split__visual:before{content:'';position:absolute;inset:12px -12px -12px 15px;border-radius:30px;z-index:-1;background:linear-gradient(140deg,#ffc24b,#ff8a4c 30%,#f2577f 60%,#a24fc2);opacity:.35;rotate:3deg}
.cal-visual{border:0;border-radius:26px;background:#fff1e6;box-shadow:none}
.cal-split.is-reverse .cal-visual{background:#f3eafa}
.cal-visual:before{opacity:.25}
.cal-visual:after{background:radial-gradient(closest-side,#ffc24b66,transparent)}
.cal-sector:nth-child(5n+1){background:#fff7e7}.cal-sector:nth-child(5n+2){background:#fff0e8}.cal-sector:nth-child(5n+3){background:#fdecf1}.cal-sector:nth-child(5n+4){background:#f5ebfa}.cal-sector:nth-child(5n+5){background:#eeeeff}
.cal-sector{border-color:transparent;min-height:240px}.cal-sector:hover{transform:translateY(-7px)}
.cal-pillar{border-radius:20px;border:1px solid var(--cal-border);padding:30px;background:#fff}
.cal-pillar:nth-child(1){border-top:3px solid var(--cal-oro)}.cal-pillar:nth-child(2){border-top:3px solid var(--cal-rosa)}.cal-pillar:nth-child(3){border-top:3px solid var(--cal-anil)}
.cal-feature.is-dark{background:linear-gradient(135deg,#3d3d94,#7947ae)}
.cal-feature.is-accent{background:#fff0e6;border-color:#ffe0ca}
.cal-cta{background:linear-gradient(120deg,#3d3d94,#7744ad);border-radius:28px;position:relative;overflow:hidden}
.cal-cta:after{content:'';position:absolute;width:260px;height:260px;border:45px solid #ffffff0b;border-radius:50%;right:-100px;top:-130px;pointer-events:none}
.cal-motion-control{position:fixed;bottom:18px;right:18px;z-index:60;background:#fff;color:#3d3d94;border:1px solid #dfd9ed;border-radius:999px;padding:9px 15px;font:500 11px 'DM Sans',sans-serif;box-shadow:0 6px 24px #3d3d9412;cursor:pointer}
@media(prefers-reduced-motion:no-preference){.cal-split__visual .cal-visual> :first-child{animation:cal-product-drift 9s ease-in-out infinite}.cal-visual__badge{animation:cal-original-float 7s ease-in-out infinite}.cal-visual__badge--br{animation-delay:-3s}.cal-split__visual{transition:transform .6s ease}.cal-split__visual:hover{transform:translateY(-5px)}}
@keyframes cal-product-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.cal-motion-paused *,.cal-motion-paused *:before,.cal-motion-paused *:after{animation-play-state:paused!important}
@media(max-width:900px){.cal-split__visual:before{inset:9px 0 -8px 8px}.cal-split{gap:35px}.cal-hero.is-split .cal-mock__side{display:none}.cal-hero.is-split .cal-mock__body{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cal-split__visual{transition:none}.cal-sector:hover,.cal-pillar:hover{transform:none}}
/* Acentos puntuales: pincelada degradada y llamadas a la acción magenta. */
.cal-mark{background:none;padding-bottom:0;font-style:normal}
.cal-hero .cal-mark,.cal-cta .cal-mark{
 padding-bottom:.14em;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 28' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g'%3E%3Cstop stop-color='%23FFC24B'/%3E%3Cstop offset='.26' stop-color='%23FF8A4C'/%3E%3Cstop offset='.52' stop-color='%23F2577F'/%3E%3Cstop offset='.77' stop-color='%23A24FC2'/%3E%3Cstop offset='1' stop-color='%233D3D94'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M4 17 Q145 0 310 8 Q417 9 495 17 Q500 20 490 22 Q323 12 165 17 Q74 19 7 25 Q0 25 4 17Z' fill='url(%23g)'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:0 100%;background-size:100% .23em;
 -webkit-box-decoration-break:clone;box-decoration-break:clone;
}
.cal-btn--primary,.bg-dark .cal-btn--primary,.cal-plan.is-featured .cal-btn--primary,.cal-cta .cal-btn--light{background:#BD2468;color:#fff;box-shadow:0 8px 20px -10px #bd246875;border-color:transparent}
.cal-btn--primary:hover,.bg-dark .cal-btn--primary:hover,.cal-plan.is-featured .cal-btn--primary:hover,.cal-cta .cal-btn--light:hover{background:#A51B58;color:#fff;box-shadow:0 10px 24px -11px #a51b5880}
.cal-btn:focus-visible{outline:3px solid #f2577f;outline-offset:4px}
/* Superficies luminosas y una composición propia para recordatorios. */
.cal-feature.is-dark{background:linear-gradient(125deg,#ffe8cc,#ffdce8 55%,#e9ddfa);color:#493a60;border:1px solid #f0ddea}
.cal-feature.is-dark p{color:#716078}.cal-feature.is-dark .cal-link{color:#a51b58}.cal-feature.is-dark .cal-ico-tile{background:#ffffffad;color:#bd2468;border-color:#ffffff}
.cal-compare__col.is-after{background:linear-gradient(140deg,#fff1d7,#ffe5df 50%,#f3e3f5);color:#493a60;border:1px solid #f0dfe5}
.cal-compare__col.is-after .cal-compare__title{color:#493a60}
.cal-compare__col.is-after li{color:#716078}
.cal-step__num{background:#ffdf9d;color:#88511d;box-shadow:0 0 0 6px #fff}
.cal-step:nth-child(2) .cal-step__num{background:#ffd9e5;color:#a52a57}
.cal-step:nth-child(3) .cal-step__num{background:#eddbfa;color:#804493}
.cal-plan.is-featured{background:linear-gradient(145deg,#ffe7ef,#f2e6fb 65%,#e9e8fc);color:#493a60;border:1px solid #ead6ed;box-shadow:0 18px 50px -30px #b55d8855}
.cal-plan.is-featured .cal-plan__desc,.cal-plan.is-featured .cal-plan__note,.cal-plan.is-featured .cal-plan__period{color:#786482}
.cal-plan.is-featured .cal-plan__features{border-color:#dccce2}
.cal-plan.is-featured .cal-plan__features .cal-ico{color:#177a5c}
.cal-plan.is-featured .cal-btn--secondary{color:#a51b58;border-color:#dca9c3}
.cal-cta{background:linear-gradient(115deg,#fff0c9,#ffe0d7 38%,#f9dce9 67%,#e9def9);color:#493a60;border:1px solid #f1dce8}
.cal-cta .cal-lead,.cal-cta p{color:#76617d}.cal-cta .cal-eyebrow{color:#995178}.cal-cta .cal-btn--secondary{color:#a51b58;border-color:#dba9c3;background:#ffffff85}
.cal-cta:after{border-color:#ffffff55;background:none}
.cal-split:has(.cal-visual--chat){grid-template-columns:1fr 1fr;gap:48px;padding:48px;border:1px solid #efdeea;border-radius:30px;background:linear-gradient(130deg,#fff7ed,#fff0f5 55%,#f4edfc);align-items:center}
.cal-split:has(.cal-visual--chat) .cal-split__text{order:0}
.cal-split:has(.cal-visual--chat) .cal-split__visual{order:1}
.cal-split:has(.cal-visual--chat) .cal-split__visual:before{display:none}
.cal-split .cal-visual--chat{background:transparent;border-radius:0;padding:25px 0;min-height:400px;overflow:visible}
.cal-visual--chat:before,.cal-visual--chat:after{display:none}
.cal-split:has(.cal-visual--chat) .cal-h2{font-size:clamp(1.9rem,3vw,2.6rem)}
.cal-split:has(.cal-visual--chat) .cal-bullets{padding-top:18px;border-top:1px solid #ead8e5}
@media(max-width:900px){.cal-split:has(.cal-visual--chat){grid-template-columns:1fr;padding:30px;gap:15px}}
@media(max-width:600px){.cal-split:has(.cal-visual--chat){padding:25px 18px;border-radius:22px}.cal-split .cal-visual--chat{padding:35px 0 45px;min-height:0}}
.cal-split.is-reverse .cal-visual.cal-visual--chat{background:transparent}
/* Reservas y recordatorios: interfaces sobre blanco, sin paneles decorativos. */
.cal-split:has(.cal-visual--booking) .cal-split__visual:before,.cal-split:has(.cal-visual--chat) .cal-split__visual:before{display:none}
.cal-split .cal-visual--booking,.cal-split.is-reverse .cal-visual--chat{background:transparent;border:0;box-shadow:none;overflow:visible;padding:25px 20px;min-height:440px}
.cal-visual--booking:before,.cal-visual--booking:after{display:none}
.cal-visual--booking .cal-vcard{max-width:360px;border-radius:20px;border-color:#eae5ee;box-shadow:0 22px 55px -32px #63537555;rotate:-2deg}
.cal-visual--booking .cal-visual__badge{border-radius:999px;box-shadow:0 8px 22px -14px #63537540;top:0;left:12px;font-size:11px;padding:8px 12px}
.cal-vcard__btn{background:#bd2468}.cal-days span.is-on{background:#fce6ef;border-color:#edafca;color:#a51b58}.cal-days span.is-on b{color:#a51b58}
.cal-split:has(.cal-visual--chat){border:0;border-top:1px solid #eae5ee;border-radius:0;background:transparent;padding:65px 0 0;gap:70px;grid-template-columns:1fr 1.1fr}
.cal-split:has(.cal-visual--chat) .cal-split__text{order:1}
.cal-split:has(.cal-visual--chat) .cal-split__visual{order:0}
.cal-split:has(.cal-visual--chat) .cal-bullets{border:0;padding:0}
.cal-chat{max-width:440px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.cal-chat__head{border:0;padding:0 14px 22px;background:transparent}
.cal-chat__head .cal-vcard__logo{border-radius:50%;background:#fce6ef;color:#bd2468}
.cal-chat__body{padding:0 0 20px;gap:17px;position:relative}
.cal-chat__day{background:transparent;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.cal-chat .cal-bubble{max-width:87%;padding:17px 20px;border:1px solid #eae5ee;border-radius:17px;background:#fff;box-shadow:0 12px 32px -24px #63537560;font-size:14px}
.cal-chat .cal-bubble.is-out{background:#eaf8f1;border-color:#d4eee1;transform:translateX(10px)}
.cal-chat .cal-bubble.is-in:last-child{max-width:78%;margin-left:20px}
.cal-bubble__actions span{background:#fceaf2;color:#ac2b65;border-radius:8px}
.cal-visual--chat .cal-visual__badge--br{bottom:-4px;right:0;border-radius:999px;font-size:11px;box-shadow:none;padding:8px 12px}
@media(max-width:900px){.cal-split:has(.cal-visual--chat){grid-template-columns:1fr;gap:35px;padding-top:40px}.cal-split:has(.cal-visual--chat) .cal-split__text{order:0}.cal-split:has(.cal-visual--chat) .cal-split__visual{order:1}}
@media(max-width:600px){.cal-split .cal-visual--booking,.cal-split.is-reverse .cal-visual--chat{padding:25px 6px 35px;min-height:0}.cal-visual--booking .cal-vcard{rotate:0deg}.cal-chat .cal-bubble{padding:14px 15px;font-size:13px}.cal-chat .cal-bubble.is-out{transform:none}.cal-split:has(.cal-visual--chat){padding:35px 0 0}.cal-chat__head{padding-left:0}}
/* Sectores más compactos; iconografía de marca como protagonista. */
.cal-sector:nth-child(n){background:#fff;border:1px solid #eae5ee;min-height:190px;padding:25px;gap:8px}
.cal-sector__top{padding-bottom:15px;margin-bottom:5px}
.cal-sector .cal-ico-tile{width:62px;height:62px;border-radius:19px;border:0;transform:rotate(-5deg);transition:transform .35s ease}
.cal-sector .cal-ico-tile svg{width:32px;height:32px;stroke-width:1.6}
.cal-sector:hover .cal-ico-tile{transform:rotate(3deg) scale(1.08)}
.cal-sector h3{font-size:1.2rem}.cal-sector p{font-size:.92rem;line-height:1.65}
.cal-sector__arrow{border:0;background:#f7f4f8;width:32px;height:32px;color:#bd2468}
.cal-sector:hover{border-color:#edb4ce;box-shadow:0 18px 38px -30px #bd24685c}
.cal-shared-trial{text-align:center;color:#a51b58;font-size:.95rem;font-weight:600;margin:-15px auto 35px;padding:12px 20px;background:#fff0f6;border-radius:999px;width:fit-content;max-width:100%}
.cal-plans{max-width:1000px;margin-inline:auto;gap:25px}
.cal-plan{padding:35px;gap:20px;border-radius:24px}
.cal-plan.is-featured{background:linear-gradient(145deg,#fff4f8,#f7effb);border:1px solid #edb6ce}
.cal-plan__amount{font-size:3.5rem}.cal-plan__desc{min-height:48px}
.cal-plan.is-featured:after{height:3px;background:linear-gradient(90deg,#ff8a4c,#f2577f,#a24fc2)}
.cal-plans+.cal-fineprint{max-width:1000px;margin-inline:auto;margin-top:25px;line-height:1.75}
@media(max-width:960px){.cal-plans{max-width:540px}.cal-shared-trial{font-size:.83rem;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.cal-sector .cal-ico-tile{transition:none}}

/* Tabla comparativa aprobada. */
.cal-compare-pricing{max-width:1100px;margin:auto;border:1px solid #e8e1e8;border-radius:24px;overflow:auto;background:#fff}
.cal-compare-pricing table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;text-align:left}
.cal-compare-pricing th,.cal-compare-pricing td{padding:18px 27px;border-bottom:1px solid #eee8ef;font-size:14px;line-height:1.5}
.cal-compare-pricing thead th{padding:32px 27px 29px;vertical-align:top;font-weight:400;background:#fff}
.cal-compare-pricing thead th:first-child{width:38%;vertical-align:middle}
.cal-compare-pricing th:last-child,.cal-compare-pricing td:last-child{background:#fdf5f9}
.cal-compare-pricing tbody th{font-weight:500;color:#685e70}
.cal-compare-pricing tbody td{color:#67536b;text-align:center;font-size:13px}
.cal-compare-pricing tbody tr:hover th,.cal-compare-pricing tbody tr:hover td{background:#faf7fb}
.cal-compare-pricing tbody tr:last-child>*{border-bottom:0}
.cal-table-intro{display:block;font-size:28px;line-height:1.15;letter-spacing:-.04em;font-weight:500;color:#57415f;margin-bottom:19px}
.cal-compare-pricing small{font-size:12px;color:#938599;line-height:1.8}
.cal-table-plan{display:block;font-size:21px;font-weight:600;color:#4b3b54;margin-bottom:10px}
.cal-table-desc{display:block;font-size:12px;min-height:55px;color:#8a7c90;max-width:230px}
.cal-table-price{display:block;font-size:43px;letter-spacing:-.05em;font-weight:600;color:#4b3b54;line-height:1.2;margin-top:15px}
.cal-table-period{display:block;font-size:12px;color:#8a7c90;margin:3px 0 22px}
.cal-compare-pricing .cal-btn{font-size:12px;padding:11px 17px;min-height:42px;width:100%}
.cal-compare-pricing+.cal-fineprint{max-width:1100px}
@media(max-width:700px){.cal-compare-pricing table{min-width:590px}.cal-compare-pricing th,.cal-compare-pricing td{padding:15px 18px}.cal-compare-pricing thead th{padding:24px 18px}.cal-compare-pricing thead th:first-child{width:34%}.cal-table-intro{font-size:23px}.cal-table-price{font-size:35px}.cal-compare-pricing{border-radius:18px}}
/* Separación de características y columna Esencial. */
.cal-compare-pricing tr>:nth-child(2){background:#f6f5f7;border-left:1px solid #ddd6e1}
.cal-compare-pricing tbody tr:hover>:nth-child(2){background:#efedf2}
.cal-compare-pricing tr>:nth-child(2){background:#faf8fc}
.cal-compare-pricing tr>:nth-child(3){border-left:1px solid #ddd6e1}
.cal-compare-pricing tbody tr:hover>:nth-child(2){background:#f5f1f8}
