/* ANS 0.4.10: scoped to the two Elementor shortcode widgets only. */
/* The month links follow the original seasonal column: dark text, compact
   grey hover highlight around the label, and a consistent 36px row rhythm.
   Extra specificity / !important on colors counters Elementor's global link styles. */
.ans-tp-months {display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:0;font-family:"Fira Sans",sans-serif;}
.ans-tp-months a.ans-tp-months__link,
.ans-tp-months a.ans-tp-months__link:link,
.ans-tp-months a.ans-tp-months__link:visited {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:flex-start;width:auto;max-width:100%;min-height:34px;margin:0;padding:7px 12px;border-radius:8px;background:transparent!important;color:#222222!important;text-align:left;font-family:"Fira Sans",sans-serif;font-size:1rem;font-weight:500;line-height:1.3;text-decoration:none!important;transition:background-color .16s ease,color .16s ease;}
.ans-tp-months a.ans-tp-months__link:hover,
.ans-tp-months a.ans-tp-months__link:focus-visible {background:#f3f3f3!important;color:#222222!important;text-decoration:none!important;}
.ans-tp-shortcode-calendar{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:17px 18px 15px;border:1px solid #e0ebf2;border-radius:12px;background:#f3f9fc;font-family:"Fira Sans",sans-serif;font-size:14px;line-height:1.45;color:#173b51;container-type:inline-size;}
.ans-tp-shortcode-calendar *, .ans-tp-shortcode-calendar *::before, .ans-tp-shortcode-calendar *::after{box-sizing:border-box;}
.ans-tp-shortcode-calendar__lead{margin:0 0 13px;text-align:left;}
.ans-tp-shortcode-calendar__lead h4{margin:0 0 4px!important;padding:0!important;color:#183f58;font-family:inherit;font-size:16px;font-weight:600;line-height:1.3;text-align:left;}
.ans-tp-shortcode-calendar__lead p{margin:0!important;padding:0!important;color:#688699;font-family:inherit;font-size:13px;font-weight:400;line-height:1.45;text-align:left;}
.ans-tp-shortcode-calendar__nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;}
.ans-tp-shortcode-calendar__nav-label{text-align:center;color:#698498;font-size:11px;font-weight:500;}
.ans-tp-shortcode-calendar__arrow{display:inline-flex!important;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;min-height:30px;margin:0!important;padding:0!important;border:1px solid #dce8f0!important;border-radius:50%!important;background:#fff!important;color:#497f9e!important;box-shadow:none!important;cursor:pointer;}
.ans-tp-shortcode-calendar__arrow svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.ans-tp-shortcode-calendar__arrow:disabled{opacity:.32;cursor:default;}
.ans-tp-shortcode-calendar__arrow:not(:disabled):hover{border-color:#accbdc!important;background:#e5f3fa!important;}
.ans-tp-shortcode-calendar .ans-mnav__days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;min-width:0;}
.ans-tp-shortcode-calendar .ans-mnav__monthgrid{min-width:0;margin:0;padding:0;}
.ans-tp-shortcode-calendar .ans-mnav__month-title{margin:0 0 8px!important;padding:0!important;color:#21445c;font-family:inherit;font-size:13px;font-weight:600;line-height:1.35;text-align:center;}
.ans-tp-shortcode-calendar .ans-mnav__daygrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:0;padding:0;}
.ans-tp-shortcode-calendar .ans-mnav__weekday{display:flex;align-items:center;justify-content:center;min-width:0;min-height:20px;color:#7692a1;font-family:inherit;font-size:10px;font-weight:500;line-height:1.2;}
.ans-tp-shortcode-calendar .ans-mnav__blank{display:block;min-height:25px;}
.ans-tp-shortcode-calendar .ans-mnav__day{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;min-height:25px!important;height:25px!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:4px!important;background:rgba(255,255,255,.85)!important;color:#17425a!important;font-family:inherit!important;font-size:11px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important;cursor:pointer;}
.ans-tp-shortcode-calendar .ans-mnav__day:not(:disabled):not(.is-selected):hover{background:#e3f2fa!important;border-color:#a2c9e0!important;}
.ans-tp-shortcode-calendar .ans-mnav__day.is-between{background:#d9edf8!important;border-radius:0!important;}
.ans-tp-shortcode-calendar .ans-mnav__day.is-selected,.ans-tp-shortcode-calendar .ans-mnav__day.is-selected:not(:disabled):hover{background:#db4312!important;border-color:#db4312!important;color:#fff!important;font-weight:700!important;}
.ans-tp-shortcode-calendar .ans-mnav__day.is-today:not(.is-selected){border-color:#8fc2e0!important;}
.ans-tp-shortcode-calendar .ans-mnav__day:disabled{background:transparent!important;color:#b7c8d2!important;cursor:default;}
.ans-tp-shortcode-calendar__footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;padding-top:11px;border-top:1px solid #dceaf2;}
.ans-tp-shortcode-calendar .ans-mnav__selection{flex:1;min-width:0;margin:0!important;padding:0!important;color:#65859a;font-size:11px;font-weight:400;line-height:1.4;text-align:left;}
.ans-tp-shortcode-calendar__actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.ans-tp-shortcode-calendar__reset{margin:0!important;padding:7px 5px!important;border:0!important;background:transparent!important;color:#4f7792!important;box-shadow:none!important;font:500 11px "Fira Sans",sans-serif!important;cursor:pointer;}
.ans-tp-shortcode-calendar__reset:hover{text-decoration:underline;}
.ans-tp-shortcode-calendar__submit{box-sizing:border-box!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;width:auto!important;max-width:100%;min-height:40px!important;margin:0!important;padding:8px 15px!important;border:1px solid #dd4313!important;border-radius:999px!important;background:#dd4313!important;color:#fff!important;box-shadow:none!important;font-family:"Fira Sans",sans-serif!important;font-size:0.8rem!important;font-weight:400!important;line-height:1.7!important;letter-spacing:normal!important;text-align:center!important;text-decoration:none!important;white-space:nowrap;cursor:pointer;}
.ans-tp-shortcode-calendar__submit:disabled{opacity:.5;cursor:not-allowed;}
.ans-tp-shortcode-calendar__submit:not(:disabled):hover{background:#b8380f!important;}
.ans-tp-months__link:focus-visible,.ans-tp-shortcode-calendar button:focus-visible{outline:2px solid #4b9cc5!important;outline-offset:2px;}
@container (max-width:385px){
 .ans-tp-shortcode-calendar .ans-mnav__days{grid-template-columns:1fr;gap:14px;}
 .ans-tp-shortcode-calendar .ans-mnav__day{min-height:33px!important;height:33px!important;font-size:12px!important;}
 .ans-tp-shortcode-calendar .ans-mnav__blank{min-height:33px;}
 .ans-tp-shortcode-calendar__footer{flex-wrap:wrap;}
 .ans-tp-shortcode-calendar .ans-mnav__selection{flex-basis:100%;}
 .ans-tp-shortcode-calendar__actions{margin-left:auto;}
}
@media(max-width:500px){
 .ans-tp-shortcode-calendar{padding:14px 12px;}
 .ans-tp-shortcode-calendar .ans-mnav__days{grid-template-columns:1fr;}
 .ans-tp-shortcode-calendar .ans-mnav__day{min-height:35px!important;height:35px!important;font-size:12px!important;}
 .ans-tp-shortcode-calendar .ans-mnav__blank{min-height:35px;}
 .ans-tp-shortcode-calendar__footer{flex-wrap:wrap;}
 .ans-tp-shortcode-calendar .ans-mnav__selection{flex-basis:100%;}
}
