:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid #007aff;border-radius:50%;border-top-color:#0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}.swiper-button-next,.swiper-button-prev{align-items:center;color:#007aff;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;width:44px;z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{fill:currentColor;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;transform-origin:center;width:100%}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:-22px;top:50%}.swiper-button-prev{left:4px;right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:4px}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:-22px;top:50%}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:4px;right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:4px}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:50%;margin-left:-22px;margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:4px;.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:4px;top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;left:0;top:auto;width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:#000;border-radius:50%;display:inline-block;height:8px;opacity:.2;width:8px;button&{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:#007aff;opacity:1}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;right:8px;top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:6px 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 4px}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit}.swiper-pagination-progressbar{background:#00000040;position:absolute;.swiper-pagination-progressbar-fill{background:#007aff;height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:4px;left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:4px}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:#0000001a;border-radius:10px;position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:4px;height:4px;left:1%;position:absolute;top:auto;width:98%;z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:98%;left:auto;position:absolute;right:4px;top:1%;width:4px;z-index:50}}.swiper-scrollbar-drag{background:#00000080;border-radius:10px;height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}.gis-widget {
--gis-navy: #001d39;
--gis-blue: #3a7bc8; --gis-blue-dark: #2b5d9e;
--gis-blue-soft: #6fa9e2; --gis-blue-light: #97bee4; --gis-blue-bg: #eef4fb; --gis-radius: 16px;
--gis-border: #e2eaf3;
--gis-text: #2a3340;
--gis-muted: #93a1b3;
--gis-booked: #e06b6b;
--gis-pending: #e6b53e;
max-width: 720px;
margin: 0 auto;
align-self: center; width: 100%;
color: var(--gis-text);
font-family: inherit;
text-align: center;
-webkit-font-smoothing: antialiased;
}
.gis-widget * { box-sizing: border-box; } .gis-legend {
display: flex;
gap: 22px;
flex-wrap: wrap;
justify-content: center;
margin: 0 0 22px;
font-size: 13px;
color: var(--gis-muted);
}
.gis-leg { display: inline-flex; align-items: center; gap: 7px; }
.gis-dot { width: 13px; height: 13px; border-radius: 50%; display: inline-block; }
.gis-dot--available { background: #fff; border: 1.5px solid var(--gis-blue-light); }
.gis-dot--pending { background: var(--gis-pending); }
.gis-dot--booked { background: var(--gis-booked); } .gis-calendar-wrap {
display: flex;
justify-content: center;
align-items: center;
gap: 10px;
background: #fff;
border: 1px solid var(--gis-border);
border-radius: var(--gis-radius);
padding: 22px 18px;
box-shadow: 0 10px 40px -18px rgba(0, 29, 57, .35);
max-width: 560px;
margin: 0 auto;
}
.gis-months {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 30px;
}
.gis-month { width: 336px; max-width: 100%; } .gis-widget .gis-nav {
flex: 0 0 40px;
width: 40px !important;
height: 40px !important;
min-width: 0 !important;
max-width: 40px !important;
padding: 0 !important;
margin: 0 !important;
border: 1px solid var(--gis-border) !important;
border-radius: 50% !important;
background: #fff !important;
color: var(--gis-blue) !important;
font-size: 20px;
line-height: 1;
cursor: pointer;
transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
display: flex;
align-items: center;
justify-content: center;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.gis-widget .gis-nav:hover { background: var(--gis-blue) !important; color: #fff !important; border-color: var(--gis-blue) !important; transform: scale(1.06); box-shadow: 0 6px 16px -6px var(--gis-blue); }
.gis-widget .gis-nav:disabled { opacity: .25; cursor: default; transform: none; box-shadow: none; }
.gis-month-title {
text-align: center;
font-weight: 700;
font-size: 18px;
color: var(--gis-navy);
text-transform: capitalize;
letter-spacing: .01em;
margin-bottom: 14px;
}
.gis-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.gis-dow {
text-align: center;
font-size: 11px;
font-weight: 700;
color: var(--gis-blue-soft);
padding-bottom: 6px;
text-transform: uppercase;
letter-spacing: .05em;
}
.gis-day {
position: relative;
aspect-ratio: 1 / 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 13.5px;
font-weight: 500;
border-radius: 11px;
border: 1px solid transparent;
cursor: pointer;
background: #fff;
transition: transform .1s ease, box-shadow .1s ease, background .1s ease;
user-select: none;
}
.gis-day.gis-empty { background: transparent; cursor: default; }
.gis-day .gis-num { position: relative; z-index: 2; } .gis-day.gis-state-available {
border-color: var(--gis-border);
background: #fff;
color: var(--gis-navy);
}
.gis-day.gis-state-available::after {
content: "";
position: absolute;
left: 7px; right: 7px; bottom: 5px;
height: 3px;
border-radius: 3px;
background: var(--gis-season, transparent);
opacity: .85;
}
.gis-day.gis-state-available:hover {
transform: translateY(-2px);
box-shadow: 0 8px 18px -8px rgba(58, 123, 200, .55);
border-color: var(--gis-blue-light);
} .gis-day.gis-state-booked {
background: var(--gis-booked);
color: #fff;
cursor: not-allowed;
}
.gis-day.gis-state-pending {
background: repeating-linear-gradient(45deg, var(--gis-pending), var(--gis-pending) 6px, #f1cd72 6px, #f1cd72 12px);
color: #5a4500;
cursor: not-allowed;
}
.gis-day.gis-past { color: #c8d2de; cursor: not-allowed; background: transparent; }
.gis-day.gis-closed { background: #f3f5f8; color: #c2ccd8; cursor: not-allowed; } .gis-day.gis-half {
background: #fff;
border: 1px solid var(--gis-border);
color: var(--gis-navy);
cursor: pointer;
}
.gis-day.gis-half::after { display: none; }
.gis-day.gis-half .gis-num { text-shadow: 0 0 3px rgba(255, 255, 255, .9); }
.gis-day.gis-half:hover { transform: translateY(-2px); box-shadow: 0 8px 18px -8px rgba(58, 123, 200, .55); border-color: var(--gis-blue-light); } .gis-day.gis-half-left.gis-half-booked { background: linear-gradient(135deg, var(--gis-booked) 0 47%, #fff 47%); }
.gis-day.gis-half-left.gis-half-pending { background: linear-gradient(135deg, var(--gis-pending) 0 47%, #fff 47%); } .gis-day.gis-half-right.gis-half-booked { background: linear-gradient(135deg, #fff 0 53%, var(--gis-booked) 53%); }
.gis-day.gis-half-right.gis-half-pending { background: linear-gradient(135deg, #fff 0 53%, var(--gis-pending) 53%); } .gis-day.gis-sel-start, .gis-day.gis-sel-end {
background: linear-gradient(135deg, var(--gis-blue-soft), var(--gis-blue)) !important;
color: #fff !important;
border-color: transparent !important;
box-shadow: 0 6px 16px -6px var(--gis-blue);
z-index: 3;
}
.gis-day.gis-sel-start::after, .gis-day.gis-sel-end::after { display: none; }
.gis-day.gis-in-range {
background: var(--gis-blue-bg);
border-color: transparent;
color: var(--gis-blue-dark);
border-radius: 6px;
}
.gis-day.gis-in-range::after { display: none; } .gis-booking {
max-width: 560px;
margin: 26px auto 0;
border: 1px solid var(--gis-border);
border-radius: var(--gis-radius);
padding: 22px;
background: var(--gis-blue-bg);
text-align: left;
}
.gis-selection { display: flex; gap: 14px; flex-wrap: wrap; align-items: flex-end; justify-content: center; }
.gis-field { display: flex; flex-direction: column; gap: 5px; }
.gis-field label { font-size: 11px; font-weight: 700; color: var(--gis-blue-soft); text-transform: uppercase; letter-spacing: .04em; }
.gis-field output {
display: inline-block;
min-width: 116px;
padding: 9px 13px;
background: #fff;
border: 1px solid var(--gis-border);
border-radius: 10px;
font-weight: 600;
color: var(--gis-navy);
text-align: center;
}
.gis-field select {
padding: 9px 13px;
border: 1px solid var(--gis-border);
border-radius: 10px;
background: #fff;
color: var(--gis-navy);
font: inherit;
} .gis-options { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--gis-border); }
.gis-options h4 { margin: 0 0 12px; font-size: 14px; color: var(--gis-navy); }
.gis-options-list { display: flex; flex-direction: column; gap: 8px; }
.gis-opt {
display: flex;
align-items: center;
gap: 9px;
font-size: 14px;
padding: 9px 13px;
background: #fff;
border: 1px solid var(--gis-border);
border-radius: 11px;
cursor: pointer;
transition: border-color .15s ease;
}
.gis-opt:hover { border-color: var(--gis-blue-light); }
.gis-opt input[type="checkbox"] { accent-color: var(--gis-blue); width: 17px; height: 17px; }
.gis-opt-label { flex: 1; color: var(--gis-text); }
.gis-opt-label em { color: var(--gis-muted); font-style: italic; }
.gis-opt-amount { font-weight: 700; color: var(--gis-navy); font-variant-numeric: tabular-nums; }
.gis-opt-qty { width: 58px; padding: 5px 7px; border: 1px solid var(--gis-border); border-radius: 8px; }
.gis-quote { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--gis-border); }
.gis-quote-lines { font-size: 14px; color: #51606f; }
.gis-quote-line { display: flex; justify-content: space-between; padding: 4px 0; }
.gis-quote-line span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.gis-quote-total {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 14px;
padding: 14px 16px;
background: #fff;
border-radius: 12px;
font-size: 16px;
color: var(--gis-navy);
box-shadow: 0 4px 14px -8px rgba(0, 29, 57, .3);
}
.gis-quote-total strong { color: var(--gis-blue-dark); font-size: 26px; }
.gis-sub-title { margin: 16px 0 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--gis-blue-soft); }
.gis-deposit-line { color: #51606f; font-size: 13px; display: flex; justify-content: space-between; padding: 3px 0; }
.gis-deposit-line em { color: var(--gis-muted); font-style: italic; }
.gis-info-list { margin: 12px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--gis-muted); }
.gis-info-list li { margin: 3px 0; }
.gis-quote-msg { font-size: 13px; color: var(--gis-booked); margin: 12px 0 0; min-height: 1em; } .gis-form { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--gis-border); }
.gis-form h4 { margin: 0 0 14px; color: var(--gis-navy); }
.gis-form-row { display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.gis-form-row input { flex: 1; min-width: 160px; }
.gis-form input, .gis-form textarea {
width: 100%;
padding: 11px 13px;
border: 1px solid var(--gis-border);
border-radius: 10px;
font: inherit;
background: #fff;
color: var(--gis-navy);
}
.gis-form input:focus, .gis-form textarea:focus, .gis-field select:focus {
outline: none;
border-color: var(--gis-blue);
box-shadow: 0 0 0 3px rgba(58, 123, 200, .15);
}
.gis-form textarea { margin-bottom: 12px; }
.gis-hp { position: absolute !important; left: -9999px !important; }
.gis-submit {
background: linear-gradient(135deg, var(--gis-blue-soft), var(--gis-blue));
color: #fff;
border: 0;
padding: 13px 26px;
border-radius: 11px;
font-weight: 700;
font-size: 15px;
cursor: pointer;
transition: transform .12s ease, box-shadow .12s ease;
box-shadow: 0 8px 20px -8px var(--gis-blue);
}
.gis-submit:hover { transform: translateY(-1px); box-shadow: 0 12px 26px -8px var(--gis-blue); }
.gis-submit:disabled { opacity: .6; cursor: default; transform: none; }
.gis-form-msg { margin: 12px 0 0; font-size: 14px; }
.gis-form-msg.gis-ok { color: #2e7d4f; font-weight: 600; }
.gis-form-msg.gis-err { color: var(--gis-booked); } .gis-confirmation {
text-align: center;
padding: 28px 22px;
background: #fff;
border: 1px solid var(--gis-border);
border-radius: var(--gis-radius);
box-shadow: 0 10px 34px -16px rgba(0, 29, 57, .35);
animation: gis-pop .35s ease;
}
.gis-confirm-icon {
width: 60px;
height: 60px;
margin: 0 auto 14px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 30px;
font-weight: 700;
color: #fff;
background: linear-gradient(135deg, var(--gis-blue-soft), var(--gis-blue));
box-shadow: 0 8px 20px -8px var(--gis-blue);
}
.gis-confirm-title { margin: 0 0 8px; color: var(--gis-navy); font-size: 20px; }
.gis-confirm-msg { margin: 0 auto 18px; max-width: 420px; color: #51606f; font-size: 14.5px; line-height: 1.55; }
.gis-confirm-again {
background: transparent;
color: var(--gis-blue-dark);
border: 1px solid var(--gis-blue-light);
padding: 10px 20px;
border-radius: 10px;
font-weight: 600;
cursor: pointer;
transition: background .15s ease, color .15s ease;
}
.gis-confirm-again:hover { background: var(--gis-blue); color: #fff; border-color: var(--gis-blue); }
@keyframes gis-pop {
from { opacity: 0; transform: translateY(10px) scale(.98); }
to { opacity: 1; transform: translateY(0) scale(1); }
} .gis-rates { margin-top: 30px; text-align: left; }
.gis-rates h4 { margin: 0 0 12px; color: var(--gis-navy); text-align: center; }
.gis-rates table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; border: 1px solid var(--gis-border); border-radius: 12px; overflow: hidden; }
.gis-rates th, .gis-rates td { padding: 11px 12px; text-align: center; border-bottom: 1px solid var(--gis-border); }
.gis-rates tbody tr:last-child td { border-bottom: 0; }
.gis-rates th { background: var(--gis-blue-bg); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; color: var(--gis-blue-soft); font-weight: 700; }
.gis-rates td:first-child, .gis-rates th:first-child { text-align: left; }
.gis-rates td { color: var(--gis-navy); }
.gis-season-chip { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 7px; vertical-align: middle; }
.gis-muted { color: var(--gis-muted); }
.gis-info { margin-top: 18px; font-size: 13px; color: #6a7787; line-height: 1.6; text-align: center; }
.gis-loading { text-align: center; padding: 50px 20px; color: var(--gis-muted); }
@media (max-width: 600px) {
.gis-calendar-wrap { padding: 16px 8px; gap: 4px; }
.gis-month { width: 300px; }
.gis-nav { width: 34px; height: 34px; font-size: 18px; }
.gis-quote-total strong { font-size: 22px; }
}