.single-tools-section::after,.single-tools-section::before{border-radius:50%;z-index:0;content:"";pointer-events:none;position:absolute}.cal-day-header,.cal-month-title,.download-wrap,.edu-header,.modal-card,.summary-card{text-align:center}.faq-answer,.validation-msg{max-height:0;overflow:hidden}:root{--bg:#fdf6f0;--surface:#ffffff;--surface2:#fef0ea;--border:#f0d8cc;--text-primary:#3a1f14;--text-secondary:#8a5f50;--text-muted:#b8927f;--period:#e8536a;--period-bg:#fde8ec;--safe:#52b788;--safe-bg:#e8f7ef;--fertile:#f4a261;--fertile-bg:#fef0e0;--peak:#e76f51;--peak-bg:#fde3db;--ovulation:#9b5de5;--ovulation-bg:#f0e8fd;--today:#264653;--radius:14px;--radius-sm:8px;--shadow:0 4px 24px rgba(58, 31, 20, 0.08);--shadow-lg:0 8px 40px rgba(58, 31, 20, 0.12);--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",sans-serif}*,::after,::before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);min-height:100vh}.single-tools-section{width:100%;min-height:600px;padding:48px 32px 64px;background:var(--bg);position:relative;overflow:hidden}.single-tools-section::before{top:-120px;right:-120px;width:400px;height:400px;background:radial-gradient(circle,#fde0e8 0,transparent 70%)}.single-tools-section::after{bottom:-80px;left:-80px;width:320px;height:320px;background:radial-gradient(circle,#e8f7ef 0,transparent 70%)}.single-tools-section>*{position:relative;z-index:1}.single-tools-heading{text-align:center;margin-bottom:36px;animation:.6s both fadeSlideDown}.single-tools-heading h3{font-family:var(--font-display);font-size:clamp(2rem, 4vw, 3rem);font-weight:600;letter-spacing:-.01em;color:var(--text-primary);line-height:1.1}.subtitle{margin-top:8px;font-size:.9rem;font-weight:300;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.single-tools-input-area{max-width:860px;margin:0 auto 40px;animation:.7s .1s both fadeSlideUp}.cal-block,.summary-cards{animation:.5s both fadeSlideUp}.input-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px 36px;box-shadow:var(--shadow)}.input-row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.input-row:last-of-type{margin-bottom:0}.input-group{flex:1;min-width:160px;display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.72rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary)}.input-group input{height:46px;padding:0 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);outline:0;transition:border-color .2s,box-shadow .2s}.input-group input:focus{border-color:var(--period);box-shadow:0 0 0 3px rgba(232,83,106,.12)}.input-group input.input-error{border-color:#e8536a;background:#fff6f7}.validation-msg{min-height:0;transition:max-height .35s,margin .35s,opacity .35s;opacity:0;margin:0}.modal-body,.summary-cards{margin-left:auto;margin-right:auto}.validation-msg.show{max-height:80px;opacity:1;margin:14px 0 0}.validation-msg-inner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#fff2f4;border:1px solid #f5c0c8;border-radius:var(--radius-sm);font-size:.82rem;color:#c0334a;line-height:1.5}.validation-msg-inner.validation-msg-success{background:#f0faf4;border-color:#9fdfc0;color:#1e7a4a}.btn-reset:hover,.heading-pill:hover{background:var(--period-bg);color:var(--period)}.validation-msg-inner .v-icon{font-size:.95rem;flex-shrink:0;margin-top:1px}.btn-calculate,.btn-reset{align-items:center;height:52px;font-family:var(--font-body);cursor:pointer;font-weight:500;text-transform:uppercase}.btn-calculate{display:flex;justify-content:center;flex:1;background:linear-gradient(135deg,#e8536a 0,#c94b60 100%);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;letter-spacing:.08em;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 16px rgba(232,83,106,.3)}.btn-calculate:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(232,83,106,.4)}.btn-calculate:active,.btn-reset:active,.modal-btn-confirm:active{transform:translateY(0)}.btn-group-row{display:flex;gap:10px;margin-top:20px;align-items:stretch}.btn-reset{display:inline-flex;justify-content:center;gap:6px;flex-shrink:0;padding:0 20px;background:0 0;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;letter-spacing:.05em;color:var(--text-secondary);transition:border-color .2s,color .2s,background .2s,transform .15s;white-space:nowrap}.heading-eyebrow,.heading-pill{border:1px solid var(--border)}.btn-reset:hover{border-color:var(--period);transform:translateY(-1px)}.reset-icon{font-size:1.1rem;line-height:1;transition:transform .35s;display:inline-block}.btn-reset:hover .reset-icon{transform:rotate(-180deg)}.heading-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px;padding:5px 16px;border-radius:30px;background:var(--surface);box-shadow:0 1px 6px rgba(58,31,20,.05)}.eyebrow-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--period),var(--ovulation));flex-shrink:0}.heading-accent{background:linear-gradient(135deg,#e8536a 10%,#c94b60 50%,#9b5de5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heading-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.heading-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:var(--surface);border-radius:20px;font-size:.72rem;color:var(--text-secondary);font-weight:400;letter-spacing:.02em;cursor:default;transition:border-color .2s,color .2s,background .2s,box-shadow .2s}.heading-pill:hover{border-color:rgba(232,83,106,.35);box-shadow:0 2px 10px rgba(232,83,106,.1)}.heading-pill.heading-pill-cta{background:linear-gradient(135deg,rgba(232,83,106,.07) 0,rgba(155,93,229,.07) 100%);border-color:rgba(232,83,106,.25);color:var(--period);font-weight:500}.heading-pill.heading-pill-cta:hover{background:linear-gradient(135deg,rgba(232,83,106,.15) 0,rgba(155,93,229,.15) 100%);border-color:rgba(155,93,229,.45);color:var(--ovulation)}.heading-trust{margin-top:14px;font-size:.7rem;color:var(--text-muted);letter-spacing:.04em;opacity:.85}.modal-overlay{position:fixed;inset:0;background:rgba(58,31,20,.5);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.modal-overlay.open{opacity:1;visibility:visible}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px 36px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);transform:translateY(20px) scale(.96);transition:transform .28s cubic-bezier(.34, 1.56, .64, 1);position:relative;overflow:hidden}.modal-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--period),var(--ovulation));border-radius:var(--radius) var(--radius) 0 0}.modal-overlay.open .modal-card{transform:translateY(0) scale(1)}.modal-icon{font-size:2.6rem;margin-bottom:18px;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--period-bg),var(--ovulation-bg));border:1px solid var(--border);color:var(--period);font-style:normal;line-height:1}.modal-title{font-family:var(--font-display);font-size:1.55rem;font-weight:600;color:var(--text-primary);margin-bottom:12px;line-height:1.2}.modal-body{font-size:.84rem;color:var(--text-secondary);line-height:1.7;margin-bottom:30px;max-width:320px}.modal-actions{display:flex;gap:10px;justify-content:center}.modal-btn{flex:1;height:48px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.86rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s}.modal-btn-cancel{background:0 0;border:1.5px solid var(--border);color:var(--text-secondary)}.modal-btn-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary);background:var(--surface2)}.modal-btn-confirm{background:linear-gradient(135deg,#e8536a 0,#c94b60 100%);border:none;color:#fff;box-shadow:0 4px 14px rgba(232,83,106,.3)}.legend,.summary-card{border:1px solid var(--border)}.modal-btn-confirm:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(232,83,106,.45)}.legend{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center;margin-top:24px;padding:18px 24px;background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.legend-item{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary)}.dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dot-period{background:var(--period)}.dot-safe{background:var(--safe)}.dot-fertile{background:var(--fertile)}.dot-peak{background:var(--peak)}.dot-ovulation{background:var(--ovulation)}.cal-block,.summary-card{background:var(--surface)}.summary-cards{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-bottom:40px;max-width:860px}.summary-card{flex:1;min-width:170px;border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow);transition:transform .2s}.cal-block,.edu-card{border:1px solid var(--border);box-shadow:var(--shadow)}.summary-card:hover{transform:translateY(-3px)}.summary-card .card-icon{font-size:1.6rem;margin-bottom:8px}.summary-card .card-label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:500}.cal-month-title,.summary-card .card-value{color:var(--text-primary);font-family:var(--font-display)}.summary-card .card-value{margin-top:6px;font-size:1.1rem;font-weight:600;line-height:1.3}.summary-card .card-sub{margin-top:4px;font-size:.72rem;color:var(--text-muted)}.summary-card.card-period{border-top:3px solid var(--period)}.summary-card.card-fertile{border-top:3px solid var(--ovulation)}.summary-card.card-ovulate{border-top:3px solid var(--peak)}.summary-card.card-safe{border-top:3px solid var(--safe)}.calendars-wrapper{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-bottom:32px}.cal-block{border-radius:var(--radius);padding:24px 20px 20px;min-width:280px;flex:1 1 280px;max-width:340px}.cal-month-title{font-size:1.4rem;font-weight:600;margin-bottom:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-day-header{font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding-bottom:8px}.cal-day,.edu-header h4{color:var(--text-primary)}.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:.78rem;font-weight:400;cursor:default;position:relative;transition:transform .1s;min-height:34px}.cal-day:hover{transform:scale(1.08)}.cal-day.empty{background:0 0}.cal-day.period{background:var(--period-bg);color:var(--period);font-weight:600}.cal-day.safe{background:var(--safe-bg);color:var(--safe)}.cal-day.fertile{background:var(--fertile-bg);color:var(--fertile);font-weight:500}.cal-day.peak{background:var(--peak-bg);color:var(--peak);font-weight:600}.cal-day.ovulation{background:var(--ovulation-bg);color:var(--ovulation);font-weight:700}.cal-day.today{outline:2px solid var(--today);outline-offset:-2px;font-weight:700;color:var(--today)}.cal-day .day-num{line-height:1}.cal-day .day-dot{width:4px;height:4px;border-radius:50%;margin-top:2px;background:currentColor;opacity:.7}.cal-day[data-tip]{cursor:help}.cal-day[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--text-primary);color:#fff;font-size:.65rem;font-family:var(--font-body);white-space:nowrap;padding:4px 8px;border-radius:4px;z-index:10;pointer-events:none;line-height:1.4}.disclaimer{max-width:760px;margin:0 auto 28px;background:#fffbf0;border:1px solid #f0d86c;border-radius:var(--radius-sm);padding:16px 20px;display:flex;gap:12px;align-items:flex-start;font-size:.8rem;color:#6b5a1e;line-height:1.6}.btn-download,.edu-card{background:var(--surface)}.disclaimer-icon{font-size:1rem;flex-shrink:0;margin-top:1px}.download-wrap{margin-top:8px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-download{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border:2px solid var(--period);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--period);cursor:pointer;transition:background .2s,color .2s,transform .15s}.btn-download:hover{background:var(--period);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px rgba(232,83,106,.3)}.btn-download-png{border-color:var(--ovulation);color:var(--ovulation)}.btn-download-png:hover{background:var(--ovulation);color:#fff;box-shadow:0 4px 16px rgba(155,93,229,.3)}.edu-section{max-width:1000px;margin:56px auto 0;padding-top:48px;border-top:1px solid var(--border)}.edu-header{margin-bottom:36px}.edu-header h4{font-family:var(--font-display);font-size:clamp(1.6rem, 3vw, 2.2rem);font-weight:600}.edu-header p{margin-top:8px;font-size:.85rem;color:var(--text-muted);letter-spacing:.05em}.edu-card h5,.edu-card ul li strong{color:var(--text-primary)}.edu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.edu-card{border-radius:var(--radius);padding:22px 20px;transition:transform .2s,box-shadow .2s}.edu-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.edu-card-icon{font-size:1.8rem;margin-bottom:10px}.edu-card h5{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:10px}.edu-card p,.edu-card ul li{font-size:.82rem;line-height:1.65}.edu-card p,.edu-card ul li,.faq-answer p{color:var(--text-secondary)}.edu-card ul{list-style:none;padding:0;margin:0}.edu-card ul li{padding:3px 0 3px 14px;position:relative}.edu-card ul li::before{content:"·";position:absolute;left:0;color:var(--period);font-weight:700}@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@media (max-width:640px){.btn-group-row{flex-direction:row}.btn-reset{padding:0 14px;font-size:0}.btn-reset .reset-icon{font-size:1.2rem}.modal-card{padding:32px 24px 28px}.modal-actions{flex-direction:column}.single-tools-section{padding:28px 16px 48px}.input-card{padding:20px 16px}.input-group{min-width:130px}.cal-block{min-width:260px;padding:16px 12px}.cal-day{font-size:.72rem;min-height:30px}.summary-card{min-width:140px}.edu-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.edu-grid{grid-template-columns:1fr}}.faq-section{max-width:860px;margin:40px auto;padding:0}.faq-question{width:100%;display:flex;justify-content:space-between;padding:15px;background:#fff;border:1px solid var(--border);cursor:pointer;border-radius:var(--radius-sm);transition:.3s}.faq-question.active{border-color:var(--period)}.faq-answer{transition:max-height .3s ease-out;background:var(--surface2);padding:0 15px}.faq-answer p{padding:15px 0}.faq-item{margin-bottom:5px}