/* Scoped, Blocksy-friendly seasonal planner. */
.ttt-tsf,.ttt-tsf *{box-sizing:border-box}
.ttt-tsf{--ink:#143e48;--muted:#466870;--teal:#136d74;--line:#d0e1df;--soft:#f1f7f6;--cream:#fdf8ef;--gold:#efa955;max-width:1160px;margin:24px auto 32px;background:#fff;border:1px solid #d9e4e2;border-radius:16px;overflow:hidden;box-shadow:0 7px 30px rgba(13,44,47,.07);color:var(--ink);font-family:inherit;font-size:15px;line-height:1.55}
.ttt-tsf__hero{padding:31px clamp(20px,4.5vw,48px) 32px;color:#fff;background:linear-gradient(110deg,rgba(7,42,45,.95),rgba(12,83,90,.92)),radial-gradient(ellipse at 85% 10%,#426a65 5%,#042c34 85%)}
.ttt-tsf__eyebrow,.ttt-tsf__mini-label{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.ttt-tsf__eyebrow{color:#bfe1dc;margin-bottom:9px}
.ttt-tsf__hero h2{color:#fff;font-size:clamp(28px,4.8vw,42px);line-height:1.16;margin:0 0 12px;max-width:720px}
.ttt-tsf__hero p{color:#e1eff0;font-size:15px;line-height:1.65;max-width:800px;margin:0}
.ttt-tsf__layout{display:grid;grid-template-columns:minmax(0,38%) minmax(0,62%);border-bottom:1px solid var(--line)}
.ttt-tsf__form{padding:27px clamp(17px,3vw,32px);border-right:1px solid var(--line)}
.ttt-tsf__form label{display:block;margin:0 0 15px;color:#194751;font-size:13px;font-weight:750}
.ttt-tsf__form select{display:block;width:100%;height:43px;max-width:100%;border:1px solid #a7c5c5;border-radius:8px;padding:8px 11px;margin-top:5px;background:#fff;color:#193f49;font:inherit;font-size:14px}
.ttt-tsf__form select:disabled{opacity:.65;background:#f1f4f4}
.ttt-tsf__form :focus-visible,.ttt-tsf button:focus-visible,.ttt-tsf a:focus-visible{outline:3px solid #edb14d;outline-offset:3px}
.ttt-tsf__step{display:flex;gap:8px;align-items:center;margin:4px 0 18px;font-size:14px;font-weight:800}
.ttt-tsf__step span{border-radius:50%;font-size:10px;color:#11676d;background:#ddefeb;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center}
.ttt-tsf__note{margin:0 0 26px;color:#58747c;font-size:12px;line-height:1.55}
.ttt-tsf__action{border:0;border-radius:8px;min-height:44px;padding:10px 18px;background:#136e75;color:#fff;font:inherit;font-size:14px;font-weight:800;cursor:pointer;width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center}
.ttt-tsf__action:hover{background:#104e55;color:#fff}
.ttt-tsf__privacy{font-size:11px;color:#667e84;margin:11px 0 0}
.ttt-tsf__overview{padding:28px clamp(19px,3.3vw,34px);background:var(--soft);min-width:0}
.ttt-tsf__placeholder{max-width:490px;margin:12px auto}
.ttt-tsf__placeholder-art{display:inline-grid;place-items:center;width:48px;height:48px;background:#def0ec;border:1px solid #cae5df;border-radius:16px;color:var(--teal);font-size:25px;margin-bottom:7px}
.ttt-tsf__placeholder h3{font-size:25px;margin:0 0 12px;color:var(--ink)}
.ttt-tsf__placeholder p{margin:0 0 15px;color:var(--muted);font-size:14px}
.ttt-tsf__placeholder ul{padding-left:20px;margin:0;color:var(--muted);font-size:13px}
.ttt-tsf__result-tag{font-size:11px;font-weight:800;letter-spacing:.11em;color:#347680;text-transform:uppercase}
.ttt-tsf__overview h3{font-size:24px;color:var(--ink);margin:6px 0 12px;line-height:1.24}
.ttt-tsf__overview p{font-size:14px;color:#48636b;margin:0 0 13px}
.ttt-tsf__top-months{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 17px}
.ttt-tsf__top-months span{background:#fff;color:#12626c;border:1px solid #b7d9d2;border-radius:24px;padding:6px 11px;font-weight:800;font-size:13px}
.ttt-tsf__callout{background:#fff;border:1px solid #d1e3df;border-left:3px solid #3e9993;border-radius:8px;padding:13px 15px;margin:12px 0;font-size:13px;color:#2e5861}
.ttt-tsf__callout--warning{border-left-color:#cf8c31;background:#fffaf1}
.ttt-tsf__overview a{color:#126b73;font-size:13px;word-break:break-word}
.ttt-tsf__calendar{padding:28px clamp(16px,3vw,32px)}
.ttt-tsf__calendar-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:17px}
.ttt-tsf__mini-label{color:#176c75;display:block;margin-bottom:4px}
.ttt-tsf__calendar-heading h3{font-size:25px;color:var(--ink);margin:0 0 3px}
.ttt-tsf__calendar-heading p{font-size:13px;color:#536e74;margin:0}
.ttt-tsf__legend{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:8px;font-size:11px;color:#577078}
.ttt-tsf__legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ttt-tsf__dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.ttt-tsf__dot--good{background:#348a79}.ttt-tsf__dot--mixed{background:#c48d3b}.ttt-tsf__dot--caution{background:#bd6b5c}
.ttt-tsf__month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.ttt-tsf__month{border:1px solid #d4e2e0;background:#fff;border-radius:9px;padding:13px 10px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;min-width:0;display:flex;flex-direction:column;gap:6px;min-height:110px;transition:border-color .12s,transform .12s}
.ttt-tsf__month:hover{border-color:#287881;transform:translateY(-2px)}
.ttt-tsf__month[aria-pressed="true"]{outline:2px solid #176b73;border-color:#176b73;background:#f3fafa}
.ttt-tsf__month strong{font-size:15px;color:var(--ink)}
.ttt-tsf__month-status{font-size:11px;font-weight:700;line-height:1.25}
.ttt-tsf__month--good .ttt-tsf__month-status{color:#207463}.ttt-tsf__month--mixed .ttt-tsf__month-status{color:#9a6824}.ttt-tsf__month--caution .ttt-tsf__month-status{color:#ab594f}
.ttt-tsf__month--unknown .ttt-tsf__month-status{color:#63757a}
.ttt-tsf__compare-sub{font-size:10px;color:#55747b;line-height:1.35}
.ttt-tsf__month-detail{margin-top:18px;border:1px solid #d1e4e0;background:#f3f8f6;border-radius:11px;padding:19px 21px}
.ttt-tsf__month-detail h4{font-size:18px;margin:0 0 9px;color:var(--ink)}
.ttt-tsf__month-detail p{font-size:13px;color:#405e66;margin:0 0 10px}
.ttt-tsf__month-detail strong{color:#173c45}
.ttt-tsf__month-detail a{font-size:12px;color:#126d74;word-break:break-word}
.ttt-tsf__month-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:7px}
.ttt-tsf__month-detail-grid>div{border:1px solid #d9e6e1;background:#fff;border-radius:8px;padding:12px}
.ttt-tsf__booking{border-top:1px solid #d6e2e1;background:#f6faf9;padding:21px clamp(16px,3vw,32px)}
.ttt-tsf__booking h3{margin:0 0 6px;font-size:20px;color:var(--ink)}
.ttt-tsf__booking>p{font-size:13px;color:#4c6b70;max-width:660px;margin:0 0 13px}
.ttt-tsf__booking-grid{display:flex;gap:8px;flex-wrap:wrap}
.ttt-tsf__booking-grid a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#126b74;border-radius:7px;color:white!important;font-size:12px;font-weight:750;text-decoration:none!important;min-height:34px}
.ttt-tsf__booking-grid a:hover{background:#104f59}
.ttt-tsf__booking .ttt-tsf__affiliate-note{font-size:11px;margin:11px 0 0;color:#667a7f}
.ttt-tsf__more{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:center;padding:18px clamp(16px,3vw,32px);border-top:1px solid #d5e3e1}
.ttt-tsf__more a{font-size:13px;color:#126b74;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.ttt-tsf__footer{background:#f9fbfb;border-top:1px solid #dce7e6;padding:17px clamp(16px,3vw,32px);font-size:12px;color:#527078}
.ttt-tsf [hidden]{display:none!important}
@media(max-width:980px){.ttt-tsf__layout{grid-template-columns:minmax(0,43%) minmax(0,57%)}.ttt-tsf__month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ttt-tsf__calendar-heading{flex-direction:column}}
@media(max-width:680px){.ttt-tsf{border-radius:12px}.ttt-tsf__hero{padding:25px 20px}.ttt-tsf__layout{display:block}.ttt-tsf__form{border-right:0;border-bottom:1px solid var(--line);padding:22px 19px}.ttt-tsf__overview{padding:23px 19px}.ttt-tsf__month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ttt-tsf__month{padding:11px 7px;min-height:99px}.ttt-tsf__month strong{font-size:13px}.ttt-tsf__month-status{font-size:10px}.ttt-tsf__calendar{padding:22px 15px}.ttt-tsf__month-detail{padding:15px}.ttt-tsf__booking-grid a{width:auto}}
@media(max-width:355px){.ttt-tsf__month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.ttt-tsf__form,.ttt-tsf__booking,.ttt-tsf__more{display:none!important}.ttt-tsf__layout{display:block}.ttt-tsf__month{break-inside:avoid}.ttt-tsf__hero{background:#fff!important;color:#111!important}.ttt-tsf__hero h2,.ttt-tsf__hero p{color:#111!important}}
