.product-header{position:sticky;top:0;z-index:50;background:rgba(8,13,23,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}.site-logo{height:55px;width:auto;min-width:190px}.back-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:#fff;font-weight:800}.breadcrumb{display:flex;gap:.5rem;align-items:center;color:#94a3b8;font-size:.84rem;margin-bottom:1.5rem}.breadcrumb a:hover{color:#f472b6}.product-message{padding:4rem 1rem;text-align:center;background:#101827;border-radius:1rem}.product-message h1{font-size:2rem;font-weight:900}.product-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:1.6rem;align-items:start}.gallery-panel,.product-info,.reviews-section{background:#101827;border:1px solid rgba(255,255,255,.09);border-radius:1.15rem}.gallery-panel{padding:1rem}.main-photo-wrap{aspect-ratio:4/3;border-radius:.85rem;overflow:hidden;background:#fff;position:relative;cursor:crosshair}.main-photo-wrap>img{width:100%;height:100%;object-fit:contain}.gallery-thumbs{display:flex;gap:.65rem;overflow-x:auto;padding-top:.85rem}.gallery-thumbs button{flex:0 0 76px;width:76px;height:60px;border:2px solid transparent;border-radius:.65rem;overflow:hidden;background:#fff}.gallery-thumbs button.active{border-color:#f43f5e}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.product-info{padding:1.35rem;position:sticky;top:6.2rem}.product-info h1{font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.08;font-weight:950}.product-code{color:#94a3b8;font-size:.8rem;margin-top:.4rem}.price-box{display:flex;align-items:baseline;gap:.6rem;margin:1rem 0}.price-box strong{font-size:1.9rem;color:#4ade80}.price-box span{color:#94a3b8}.description{color:#cbd5e1;line-height:1.6;font-size:.93rem}.option-section{margin-top:1.1rem}.option-section h2,.compact-options h2{font-size:.96rem;font-weight:850;margin-bottom:.6rem}.choice-row{display:flex;gap:.5rem;flex-wrap:wrap}.choice-chip{border:1px solid rgba(255,255,255,.16);background:#080d17;color:#e2e8f0;border-radius:999px;min-height:38px;padding:.45rem .75rem}.choice-chip.selected{border-color:#f43f5e;background:#35101d}.compact-options{margin-top:1rem;padding:.9rem;background:#0b1220;border:1px solid rgba(255,255,255,.07);border-radius:.8rem}.compact-options h3{font-size:.82rem;color:#cbd5e1;font-weight:800;margin:.75rem 0 .4rem}.compact-list{display:flex;flex-wrap:wrap;gap:.4rem}.compact-option{display:inline-flex;align-items:center;gap:.4rem;background:#080d17;border:1px solid rgba(255,255,255,.08);padding:.4rem .55rem;border-radius:.55rem;font-size:.78rem}.compact-option input{width:.95rem;height:.95rem;accent-color:#e11d48}.calendar-section{padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08)}.calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;text-align:center;margin-bottom:.55rem;text-transform:capitalize}.calendar-head button{height:36px;border-radius:.55rem;background:#080d17;border:1px solid rgba(255,255,255,.1);font-size:1.35rem}.calendar-head button:disabled{opacity:.25}.calendar-week,.availability-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{color:#64748b;font-size:.65rem;margin-bottom:4px}.availability-calendar button,.calendar-empty{aspect-ratio:1;display:grid;place-items:center;border-radius:.45rem;font-size:.75rem}.availability-calendar button.available{background:#102a20;color:#86efac;border:1px solid #1f5138}.availability-calendar button.available:hover,.availability-calendar button.selected{background:#22c55e;color:#07130b;font-weight:900}.availability-calendar button.busy{background:#32141d;color:#fb7185;text-decoration:line-through}.availability-calendar button.past{background:#090e18;color:#475569}.calendar-legend{display:flex;gap:1rem;margin-top:.55rem;color:#94a3b8;font-size:.68rem}.calendar-legend span{display:flex;align-items:center;gap:.35rem}.calendar-legend i{width:8px;height:8px;border-radius:50%}.available-dot{background:#22c55e}.busy-dot{background:#f43f5e}.date-status{font-size:.78rem;color:#cbd5e1;margin-top:.55rem;min-height:1rem}.date-status.ok{color:#4ade80}.date-status.error{color:#f87171}.deposit-note{font-size:.8rem;color:#cbd5e1;margin-top:.9rem}.deposit-note i{color:#f472b6;margin-right:.35rem}.reserve-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:49px;background:#22c55e;color:#07130b;font-weight:950;border-radius:.75rem;margin-top:.9rem}.reviews-section{padding:1.5rem;margin-top:1.4rem}.reviews-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.reviews-head h2{font-size:1.55rem;font-weight:950}.review-open,.review-submit{background:#e11d48;color:#fff;font-weight:850;border-radius:.7rem;min-height:44px;padding:0 1rem}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.review{background:#080d17;border:1px solid rgba(255,255,255,.08);border-radius:.8rem;padding:1rem}.review-stars{color:#fbbf24}.review p{color:#cbd5e1;margin:.5rem 0}.empty-review{color:#94a3b8}.review-form{max-width:760px;margin:1.2rem auto 0;padding:1.2rem;border-radius:.85rem;background:#080d17;border:1px solid rgba(255,255,255,.1)}.review-form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.review-form-head h3{font-weight:900}.review-form-head button{font-size:1.7rem}.review-fields{display:grid;grid-template-columns:1fr 180px;gap:.8rem}.review-form label{display:grid;gap:.35rem;color:#cbd5e1;font-size:.82rem;margin-bottom:.8rem}.review-form input,.review-form select,.review-form textarea{background:#101827;border:1px solid rgba(255,255,255,.14);border-radius:.6rem;padding:.7rem;color:#fff}.review-form textarea{min-height:110px;resize:vertical}.review-form .consent{display:flex;grid-template:none;align-items:center;gap:.55rem}.consent input{width:1rem;height:1rem}.honeypot{position:absolute!important;left:-9999px!important}.product-footer{margin-top:3rem;background:#070c14;border-top:1px solid rgba(244,63,94,.25);color:#94a3b8}.product-footer-grid{max-width:1180px;margin:auto;padding:2.6rem 1.5rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem}.product-footer img{height:58px;width:auto;margin-bottom:.8rem}.product-footer nav{display:grid;align-content:start;gap:.55rem}.product-footer strong{color:#fff;margin-bottom:.25rem}.product-footer a:hover{color:#fb7185}.product-footer-bottom{max-width:1180px;margin:auto;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;font-size:.8rem}.card-pro[role=link]{cursor:pointer}.card-pro[role=link]:focus{outline:2px solid #f43f5e;outline-offset:3px}@media(max-width:900px){.product-grid{grid-template-columns:1fr}.product-info{position:static}.reviews-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.site-logo{height:48px;min-width:170px}.back-link{font-size:.8rem}.product-grid{gap:1rem}.gallery-panel,.product-info,.reviews-section{border-radius:.9rem}.reviews-head{align-items:flex-start;flex-direction:column}.reviews-grid,.review-fields,.product-footer-grid{grid-template-columns:1fr}.product-footer-grid{gap:1.5rem}.product-footer-bottom{flex-direction:column;gap:.35rem}}.product-description-panel{margin-top:1rem;padding:1.1rem 1rem;border-top:1px solid rgba(255,255,255,.08)}.product-description-panel h2{font-size:1.05rem;font-weight:900;margin-bottom:.45rem}.product-description-panel .description{font-size:.92rem;line-height:1.7}.date-picker-summary{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.08)}.date-picker-summary h2{font-size:.96rem;font-weight:850;margin-bottom:.6rem}.calendar-trigger{width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:.7rem;text-align:left;padding:.7rem;background:#080d17;border:1px solid rgba(255,255,255,.12);border-radius:.75rem}.calendar-trigger>i:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:.6rem;background:#35101d;color:#fb7185}.calendar-trigger span{display:grid}.calendar-trigger strong{font-size:.86rem}.calendar-trigger small{color:#94a3b8;font-size:.72rem}.calendar-trigger:hover{border-color:#f43f5e}.calendar-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.calendar-modal.hidden{display:none}.calendar-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(2,6,12,.82);backdrop-filter:blur(5px)}.calendar-dialog{position:relative;width:min(430px,100%);padding:1.2rem;border-radius:1rem;background:#101827;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.55)}.calendar-dialog-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:1rem}.calendar-dialog-head h2{font-size:1.35rem;font-weight:950}.calendar-dialog-head>button{width:40px;height:40px;border-radius:.65rem;background:#080d17;font-size:1.6rem}.calendar-dialog .calendar-head{margin-bottom:.8rem}.calendar-dialog .calendar-week{font-size:.7rem}.calendar-dialog .availability-calendar button,.calendar-dialog .calendar-empty{aspect-ratio:1;font-size:.86rem}.calendar-dialog .calendar-legend{margin-top:.8rem}.calendar-modal:not(.hidden) .calendar-dialog{animation:calendar-in .2s ease both}@keyframes calendar-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:640px){.product-description-panel{padding:.9rem .25rem .2rem}.calendar-modal{padding:12px;place-items:center}.calendar-dialog{width:100%;border-radius:1.1rem;padding:1rem;max-height:92vh;overflow:auto}.calendar-dialog .availability-calendar button,.calendar-dialog .calendar-empty{font-size:.82rem}.calendar-trigger{min-height:60px}.product-info{padding:1rem}}.review-modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:18px}.review-modal.hidden{display:none}.review-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(2,6,12,.86);backdrop-filter:blur(7px)}.review-modal .review-form{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;margin:0;padding:1.5rem;border-radius:1.15rem;background:linear-gradient(145deg,#111a2a,#090f1a);border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 90px rgba(0,0,0,.6)}.review-modal:not(.hidden) .review-form{animation:review-in .22s ease both}@keyframes review-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.review-modal .review-form-head{display:grid;grid-template-columns:52px 1fr 42px;gap:.85rem;align-items:start;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.review-title-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#e11d48,#9f1239);color:#fff;font-size:1.25rem;box-shadow:0 9px 25px rgba(225,29,72,.2)}.review-form-head h3{font-size:1.35rem}.review-form-head p:not(.eyebrow){color:#94a3b8;font-size:.8rem;margin-top:.25rem}.review-form-head>button{width:40px;height:40px;display:grid;place-items:center;border-radius:.65rem;background:#080d17}.rating-field{display:grid;justify-items:center;padding:1.1rem;margin:.9rem 0;border-radius:.85rem;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.rating-field>span{font-size:.78rem;color:#94a3b8;font-weight:800}.star-rating{display:flex;gap:.28rem;margin-top:.35rem}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating label{font-size:2.15rem;line-height:1;color:#334155;transition:color .15s ease,transform .15s ease}.star-rating label.active,.star-rating label.preview{color:#fbbf24;text-shadow:0 3px 14px rgba(251,191,36,.25)}.star-rating label:hover{transform:scale(1.13)}.review-modal .review-fields{grid-template-columns:1fr 1fr}.review-modal .review-form label{font-weight:750}.review-modal .review-form input,.review-modal .review-form textarea{background:#080d17;min-height:48px}.reservation-code-field{display:flex;align-items:center;background:#080d17;border:1px solid rgba(255,255,255,.14);border-radius:.6rem;padding-left:.75rem}.reservation-code-field:focus-within{border-color:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.1)}.reservation-code-field i{color:#4ade80}.reservation-code-field input{border:0!important;box-shadow:none!important;text-transform:uppercase;letter-spacing:.08em;width:100%}.review-form label small{color:#64748b;font-weight:500}.review-modal .consent{padding:.75rem;border-radius:.65rem;background:rgba(255,255,255,.03)}.review-modal .review-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:50px}.review-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.verified-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;border-radius:999px;background:#102a20;color:#86efac;font-size:.68rem;font-weight:850;border:1px solid #1f5138}
@media(max-width:640px){.review-modal{padding:10px}.review-modal .review-form{padding:1rem;border-radius:1rem}.review-modal .review-form-head{grid-template-columns:44px 1fr 36px;gap:.65rem}.review-title-icon{width:44px;height:44px;border-radius:12px}.review-form-head h3{font-size:1.05rem}.review-modal .review-fields{grid-template-columns:1fr}.rating-field{padding:.8rem}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating label{font-size:2rem}.review-modal .review-form textarea{min-height:95px}.review-open{width:100%}}
.items-disclaimer{display:flex;align-items:flex-start;gap:.5rem;margin:-.1rem 0 .7rem;padding:.65rem .7rem;border-radius:.6rem;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.2);color:#cbd5e1;font-size:.72rem;line-height:1.45}.items-disclaimer i{color:#fbbf24;margin-top:.15rem}.items-disclaimer strong{color:#fde68a}
.main-photo-wrap{cursor:default}.main-photo-wrap>img,.main-photo-wrap:hover>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important;transition:none}
.main-photo-wrap .illustrative-badge{position:absolute;left:10px;bottom:10px;z-index:2;padding:.4rem .6rem;border-radius:.45rem;background:rgba(7,12,21,.82);border:1px solid rgba(255,255,255,.18);color:#f8fafc;font-size:.68rem;font-weight:750;line-height:1.2;backdrop-filter:blur(7px);pointer-events:none}.main-photo-wrap .illustrative-badge.hidden{display:none}@media(max-width:640px){.main-photo-wrap .illustrative-badge{left:8px;bottom:8px;font-size:.62rem}}