:root{--orange:#f39200;--orange-dark:#d87900;--ink:#292a2c;--muted:#6f716f;--cream:#f6f3ed;--line:#dedbd4;--shell:min(1180px,calc(100% - 40px));--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Montserrat",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;z-index:999;top:8px;left:8px;padding:10px 14px;color:#fff;background:#222;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:50;top:0;border-top:3px solid var(--orange);border-bottom:1px solid rgba(215,212,206,.9);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.header-inner{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand img{width:42px;height:42px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand strong{font-size:1.32rem;line-height:1;letter-spacing:-.055em}.brand strong b{color:#383a3c}.brand strong em{color:var(--orange);font-style:normal}.brand small{margin-top:5px;color:#777;font-size:.56rem;font-weight:700;letter-spacing:.02em}.header-link{color:#515354;font-size:.72rem;font-weight:800;text-decoration:none}.header-link span{color:var(--orange);font-size:1rem}
.hero{overflow:hidden;padding:78px 0 92px;background:radial-gradient(circle at 82% 24%,rgba(243,146,0,.12),transparent 27%),linear-gradient(120deg,#fff 0%,#faf8f4 48%,#f3efe8 100%)}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:66px}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#55575a;font-size:.66rem;font-weight:900;letter-spacing:.14em}.eyebrow span{width:28px;height:3px;background:var(--orange)}.hero h1{max-width:620px;margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(3rem,5.3vw,5.25rem);line-height:.97;letter-spacing:-.045em}.hero h1 em{display:block;color:var(--orange);font-style:normal}.hero-lead{max-width:610px;margin:25px 0 0;color:#5c5e60;font-size:1rem;line-height:1.75}.hero-points{margin:25px 0 30px;display:flex;flex-wrap:wrap;gap:12px 22px}.hero-points span{font-size:.72rem;font-weight:800}.hero-points i{display:inline-grid;width:21px;height:21px;margin-right:6px;place-items:center;border-radius:50%;color:#fff;background:var(--orange);font-style:normal}.button{min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:8px;font-size:.72rem;font-weight:900;letter-spacing:.015em;text-decoration:none;cursor:pointer}.button-primary{color:#fff;background:var(--orange);box-shadow:0 10px 22px rgba(217,121,0,.24)}.button-primary:hover{background:var(--orange-dark)}.button-secondary{border:1px solid #b9b7b2;color:#37383a;background:#fff}.button:focus-visible,.project-actions button:focus-visible,.sample-row button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(243,146,0,.25);outline-offset:2px}
.hero-calendar{position:relative;min-height:430px;display:grid;place-items:center}.hero-paper{width:min(100%,650px);aspect-ratio:297/210;padding:24px 26px 18px;transform:rotate(1.5deg);border:1px solid #dfdbd3;background:#fff;box-shadow:0 28px 55px rgba(42,38,32,.2)}.hero-paper-top{padding:4px 2px 15px;display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:4px solid #123958}.hero-paper-top span{grid-column:1/-1;color:#9a6409;font-size:.47rem;font-weight:900;letter-spacing:.16em}.hero-paper-top strong{margin-top:3px;color:#123958;font-family:"Playfair Display",serif;font-size:2rem;line-height:1}.hero-paper-top>b{color:#f39200;font-size:1.45rem}.hero-week,.hero-days{display:grid;grid-template-columns:repeat(7,1fr)}.hero-week span{padding:8px 2px;color:#fff;background:#123958;border-right:1px solid rgba(255,255,255,.18);text-align:center;font-size:.48rem;font-weight:900}.hero-days b,.hero-days i{position:relative;min-height:48px;padding:5px;border-right:1px solid #c8c8c5;border-bottom:1px solid #c8c8c5;color:#123958;background:#fff;font-size:.57rem;font-style:normal}.hero-days b:nth-child(7n+1),.hero-days i:nth-child(7n+1){border-left:1px solid #c8c8c5}.hero-days .weekend{background:#f8f1e5}.hero-days small{display:block;margin-top:8px;padding:3px;border-left:2px solid #f39200;color:#6e5640;font-size:.4rem;font-weight:700}.hero-paper-footer{padding-top:10px;display:flex;justify-content:space-between;color:#858585;font-size:.48rem}.hero-paper-footer strong{font-size:.72rem}.hero-paper-footer strong b{color:#393a3c}.hero-paper-footer em{color:#f39200;font-style:normal}.free-seal{position:absolute;top:24px;right:-2px;width:78px;height:78px;display:grid;place-content:center;border:4px solid #fff;border-radius:50%;color:#fff;background:var(--orange);box-shadow:0 10px 24px rgba(80,50,10,.23);font-size:1.15rem;font-weight:900;text-align:center;transform:rotate(8deg)}.free-seal b{display:block;font-size:.55rem;letter-spacing:.08em}.print-seal{position:absolute;right:20px;bottom:22px;padding:9px 14px;border-radius:999px;color:#fff;background:#343537;box-shadow:0 9px 20px rgba(0,0,0,.2);font-size:.62rem}
.generator-section{padding:90px 0 105px;background:#f4f2ed}.generator-heading{text-align:center}.eyebrow.dark{justify-content:center;color:#777}.generator-heading h2,.guide-heading h2,.scolatio-intro h2,.faq-block>h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.1rem,3.5vw,3.2rem);line-height:1.06;letter-spacing:-.03em}.generator-heading>p:last-child,.guide-heading p{max-width:680px;margin:16px auto 0;color:var(--muted);font-size:.86rem;line-height:1.7}.workspace{margin-top:45px;display:grid;grid-template-columns:minmax(340px,.72fr) minmax(650px,1.28fr);align-items:start;gap:24px}.control-panel,.preview-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 44px rgba(49,50,52,.08)}.control-panel{padding:26px}.project-manager{margin:-26px -26px 26px;padding:25px 26px 24px;border-bottom:1px solid #dedbd4;border-radius:16px 16px 0 0;background:#343537}.project-manager .panel-heading{margin-top:0}.project-manager .panel-heading>span{color:#fff;background:var(--orange)}.project-manager .panel-heading strong,.project-manager .field>span{color:#fff}.project-manager .panel-heading small,.project-manager .project-count{color:#c8c8c7}.project-manager input,.project-manager select{border-color:#626365;background:#fff}.panel-heading{margin:28px 0 17px;display:flex;align-items:center;gap:12px}.panel-heading:first-child{margin-top:0}.panel-heading>span{width:36px;height:36px;display:grid;flex:0 0 auto;place-items:center;border-radius:9px;color:#fff;background:#343537;font-size:.67rem;font-weight:900}.panel-heading div{display:flex;flex-direction:column;gap:2px}.panel-heading strong{font-size:.8rem}.panel-heading small{color:var(--muted);font-size:.59rem;line-height:1.45}.section-heading{padding-top:24px;border-top:1px solid #e5e2dc}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:flex;flex-direction:column;gap:6px}.field-wide{grid-column:1/-1}.field>span,.theme-field legend{color:#55575a;font-size:.62rem;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #cfccc5;border-radius:7px;color:#28292b;background:#fff}.field input,.field select{height:42px;padding:0 11px}.field textarea{padding:10px 11px;resize:vertical;line-height:1.5}.project-actions,.sample-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.project-actions button,.sample-row button{min-height:36px;border:1px solid #747577;border-radius:7px;color:#fff;background:transparent;font-size:.59rem;font-weight:800;cursor:pointer}.project-actions .project-save{border-color:var(--orange);background:var(--orange)}.project-actions .project-delete{border-color:#8c6967;color:#ffd2ce}.saved-project-field{margin-top:15px}.project-count{margin:10px 0 0;font-size:.56rem}.sample-row button{border-color:#c7c4bd;color:#555;background:#faf9f6}.theme-field{margin:0;padding:0;border:0}.theme-options{margin-top:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.theme-options label{position:relative;cursor:pointer;text-align:center}.theme-options input{position:absolute;opacity:0}.theme-swatch{height:37px;display:flex;padding:5px;border:2px solid transparent;border-radius:8px;background:#f4f2ed}.theme-swatch::before,.theme-swatch i{content:"";display:block;height:100%}.theme-swatch::before{width:38%;background:var(--swatch-a)}.theme-swatch i{flex:1;background:var(--swatch-b)}.theme-swatch.navy{--swatch-a:#163d5c;--swatch-b:#e9b24e}.theme-swatch.forest{--swatch-a:#31594a;--swatch-b:#d9c7a1}.theme-swatch.terracotta{--swatch-a:#a84f3d;--swatch-b:#e7b17e}.theme-swatch.minimal{--swatch-a:#303238;--swatch-b:#d9dadc}.theme-options b{display:block;margin-top:4px;color:#646566;font-size:.5rem}.theme-options input:checked+.theme-swatch{border-color:var(--orange);box-shadow:0 0 0 2px rgba(243,146,0,.14)}.save-status{margin-top:22px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid #d5e5db;border-radius:8px;background:#f4faf6}.save-status>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#4d8b67;font-size:.7rem}.save-status div{display:flex;flex-direction:column}.save-status strong{font-size:.62rem}.save-status small{margin-top:2px;color:#6c726e;font-size:.53rem}.save-status.is-saving>span{background:#d99123}.actions{margin-top:16px;display:grid;grid-template-columns:1.15fr .85fr;gap:9px}.actions .button{width:100%}.privacy-note{margin:15px 0 0;color:#787977;font-size:.54rem;line-height:1.55}.privacy-note span{color:#388758;font-weight:900}
.preview-panel{position:sticky;top:94px;overflow:hidden}.preview-toolbar{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfaf8}.preview-toolbar div{display:flex;align-items:center;gap:9px}.preview-toolbar div>span{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(243,146,0,.12)}.preview-toolbar strong{font-size:.76rem}.preview-toolbar small{color:var(--muted);font-size:.63rem;font-weight:700}.page-stage{padding:28px;overflow:hidden;background:linear-gradient(145deg,#ebe9e4,#dedbd4)}
.calendar-sheet{--accent:#173e5d;--accent-soft:#edf3f6;--highlight:#e1aa43;--paper:#fff;position:relative;width:100%;aspect-ratio:297/210;padding:24px 30px 16px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #dcd9d2;color:#202124;background:var(--paper);box-shadow:0 17px 38px rgba(40,40,40,.18);font-family:"Montserrat",system-ui,sans-serif}.calendar-sheet::before{content:"";position:absolute;top:12px;bottom:12px;left:12px;width:7px;background:linear-gradient(180deg,var(--highlight) 0 27%,var(--accent) 27%)}.calendar-sheet.theme-forest{--accent:#31594a;--accent-soft:#eef3ef;--highlight:#c9a562;--paper:#fff}.calendar-sheet.theme-terracotta{--accent:#984936;--accent-soft:#f8eee9;--highlight:#d99355;--paper:#fffdfb}.calendar-sheet.theme-minimal{--accent:#303238;--accent-soft:#f2f2f2;--highlight:#96999e;--paper:#fff}.sheet-header{min-height:58px;padding:0 2px 8px 9px;display:flex;align-items:flex-end;justify-content:space-between;border-bottom:4px solid var(--accent)}.sheet-kicker{display:flex;flex-direction:column}.sheet-kicker>span{margin-bottom:4px;color:var(--highlight);font-size:.43rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.sheet-kicker strong{color:var(--accent);font-family:"Playfair Display",Georgia,serif;font-size:2.05rem;line-height:.86;letter-spacing:-.025em;text-transform:uppercase}.sheet-year{color:var(--highlight);font-size:1.55rem;font-weight:900;line-height:1}.sheet-meta{height:38px;display:grid;grid-template-columns:.75fr 1fr 1.4fr;border-bottom:1px solid #aaa}.sheet-meta p{margin:0;padding:6px 10px;border-right:1px solid #d0cfcb;background:var(--accent-soft)}.sheet-meta p:last-child{border:0}.sheet-meta span{display:block;color:#7a7a78;font-size:.36rem;font-weight:900;letter-spacing:.08em}.sheet-meta strong{display:block;margin-top:2px;overflow:hidden;color:#292a2c;font-size:.53rem;white-space:nowrap;text-overflow:ellipsis}.calendar-grid{min-height:0;flex:1;display:grid;border-left:1px solid #989b9d}.calendar-grid.week-full{grid-template-columns:repeat(7,1fr)}.calendar-grid.week-school{grid-template-columns:repeat(5,1fr)}.weekday{display:grid;place-items:center;height:25px;border-right:1px solid #fff;color:#fff;background:var(--accent);font-size:.44rem;font-weight:900;letter-spacing:.08em}.day-cell{position:relative;min-height:0;padding:7px;border-right:1px solid #aeb0b0;border-bottom:1px solid #aeb0b0;background:#fff}.day-cell.is-weekend{background:var(--accent-soft)}.day-cell.is-empty{background:repeating-linear-gradient(135deg,#fafafa,#fafafa 4px,#f6f6f6 4px,#f6f6f6 8px)}.day-cell time{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;color:var(--accent);font-size:.56rem;font-weight:900}.day-cell.has-event time{color:#fff;background:var(--accent)}.day-event{margin:5px 0 0;padding:4px 5px;border-left:3px solid var(--highlight);border-radius:2px;color:#4f4f4d;background:var(--accent-soft);font-size:.39rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.calendar-grid.rows-6 .day-cell{padding-top:4px}.calendar-grid.rows-6 .day-cell time{width:17px;height:17px;font-size:.51rem}.calendar-grid.rows-6 .day-event{margin-top:3px;padding-block:2px;font-size:.34rem}.sheet-footer{height:24px;padding:7px 0 0 9px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;color:#7a7b79;font-size:.38rem}.sheet-footer>strong{font-size:.62rem;letter-spacing:-.04em}.sheet-footer>strong b{color:#3b3c3e}.sheet-footer>strong em{color:var(--highlight);font-style:normal}.sheet-footer>span{text-transform:uppercase;letter-spacing:.1em}.sheet-footer>a{justify-self:end;color:var(--accent);font-weight:800;text-decoration:none}
.guide-section{padding:100px 0;background:#fff}.guide-heading{text-align:center}.guide-steps{margin-top:46px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-step{position:relative;padding:30px 28px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 14px 34px rgba(40,40,40,.06)}.guide-step>span{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;color:#fff;background:#343537;font-size:.68rem;font-weight:900}.guide-step h3{margin:19px 0 9px;font-size:1rem}.guide-step p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.7}.scolatio-intro{margin-top:75px;padding:46px 48px;display:flex;align-items:center;justify-content:space-between;gap:50px;border-radius:17px;color:#fff;background:#343537}.scolatio-intro h2{font-size:2rem}.scolatio-intro p{max-width:650px;margin:13px 0 0;color:#d2d2d1;font-size:.76rem;line-height:1.65}.guide-cta{flex:0 0 auto}.faq-block{max-width:860px;margin:82px auto 0}.faq-block>h2{text-align:center;font-size:2.35rem}.faq-list{margin-top:30px;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:19px 8px;cursor:pointer;font-size:.78rem;font-weight:800}.faq-list p{margin:0;padding:0 8px 20px;color:var(--muted);font-size:.72rem;line-height:1.7}.site-footer{padding:36px 0;border-top:1px solid #dedbd4;background:#f7f5f1}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}.footer-brand strong{font-size:1.1rem}.footer-inner>p{margin:0;color:#747573;font-size:.65rem}.footer-inner nav{display:flex;gap:18px}.footer-inner nav a{color:#5e6060;font-size:.64rem;font-weight:800;text-decoration:none}.toast{position:fixed;z-index:200;left:50%;bottom:22px;max-width:min(90%,440px);padding:11px 16px;border-radius:9px;color:#fff;background:#333;box-shadow:0 12px 28px rgba(0,0,0,.24);font-size:.72rem;font-weight:700;transform:translate(-50%,25px);opacity:0;pointer-events:none;transition:.25s ease}.toast.is-visible{transform:translate(-50%,0);opacity:1}
@media(max-width:1040px){.hero-grid{gap:35px}.workspace{grid-template-columns:1fr}.preview-panel{position:static;order:-1}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner nav{grid-column:1/-1}.hero h1{font-size:clamp(3rem,6vw,4.5rem)}}
@media(max-width:760px){:root{--shell:min(100% - 28px,650px)}.header-link{display:none}.hero{padding:55px 0 68px}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-points{justify-content:center}.hero h1,.hero-lead{margin-inline:auto}.hero-calendar{min-height:365px}.hero-paper{min-width:570px;transform:rotate(1deg) scale(.84)}.generator-section,.guide-section{padding:72px 0}.page-stage{padding:12px;overflow:auto}.calendar-sheet{min-width:720px}.guide-steps{grid-template-columns:1fr}.scolatio-intro{padding:34px 30px;align-items:flex-start;flex-direction:column;gap:26px}.footer-inner{grid-template-columns:1fr}.footer-inner nav{grid-column:auto}.preview-toolbar{align-items:flex-start;flex-direction:column;justify-content:center;gap:3px}}
@media(max-width:520px){.brand small{display:none}.brand strong{font-size:1.05rem}.hero h1{font-size:clamp(2.6rem,12vw,3.4rem)}.hero-calendar{min-height:290px}.hero-paper{transform:rotate(1deg) scale(.66)}.free-seal{right:-5px;top:18px}.print-seal{right:0;bottom:5px}.fields-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.control-panel{padding:19px}.project-manager{margin:-19px -19px 22px;padding:21px 19px}.actions{grid-template-columns:1fr}.theme-options{grid-template-columns:repeat(2,1fr)}.scolatio-intro{padding:30px 24px}}
@page{size:A4 landscape;margin:7mm}
@media print{html,body{width:100%;height:auto;background:#fff}.skip-link,.site-header,.hero,.generator-heading,.control-panel,.preview-toolbar,.guide-section,.site-footer,.toast{display:none!important}.generator-section{padding:0;background:#fff}.workspace{width:100%;margin:0;display:block}.preview-panel{position:static;border:0;box-shadow:none}.page-stage{padding:0;overflow:visible;background:#fff}.calendar-sheet{width:283mm;min-width:0;height:196mm;aspect-ratio:auto;padding:6mm 9mm 4mm;border:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calendar-sheet::before{top:3mm;bottom:3mm;left:3mm;width:2.2mm}.sheet-header{min-height:17mm}.sheet-meta{height:12mm}.weekday{height:8mm}.sheet-footer{height:7mm}.day-event{font-size:7pt}}

/* Personalización decorativa del calendario */
.calendar-sheet{--sticker-border:rgba(225,170,67,.46);--sticker-bg:#f0f5f7;--dot-color:rgba(225,170,67,.24);--rule-color:rgba(23,62,93,.1);--soft-glow:rgba(225,170,67,.18);--annual-border:#a5b0b6;--weekend-wash:rgba(237,243,246,.68)}
.calendar-sheet.theme-forest{--sticker-border:rgba(201,165,98,.46);--sticker-bg:#f1f5f2;--dot-color:rgba(201,165,98,.24);--rule-color:rgba(49,89,74,.1);--soft-glow:rgba(201,165,98,.18);--annual-border:#a4aea8;--weekend-wash:rgba(238,243,239,.68)}
.calendar-sheet.theme-terracotta{--sticker-border:rgba(217,147,85,.46);--sticker-bg:#f9f0eb;--dot-color:rgba(217,147,85,.24);--rule-color:rgba(152,73,54,.1);--soft-glow:rgba(217,147,85,.18);--annual-border:#b29c96;--weekend-wash:rgba(248,238,233,.68)}
.calendar-sheet.theme-minimal{--sticker-border:rgba(150,153,158,.46);--sticker-bg:#f3f3f3;--dot-color:rgba(150,153,158,.24);--rule-color:rgba(48,50,56,.1);--soft-glow:rgba(150,153,158,.18);--annual-border:#a9aaad;--weekend-wash:rgba(242,242,242,.68)}
.calendar-sheet.theme-colorful{--sticker-border:rgba(239,159,36,.46);--sticker-bg:#f0f6f8;--dot-color:rgba(239,159,36,.24);--rule-color:rgba(36,72,99,.1);--soft-glow:rgba(239,159,36,.18);--annual-border:#a8b5bc;--weekend-wash:rgba(238,245,247,.68)}
.calendar-sheet.frame-double::before,.calendar-sheet.frame-dotted::before,.calendar-sheet.frame-none::before{display:none}
.calendar-sheet.frame-double::after,.calendar-sheet.frame-dotted::after{content:"";position:absolute;z-index:4;inset:10px;pointer-events:none;border:2px solid var(--accent)}
.calendar-sheet.frame-double::after{outline:1px solid var(--highlight);outline-offset:-5px}
.calendar-sheet.frame-dotted::after{border-style:dotted}
.calendar-sheet.font-friendly{font-family:"Nunito",sans-serif}
.calendar-sheet.font-handwritten{font-family:"Nunito",sans-serif}
.calendar-sheet.font-modern{font-family:"Poppins",sans-serif}
.calendar-sheet.font-friendly .sheet-kicker strong{font-family:"Nunito",sans-serif;font-weight:900;letter-spacing:.015em}
.calendar-sheet.font-handwritten .sheet-kicker strong{font-family:"Caveat",cursive;font-size:2.55rem;font-weight:700;letter-spacing:.01em;text-transform:none}
.calendar-sheet.font-modern .sheet-kicker strong{font-family:"Poppins",sans-serif;font-size:1.78rem;font-weight:800;letter-spacing:.025em}
.sheet-stickers{position:absolute;z-index:3;top:30px;right:105px;display:flex;align-items:center;gap:4px;pointer-events:none}
.sheet-stickers:empty{display:none}
.sheet-stickers span{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--sticker-border);border-radius:50%;background:var(--sticker-bg);box-shadow:0 3px 8px rgba(35,35,35,.08);font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif;font-size:.75rem;transform:rotate(-7deg)}
.sheet-stickers span:nth-child(2){transform:translateY(5px) rotate(7deg)}
.sheet-stickers span:nth-child(3){transform:rotate(10deg)}
@media print{.calendar-sheet.frame-double::after,.calendar-sheet.frame-dotted::after{inset:2.5mm}.sheet-stickers{top:7mm;right:30mm}.sheet-stickers span{width:7mm;height:7mm;font-size:13pt}}

/* Fondos y stickers de gran formato, recortados por los bordes */
.calendar-sheet.bg-paper{background:#fff9ee}
.calendar-sheet.bg-dots{background-color:var(--paper);background-image:radial-gradient(circle,var(--dot-color) 1.1px,transparent 1.3px);background-size:18px 18px}
.calendar-sheet.bg-notebook{background-color:#fffef9;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 27px,var(--rule-color) 28px)}
.calendar-sheet.bg-soft{background:radial-gradient(circle at 7% 5%,var(--accent-soft),transparent 34%),radial-gradient(circle at 94% 93%,var(--soft-glow),transparent 36%),var(--paper)}
.calendar-sheet.bg-paper .day-cell:not(.is-weekend):not(.is-empty),.calendar-sheet.bg-dots .day-cell:not(.is-weekend):not(.is-empty),.calendar-sheet.bg-notebook .day-cell:not(.is-weekend):not(.is-empty),.calendar-sheet.bg-soft .day-cell:not(.is-weekend):not(.is-empty){background:rgba(255,255,255,.84)}
.calendar-sheet .sheet-header,.calendar-sheet .sheet-meta,.calendar-sheet .calendar-grid,.calendar-sheet .sheet-footer{position:relative;z-index:1}
.calendar-sheet .sheet-stickers{position:absolute;z-index:0;inset:0;display:block;pointer-events:none}
.calendar-sheet .sheet-stickers span{position:absolute;width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:4.4rem;line-height:1;opacity:.16;filter:saturate(.85);transform:none}
.calendar-sheet .sheet-stickers span:nth-child(1){top:-30px;left:-28px;transform:rotate(-18deg)}
.calendar-sheet .sheet-stickers span:nth-child(2){top:35%;right:-38px;transform:rotate(18deg)}
.calendar-sheet .sheet-stickers span:nth-child(3){bottom:-34px;left:44%;transform:rotate(-10deg)}
.calendar-sheet .sheet-stickers span:nth-child(4){bottom:9%;left:-34px;transform:rotate(16deg)}
.calendar-sheet .sheet-stickers span:nth-child(5){top:-34px;right:20%;transform:rotate(12deg)}
@media print{.calendar-sheet .sheet-stickers{inset:0}.calendar-sheet .sheet-stickers span{width:auto;height:auto;font-size:42pt}.calendar-sheet .sheet-stickers span:nth-child(1){top:-8mm;left:-7mm}.calendar-sheet .sheet-stickers span:nth-child(2){right:-10mm}.calendar-sheet .sheet-stickers span:nth-child(3){bottom:-9mm}.calendar-sheet .sheet-stickers span:nth-child(4){left:-9mm}.calendar-sheet .sheet-stickers span:nth-child(5){top:-9mm}}
.range-field>span{display:flex;align-items:center;justify-content:space-between}.range-field output{padding:3px 7px;border-radius:999px;color:#fff;background:#343537;font-size:.54rem}.range-field input[type="range"]{height:26px;padding:0;border:0;border-radius:0;accent-color:var(--orange);cursor:pointer}.calendar-sheet .day-cell{overflow:hidden}.calendar-sheet .day-cell time{position:relative;z-index:2;width:auto;height:auto;margin:-2px 0 0 -2px;display:block;font-size:var(--day-number-size,11.25px);line-height:.9;transform:none}.calendar-sheet .day-cell.has-event time{width:auto;height:auto;display:block;color:var(--accent);background:transparent;font-size:var(--day-number-size,11.25px);line-height:.9}

/* Fechas destacadas como post-it editorial */
.calendar-sheet .day-event{position:absolute;z-index:1;top:56%;left:50%;width:78%;margin:0;padding:7px 8px 8px;border:0;border-radius:1px;color:#413d2d;background:#fff1a8;box-shadow:0 3px 7px rgba(48,43,27,.17),0 1px 1px rgba(48,43,27,.1);font-weight:800;line-height:1.22;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);transform:translate(-50%,-50%) rotate(-1deg)}
.calendar-sheet .day-cell:nth-child(3n+1) .day-event{background:#ffefb1;transform:translate(-50%,-50%) rotate(.8deg)}
.calendar-sheet .day-cell:nth-child(3n+2) .day-event{background:#f7efc4;transform:translate(-50%,-50%) rotate(-.45deg)}
.calendar-sheet .day-event::before{content:"";position:absolute;top:-2px;left:50%;width:18px;height:5px;background:rgba(225,218,196,.82);box-shadow:0 1px 1px rgba(60,55,40,.1);transform:translateX(-50%) rotate(-2deg)}
.calendar-sheet .day-event::after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;background:linear-gradient(225deg,var(--accent-soft) 50%,rgba(157,132,51,.2) 51%)}
.calendar-grid.rows-6 .day-event{top:57%;width:80%;margin:0;padding:4px 6px 5px;font-size:.34rem}
@media print{.calendar-sheet .day-event{box-shadow:0 1.2mm 2.2mm rgba(48,43,27,.15);print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Año con jerarquía editorial */
.calendar-sheet .sheet-year{padding:0 4px 3px;border-bottom:2px solid var(--highlight);font-family:"Playfair Display",Georgia,serif;font-size:2.15rem;font-weight:800;line-height:.82;letter-spacing:-.035em}
.calendar-sheet.font-friendly .sheet-year{font-family:"Nunito",sans-serif;font-size:2.05rem;font-weight:900;letter-spacing:.015em}
.calendar-sheet.font-handwritten .sheet-year{font-family:"Caveat",cursive;font-size:2.55rem;font-weight:700;letter-spacing:0}
.calendar-sheet.font-modern .sheet-year{font-family:"Poppins",sans-serif;font-size:1.95rem;font-weight:800;letter-spacing:.02em}
@media print{.calendar-sheet .sheet-year{border-bottom-width:.6mm}}

/* Colecciones destacadas, compartidas con Lista de asistencia */
.product-promo-section{padding:92px 0 96px;background:linear-gradient(180deg,#fff,#f7f4ee)}
.promo-heading{max-width:800px;text-align:center}.promo-heading .eyebrow{justify-content:center}.promo-heading h2{margin:0;color:#303133;font-size:clamp(2.15rem,3.7vw,3.55rem);font-weight:850;line-height:1.05;letter-spacing:-.045em}.promo-heading>p:last-child{max-width:690px;margin:18px auto 0;color:var(--muted);font-size:.97rem;line-height:1.7}
.promo-grid{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.product-card{min-width:0;min-height:420px;display:grid;grid-template-columns:.88fr 1.12fr;overflow:hidden;border:1px solid rgba(40,40,40,.08);border-radius:22px;background:#fff;box-shadow:0 22px 52px rgba(49,50,52,.12);text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.product-card:hover{transform:translateY(-7px);box-shadow:0 30px 68px rgba(49,50,52,.18)}
.promo-visual{position:relative;isolation:isolate;min-height:420px;display:grid;place-items:center;overflow:hidden}.product-card-group .promo-visual{background:linear-gradient(145deg,#26343b,#405a62)}.product-card-tdah .promo-visual{background:linear-gradient(145deg,#f2a117,#ffd378)}.promo-visual::after{content:"";position:absolute;z-index:-1;inset:auto -45px -55px auto;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.1)}
.promo-cover{position:relative;width:168px;min-height:246px;padding:25px 19px 20px;display:flex;flex-direction:column;border:5px solid rgba(255,255,255,.92);border-radius:9px;color:#fff;background:linear-gradient(160deg,#ee8c00,#ffb33f);box-shadow:12px 18px 0 rgba(12,22,27,.2),0 25px 45px rgba(0,0,0,.28);transform:rotate(-4deg)}.product-card-tdah .promo-cover{color:#2f3838;background:linear-gradient(155deg,#fffdf8,#f5eee1);box-shadow:12px 18px 0 rgba(147,81,0,.16),0 25px 45px rgba(117,70,0,.22);transform:rotate(4deg)}.promo-cover::before{content:"";position:absolute;top:0;left:0;width:100%;height:7px;background:rgba(255,255,255,.44)}.product-card-tdah .promo-cover::before{background:linear-gradient(90deg,#ef8f00 0 56%,#277d79 56%)}.promo-cover small{font-size:.43rem;font-weight:900;letter-spacing:.15em}.promo-cover strong{margin-top:23px;font-size:1.34rem;font-weight:850;line-height:1.05;letter-spacing:-.045em}.promo-cover strong b{display:block;font-size:3rem;line-height:.8}.promo-cover>span{margin-top:17px;font-size:.55rem;font-weight:650;line-height:1.45}.promo-cover i{margin-top:auto;font-size:.57rem;font-style:normal;font-weight:900;letter-spacing:.1em}
.promo-sticker{position:absolute;z-index:2;right:12px;top:38px;min-width:77px;padding:12px 9px;border:3px solid #fff;border-radius:50%;color:#26343b;background:#fff1cc;box-shadow:0 12px 25px rgba(0,0,0,.2);font-size:1rem;font-weight:900;line-height:.75;text-align:center;transform:rotate(8deg)}.promo-sticker small{font-size:.42rem;line-height:1}.product-card-tdah .promo-sticker{right:auto;left:10px;top:auto;bottom:43px;color:#fff;background:#277d79;transform:rotate(-8deg)}
.promo-orbit,.promo-shape{position:absolute;z-index:-1}.promo-orbit{border:2px dashed rgba(255,192,83,.45);border-radius:50%}.orbit-one{width:260px;height:260px}.orbit-two{width:330px;height:160px;transform:rotate(38deg)}.promo-shape{border-radius:35%}.shape-one{top:-20px;right:-45px;width:180px;height:145px;background:rgba(255,255,255,.25);transform:rotate(24deg)}.shape-two{left:-40px;bottom:-35px;width:160px;height:130px;background:rgba(39,125,121,.22);transform:rotate(-20deg)}
.promo-copy{padding:39px 31px 34px;display:flex;flex-direction:column;align-items:flex-start}.promo-kicker{color:var(--orange-dark);font-size:.57rem;font-weight:900;letter-spacing:.12em}.product-card-tdah .promo-kicker{color:#277d79}.promo-copy h3{margin:12px 0 13px;color:#2f3032;font-size:1.65rem;font-weight:850;line-height:1.08;letter-spacing:-.04em}.promo-copy p{margin:0;color:#68696b;font-size:.78rem;line-height:1.65}.promo-copy ul{margin:20px 0 23px;padding:0;display:flex;flex-wrap:wrap;gap:7px;list-style:none}.promo-copy li{padding:6px 8px;border-radius:99px;color:#76501d;background:#fff2dc;font-size:.55rem;font-weight:800}.product-card-tdah .promo-copy li{color:#246965;background:#eaf6f4}.promo-cta{margin-top:auto;display:flex;align-items:center;gap:10px;color:#2f3032;font-size:.7rem;font-weight:900}.promo-cta span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--orange);transition:transform .2s ease}.product-card-tdah .promo-cta span{background:#277d79}.product-card:hover .promo-cta span{transform:translateX(4px)}
@media(max-width:900px){.promo-grid{grid-template-columns:1fr}.product-card{width:100%;max-width:690px;margin-inline:auto}}
@media(max-width:560px){.product-promo-section{padding:72px 0}.product-card{grid-template-columns:1fr}.promo-visual{min-height:310px}.promo-cover{transform:rotate(-3deg) scale(.9)}.product-card-tdah .promo-cover{transform:rotate(3deg) scale(.9)}.promo-copy{padding:30px 24px 31px}.promo-sticker{right:30px}.product-card-tdah .promo-sticker{left:28px}}
@media print{.product-promo-section{display:none!important}}

/* Mockup premium del calendario en el hero */
.hero-calendar{min-height:455px;perspective:1200px}.hero-calendar::before{content:"";position:absolute;width:520px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(243,146,0,.19),rgba(243,146,0,0) 68%);filter:blur(4px);transform:translate(30px,20px)}
.hero-calendar .hero-paper{position:relative;z-index:1;width:min(100%,675px);aspect-ratio:297/210;padding:31px 29px 18px;border:1px solid rgba(35,49,58,.14);border-radius:13px;background:linear-gradient(145deg,#fff 0%,#fffdf8 100%);box-shadow:0 34px 65px rgba(40,45,49,.22),0 8px 18px rgba(40,45,49,.12);transform:rotateY(-3deg) rotateZ(1.1deg)}
.hero-calendar .hero-paper::before{content:"";position:absolute;z-index:-2;inset:12px -12px -12px 12px;border:1px solid rgba(30,53,70,.1);border-radius:13px;background:#f0ede5;box-shadow:0 12px 22px rgba(45,43,38,.12);transform:rotate(-2deg)}
.hero-calendar .hero-paper::after{content:"";position:absolute;z-index:-1;inset:0;border-radius:13px;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.8),transparent 8%,transparent 92%,rgba(223,215,201,.22));box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}
.hero-binding{position:absolute;z-index:3;top:-11px;left:13%;right:13%;display:flex;justify-content:space-between}.hero-binding i{position:relative;width:16px;height:24px;border:2px solid #243f50;border-radius:8px;background:linear-gradient(90deg,#6f8490,#e6edef 45%,#5b717e);box-shadow:0 3px 5px rgba(30,45,54,.2)}.hero-binding i::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;border-radius:50%;background:#e7e2d8;box-shadow:inset 0 1px 2px rgba(30,30,30,.25);transform:translateX(-50%)}
.hero-calendar .hero-paper-top{padding:7px 3px 13px;grid-template-columns:1fr auto;border-bottom:4px solid #173e5d}.hero-calendar .hero-paper-top span{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;color:#9b650a;background:#fff2d6;font-size:.42rem;letter-spacing:.13em}.hero-calendar .hero-paper-top strong{margin-top:7px;color:#173e5d;font-size:2.2rem;letter-spacing:-.035em}.hero-calendar .hero-paper-top>b{padding-bottom:1px;color:#d98200;font-family:"Playfair Display",Georgia,serif;font-size:1.9rem;border-bottom:2px solid #e2aa43;letter-spacing:-.03em}
.hero-paper-meta{height:34px;display:grid;grid-template-columns:.75fr 1fr 1.25fr;border:1px solid #d9d6cf;border-top:0;background:#f4f7f8}.hero-paper-meta span,.hero-paper-meta em{padding:6px 9px;border-right:1px solid #d9d6cf;color:#34434c;font-size:.49rem;font-weight:800;font-style:normal}.hero-paper-meta small{display:block;margin-bottom:1px;color:#8a8e90;font-size:.31rem;letter-spacing:.08em}.hero-paper-meta em{display:grid;place-items:center;border:0;color:#95610c;background:#fff5df;font-size:.44rem;letter-spacing:.08em;text-transform:uppercase}
.hero-calendar .hero-week span{padding:7px 2px;background:#173e5d;font-size:.44rem;letter-spacing:.06em}.hero-calendar .hero-days b,.hero-calendar .hero-days>i{min-height:44px;padding:5px 6px;color:#173e5d;background:rgba(255,255,255,.92);font-size:.56rem}.hero-calendar .hero-days .weekend{color:#667883;background:#edf3f6}.hero-calendar .hero-days b:nth-child(7n+1),.hero-calendar .hero-days i:nth-child(7n+1){border-left:1px solid #b7bdc0}
.hero-calendar .hero-note{position:relative;width:86%;margin:5px auto 0;padding:4px 3px;border:0;border-radius:1px;color:#594822;background:#fff0a8;box-shadow:0 2px 4px rgba(60,49,24,.17);font-size:.34rem;text-align:center;transform:rotate(-1.5deg)}.hero-calendar .hero-note::before{content:"";position:absolute;top:-2px;left:50%;width:13px;height:4px;background:rgba(228,220,197,.85);transform:translateX(-50%) rotate(2deg)}.hero-calendar .hero-note.note-blue{color:#294958;background:#dceef3;transform:rotate(1.2deg)}.hero-calendar .hero-note.note-rose{color:#6e4040;background:#f5dddd;transform:rotate(-.7deg)}
.hero-calendar .hero-paper-footer{padding:10px 2px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#7b7f80}.hero-calendar .hero-paper-footer strong{font-size:.76rem}.hero-calendar .hero-paper-footer>span{font-size:.35rem;font-weight:800;letter-spacing:.12em}.hero-calendar .hero-paper-footer>small{justify-self:end;font-size:.37rem;font-weight:700}.hero-calendar .free-seal{top:12px;right:-7px;width:76px;height:76px;border-width:5px;background:linear-gradient(145deg,#f5a21f,#df7f00);font-size:1.22rem;line-height:.8;transform:rotate(8deg)}.hero-calendar .free-seal b{margin-top:5px;font-size:.38rem}.hero-calendar .print-seal{right:18px;bottom:18px;padding:10px 15px;background:#173e5d;box-shadow:0 10px 21px rgba(23,62,93,.24)}
@media(max-width:760px){.hero-calendar{min-height:375px}.hero-calendar .hero-paper{min-width:620px;transform:rotateY(-2deg) rotateZ(1deg) scale(.82)}.hero-calendar .free-seal{right:-3px}.hero-calendar .print-seal{right:0}}
@media(max-width:520px){.hero-calendar{min-height:300px}.hero-calendar .hero-paper{transform:rotateZ(1deg) scale(.64)}.hero-calendar .free-seal{top:7px;right:-5px;transform:rotate(8deg) scale(.88)}.hero-calendar .print-seal{bottom:2px;transform:scale(.9)}}
.actions .button svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.actions .button-primary svg{filter:drop-shadow(0 1px 1px rgba(91,50,0,.15))}.actions .button-secondary svg{color:#383a3c}

/* El calendario del hero siempre representa el mes vigente */
.hero-calendar .hero-days{grid-template-rows:repeat(6,38px)}
.hero-calendar .hero-days b,.hero-calendar .hero-days>i{min-height:38px}
.hero-calendar .hero-days>i.weekend{background:#edf3f6}
.hero-calendar .hero-note{margin-top:3px;padding-block:3px}

/* Día vigente en el hero */
.hero-calendar .hero-days b.is-today{color:#fff;background:radial-gradient(circle at 11px 10px,#f39200 0 11px,transparent 12px),linear-gradient(135deg,#fffaf0,#fff)}
.hero-calendar .hero-days b.is-today.weekend{background:radial-gradient(circle at 11px 10px,#f39200 0 11px,transparent 12px),#edf3f6}
.hero-today-label{position:absolute;top:4px;right:5px;padding:2px 4px;border-radius:999px;color:#a66200;background:#fff0cf;font-size:.27rem;font-weight:900;letter-spacing:.08em;line-height:1}

/* Modalidad de planificador semanal */
[hidden]{display:none!important}
.calendar-view-field select{border-color:#e5a33c;background:#fffaf0;font-weight:800}
.weekly-period-field small{color:#777;font-size:.54rem;line-height:1.45}
.calendar-sheet.view-weekly .sheet-kicker strong{max-width:620px;font-size:1.45rem;letter-spacing:-.02em}
.calendar-grid.view-weekly .day-cell{padding:12px 10px}
.calendar-grid.view-weekly .day-cell time.weekly-date{width:auto;height:auto;display:flex;align-items:baseline;justify-content:flex-start;gap:5px;border-radius:0}
.calendar-grid.view-weekly .day-cell time.weekly-date span{font-size:var(--weekly-day-number-size,18px);line-height:1}
.calendar-grid.view-weekly .day-cell time.weekly-date small{color:var(--highlight);font-size:.5rem;letter-spacing:.08em}
.calendar-sheet .day-cell.is-sunday time,.calendar-sheet .day-cell.is-sunday.has-event time,.annual-day.is-sunday{color:#bd3f45}
.hero-calendar .hero-days b.is-sunday:not(.is-today){color:#bd3f45}
.theme-options{grid-template-columns:repeat(5,1fr)}
.theme-swatch.colorful{--swatch-a:#e76f51;--swatch-b:linear-gradient(90deg,#e9a52f 0 25%,#55a56b 25% 50%,#3e7fbd 50% 75%,#cf5d86 75%)}
.calendar-sheet.theme-colorful{--accent:#244863;--accent-soft:#eef5f7;--highlight:#ef9f24;--paper:#fff}
.calendar-sheet.theme-colorful .weekday.day-column-0,.calendar-sheet.theme-colorful .annual-weekday.day-column-0{background:#e76f51}.calendar-sheet.theme-colorful .weekday.day-column-1,.calendar-sheet.theme-colorful .annual-weekday.day-column-1{background:#e9a52f}.calendar-sheet.theme-colorful .weekday.day-column-2,.calendar-sheet.theme-colorful .annual-weekday.day-column-2{background:#55a56b}.calendar-sheet.theme-colorful .weekday.day-column-3,.calendar-sheet.theme-colorful .annual-weekday.day-column-3{background:#36a3a6}.calendar-sheet.theme-colorful .weekday.day-column-4,.calendar-sheet.theme-colorful .annual-weekday.day-column-4{background:#3e7fbd}.calendar-sheet.theme-colorful .weekday.day-column-5,.calendar-sheet.theme-colorful .annual-weekday.day-column-5{background:#7568b3}.calendar-sheet.theme-colorful .weekday.day-column-6,.calendar-sheet.theme-colorful .annual-weekday.day-column-6{background:#cf5d86}
.calendar-sheet.theme-colorful .annual-weekday{color:#fff}.calendar-sheet.theme-colorful .day-cell.day-column-0{background:#fff4f0}.calendar-sheet.theme-colorful .day-cell.day-column-1{background:#fff8e9}.calendar-sheet.theme-colorful .day-cell.day-column-2{background:#f1f9f2}.calendar-sheet.theme-colorful .day-cell.day-column-3{background:#eef9f9}.calendar-sheet.theme-colorful .day-cell.day-column-4{background:#eff6fc}.calendar-sheet.theme-colorful .day-cell.day-column-5{background:#f4f1fb}.calendar-sheet.theme-colorful .day-cell.day-column-6{background:#fff1f6}.calendar-sheet.theme-colorful .day-cell.is-empty{background:#f7f7f5}
.calendar-sheet.theme-colorful .annual-month:nth-child(6n+1) h3{background:#e76f51}.calendar-sheet.theme-colorful .annual-month:nth-child(6n+2) h3{background:#e9a52f}.calendar-sheet.theme-colorful .annual-month:nth-child(6n+3) h3{background:#55a56b}.calendar-sheet.theme-colorful .annual-month:nth-child(6n+4) h3{background:#36a3a6}.calendar-sheet.theme-colorful .annual-month:nth-child(6n+5) h3{background:#3e7fbd}.calendar-sheet.theme-colorful .annual-month:nth-child(6n) h3{background:#7568b3}
.hero-gratis-banner{position:absolute;z-index:8;top:-18px;left:50%;min-width:250px;padding:11px 48px 10px 24px;display:flex;flex-direction:column;align-items:flex-start;border:4px solid #fff;border-radius:12px;color:#fff;background:linear-gradient(135deg,#ffad22,#f08300 62%,#d86d00);box-shadow:0 16px 30px rgba(162,78,0,.34);line-height:1;transform:translateX(-50%) rotate(-2deg)}.hero-gratis-banner::before,.hero-gratis-banner::after{content:"";position:absolute;top:50%;width:22px;height:22px;background:#ed8000;transform:translateY(-50%) rotate(45deg);z-index:-1}.hero-gratis-banner::before{left:-8px}.hero-gratis-banner::after{right:-8px}.hero-gratis-banner small{font-size:.46rem;font-weight:900;letter-spacing:.16em}.hero-gratis-banner strong{margin-top:4px;font-size:1.8rem;font-weight:950;letter-spacing:.045em}.hero-gratis-banner i{position:absolute;right:17px;top:50%;font-size:1.45rem;font-style:normal;transform:translateY(-50%)}
.hero-free-button{position:relative;isolation:isolate;min-width:310px;min-height:76px;padding:10px 18px 10px 13px;justify-content:flex-start;gap:13px;overflow:hidden;border:2px solid rgba(255,255,255,.75);border-radius:16px;background:linear-gradient(135deg,#ffad22 0%,#f39200 50%,#d97400 100%);box-shadow:0 18px 34px rgba(200,104,0,.3),inset 0 1px 0 rgba(255,255,255,.42);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.hero-free-button::after{content:"";position:absolute;z-index:-1;top:-80%;left:-35%;width:42%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(20deg);transition:left .5s ease}.hero-free-button:hover{background:linear-gradient(135deg,#ffb22f 0%,#f39200 50%,#d97400 100%);box-shadow:0 22px 42px rgba(200,104,0,.38),inset 0 1px 0 rgba(255,255,255,.48);transform:translateY(-3px)}.hero-free-button:hover::after{left:115%}.hero-free-icon{width:48px;height:48px;display:grid;flex:0 0 auto;place-items:center;border-radius:13px;color:#f39200;background:#fff;font-size:1.35rem;box-shadow:0 7px 15px rgba(116,57,0,.2)}.hero-free-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.hero-free-copy small{font-size:.55rem;font-weight:900;letter-spacing:.13em}.hero-free-copy strong{margin-top:4px;font-size:1.65rem;font-weight:950;letter-spacing:.025em}.hero-free-arrow{margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:50%;font-size:1.15rem;font-weight:900}
.calendar-sheet .calendar-grid.view-weekly .day-event{top:56%;left:50%;width:78%;max-width:78%;margin:0;padding:10px 9px;border:0;box-shadow:0 4px 9px rgba(55,48,30,.14);font-size:.52rem;text-align:center;transform:translate(-50%,-50%) rotate(-1deg)}
.calendar-sheet .calendar-grid.view-weekly .day-cell:nth-child(even) .day-event{transform:translate(-50%,-50%) rotate(.8deg)}
@media(max-width:760px){.calendar-sheet.view-weekly .sheet-kicker strong{font-size:1.35rem}}

/* Calendario anual profesional en A4 vertical */
.calendar-sheet.view-annual{aspect-ratio:210/297;padding:27px 27px 17px}
.calendar-sheet.view-annual .sheet-header{min-height:66px;padding-left:5px}
.calendar-sheet.view-annual .sheet-kicker strong{font-size:1.65rem}
.calendar-sheet.view-annual .sheet-year{font-size:2.35rem}
.calendar-sheet.view-annual .sheet-meta{height:42px}
.calendar-sheet.view-annual .calendar-grid{margin-top:15px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.annual-month{min-width:0;overflow:hidden;border:1px solid var(--annual-border);border-radius:4px;background:rgba(255,255,255,.9)}
.annual-month h3{height:25px;margin:0;display:grid;place-items:center;color:#fff;background:var(--accent);font-family:inherit;font-size:.57rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.annual-mini-grid{height:calc(100% - 25px);display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:20px repeat(6,minmax(0,1fr));padding:4px 5px 6px}
.annual-weekday,.annual-day{display:grid;place-items:center;min-width:0;color:#505456;font-size:.42rem;font-weight:800}
.annual-weekday{color:var(--highlight);font-size:.36rem;font-weight:900}
.annual-weekday.is-weekend,.annual-day.is-weekend{background:var(--weekend-wash)}
.annual-day{font-size:var(--annual-day-number-size,6px)}
.annual-day.is-empty{color:transparent}
.calendar-sheet.view-annual .sheet-footer{height:26px;padding-top:9px}
@media(max-width:760px){.calendar-sheet.view-annual{min-width:560px}.calendar-sheet.view-annual .sheet-kicker strong{font-size:1.5rem}}
@page annual{size:A4 portrait;margin:7mm}
@media print{
  .calendar-sheet.view-annual{page:annual;width:196mm;min-width:0;height:283mm;aspect-ratio:auto;padding:7mm 8mm 4mm;break-before:avoid-page;break-inside:avoid;break-after:avoid-page}
  .calendar-sheet.view-annual .sheet-header{min-height:19mm}
  .calendar-sheet.view-annual .sheet-meta{height:12mm}
  .calendar-sheet.view-annual .calendar-grid{margin-top:4mm;gap:3mm}
  .annual-month h3{height:7mm;font-size:7.5pt}
  .annual-mini-grid{height:calc(100% - 7mm);grid-template-rows:5mm repeat(6,minmax(0,1fr));padding:1mm 1.5mm 1.5mm}
  .annual-weekday{font-size:6pt}.annual-day{font-size:7.5pt}
}

/* Hero responsive: composición real para tablet y móvil */
@media(max-width:760px){
  .hero-grid>*{min-width:0}
  .hero-copy,.hero-calendar{width:100%;max-width:100%}
  .hero h1{width:100%;max-width:100%;font-size:clamp(2.7rem,10.5vw,4.15rem)}
  .hero-lead{font-size:.93rem;line-height:1.65}
  .hero-points span{font-size:.78rem}
  .hero-calendar{min-height:auto;padding:18px 0 25px}
  .hero-calendar::before{width:96%;height:78%;transform:translate(2%,12%)}
  .hero-calendar .hero-paper{width:100%;min-width:0;max-width:100%;padding:28px 22px 16px;transform:rotateZ(.6deg)}
  .hero-calendar .hero-days{grid-template-rows:repeat(6,32px)}
  .hero-calendar .hero-days b,.hero-calendar .hero-days>i{min-height:32px}
  .hero-calendar .free-seal{right:-7px;transform:rotate(8deg) scale(.84)}
  .hero-calendar .print-seal{right:4px;bottom:5px}
}
@media(max-width:520px){
  .hero{padding:48px 0 52px}
  .hero-grid{gap:27px}
  .hero h1{font-size:clamp(2.55rem,12vw,3.25rem);line-height:1.01}
  .hero-lead{margin-top:20px;font-size:.88rem;line-height:1.62}
  .hero-points{margin:20px 0 25px;gap:9px 14px}
  .hero-points span{font-size:.69rem}
  .hero-gratis-banner{top:-8px;min-width:205px;padding:9px 39px 8px 19px;border-width:3px}.hero-gratis-banner strong{font-size:1.45rem}.hero-gratis-banner small{font-size:.38rem}.hero-gratis-banner i{right:13px;font-size:1.15rem}
  .hero-free-button{width:min(100%,340px);min-width:0;min-height:72px;margin-inline:auto}
  .hero-free-copy strong{font-size:1.5rem}
  .hero-calendar{padding:12px 0 22px}
  .hero-calendar .hero-paper{padding:23px 14px 12px;border-radius:9px;transform:rotateZ(.4deg)}
  .hero-binding{top:-8px;left:12%;right:12%}
  .hero-binding i{width:10px;height:17px;border-width:1px}
  .hero-binding i::after{bottom:-4px;width:6px;height:6px}
  .hero-calendar .hero-paper-top{padding:4px 2px 9px;border-bottom-width:3px}
  .hero-calendar .hero-paper-top span{padding:3px 5px;font-size:.31rem}
  .hero-calendar .hero-paper-top strong{margin-top:5px;font-size:1.28rem}
  .hero-calendar .hero-paper-top>b{font-size:1.12rem}
  .hero-paper-meta{height:28px;grid-template-columns:.8fr .95fr 1.15fr}
  .hero-paper-meta span,.hero-paper-meta em{padding:5px 6px;font-size:.36rem}
  .hero-paper-meta small{font-size:.25rem}
  .hero-paper-meta em{font-size:.31rem}
  .hero-calendar .hero-week span{padding:5px 1px;font-size:.34rem}
  .hero-calendar .hero-days{grid-template-rows:repeat(6,26px)}
  .hero-calendar .hero-days b,.hero-calendar .hero-days>i{min-height:26px;padding:3px 4px;font-size:.44rem}
  .hero-calendar .hero-note{display:none}
  .hero-calendar .hero-paper-footer{padding-top:7px}
  .hero-calendar .hero-paper-footer>span{display:none}
  .hero-calendar .hero-paper-footer>small{font-size:.31rem}
  .hero-calendar .free-seal,.hero-calendar .print-seal{display:none}
  .hero-today-label{top:3px;right:3px;padding:1px 3px;font-size:.21rem}
  .page-stage{overflow:hidden}
  .calendar-sheet{transform-origin:top left}
}
@media(max-width:520px){.theme-options{grid-template-columns:repeat(2,1fr)}}
.print-export-host{display:none}
@page{size:A4 landscape;margin:0}
@page annual{size:A4 portrait;margin:0}
@media print{
  body.print-export-active{margin:0!important;width:auto!important;height:auto!important;background:#fff!important}
  body.print-export-active>*:not(.print-export-host){display:none!important}
  body.print-export-active .print-export-host{display:block!important;margin:0!important;padding:0!important;overflow:hidden;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  body.print-export-active .print-export-host.is-landscape{width:297mm;height:210mm}
  body.print-export-active .print-export-host.is-portrait{page:annual;width:210mm;height:297mm}
  body.print-export-active .print-export-host img{display:block;width:100%;height:100%;object-fit:fill}
}
