:root{--dark:#0f1c25;--dark2:#1a2f3d;--gold:#bf9b30;--gold-l:rgba(191,155,48,.15);--cream:#f7f5f2;--white:#ffffff;--border:#e8e4df;--text:#1f1f1f;--muted:#888;--font-d:'Cormorant Garamond','Hanken Grotesk',Arial,sans-serif;--font-b:'Hanken Grotesk',-apple-system,sans-serif;--r:5px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px}body{font-family:var(--font-b);background:var(--cream);color:var(--text);max-width:480px;margin:0 auto;min-height:100vh;overflow-x:hidden;overflow-x:clip}.hero{position:relative;height:100svh;max-height:380px;min-height:300px;background:var(--dark);overflow:hidden}.hero-bg{position:absolute;inset:0;background:#111}.hero-texture{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.015'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E")}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.45) 30%,rgba(0,0,0,.1) 50%,transparent 60%)}.hero-content{position:absolute;inset:0;padding:22px 24px 26px;display:flex;flex-direction:column}.h-eyebrow{font-family:var(--font-b);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4)}.h-bottom-group{display:flex;flex-direction:column;gap:0;margin-bottom:0}.h-name-group{display:flex;flex-direction:column;gap:0}.h-name-block{margin-top:auto}.h-name{font-family:var(--font-d);font-size:38px;font-weight:300;color:#fff;line-height:1.0;letter-spacing:-.5px;margin-bottom:4px}.h-name-sub{font-family:var(--font-d);font-size:20px;font-weight:300;color:#fff;letter-spacing:-.2px}.h-concierge{border-top:1px solid rgba(191,155,48,.5);padding-top:10px;margin-top:8px;display:flex;align-items:center;justify-content:space-between}.h-conc-left{display:flex;align-items:center;gap:10px}.h-bell{width:38px;height:38px;border:1px solid rgba(191,155,48,.6);display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--r)}.h-conc-label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(191,155,48,.85);margin-bottom:4px;font-weight:600}.h-conc-sub{font-family:var(--font-d);font-size:17px;font-weight:300;color:rgba(255,255,255,.65);letter-spacing:.3px}.status-bar{background:var(--white);border-bottom:1px solid var(--border);padding:0 20px;display:flex;align-items:stretch;justify-content:space-between}.status-bar-left{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:10px 0}.status-left{display:flex;align-items:center;gap:8px}.status-team-hours{font-size:13px;color:var(--muted);padding-left:16px}.status-team-hours strong{color:var(--text)}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.status-text{font-size:14.5px;color:var(--text);font-weight:600;letter-spacing:.1px}.status-badge-247{font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--gold);background:rgba(191,155,48,.14);padding:2px 9px;border-radius:20px;line-height:1.5;flex-shrink:0}.status-bar .status-dot{width:8px;height:8px}.status-text strong{color:var(--text);font-weight:500}.status-split{display:flex;align-items:center}.status-split-btn{font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);background:none;border:none;border-left:1px solid var(--gold);padding:0 16px;cursor:pointer;display:flex;align-items:center;font-family:var(--font-b);border-radius:0;align-self:stretch;margin:6px 0;white-space:nowrap;-webkit-tap-highlight-color:transparent;font-weight:600}.status-split-btn:hover{background:none;outline:none;color:var(--muted)}.status-split-btn:active{background:none;outline:none;color:var(--text)}.status-split-panel{position:absolute;bottom:calc(100%+4px);right:0;background:var(--text);min-width:180px;z-index:500;display:none;flex-direction:column;box-shadow:0 4px 16px rgba(0,0,0,.18);border-radius:var(--r)}.status-split-panel.open{display:flex}.status-split-opt{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;color:var(--white);text-decoration:none;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.08)}.status-split-opt:last-child{border-bottom:none}.status-split-opt:hover{background:rgba(255,255,255,.08)}.nav{background:var(--white);border-bottom:1px solid var(--border);display:flex;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-tab{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 14px;border-bottom:2px solid transparent;cursor:pointer;transition:border-color .2s}.nav-tab.active{border-bottom-color:var(--gold)}.nav-tab svg{opacity:.55;transition:opacity .2s,color .2s}.nav-tab.active svg{opacity:1;color:var(--gold)}.nav-tab-label{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#555;white-space:nowrap;transition:color .2s}.nav-tab.active .nav-tab-label{color:var(--gold)}body.admin-bar .nav{top:32px}@media(max-width:782px){body.admin-bar .nav{top:46px}}main{padding-bottom:150px}.section{padding:28px 20px 0}.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.section-eyebrow{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:700}.section-title{font-family:var(--font-d);font-size:32px;font-weight:300;color:var(--text);letter-spacing:-.3px}.section-link{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);cursor:pointer}hr.rule{border:none;border-top:1px solid var(--border);margin:28px 20px 0}.highlights{display:flex;flex-wrap:wrap;gap:6px;padding:14px 20px 18px}.highlight{font-size:10px;letter-spacing:.4px;color:#555;background:var(--white);border:1px solid #e0dcd6;padding:5px 11px;display:flex;align-items:center;gap:6px}.highlight-dash{color:var(--gold)}.scroll-row-wrap{position:relative}.scroll-row{overflow-x:auto;white-space:nowrap;padding:0 20px 8px;scrollbar-width:none}#act-scroll-row{padding-left:0;display:flex;align-items:stretch}#tr-scroll-row{padding-left:0;display:flex;align-items:stretch}#boats-scroll-row{padding-left:0;display:flex;align-items:stretch}.scroll-row::-webkit-scrollbar{display:none}.scroll-progress{height:2px;background:#e8e4df;margin:0 20px 0;border-radius:1px;overflow:hidden}.scroll-progress-fill{height:100%;background:var(--gold);border-radius:1px;width:30%;transition:width .1s linear}.item-card{display:inline-flex;flex-direction:column;width:168px;white-space:normal;vertical-align:top;margin-right:10px;background:var(--white);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s,box-shadow .18s;border-radius:var(--r)}.item-card:last-child{margin-right:0}.item-card:hover{transform:translateY(-2px);border-color:#c8c3bd;box-shadow:0 4px 12px rgba(0,0,0,.08)}.item-card:active{transform:translateY(0);border-color:#ccc;box-shadow:none}.item-card-media{height:126px;position:relative;overflow:hidden;background:var(--dark)}.item-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.item-card:hover .item-card-media img{transform:scale(1.04)}.shcrm-card-placeholder{width:100%;height:100%}.shcrm-play-badge{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.55);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:var(--r)}.item-card-body{padding:11px 12px}.item-card-cat{font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:4px;font-weight:700}.item-card-name{font-family:var(--font-d);font-size:15px;font-weight:400;color:var(--text);line-height:1.3;margin-bottom:5px}.item-card-price{font-size:12px;color:var(--text);font-weight:500}.item-card-unit{font-size:10px;color:var(--muted);font-weight:400}.item-card-badge{font-size:8px;letter-spacing:.8px;text-transform:uppercase;background:rgba(191,155,48,.12);color:var(--gold);padding:2px 7px;display:inline-block;margin-top:4px;border-radius:var(--r);font-weight:700}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid-card{background:var(--white);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s,box-shadow .18s;border-radius:var(--r)}.grid-card:hover{transform:translateY(-2px);border-color:#c8c3bd;box-shadow:0 4px 12px rgba(0,0,0,.08)}.grid-card:active{transform:translateY(0);box-shadow:none}.grid-card-media{height:100px;position:relative;overflow:hidden;background:var(--dark)}.grid-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.grid-card:hover .grid-card-media img{transform:scale(1.04)}.grid-card-body{padding:11px 12px}.grid-card-name{font-family:var(--font-d);font-size:15px;font-weight:400;color:var(--text);line-height:1.25;margin-bottom:4px}.grid-card-sub{font-size:10.5px;color:var(--muted);line-height:1.5}.grid-2 .grid-card:first-child{grid-row:1/3}.grid-2 .grid-card:first-child .grid-card-media{height:210px}.grid-2 .grid-card:first-child:last-child{grid-row:auto;grid-column:1/-1}.grid-2 .grid-card:first-child:last-child .grid-card-media{height:160px}.feat-card{background:var(--white);border:1px solid var(--border);overflow:hidden;cursor:pointer;border-radius:var(--r);transition:border-color .18s,box-shadow .18s}.feat-card:hover{border-color:#c8c3bd;box-shadow:0 4px 16px rgba(0,0,0,.08)}.feat-card-media{height:210px;position:relative;overflow:hidden;background:var(--dark)}.feat-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.feat-card:hover .feat-card-media img{transform:scale(1.03)}.feat-card-media{height:210px;position:relative;overflow:hidden;background:var(--dark)}.feat-card-media img{width:100%;height:100%;object-fit:cover;display:block}.feat-badge{position:absolute;top:12px;left:12px;font-size:8.5px;letter-spacing:1.5px;text-transform:uppercase;background:rgba(191,155,48,.92);color:#fff;padding:4px 9px;border-radius:var(--r);font-weight:700}.feat-card-body{padding:16px}.feat-cat{font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:700}.feat-title{font-family:var(--font-d);font-size:22px;font-weight:400;color:var(--text);line-height:1.2;margin-bottom:8px}.feat-desc{font-size:12px;color:#777;line-height:1.65;margin-bottom:14px}.feat-price{font-size:19px;color:var(--text);margin-bottom:3px}.feat-price span{font-size:11px;color:var(--muted);font-weight:300}.feat-detail{font-size:11px;color:var(--muted);margin-bottom:14px}.feat-actions{display:flex;gap:8px}.btn-dark{background:var(--text);color:var(--white);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 20px;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:opacity .2s;border-radius:var(--r)}.btn-outline{background:none;color:var(--text);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 20px;border:1px solid #d0ccc6;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s;border-radius:var(--r)}.btn-outline:hover{background:none;color:var(--gold);border-color:var(--gold)}.btn-gold{flex:1;background:var(--gold);color:var(--white);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:13px;border:none;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:opacity .2s;border-radius:var(--r)}.btn-ghost{flex:1;background:none;color:rgba(255,255,255,.4);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:13px;border:1px solid rgba(255,255,255,.12);cursor:pointer;text-align:center;text-decoration:none;display:block;border-radius:var(--r)}.contact-block{background:var(--dark);padding:24px 20px;margin-top:22px}.contact-title{font-family:var(--font-d);font-size:22px;font-weight:300;color:var(--white);margin-bottom:5px}.legal-footer{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px 20px;flex-wrap:wrap}.legal-footer-link{font-family:var(--font-b);font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);text-decoration:none}.legal-footer-link:hover{color:var(--text)}.legal-footer-sep{color:var(--border);font-size:10px}.contact-sub{font-size:11px;color:rgba(255,255,255,.35);margin-bottom:18px;line-height:1.6}.contact-btns{display:flex;gap:8px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:var(--white);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px 0 max(18px,env(safe-area-inset-bottom));z-index:200}.bn{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;min-width:56px;padding:0 4px}.bn svg{opacity:.5;transition:opacity .2s}.bn.active svg{opacity:1}.bn-label{font-size:8px;letter-spacing:.8px;text-transform:uppercase;color:#555;transition:color .2s}.bn.active .bn-label{color:var(--gold)}.bn-dot{width:3px;height:3px;border-radius:50%;background:var(--gold)}@keyframes modalSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes overlayFadeIn{from{background:rgba(10,18,25,0)}to{background:rgba(10,18,25,.82)}}.shcrm-modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,18,25,.82);z-index:99000;overflow-y:auto;-webkit-overflow-scrolling:touch}.shcrm-modal-overlay.open{display:flex;align-items:flex-end;justify-content:center;animation:overlayFadeIn .25s ease forwards}.shcrm-modal{background:var(--white);width:100%;max-width:480px;max-height:92vh;overflow-y:auto;overscroll-behavior:contain;position:relative;border-radius:0;-webkit-tap-highlight-color:transparent}.shcrm-modal-overlay.open .shcrm-modal{animation:modalSlideUp .32s cubic-bezier(0.22,1,0.36,1) forwards}.shcrm-modal-close{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(0,0,0,.35);border:none;cursor:pointer;z-index:10}.shcrm-modal-body{padding:0;clear:both}.shcrm-modal-eyebrow{font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;padding-top:4px;font-weight:700}.shcrm-modal-title{font-family:var(--font-d);font-size:26px;font-weight:300;color:var(--text);line-height:1.15;margin-bottom:6px}.shcrm-modal-sub{font-size:12px;color:var(--muted);margin-bottom:16px;line-height:1.6}.shcrm-modal-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.shcrm-modal-meta-item{font-size:10px;color:#555;background:var(--cream);border:1px solid #e0dcd6;padding:4px 10px;display:flex;align-items:center;gap:5px}.shcrm-modal-price-block{background:#fff8e6;border:1px solid rgba(191,155,48,.25);padding:14px 16px;margin-bottom:16px;border-radius:var(--r)}.shcrm-modal-price-lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text);margin-bottom:8px;font-weight:700}.shcrm-price-row{display:flex;align-items:baseline;gap:6px;margin-bottom:5px;border-bottom:1px solid #ece8e3;padding-bottom:5px}.shcrm-price-row:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.shcrm-price-label{font-size:11px;color:var(--muted);flex:1}.shcrm-price-amount{font-size:16px;font-weight:400;color:var(--text)}.shcrm-price-unit{font-size:10px;color:var(--muted)}.shcrm-price-note{font-size:10px;color:var(--muted)}.shcrm-modal-desc{font-size:12px;color:#666;line-height:1.75;margin-bottom:16px}.shcrm-modal-highlights{margin-bottom:16px}.shcrm-modal-hl{font-size:11px;color:var(--text);padding:5px 0;border-bottom:1px solid #f0ece7;display:flex;align-items:flex-start;gap:8px}.shcrm-modal-hl:last-child{border-bottom:none}.shcrm-modal-hl-dash{color:var(--gold);flex-shrink:0}.shcrm-modal-section-title{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--text);margin:18px 0 8px;font-weight:700}.shcrm-modal-info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0;border-bottom:1px solid #f0ece7;font-size:11px}.shcrm-modal-info-row:last-child{border-bottom:none}.shcrm-modal-info-lbl{color:var(--muted)}.shcrm-modal-info-val{color:var(--text);text-align:right;max-width:55%;line-height:1.4}.shcrm-modal-cta{display:flex;gap:8px;margin-top:20px}.shcrm-modal-cta .btn-dark{flex:1;text-align:center}.shcrm-modal-cta .btn-outline{flex:1;text-align:center}.shcrm-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.shcrm-spec-item{padding:8px 0;border-bottom:1px solid #f0ece7;font-size:11px}.shcrm-spec-item:nth-child(odd){padding-right:10px;border-right:1px solid #f0ece7}.shcrm-spec-item:nth-child(even){padding-left:10px}.shcrm-spec-lbl{color:var(--muted);margin-bottom:2px;font-size:10px}.shcrm-spec-val{color:var(--text);font-weight:500}.shcrm-includes-list{list-style:none}.shcrm-includes-list li{font-size:11px;color:var(--text);padding:4px 0;display:flex;align-items:flex-start;gap:8px;border-bottom:1px solid #f5f2ef}.shcrm-includes-list li:last-child{border-bottom:none}.shcrm-includes-list li::before{content:"✓";color:var(--gold);flex-shrink:0}.shcrm-mv{margin-bottom:16px;margin-top:0}.shcrm-mv-main{position:relative;background:var(--dark);overflow:hidden}.shcrm-mv-slide{display:none;position:relative}.shcrm-mv-slide.active{display:block}.shcrm-mv-slide img{width:100%;max-height:260px;object-fit:cover;display:block}.shcrm-mv-video{width:100%;max-height:260px;object-fit:cover;display:block;background:#000}.shcrm-mv-iframe-wrap{position:relative;width:100%;padding-top:56.25%}.shcrm-mv-iframe-wrap iframe{position:absolute;inset:0;width:100%;height:100%;background:#000}.shcrm-mv-video-link{display:flex;align-items:center;gap:8px;justify-content:center;padding:24px;color:#fff;font-size:12px;letter-spacing:1px;text-decoration:none;text-transform:uppercase}.shcrm-mv-prev,.shcrm-mv-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:none;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5}.shcrm-mv-prev{left:8px}.shcrm-mv-next{right:8px}.shcrm-mv-counter{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.5);color:#fff;font-size:10px;padding:2px 8px;letter-spacing:.5px}.shcrm-mv-thumbs{display:flex;gap:4px;padding:4px 0;overflow-x:auto;scrollbar-width:none}.shcrm-mv-thumbs::-webkit-scrollbar{display:none}.shcrm-mv-thumb{width:52px;height:38px;flex-shrink:0;overflow:hidden;cursor:pointer;opacity:.55;transition:opacity .2s;border:1px solid transparent;border-radius:var(--r)}.shcrm-mv-thumb.active{opacity:1;border-color:var(--gold)}.shcrm-mv-thumb img{width:100%;height:100%;object-fit:cover;display:block}.shcrm-mv-thumb-video{width:100%;height:100%;background:var(--dark);display:flex;align-items:center;justify-content:center;color:var(--gold)}.shcrm-section-wrapper{padding:22px 20px 0}.shcrm-section-wrapper .section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}.shcrm-inquiry-wrap{margin-top:16px}.shcrm-inquiry-btn{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--text);color:var(--white);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:13px 18px;border:none;cursor:pointer;transition:background .2s}.shcrm-inquiry-btn:hover{background:#333}.shcrm-inquiry-btn[aria-expanded="true"]{background:#333}.shcrm-inquiry-chevron{transition:transform .25s ease;flex-shrink:0;opacity:.7}.shcrm-inquiry-btn[aria-expanded="true"] .shcrm-inquiry-chevron{transform:rotate(180deg)}.shcrm-inquiry-body{border:1px solid var(--border);border-top:none}.shcrm-inquiry-summary{background:var(--cream);padding:12px 16px;border-bottom:1px solid var(--border)}.shcrm-inquiry-summary-title{font-family:var(--font-d);font-size:15px;font-weight:400;color:var(--text);margin-bottom:3px}.shcrm-inquiry-summary-hotel{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.shcrm-custom-form{padding:0}.shcrm-form-row{margin-bottom:14px}.shcrm-form-row-half{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shcrm-form-field{display:flex;flex-direction:column}.shcrm-form-label{font-family:var(--font-b);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:700}.shcrm-required{color:#bf9b30}.shcrm-form-input,.shcrm-form-textarea,input[name="guest_name"].shcrm-form-input,input[name="guest_email"].shcrm-form-input,input[name="preferred_date"].shcrm-form-input,input[name="room_number"].shcrm-form-input,input[name="num_guests"].shcrm-form-input{font-family:var(--font-b) !important;font-size:14px !important;border:1px solid var(--border) !important;border-radius:var(--r) !important;-webkit-border-radius:var(--r) !important;padding:11px 13px !important;width:100% !important;box-sizing:border-box !important;background:var(--white) !important;color:var(--text) !important;outline:none !important;transition:border-color .2s !important;-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;box-shadow:none !important}.shcrm-form-input:focus,.shcrm-form-textarea:focus{border-color:var(--gold) !important;box-shadow:none !important;outline:none !important}.shcrm-form-textarea{resize:vertical;min-height:88px;font-size:14px !important;border-radius:var(--r) !important;-webkit-appearance:none !important}.shcrm-form-drawer-title{font-family:var(--font-d);font-size:18px;font-weight:400;color:var(--text);margin-bottom:4px;line-height:1.2}.shcrm-form-drawer-sub{font-family:var(--font-b);font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.shcrm-form-submit{width:100%;background:var(--dark);color:var(--white);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:15px;border:none;border-radius:var(--r);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;transition:background .2s}.shcrm-form-submit:hover{background:#111}.shcrm-form-submit:disabled{opacity:.6;cursor:not-allowed}.shcrm-form-success{margin-top:8px}.act-filter-wrap{position:relative;margin:0;padding:0;overflow:visible;-webkit-user-select:none;user-select:none}.act-filter-chips{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;-webkit-appearance:none;padding-right:20px;-webkit-user-select:none;user-select:none}.act-filter-chips::-webkit-scrollbar{display:none}.act-chip{flex-shrink:0;font-family:var(--font-b);font-size:9px;letter-spacing:1.2px;text-transform:uppercase;font-weight:700;padding:0 0 10px;color:var(--muted);cursor:pointer;background:none;border:none;outline:none;-webkit-appearance:none;white-space:nowrap;transition:color .18s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:inline-block}.act-chip.active{color:var(--gold)}.act-filter-line{height:1px;background:#e0dbd5;margin:0 0 16px;position:relative}.act-filter-indicator{position:absolute;height:2px;top:-0.5px;background:var(--gold);transition:left .2s,width .2s}.act-item{transition:opacity .2s}.act-item.hidden{display:none}.act-card{display:flex;flex-direction:column;flex-shrink:0;width:240px;white-space:normal;margin-right:12px;background:var(--white);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s,box-shadow .18s;border-radius:var(--r)}.act-card:hover{transform:translateY(-2px);border-color:#c8c3bd;box-shadow:0 4px 12px rgba(0,0,0,.08)}.act-card:active{transform:translateY(0);box-shadow:none}.act-card:last-child{margin-right:0}.act-card-media{height:160px;position:relative;overflow:hidden;background:var(--dark);flex-shrink:0}.act-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.act-card:hover .act-card-media img{transform:scale(1.04)}.act-card-body{padding:12px 14px;flex:1}@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}.shcrm-skeleton{background:#f0ece8;background-image:linear-gradient(90deg,#f0ece8 0px,#e8e4df 40px,#f0ece8 80px);background-size:400px 100%;animation:shimmer 1.2s infinite linear}.shcrm-modal-body .shcrm-skeleton-wrap{padding:16px}.shcrm-skeleton-img{height:220px;width:100%;border-radius:0}.shcrm-skeleton-line{height:12px;border-radius:4px;margin-bottom:10px}.shcrm-skeleton-line.wide{width:70%}.shcrm-skeleton-line.narrow{width:40%}.shcrm-skeleton-line.short{width:55%;height:10px}.section{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}.section.visible{opacity:1;transform:translateY(0)}@keyframes cardFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.act-item.animating{animation:cardFadeIn .25s ease forwards}#act-scroll-row{display:flex;align-items:stretch;white-space:nowrap}.weather-card{background:var(--white);border:1px solid var(--border);padding:18px;border-radius:var(--r)}.weather-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.weather-temp{font-family:Arial,Helvetica,sans-serif;font-size:52px;font-weight:300;color:var(--text);line-height:1;letter-spacing:-1px}.weather-cond{font-size:13.5px;color:var(--muted);margin-top:5px}.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;border-top:1px solid #f0ece7}.weather-item{display:flex;align-items:center;gap:8px}.weather-item svg{opacity:.4;flex-shrink:0}.weather-item-lbl{font-size:13px;color:var(--muted)}.weather-item-val{font-size:13px;color:var(--text);font-weight:500}.forecast-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid #f0ece7;margin-top:16px;padding-top:14px}.forecast-day{text-align:center;padding:6px 4px;border-right:1px solid #f0ece7}.forecast-day:last-child{border-right:none}.forecast-day-name{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.forecast-day-icon{font-size:16px;line-height:1;margin-bottom:4px}.forecast-day-max{font-size:16px;font-weight:500;color:var(--text);line-height:1}.forecast-day-min{font-size:12.5px;color:var(--muted);margin-top:2px}.forecast-day-extra{font-size:10.5px;color:var(--muted);margin-top:5px;letter-spacing:.3px}
/* ── Detail modali (activity, restaurant, wellness, boat, transfer, beach_club) ──
   Konzistentna visina + rounded corners + okrugli close gumb - isto kao Services modal */
.shcrm-modal {
  height: 88vh;
  max-height: 88vh;
  border-radius: 16px 16px 0 0;
}
.shcrm-modal-close {
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  background: rgba(0,0,0,.5);
  border-radius: 50%;
}

/* ── Map shortcode ─────────────────────────────────────── */
.shcrm-map-wrap { padding-bottom: 20px; }
.shcrm-map-header { padding: 16px 0 12px; border-bottom: 1px solid var(--border); margin-bottom: 16px; }
.shcrm-map-eyebrow { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; font-weight: 700; }
.shcrm-map-title { font-family: var(--font-d); font-size: 22px; font-weight: 300; color: var(--text); letter-spacing: -.3px; }
.shcrm-map-body { display: flex; flex-direction: column; gap: 0; }
.shcrm-map-info { margin-bottom: 4px; }
.shcrm-map-distances { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-bottom: 10px; }
.shcrm-map-dist-item { background: var(--white); border: 1px solid var(--border); padding: 12px 14px; border-radius: var(--r); }
.shcrm-map-dist-icon { font-size: 18px; margin-bottom: 4px; }
.shcrm-map-dist-lbl { font-size: 10px; color: var(--muted); margin-bottom: 2px; }
.shcrm-map-dist-val { font-size: 13px; color: var(--text); font-weight: 500; }
.shcrm-map-address { background: var(--white); border: 1px solid var(--border); padding: 14px; display: flex; flex-direction: column; align-items: stretch; border-radius: var(--r); }
.shcrm-map-address-lbl { font-size: 11px; color: var(--muted); margin-bottom: 3px; }
.shcrm-map-address-val { font-size: 15px; color: #333; line-height: 1.4; }
.shcrm-map-navigate { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--text); text-decoration: none; border: 1px solid var(--text); padding: 12px; border-radius: var(--r); }
.shcrm-map-navigate:hover { color: var(--gold); border-color: var(--gold); }
.shcrm-map-embed-wrap { overflow: hidden; border: 1px solid var(--border); border-radius: var(--r); }
.shcrm-map-iframe { border: 0; display: block; width: 100%; height: 320px; }
.shcrm-map-fallback { background: #f9fafb; border: 1px solid var(--border); padding: 24px; text-align: center; border-radius: var(--r); color: var(--muted); font-size: 13px; }
.shcrm-map-open-btn { display: inline-block; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--white); background: var(--text); text-decoration: none; padding: 10px 20px; border-radius: var(--r); }

/* ── Section nav concierge - samo desktop ── */
.shcrm-section-nav-concierge { display: none; }
.shcrm-section-nav-tabs { display: flex; }

.contact-sheet-backdrop{position:fixed;inset:0;background:rgba(10,18,25,0);z-index:900;display:none;transition:background .25s}.contact-sheet-backdrop.open{display:block;background:rgba(10,18,25,.6)}.contact-sheet{position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(100%);width:100%;max-width:480px;background:var(--white);border-radius:12px 12px 0 0;z-index:901;padding:0 0 max(24px,env(safe-area-inset-bottom));transition:transform .32s cubic-bezier(0.22,1,0.36,1)}.contact-sheet.open{transform:translateX(-50%) translateY(0)}.contact-sheet-handle{width:36px;height:4px;background:#e0dbd5;border-radius:2px;margin:12px auto 8px}.contact-sheet-title{font-family:var(--font-d);font-size:20px;font-weight:300;color:var(--text);padding:8px 20px 16px;border-bottom:1px solid var(--border)}.contact-sheet-opt{width:100%;display:flex;align-items:center;gap:14px;padding:16px 20px;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-decoration:none;text-align:left;transition:background .15s;-webkit-tap-highlight-color:transparent}.contact-sheet-opt:hover{background:var(--cream)}.contact-sheet-opt:last-of-type{border-bottom:none}.contact-sheet-opt-icon{width:40px;height:40px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-sheet-opt-text{flex:1}.contact-sheet-opt-label{font-size:15px;font-weight:500;color:var(--text);margin-bottom:2px}.contact-sheet-opt-sub{font-size:13px;color:var(--muted)}.contact-sheet-cancel{width:calc(100% - 40px);margin:12px 20px 0;padding:14px;background:var(--text);border:none;border-radius:var(--r);font-family:var(--font-b);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);cursor:pointer;-webkit-tap-highlight-color:transparent}.contact-sheet-cancel:hover{background:#000}.status-split-btn{font-size:13px !important;font-weight:800 !important;padding:0 0 0 16px !important}.shimmer-text{display:inline-flex;gap:0}.shimmer-text span{display:inline-block;color:#bf9b30;animation:letter-shine 2.4s ease-in-out infinite}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes letter-shine{0%,100%{color:#bf9b30}30%{color:#bf9b30}50%{color:#f5e070}70%{color:#bf9b30}}

/* ═══════════════════════════════════════════════════════════
   MOBILE-FIRST: hide desktop-only elements
   ═══════════════════════════════════════════════════════════ */
.shcrm-topbar { display: none; }
.shcrm-sidebar { display: none; }
.shcrm-section-nav { display: none; }
.shcrm-hero-info-panel { display: none; }
.shcrm-layout { display: block; }
.shcrm-main { display: block; }
.h-weather { display: none; } /* Samo desktop - mob ima vlastitu weather sekciju */
.h-hotel-info { margin-top: auto; } /* Gura sadržaj prema dnu heroja na mobu (kao originalni h-name-block) */
.act-scroll-btn { display: none; } /* Strelice samo na desktopu */
.boats-scroll-btn { display: none; } /* Strelice samo na desktopu */
.act-card-pricetag { display: none; } /* Floating price tag - samo desktop/tablet */
.act-card-reveal { display: none; }   /* Hover reveal blok - samo desktop/tablet */
.tr-card-pill { display: none; }      /* Duration pill - samo desktop/tablet */
.tr-card-route { display: none; }     /* Route line - samo desktop/tablet */
.tr-card-reveal { display: none; }    /* Hover reveal - samo desktop/tablet */

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE - TABLET (768-1023px) & DESKTOP (≥1024px)
   Layout A: topbar + left sidebar + main content
   ═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   SUNČANI HVAR - RESPONSIVE SYSTEM v3
   Container pristup. Horizontalni scroll na karticama (kao mobitel).
   Hero/topbar/section-nav: puna širina ekrana.
   Content: max-width 1280px, margin auto.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Desktop-only elementi - skriveni na mobitelu ── */
.shcrm-topbar      { display: none; }
.shcrm-sidebar     { display: none; }
.shcrm-section-nav { display: none; }
.shcrm-layout      { display: block; }
.shcrm-main        { display: block; }

/* ═══════════════════════════════════════════════════════════════════════
   1. MOBILE LANDSCAPE  (landscape + < 900px)
   ═══════════════════════════════════════════════════════════════════════ */
@media (orientation: landscape) and (max-width: 899px) {

  body { max-width: 100%; }

  .hero { max-height: 190px; min-height: 140px; }
  .h-name { font-size: 28px; }
  .h-name-sub { font-size: 15px; }
  .hero-content { padding: 16px 20px 20px; }

  .bottom-nav-v2 {
    max-width: 100%;
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }

  /* Kartice - veće nego na portretu, ali i dalje scroll */
  .act-card       { width: 200px; }
  .act-card-media { height: 130px; }
  .item-card      { width: 160px; }
  .item-card-media { height: 110px; }

  /* Contact sheet - centered dialog */
  .contact-sheet {
    display: none;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    bottom: auto; width: 90%; max-width: 420px;
    border-radius: 8px; padding-bottom: 16px; transition: none;
  }
  .contact-sheet.open  { display: block; }
  .contact-sheet-handle { display: none; }
}

/* Activities meta strip - vidljiv tek od ≥600px (desktop blok ga otvara) */
.act-card-meta { display: none; }

/* Dining overlay (D variant) - vidljiv tek od ≥600px (desktop blok ga otvara) */
.dn-overlay { display: none; }
.dn-cuisine-pill { display: none; }

/* Boats overlay (varijanta C) - vidljiv tek od ≥600px */
.boat-card-overlay { display: none; }
.boat-card-badges { display: none; }

/* Boat kartica na mob - koristi sliku + body kao prije (item-card style) */
#boats-scroll-row .boat-card {
  display: inline-flex;
  flex-direction: column;
  width: 168px;
  white-space: normal;
  vertical-align: top;
  margin-right: 10px;
  background: var(--white);
  border: 1px solid var(--border);
  overflow: hidden;
  cursor: pointer;
  border-radius: var(--r);
  flex-shrink: 0;
}
#boats-scroll-row .boat-card-media {
  height: 126px;
  position: relative;
  overflow: hidden;
  background: var(--dark);
}
#boats-scroll-row .boat-card-media img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
#boats-scroll-row .boat-card-body-mob {
  padding: 11px 12px;
}

/* Hero search button - mob only, otvara All Services modal */
.hero-search-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
  transition: transform .15s ease, background .15s;
}
.hero-search-btn svg { width: 40px; height: 40px; }
.hero-search-btn:active { transform: scale(.92); background: rgba(0,0,0,.65); }

/* Mobile-only Services section - prikazuje se na vrhu stranice ispod hero-a */
.shcrm-mob-services {
  padding: 22px 16px 8px;
}
.shcrm-mob-services .shcrm-services-eyebrow {
  margin-bottom: 4px;
}
.shcrm-mob-services .shcrm-services-title {
  margin-bottom: 14px;
}

/* Beach Club mobile - tamna pozadina #101010 + bijeli tekst + bijeli gumbi.
   (Desktop varijanta se override-a u @media (min-width: 600px) bloku.) */
.bc-feat-card { background: #101010; border-color: #101010; }
.bc-feat-card .feat-card-body { background: #101010; }
.bc-feat-card .feat-title { color: #fff; }
.bc-feat-card .feat-desc { color: rgba(255,255,255,.65); }
.bc-feat-card .feat-detail { color: rgba(255,255,255,.5); }
.bc-feat-card .feat-cat { color: rgba(191,155,48,.85); }

/* Boats featured - enriched blokovi su DESKTOP-ONLY (specs, routes, perks).
   Na mobu se vraćamo na originalni layout iz v3.2.7: cat → title → desc → CTA.
   Footer se restyle-a u plain actions row (price ide u modal). */
@media (max-width: 599px) {
  .boat-feat-card .boat-feat-specs,
  .boat-feat-card .boat-feat-routes,
  .boat-feat-card .boat-feat-perks,
  .boat-feat-card .boat-feat-price { display: none; }
  .boat-feat-card .boat-feat-footer {
    display: block;
    padding-top: 0;
    border-top: none;
    margin-top: 0;
  }
  .boat-feat-card .feat-actions { display: flex; gap: 8px; }
}

/* ─── BOTTOM NAV V2 - sa notch FAB-om u sredini ─────────────── */
.bottom-nav-v2 {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 480px;
  height: 70px;
  z-index: 200;
  pointer-events: none;
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}
.bottom-nav-v2 .bottom-nav-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: auto;
  filter: drop-shadow(0 -2px 8px rgba(0,0,0,.06));
}
.bottom-nav-v2 .bn-row {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 14px;
  pointer-events: none;
}
.bottom-nav-v2 .bn-side {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 4px;
  pointer-events: auto;
}
.bottom-nav-v2 .bn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  padding: 6px 4px;
  min-width: 50px;
  position: relative;
}
.bottom-nav-v2 .bn svg { opacity: .5; transition: opacity .2s; color: #555; }
.bottom-nav-v2 .bn.active svg { opacity: 1; color: var(--gold); }
.bottom-nav-v2 .bn-label {
  font-size: 10px;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: #555;
  transition: color .2s;
  font-weight: 600;
}
.bottom-nav-v2 .bn.active .bn-label { color: var(--gold); }
.bottom-nav-v2 .bn-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 1px;
}

/* FAB krug u sredini - izlazi gore iznad nav bara */
.bottom-nav-v2 .bn-fab-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: auto;
  position: relative;
  margin-top: -34px;
  cursor: pointer;
}
.bottom-nav-v2 .bn-fab {
  width: 58px;
  height: 58px;
  background: #101010;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0,0,0,.25);
  transition: transform .15s ease;
  position: relative;
}
.bottom-nav-v2 .bn-fab svg { color: #fff; position: relative; z-index: 1; }
.bottom-nav-v2 .bn-fab::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid var(--gold);
  opacity: 0;
  animation: fabPulse 4s ease-out infinite;
  pointer-events: none;
}
@keyframes fabPulse {
  0%   { transform: scale(1);    opacity: 0; }
  8%   { transform: scale(1);    opacity: .7; }
  30%  { transform: scale(1.55); opacity: 0; }
  100% { transform: scale(1.55); opacity: 0; }
}
.bottom-nav-v2 .bn-fab-wrap:active .bn-fab { transform: scale(.94); }

/* ─── ALL SERVICES MODAL ────────────────────────────────────── */
.shcrm-services-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,18,25,.82);
  z-index: 99500;
  overflow: hidden; /* v3.34.335: overlay SAMO drži modal (flex-end); ne skrola se → modal se ne može odgurati gore i otkriti tamnu pozadinu ispod. Skrol je unutar .shcrm-services-modal. */
}
.shcrm-services-overlay.open {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  animation: overlayFadeIn .25s ease forwards;
}
.shcrm-services-modal {
  background: var(--cream);
  width: 100%;
  max-width: 480px;
  height: 88vh;
  overflow-y: auto;
  overscroll-behavior: contain; /* v3.34.335: skrol modala se NE lanča na overlay/pozadinu (nema pomaka izvan granica) */
  position: relative;
  border-radius: 16px 16px 0 0;
}
.shcrm-services-overlay.open .shcrm-services-modal {
  animation: modalSlideUp .32s cubic-bezier(0.22,1,0.36,1) forwards;
}
.shcrm-services-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  background: rgba(0,0,0,.5);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shcrm-services-close svg { width: 22px; height: 22px; }

/* List view header (visible only when modal is in list mode) */
.shcrm-services-list-head {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #ece8e3;
  position: sticky;
  top: 0;
  background: var(--cream);
  z-index: 5;
}
.shcrm-services-back {
  width: 38px;
  height: 38px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  color: var(--text);
  padding: 0;
}
.shcrm-services-list-title {
  font-family: var(--font-d);
  font-size: 22px;
  color: var(--text);
  line-height: 1.2;
  flex: 1;
  min-width: 0;
}
/* Close gumb u list view-u - sticky unutar headera (uvijek vidljiv tijekom scroll-a) */
.shcrm-services-close-list {
  width: 38px;
  height: 38px;
  background: rgba(0,0,0,.5);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  color: #fff;
}
.shcrm-services-close-list svg { width: 18px; height: 18px; }

/* List body content */
.shcrm-services-list-body {
  display: none;
  padding: 16px 16px 36px;
}
.shcrm-services-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.shcrm-service-listitem {
  display: flex;
  gap: 12px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s;
  align-items: center;
}
.shcrm-service-listitem:active { transform: scale(.98); }
.shcrm-service-listitem:hover { border-color: var(--gold); }
.shcrm-service-listitem-thumb {
  width: 84px;
  height: 84px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  background-color: #ddd;
  flex-shrink: 0;
}
/* Icon variant - used by Guest Directory items (House Rules, TV Guide, Contacts) */
.shcrm-listitem-icon {
  background-color: rgba(191,155,48,.10);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
}
.shcrm-listitem-icon svg { width: 38px; height: 38px; }
.shcrm-service-listitem-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}
.shcrm-service-listitem-cat {
  font-size: 8.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
}
.shcrm-service-listitem-title {
  font-family: var(--font-d);
  font-size: 15px;
  color: var(--text);
  line-height: 1.2;
}
.shcrm-service-listitem-meta {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.3;
  margin-top: 2px;
}
.shcrm-service-listitem-arrow {
  color: #aaa;
  flex-shrink: 0;
  margin-left: 4px;
}
.shcrm-service-listitem-empty {
  text-align: center;
  padding: 30px 20px;
  color: var(--muted);
  font-size: 13px;
}

/* View switching */
.shcrm-services-modal[data-view="list"] .shcrm-services-body { display: none; }
.shcrm-services-modal[data-view="list"] .shcrm-services-list-head { display: flex; }
.shcrm-services-modal[data-view="list"] .shcrm-services-list-body { display: block; }
.shcrm-services-modal[data-view="list"] .shcrm-services-close { display: none; }
/* Back gumb vidljiv samo ako ima parent view u stack-u (depth >= 2) */
.shcrm-services-modal[data-stack-depth="1"] .shcrm-services-back,
.shcrm-services-modal:not([data-stack-depth]) .shcrm-services-back { display: none; }
.shcrm-services-modal[data-stack-depth="1"] .shcrm-services-list-head,
.shcrm-services-modal:not([data-stack-depth]) .shcrm-services-list-head { padding-left: 24px; }

/* ─── HOUSE RULES MODAL ────────────────────────────────── */
.shcrm-hr-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,18,25,.82);
  z-index: 99600;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.shcrm-hr-overlay.open {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  animation: overlayFadeIn .25s ease forwards;
}
.shcrm-hr-modal {
  background: var(--cream);
  width: 100%;
  max-width: 480px;
  max-height: 92vh;
  overflow-y: auto;
  position: relative;
  border-radius: 16px 16px 0 0;
}
.shcrm-hr-overlay.open .shcrm-hr-modal {
  animation: modalSlideUp .32s cubic-bezier(0.22,1,0.36,1) forwards;
}
.shcrm-hr-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  background: rgba(0,0,0,.5);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}
.shcrm-hr-close svg { width: 22px; height: 22px; }
.shcrm-hr-header {
  background: var(--cream);
  color: var(--text);
  padding: 26px 24px 24px;
  border-bottom: 1px solid #ece8e3;
}
.shcrm-hr-title {
  font-family: var(--font-d);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 10px;
}
.shcrm-hr-intro {
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted);
  font-family: var(--font-b);
}
.shcrm-hr-list {
  padding: 14px 14px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.shcrm-hr-rule {
  background: var(--white);
  border-left: 3px solid var(--gold);
  border-radius: 4px;
  padding: 12px 14px 12px 12px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--text);
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.shcrm-hr-rule-num {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 22px;
  color: var(--gold);
  flex-shrink: 0;
  min-width: 32px;
  line-height: 1;
  letter-spacing: -.5px;
}
.shcrm-hr-rule-text { flex: 1; }

/* ─── Contacts list (Contacts modal/embed in Services modal) ─── */
.shcrm-contacts-list {
  padding: 14px 14px 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.shcrm-contacts-list:last-child { padding-bottom: 28px; }
.shcrm-contact-row {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--text);
  transition: transform .15s ease, border-color .15s, background .15s;
  box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.shcrm-contact-row:hover { border-color: var(--gold); background: #fffdf8; }
.shcrm-contact-row:active { transform: scale(.98); }
.shcrm-contact-icon {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(191,155,48,.12);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.shcrm-contact-body { flex: 1; min-width: 0; }
.shcrm-contact-label {
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 2px;
}
.shcrm-contact-value {
  font-family: var(--font-b);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--muted);
  word-break: break-word;
  letter-spacing: 0.1px;
}
.shcrm-contact-arrow { color: #aaa; flex-shrink: 0; }

/* ─── Room Service (embed u Services modal list view) ─── */
.shcrm-rs-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
}
.shcrm-rs-meta-row svg { color: var(--gold); flex-shrink: 0; }

.shcrm-rs-cta-row {
  display: flex;
  gap: 8px;
  padding: 14px 14px 4px;
}
.shcrm-rs-cta {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  text-decoration: none;
  transition: transform .15s ease, background .15s;
  cursor: pointer;
}
.shcrm-rs-cta:active { transform: scale(.97); }
.shcrm-rs-cta-primary {
  background: var(--gold);
  color: #fff;
  border: none;
}
.shcrm-rs-cta-primary:hover { background: #a68729; }
.shcrm-rs-cta-secondary {
  background: var(--white);
  color: var(--text);
  border: 1px solid var(--border);
}
.shcrm-rs-cta-secondary:hover { border-color: var(--gold); }

.shcrm-rs-cat-header {
  padding: 18px 18px 6px;
  margin-top: 4px;
}
.shcrm-rs-cat-title {
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  border-bottom: 1px solid #ece8e3;
  padding-bottom: 8px;
}

.shcrm-rs-items {
  padding: 0 14px 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.shcrm-rs-items:last-child { padding-bottom: 28px; }

.shcrm-rs-item {
  display: flex;
  gap: 14px;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(0,0,0,.04);
  align-items: flex-start;
}
.shcrm-rs-item:last-child { border-bottom: none; }
.shcrm-rs-item-body { flex: 1; min-width: 0; }
.shcrm-rs-item-name {
  font-family: var(--font-d);
  font-size: 15px;
  color: var(--text);
  line-height: 1.3;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
}
.shcrm-rs-item-note {
  font-family: var(--font-b);
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  background: rgba(191,155,48,.10);
  padding: 2px 7px;
  border-radius: 3px;
}
.shcrm-rs-item-desc {
  font-size: 11.5px;
  color: var(--muted);
  line-height: 1.4;
  margin-top: 3px;
}
.shcrm-rs-item-price {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 300;
  font-size: 17px;
  color: var(--text);
  letter-spacing: -.3px;
  flex-shrink: 0;
  line-height: 1.4;
}
.shcrm-rs-empty {
  padding: 30px 20px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}

/* ─── Housekeeping (embed u Services modal list view) ─── */
.shcrm-hk-selection-bar {
  position: sticky;
  top: 64px; /* ispod list-head */
  z-index: 5;
  background: var(--cream);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 18px;
  border-bottom: 1px solid #ece8e3;
  font-size: 12.5px;
}
.shcrm-hk-selection-info { color: var(--muted); }
.shcrm-hk-selection-bar.has-selection .shcrm-hk-selection-info { color: var(--text); font-weight: 600; }
.shcrm-hk-selection-bar.has-selection #shcrm-hk-selection-count { color: var(--gold); font-weight: 700; }
.shcrm-hk-clear {
  background: none;
  border: none;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  padding: 4px 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
.shcrm-hk-selection-bar.has-selection .shcrm-hk-clear {
  opacity: 1;
  pointer-events: auto;
}
.shcrm-hk-clear:hover { color: var(--gold); }

.shcrm-hk-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 6px 14px 4px;
}
.shcrm-hk-card {
  position: relative;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 14px 12px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .15s;
  min-height: 110px;
}
.shcrm-hk-card:active { transform: scale(.97); }
.shcrm-hk-card:hover { border-color: var(--gold); }
.shcrm-hk-card.is-selected {
  border-color: var(--gold);
  background: rgba(191,155,48,.08);
}
.shcrm-hk-card-icon {
  width: 32px;
  height: 32px;
  color: var(--gold);
}
.shcrm-hk-card-icon svg { width: 100%; height: 100%; }
.shcrm-hk-card-label {
  font-family: var(--font-d);
  font-size: 13.5px;
  line-height: 1.25;
  color: var(--text);
}
.shcrm-hk-card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gold);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(.6);
  transition: opacity .15s, transform .15s;
}
.shcrm-hk-card.is-selected .shcrm-hk-card-check {
  opacity: 1;
  transform: scale(1);
}

.shcrm-hk-cta-row {
  position: sticky;
  bottom: 0;
  background: var(--cream);
  display: flex;
  gap: 8px;
  padding: 14px;
  border-top: 1px solid #ece8e3;
  margin-top: 14px;
  z-index: 5;
}

.shcrm-hr-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 14px 18px;
  padding: 16px 18px;
  background: #4a5560;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  transition: background .15s ease;
  cursor: pointer;
}
.shcrm-hr-footer:hover { background: #3a444f; }
.shcrm-hr-footer-text { flex: 1; min-width: 0; }
.shcrm-hr-footer-small {
  font-size: 10.5px;
  letter-spacing: .3px;
  opacity: .85;
  line-height: 1.4;
}
.shcrm-hr-footer-title {
  font-family: var(--font-d);
  font-size: 19px;
  line-height: 1.2;
  margin: 2px 0;
}
.shcrm-hr-footer-icon {
  width: 50px; height: 50px;
  background: #fff;
  border-radius: 6px;
  color: #4a5560;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.shcrm-services-body { padding: 26px 20px 36px; }
.shcrm-services-section { margin-bottom: 24px; }
.shcrm-services-section:last-child { margin-bottom: 0; }
.shcrm-services-eyebrow {
  font-size: 9px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 4px;
}
.shcrm-services-title {
  font-family: var(--font-d);
  font-size: 22px;
  font-weight: 400;
  color: var(--text);
  margin-bottom: 14px;
  line-height: 1.2;
}

/* Services grid - 3 kartice u redu */
.shcrm-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
.shcrm-service-card {
  background: var(--white);
  border-radius: 12px;
  padding: 16px 8px 14px;
  text-align: center;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: transform .15s ease, border-color .15s;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.shcrm-service-card:active { transform: scale(.97); }
.shcrm-service-card:hover { border-color: var(--gold); }
.shcrm-service-icon {
  width: 48px; height: 48px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
  background: rgba(191,155,48,.1);
  color: var(--gold);
}
.shcrm-service-lbl {
  font-size: 14px; /* v3.34.350: bilo 11px - usklađeno s ostalim naslovima kartica */
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  margin-bottom: 3px;
}
.shcrm-service-sub {
  font-size: 11px; /* v3.34.350: bilo 9.5px - usklađeno s ostalim podnaslovima */
  color: var(--muted);
  line-height: 1.35;
}

/* Concierge wide banner - full-width kartica ispod 3 services kartice */
.shcrm-service-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px 18px;
  margin-top: 12px;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s;
}
.shcrm-service-banner:active { transform: scale(.98); }
.shcrm-service-banner:hover { border-color: var(--gold); }
.shcrm-service-banner-text { flex: 1; min-width: 0; }
.shcrm-service-banner-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.25;
  margin-bottom: 2px;
}
.shcrm-service-banner-sub {
  font-size: 10.5px;
  color: var(--muted);
  line-height: 1.3;
}
.shcrm-service-banner-icon {
  flex-shrink: 0;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: rgba(191,155,48,.12);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Sections grid - 3 u redu */
.shcrm-sections-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
.shcrm-section-tile {
  background: var(--white);
  border-radius: 10px;
  padding: 14px 6px 12px;
  text-align: center;
  cursor: pointer;
  border: 1px solid var(--border);
  transition: transform .15s ease, border-color .15s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.shcrm-section-tile:active { transform: scale(.97); }
.shcrm-section-tile:hover { border-color: var(--gold); }
.shcrm-section-tile-icon {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(15,28,37,.06);
  color: var(--text);
}
.shcrm-section-tile-lbl {
  font-size: 10px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: .3px;
  line-height: 1.2;
}

/* ═══════════════════════════════════════════════════════════════════════
   2. TABLET + DESKTOP  (≥ 600px)
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 600px) {

  /* ── Reset ── */
  body { max-width: 100%; overflow-x: hidden; }
  .shcrm-layout  { display: block; }
  .shcrm-sidebar { display: none; }
  .shcrm-main    { display: block; }
  main { padding-bottom: 60px; }

  .shcrm-section-nav-concierge { display: flex; }

  /* ── Modal - tablet: šire, centred ali zadržava slide-up od dna ── */
  .shcrm-modal {
    max-width: 640px;
    height: 88vh;
    max-height: 88vh;
    border-radius: 16px 16px 0 0;
  }
  /* Veće slike u hero galeriji */
  .shcrm-mv-slide img { max-height: 360px; }
  .shcrm-mv-video     { max-height: 360px; }

  /* ── Contact sheet - centered dialog, ne slide-up ── */
  .contact-sheet {
    display: none;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    bottom: auto; width: 90%; max-width: 440px;
    border-radius: 8px; padding-bottom: 20px; transition: none;
  }
  .contact-sheet.open  { display: block; }
  .contact-sheet-handle { display: none; }

  /* ── Status bar - u topbaru ── */
  .status-bar  { display: none; }
  .bottom-nav-v2 { display: none; }
  .shcrm-services-overlay { display: none !important; }
  .shcrm-hr-overlay { display: none !important; }
  .shcrm-tv-overlay { display: none !important; }
  .hero-search-btn { display: none; }
  .shcrm-mob-services { display: none; }

  /* ── TOPBAR - skriven na mobu/tabletu, prikazan na desktopu ── */
  .shcrm-topbar { display: none; }
  .shcrm-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1280px;
    padding: 0 40px;
  }
  .shcrm-topbar-logo {
    color: var(--gold);
    font-size: 9.5px; letter-spacing: 2.5px; font-weight: 600;
    text-transform: uppercase; white-space: nowrap;
  }
  .shcrm-topbar-actions { display: flex; align-items: center; gap: 16px; }
  .shcrm-topbar-status {
    display: flex; align-items: center; gap: 6px;
    font-size: 10px; color: rgba(255,255,255,.45);
  }
  .shcrm-topbar-status-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #16a34a; flex-shrink: 0;
  }
  .shcrm-topbar-btn {
    font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase;
    background: var(--gold); color: #fff; padding: 9px 18px;
    border: none; cursor: pointer; font-family: var(--font-b);
    font-weight: 600; white-space: nowrap; transition: opacity .2s;
  }
  .shcrm-topbar-btn:hover { opacity: .85; }

  /* Admin bar offset - section-nav sticky ispod admin bara (≥600px, bez topbara) */
  body.admin-bar .shcrm-section-nav { top: 32px; }

  /* ── SECTION NAV - full width bijela traka, sadržaj centriran ── */
  .shcrm-section-nav {
    display: flex;
    justify-content: center;
    background: var(--white);
    background-color: var(--white) !important;
    border-bottom: 1px solid var(--border);
    position: sticky; top: 0; z-index: 9999;
    width: 100%;
  }
  .shcrm-section-nav::-webkit-scrollbar { display: none; }
  .shcrm-section-nav-inner {
    display: flex;
    width: 100%; max-width: 1280px; padding: 0 40px;
    margin: 0 auto;
  }
  .shcrm-section-nav-tab {
    flex-shrink: 0; padding: 12px 16px;
    font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase;
    color: var(--muted); cursor: pointer;
    border-bottom: 2px solid transparent; font-weight: 500;
    transition: color .15s, border-color .15s; white-space: nowrap;
    display: flex; align-items: center; gap: 8px;
  }
  /* Prvi tab - bez lijevog paddinga, da HOME počinje točno na lijevom rubu content area */
  .shcrm-section-nav-tab:first-child { padding-left: 0; }
  .shcrm-section-nav-tab .shcrm-snav-icon {
    flex-shrink: 0;
    opacity: .65;
    transition: opacity .15s, color .15s;
  }
  .shcrm-section-nav-tab:hover { color: var(--text); }
  .shcrm-section-nav-tab:hover .shcrm-snav-icon { opacity: 1; }
  .shcrm-section-nav-tab.active { color: var(--gold); border-bottom-color: var(--gold); }
  .shcrm-section-nav-tab.active .shcrm-snav-icon { opacity: 1; }

  /* ── HERO - puna širina, samo content ograničen ── */
  .hero { max-height: 420px; min-height: 300px; margin-top: -1px; }
  /* Hero overlay - pojačan bottom gradient za čitljivost naslova,
     gornja polovica ostaje čista */
  .hero-overlay {
    background: linear-gradient(to top,
      rgba(0,0,0,.85) 0%,
      rgba(0,0,0,.70) 20%,
      rgba(0,0,0,.45) 40%,
      rgba(0,0,0,.15) 60%,
      transparent 75%);
  }
  /* Texture overlay također smanji intenzitet - slika dominira */
  .hero-texture { opacity: .4; }
  /* Hero text - text-shadow kao safety net na svjetlim slikama (čitljivost) */
  .hero-content .h-eyebrow,
  .hero-content .h-name,
  .hero-content .h-name-sub {
    text-shadow: 0 2px 16px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.4);
  }
  .h-name { font-size: 48px; }
  .h-name-sub { font-size: 22px; }
  .hero-content {
    position: absolute; inset: 0;
    padding: 32px 40px;
    max-width: 1280px;
    margin: 0 auto;
    left: 0; right: 0;
  }

  .h-weather-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  .h-weather-temp {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 46px; font-weight: 300;
    color: #fff; line-height: 1; letter-spacing: -1px;
  }
  .h-weather-right { text-align: right; }
  .h-weather-icon { font-size: 28px; line-height: 1; margin-bottom: 3px; }
  .h-weather-cond { font-size: 10px; color: rgba(255,255,255,.55); line-height: 1.4; }

  .h-weather-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 10px;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 9px;
    margin-bottom: 9px;
  }
  .h-weather-item { display: flex; align-items: center; gap: 4px; }
  .h-weather-lbl { font-size: 9.5px; color: rgba(255,255,255,.4); }
  .h-weather-val { font-size: 9.5px; color: rgba(255,255,255,.8); font-weight: 500; }

  .h-weather-forecast {
    display: flex;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 8px;
  }
  .h-weather-fd {
    flex: 1; text-align: center;
    border-right: 1px solid rgba(255,255,255,.08);
  }
  .h-weather-fd:last-child { border-right: none; }
  .h-weather-fd-day  { font-size: 7.5px; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 2px; }
  .h-weather-fd-icon { font-size: 12px; line-height: 1; margin-bottom: 1px; }
  .h-weather-fd-max  { font-size: 11px; font-weight: 500; color: rgba(255,255,255,.85); }
  .h-weather-fd-min  { font-size: 9.5px; color: rgba(255,255,255,.4); }

  /* ── CONTAINER - sav content ── */
  .section {
    padding: 28px 40px 0;
    max-width: 1280px; margin: 0 auto;
  }
  .section-title { font-size: 28px; }
  .shcrm-section-wrapper { max-width: 1280px; margin: 0 auto; padding: 24px 40px 0; }

  hr.rule {
    max-width: calc(1280px - 80px);
    margin: 28px auto 0;
  }
  .highlights { max-width: 1280px; margin: 0 auto; padding: 12px 40px 16px; }

  /* ── ACTIVITIES scroll strelice - samo desktop ── */
  .scroll-row-wrap { position: relative; overflow: visible; isolation: isolate; }
  .act-scroll-btn {
    display: flex;
    position: absolute;
    top: 50%; transform: translateY(-50%);
    z-index: 10;
    width: 44px; height: 44px;
    background: rgba(15,28,37,.85);
    border: 1px solid rgba(191,155,48,.3);
    color: #fff; font-size: 24px;
    align-items: center; justify-content: center;
    cursor: pointer; transition: background .2s;
    font-family: var(--font-b, system-ui);
    line-height: 1;
  }
  .act-scroll-btn:hover { background: var(--dark); border-color: var(--gold); }
  .act-scroll-prev { left: -22px; }
  .act-scroll-next { right: -22px; }
  .act-scroll-btn.hidden { opacity: 0; pointer-events: none; }

  /* Boats strelice - isti styling kao Activities */
  .boats-scroll-btn {
    display: flex;
    position: absolute;
    top: 50%; transform: translateY(-50%);
    z-index: 10;
    width: 44px; height: 44px;
    background: rgba(15,28,37,.85);
    border: 1px solid rgba(191,155,48,.3);
    color: #fff; font-size: 24px;
    align-items: center; justify-content: center;
    cursor: pointer; transition: background .2s;
    font-family: var(--font-b, system-ui);
    line-height: 1;
  }
  .boats-scroll-btn:hover { background: var(--dark); border-color: var(--gold); }
  .boats-scroll-prev { left: -22px; }
  .boats-scroll-next { right: -22px; }
  .boats-scroll-btn.hidden { opacity: 0; pointer-events: none; }

  .scroll-row,
  #tr-scroll-row {
    display: grid;
    overflow-x: visible;
    white-space: normal;
    padding: 0;
    gap: 16px;
    grid-template-columns: repeat(4, 1fr);
    scrollbar-width: none;
  }

  /* Boats - horizontalni scroll (kao Activities) */
  #boats-scroll-row {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0 60px 0 0;
    gap: 12px;
    scrollbar-width: none;
    align-items: stretch;
  }
  #boats-scroll-row::-webkit-scrollbar { display: none; }

  /* Scroll progress sakrivena na desktopu */
  .scroll-progress { display: none; }

  /* ── ACT CARDS - grid, ne scroll ── */
  .act-card {
    width: auto;
    flex-shrink: unset;
    margin-right: 0;
    display: flex;
    flex-direction: column;
  }
  .act-card:last-child { margin-right: 0; }
  .act-card-media { height: 200px; }

  /* ── ITEM CARDS ── */
  .item-card {
    width: auto;
    flex-shrink: unset;
    display: flex;
    flex-direction: column;
    margin-right: 0;
    white-space: normal;
  }
  .item-card:last-child { margin-right: 0; }
  .item-card-media { height: 160px; }

  /* ── MAGAZINE ACT CARDS - uniform scroll, sve kartice 300px × 340px ── */
  #act-scroll-row {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0 60px 0 0;
    gap: 12px;
    background: transparent;
    scrollbar-width: none;
    align-items: flex-start;
    height: 340px;
  }
  #act-scroll-row::-webkit-scrollbar { display: none; }

  #act-scroll-row .act-item {
    flex-shrink: 0 !important;
    white-space: normal;
    width: 300px !important;
    height: 340px;
    display: block;
    transition: width .3s ease;
  }
  /* Kritično: hidden mora gaziti display: block !important */
  #act-scroll-row .act-item.hidden { display: none !important; }
  #act-scroll-row .act-item--first { width: 460px !important; }
  #act-scroll-row .act-card {
    position: relative;
    background: var(--dark);
    border: none;
    border-radius: var(--r);
    margin-right: 0;
    width: 300px !important;
    height: 340px !important;
    overflow: hidden; cursor: pointer;
  }
  #act-scroll-row .act-card-media {
    height: 340px; width: 100%;
  }
  #act-scroll-row .act-card-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .35s ease;
  }
  #act-scroll-row .act-card:hover .act-card-media img { transform: scale(1.05); }
  #act-scroll-row .act-card-body {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.3) 55%, transparent 100%);
    padding: 20px 18px 18px;
  }
  #act-scroll-row .item-card-cat {
    display: none;
  }
  #act-scroll-row .item-card-name {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 20px; color: #fff; line-height: 1.2; margin-bottom: 4px;
  }

  /* ── META STRIP - gold solid pill + ikone (D variant) ── */
  #act-scroll-row .act-card-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 8px;
  }
  #act-scroll-row .act-meta-type {
    font-family: var(--font-b);
    font-size: 8.5px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #fff;
    background: var(--gold);
    padding: 3px 7px;
    border-radius: 3px;
    font-weight: 400;
    line-height: 1;
  }
  #act-scroll-row .act-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-b);
    font-size: 10px;
    color: rgba(255,255,255,.78);
    font-weight: 500;
    line-height: 1;
  }
  #act-scroll-row .act-meta-item svg {
    opacity: .75;
    flex-shrink: 0;
  }
  #act-scroll-row .item-card-price { font-size: 10px; color: rgba(255,255,255,.55); }
  #act-scroll-row .item-card-badge { display: none; }
  #act-scroll-row .feat-badge { position: absolute; top: 12px; left: 12px; z-index: 2; }

  /* ── HOVER REVEAL + FLOATING PRICE - Activities only ── */
  /* Floating price tag gore desno na foto-u */
  #act-scroll-row .act-card-pricetag {
    display: block;
    position: absolute;
    top: 12px; right: 12px;
    z-index: 3;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #1a1a1a;
    padding: 6px 11px;
    font-family: var(--font-b);
    font-size: 14px;
    font-weight: 700;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    letter-spacing: -.2px;
    line-height: 1;
  }
  #act-scroll-row .act-card-pricetag span {
    font-family: var(--font-b);
    font-size: 8.5px;
    color: #8a8a86;
    font-weight: 500;
    letter-spacing: .4px;
    text-transform: uppercase;
    margin-left: 4px;
  }

  /* Sakrij staru cijenu u body-u - sada je u price tag-u */
  #act-scroll-row .item-card-price { display: none; }

  /* Gradient body - pojačava se na hover da se reveal lijepo vidi */
  #act-scroll-row .act-card-body {
    transition: background .3s ease;
  }
  #act-scroll-row .act-card:hover .act-card-body {
    background: linear-gradient(to top, rgba(0,0,0,.95) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.2) 100%);
  }

  /* Reveal blok - opis + CTA, slide-in iz dna */
  #act-scroll-row .act-card-reveal {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .35s ease, opacity .25s ease, margin-top .35s ease;
    margin-top: 0;
  }
  #act-scroll-row .act-card:hover .act-card-reveal {
    max-height: 100px;
    opacity: 1;
    margin-top: 8px;
  }
  #act-scroll-row .act-card-desc {
    font-size: 11px;
    color: rgba(255,255,255,.7);
    line-height: 1.55;
    margin-bottom: 10px;
  }
  #act-scroll-row .act-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #bf9b30;
    font-weight: 500;
    border-bottom: 1px solid rgba(191,155,48,.4);
    padding-bottom: 3px;
    transition: border-color .2s, color .2s;
  }
  #act-scroll-row .act-card-cta span {
    font-size: 12px;
    line-height: 1;
    transition: transform .2s;
  }
  #act-scroll-row .act-card:hover .act-card-cta span {
    transform: translateX(3px);
  }
  #act-scroll-row .act-card:hover .act-card-cta {
    border-bottom-color: rgba(191,155,48,.8);
    color: #d4ad36;
  }

  /* ── TRANSFERS - B layout: Shared+Private širi, VIP uži ── */
  #tr-scroll-row {
    display: grid;
    grid-template-columns: 1.6fr 1.6fr 1fr 1fr;
    gap: 12px;
    height: 320px;
    overflow-x: visible;
    white-space: normal;
    padding: 0;
  }
  #tr-scroll-row .act-card {
    position: relative;
    background: var(--dark);
    border: none;
    border-radius: var(--r);
    overflow: hidden; cursor: pointer;
    height: 320px;
    display: block !important;
  }
  #tr-scroll-row .act-card-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    flex-shrink: 0;
  }
  #tr-scroll-row .act-card-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .35s ease;
  }
  #tr-scroll-row .act-card:hover .act-card-media img { transform: scale(1.04); }
  #tr-scroll-row .act-card-body {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,.3) 55%, transparent 100%);
    padding: 20px 18px 18px;
  }
  #tr-scroll-row .item-card-cat {
    font-size: 7.5px; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(191,155,48,.9); font-weight: 700; font-family: var(--font-b);
    margin-bottom: 5px;
  }
  #tr-scroll-row .item-card-name {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 18px; color: #fff; line-height: 1.2; margin-bottom: 4px;
  }
  #tr-scroll-row .act-card:nth-child(1) .item-card-name,
  #tr-scroll-row .act-card:nth-child(2) .item-card-name { font-size: 22px; }
  #tr-scroll-row .item-card-price { font-size: 10px; color: rgba(255,255,255,.5); }
  #tr-scroll-row .item-card-badge {
    display: inline-block;
    font-size: 7.5px; letter-spacing: .8px; text-transform: uppercase;
    background: rgba(191,155,48,.2); color: rgba(191,155,48,.9);
    padding: 3px 8px; margin-top: 7px; font-weight: 700;
    border: 1px solid rgba(191,155,48,.3); font-family: var(--font-b);
  }

  /* ── TRANSFER PREMIUM - duration pill + route line + hover reveal ── */
  /* Duration pill gore desno (kao price tag na Activities) */
  #tr-scroll-row .tr-card-pill {
    display: flex;
    align-items: center;
    gap: 5px;
    position: absolute;
    top: 12px; right: 12px;
    z-index: 3;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #1a1a1a;
    padding: 6px 11px;
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 12px;
    font-weight: 500;
    border-radius: 4px;
    line-height: 1;
    letter-spacing: -.1px;
  }
  #tr-scroll-row .tr-card-pill svg {
    opacity: .55;
  }

  /* Sakrij stari item-card-price (route text) i item-card-badge (duration text) - sada zamijenjeni novim elementima */
  #tr-scroll-row .item-card-price,
  #tr-scroll-row .item-card-badge { display: none; }

  /* Gradient pojačava na hover (kao Activities) */
  #tr-scroll-row .act-card-body {
    transition: background .3s ease;
  }
  #tr-scroll-row .act-card:hover .act-card-body {
    background: linear-gradient(to top, rgba(0,0,0,.95) 0%, rgba(0,0,0,.5) 70%, rgba(0,0,0,.2) 100%);
  }

  /* Foto zoom na hover */
  #tr-scroll-row .act-card-media img { transition: transform .35s ease; }
  #tr-scroll-row .act-card:hover .act-card-media img { transform: scale(1.05); }

  /* Route line - from → ↔ → to (dvosmjerna strelica) */
  #tr-scroll-row .tr-card-route {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 4px;
  }
  #tr-scroll-row .tr-route-from,
  #tr-scroll-row .tr-route-to {
    font-size: 10.5px;
    color: rgba(255,255,255,.78);
    letter-spacing: .3px;
    line-height: 1;
    flex-shrink: 0;
  }
  #tr-scroll-row .tr-route-line {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 4px;
    color: rgba(191,155,48,.85);
  }
  #tr-scroll-row .tr-route-line-inner {
    flex: 1;
    height: 1px;
    background: linear-gradient(to right,
      rgba(191,155,48,.6) 0%,
      rgba(255,255,255,.35) 50%,
      rgba(191,155,48,.6) 100%);
  }
  #tr-scroll-row .tr-route-arrow-left,
  #tr-scroll-row .tr-route-arrow-right {
    flex-shrink: 0;
  }

  /* Hover reveal - Book CTA */
  #tr-scroll-row .tr-card-reveal {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .35s ease, opacity .25s ease, margin-top .35s ease;
    margin-top: 0;
  }
  #tr-scroll-row .act-card:hover .tr-card-reveal {
    max-height: 40px;
    opacity: 1;
    margin-top: 10px;
  }
  #tr-scroll-row .tr-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #bf9b30;
    font-weight: 500;
    border-bottom: 1px solid rgba(191,155,48,.4);
    padding-bottom: 3px;
    transition: border-color .2s, color .2s;
  }
  #tr-scroll-row .tr-card-cta span {
    font-size: 12px;
    line-height: 1;
    transition: transform .2s;
  }
  #tr-scroll-row .act-card:hover .tr-card-cta span {
    transform: translateX(3px);
  }
  #tr-scroll-row .act-card:hover .tr-card-cta {
    border-bottom-color: rgba(191,155,48,.8);
    color: #d4ad36;
  }

  /* ── BOATS FEATURED - split layout ── */
  .feat-card {
    display: grid;
    grid-template-columns: 420px 1fr;
    border: 1px solid var(--border);
    border-radius: var(--r);
    overflow: hidden;
    margin-bottom: 12px;
  }
  .feat-card-media {
    height: auto; min-height: 280px;
    overflow: hidden; position: relative;
  }
  .feat-card-media img { width: 100%; height: 100%; object-fit: cover; }
  .feat-card-body {
    padding: 36px 40px;
    display: flex; flex-direction: column; justify-content: center;
  }
  .feat-title { font-size: 36px; line-height: 1; margin-bottom: 8px; }
  .feat-cat { font-size: 8px; letter-spacing: 2.5px; }
  .feat-desc {
    font-size: 14px; color: var(--muted); line-height: 1.7;
    margin-bottom: 22px; display: block;
  }
  .feat-detail { display: none; }
  .feat-price { display: none; }
  .feat-actions { display: flex; gap: 10px; }

  /* ── BOATS FEATURED ENRICHED - Pardo data layout ── */
  /* Wider media on ≥600px (matches scroll cards visually). Body has specs grid + routes + footer. */
  .boat-feat-card .feat-card-media { min-height: 320px; }
  .boat-feat-card .boat-feat-mob-cap { display: none; } /* desktop ima specs grid */
  .boat-feat-card .feat-card-body {
    padding: 24px 32px;
    justify-content: space-between; /* spec + footer raspoređeni, no big empty gap */
  }
  .boat-feat-card .feat-desc {
    margin-bottom: 14px;
    font-size: 14px;
    color: #666;
  }

  /* Spec grid - 2 kolone, tanka gold linija odvaja redove */
  .boat-feat-specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 24px;
    margin-bottom: 12px;
    border-top: 1px solid #ece8e3;
  }
  .boat-feat-spec {
    padding: 7px 0;
    border-bottom: 1px solid #ece8e3;
  }
  .boat-feat-spec-lbl {
    font-family: var(--font-b);
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 2px;
    font-weight: 600;
  }
  .boat-feat-spec-val {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 14px;
    color: var(--text);
    line-height: 1.2;
  }

  /* Suggested routes */
  .boat-feat-routes { margin-bottom: 12px; }
  .boat-feat-routes-lbl {
    font-family: var(--font-b);
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gold);
    margin-bottom: 5px;
    font-weight: 700;
  }
  .boat-feat-route {
    font-size: 12px;
    color: #555;
    padding: 2px 0;
    line-height: 1.45;
  }

  /* Perks - 3 stupca s ikonom + label + sub, popunjava prazan prostor body-a */
  .boat-feat-perks {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    padding: 14px 0;
    margin-bottom: 4px;
  }
  .boat-feat-perk {
    text-align: center;
    padding: 0 4px;
  }
  .boat-feat-perk-icon {
    color: var(--gold);
    margin-bottom: 6px;
    display: inline-block;
  }
  .boat-feat-perk-label {
    font-family: var(--font-b);
    font-size: 11px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.2;
    margin-bottom: 2px;
  }
  .boat-feat-perk-sub {
    font-size: 10px;
    color: var(--muted);
    line-height: 1.3;
  }

  /* Footer - price block lijevo, buttons desno */
  .boat-feat-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid #ece8e3;
  }
  .boat-feat-price {
    display: flex; align-items: baseline; gap: 6px;
    flex-shrink: 0;
  }
  .boat-feat-price-lbl {
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
    margin-right: 4px;
  }
  .boat-feat-price-amount {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 28px;
    color: var(--text);
    line-height: 1;
  }
  .boat-feat-price-unit {
    font-size: 11px;
    color: var(--muted);
  }
  .boat-feat-card .feat-actions { flex-shrink: 0; }

  /* ── BOATS SCROLL - horizontalni slider (kao Activities) ── */
  #boats-scroll-row {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    white-space: nowrap;
    padding: 0 60px 0 0;
    background: transparent;
    align-items: stretch;
    scrollbar-width: none;
    gap: 12px; /* isto kao #act-scroll-row */
  }
  #boats-scroll-row::-webkit-scrollbar { display: none; }
  /* ── BOATS - overlay magazine kartice s hover reveal ── */
  /* Mob body fallback skriven na desktopu, overlay preuzima */
  #boats-scroll-row .boat-card-body-mob { display: none; }

  #boats-scroll-row .boat-card {
    display: inline-block;
    position: relative;
    flex-shrink: 0;
    width: 300px;
    height: 250px;
    margin-right: 0 !important; /* container koristi gap, kao Activities */
    border-radius: var(--r, 5px);
    overflow: hidden;
    cursor: pointer;
    background: var(--dark);
    transition: transform .22s ease, box-shadow .22s ease;
    vertical-align: top;
  }
  #boats-scroll-row .boat-card:last-child { margin-right: 0; }
  #boats-scroll-row .boat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
  }

  /* Foto cijela kartica */
  #boats-scroll-row .boat-card-media {
    position: absolute !important;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--dark);
  }
  #boats-scroll-row .boat-card-media img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .4s ease;
  }
  #boats-scroll-row .boat-card:hover .boat-card-media img { transform: scale(1.06); }

  /* Tamni gradient odozdo prema gore */
  #boats-scroll-row .boat-card::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to top,
      rgba(0,0,0,.88) 0%,
      rgba(0,0,0,.45) 35%,
      rgba(0,0,0,.05) 65%,
      transparent 100%);
    transition: background .3s ease;
    pointer-events: none;
    z-index: 1;
  }
  #boats-scroll-row .boat-card:hover::after {
    background: linear-gradient(to top,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.6) 45%,
      rgba(0,0,0,.15) 75%,
      transparent 100%);
  }

  /* Badge area gore (year pill) */
  #boats-scroll-row .boat-card-badges {
    position: absolute;
    top: 12px; left: 12px; right: 12px;
    z-index: 3;
    display: flex; justify-content: flex-end; align-items: center;
  }
  #boats-scroll-row .boat-card-year {
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 4px 9px;
    font-size: 11px;
    color: var(--text);
    border-radius: 3px;
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    line-height: 1;
  }

  /* Overlay content dolje */
  #boats-scroll-row .boat-card-overlay {
    display: block;
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 18px 16px;
    z-index: 2;
    color: #fff;
  }
  #boats-scroll-row .boat-card-eyebrow {
    font-family: var(--font-b);
    font-size: 8.5px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(191,155,48,.95);
    font-weight: 600;
    margin-bottom: 6px;
  }
  #boats-scroll-row .boat-card-name {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 24px;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 8px;
  }
  #boats-scroll-row .boat-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-b);
    font-size: 10px;
    color: rgba(255,255,255,.82);
    font-weight: 500;
    line-height: 1;
  }
  #boats-scroll-row .boat-meta-item {
    display: inline-flex; align-items: center; gap: 4px;
  }
  #boats-scroll-row .boat-meta-item svg { opacity: .75; flex-shrink: 0; }
  #boats-scroll-row .boat-meta-sep { color: rgba(255,255,255,.3); }

  /* Hover reveal - opis + Request charter CTA */
  #boats-scroll-row .boat-card-reveal {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
    margin-top: 10px;
  }
  #boats-scroll-row .boat-card:hover .boat-card-reveal { max-height: 110px; }
  #boats-scroll-row .boat-reveal-text {
    font-size: 11px;
    color: rgba(255,255,255,.78);
    line-height: 1.55;
    margin-bottom: 8px;
    margin-top: 10px;
  }
  #boats-scroll-row .boat-reveal-cta {
    font-family: var(--font-b);
    font-size: 9.5px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 600;
    line-height: 1;
  }

  /* ── BEACH CLUB - Spa layout, tamni body #101010 ── */
  .bc-feat-card {
    grid-template-columns: 1fr 1fr;
    min-height: 340px;
    border: 1px solid var(--border);
    margin-bottom: 0;
  }
  .bc-feat-card .feat-card-media {
    min-height: 340px;
  }
  .bc-feat-card .feat-card-body {
    padding: 48px;
    background: #101010;
    display: flex; flex-direction: column; justify-content: center;
  }
  .bc-feat-card .feat-cat {
    color: rgba(191,155,48,.75); margin-bottom: 14px;
  }
  .bc-feat-card .feat-title {
    font-size: 38px; color: #fff; margin-bottom: 8px; line-height: 1.1;
  }
  .bc-feat-card .feat-desc {
    font-size: 11px; color: rgba(255,255,255,.55); line-height: 1.7; margin-bottom: 22px; display: block;
  }
  .bc-feat-card .feat-detail {
    display: block; font-size: 11px; color: rgba(255,255,255,.4); margin-bottom: 6px;
  }
  .bc-feat-card .feat-actions { display: flex; gap: 10px; margin-top: 24px !important; }

  /* ── DINING - Overlay magazine (D variant) ── */
  /* Sve 3 kartice jednake - equal grid, tekst overlay preko foto-a */
  #section-dining .grid-2 {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  /* Reset featured "zauzima 2 reda" pravilo (iz mob) - sve kartice equal */
  #section-dining .grid-2 .grid-card:first-child { grid-row: auto; }
  #section-dining .grid-2 .grid-card:first-child .grid-card-media { height: auto; }

  /* Dining kartica → overlay struktura */
  #section-dining .dn-card {
    position: relative;
    height: 280px;
    overflow: hidden;
    background: var(--dark);
  }
  #section-dining .dn-card .grid-card-media {
    position: absolute; inset: 0; height: 100%; width: 100%;
  }
  #section-dining .dn-card .grid-card-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .35s ease;
  }
  #section-dining .dn-card:hover .grid-card-media img { transform: scale(1.05); }

  /* Tamni gradient za čitljivost teksta */
  #section-dining .dn-card::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 55%, transparent 100%);
    transition: background .3s ease;
    pointer-events: none;
    z-index: 1;
  }
  #section-dining .dn-card:hover::after {
    background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.45) 65%, rgba(0,0,0,.1) 100%);
  }

  /* Cuisine pill - gore lijevo (kao Activities meta) */
  #section-dining .dn-cuisine-pill {
    display: inline-flex;
    align-items: center;
    position: absolute;
    top: 12px; left: 12px;
    z-index: 3;
    font-family: var(--font-b);
    font-size: 8.5px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #fff;
    background: var(--gold);
    padding: 3px 7px;
    border-radius: 3px;
    font-weight: 400;
    line-height: 1;
  }

  /* Overlay content - dolje */
  #section-dining .dn-overlay {
    display: block;
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 18px 16px;
    z-index: 2;
    color: #fff;
  }
  #section-dining .dn-loc {
    font-family: var(--font-b);
    font-size: 8.5px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(191,155,48,.95);
    font-weight: 600;
    margin-bottom: 6px;
  }
  #section-dining .dn-name {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 24px;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 8px;
  }
  #section-dining .dn-meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--font-b);
    font-size: 10px;
    color: rgba(255,255,255,.85);
    font-weight: 500;
    line-height: 1;
  }
  #section-dining .dn-meta svg { opacity: .8; flex-shrink: 0; }

  /* Sakrij stari body sadržaj na desktopu - overlay preuzima */
  #section-dining .dn-card .grid-card-body { display: none; }

  /* Stari Dining grid (za stranice bez .dn-card markupa) ostaje editorial */
  .grid-card-media { height: 150px; }
  .grid-card-name { font-family: var(--font-d, 'Hanken Grotesk', sans-serif); font-size: 18px; }
  .grid-card-sub { font-size: 10.5px; }

  /* ── SPA FEATURED - split bijela ── */
  .shcrm-section-wrapper .feat-card {
    grid-template-columns: 1fr 1fr;
    min-height: 340px;
    border: 1px solid var(--border);
    margin-bottom: 0;
  }
  .shcrm-section-wrapper .feat-card-media { min-height: 340px; }
  .shcrm-section-wrapper .feat-card-body {
    padding: 48px;
    background: var(--white);
  }
  .shcrm-section-wrapper .feat-title { font-size: 38px; margin-bottom: 6px; }
  .shcrm-section-wrapper .feat-desc { display: block; margin-bottom: 24px; }
  .shcrm-section-wrapper .feat-actions { display: flex; gap: 10px; }

  /* ── Grid cards (beach) - editorial (Dining ima override gore) ── */
  .grid-2 { grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
  .grid-2 .grid-card:first-child { grid-row: 1 / 3; }
  .grid-2 .grid-card:first-child .grid-card-media { height: 280px; }

  /* ── Modal media - veće slike na većim ekranima ── */
  .shcrm-mv-slide img { max-height: 320px; }
  .shcrm-mv-video     { max-height: 320px; }

  /* ── Contact block ── */
  .contact-block {
    max-width: 1280px; margin: 28px auto 0;
    border-radius: 3px; padding: 28px 40px;
    display: grid; grid-template-columns: 1fr auto;
    align-items: center; gap: 24px;
  }
  .contact-btns { flex-direction: row; }

  /* ── Footer ── */
  .legal-footer { max-width: 1280px; margin: 0 auto; padding: 16px 40px 20px; }

  /* ── Events ── */
  .shcrm-ev-row { margin: 0 0 8px; }

  /* ── Activity filter ── */
  .act-filter-chips { padding-right: 0; }

  /* ── Map - desktop/tablet: adresa iznad, karta puna širina ispod ──
     Stack umjesto side-by-side jer kad nema distance podataka, lijeva kolona
     ostaje prazna pored visoke karte (loš UX). Adresa + Navigate u 1 retku gore. */
  .shcrm-map-wrap { padding-bottom: 0; }
  .shcrm-map-header { margin-bottom: 20px; }
  .shcrm-map-title { font-size: 28px; }
  .shcrm-map-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .shcrm-map-info { display: flex; flex-direction: column; gap: 10px; }
  .shcrm-map-distances {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 0;
  }
  /* Adresa karta - kompaktnija, max-width, lijevo poravnata */
  .shcrm-map-address {
    max-width: 520px;
  }
  .shcrm-map-embed-wrap { border-radius: var(--r); }
  .shcrm-map-iframe { height: 420px; }

  /* ── Typography overrideovi - desktop/tablet eyebrow stilovi ──
     Mob ostaje 9px/700 (kako je), desktop dobiva 10px/500 (per user spec) */
  .section-eyebrow {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 2.5px;
  }
  .act-chip {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.5px;
  }
  .item-card-cat,
  .feat-cat,
  .feat-badge,
  .shcrm-modal-eyebrow,
  .shcrm-modal-price-lbl,
  .shcrm-modal-section-title {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.5px;
  }
  .item-card-badge {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1px;
  }
  .h-eyebrow,
  .h-conc-label {
    font-size: 10px;
    font-weight: 500;
  }
  .legal-footer-link {
    font-size: 10px;
    font-weight: 500;
  }
}

  /* ── Section nav - tabovi lijevo, concierge desno ── */
  .shcrm-section-nav-inner {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
  }
  .shcrm-section-nav-tabs {
    display: flex;
    align-items: stretch;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .shcrm-section-nav-tabs::-webkit-scrollbar { display: none; }
  .shcrm-section-nav-concierge {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    padding-left: 16px;
    border-left: 1px solid var(--border);
    margin: 8px 0;
  }
  .shcrm-snav-status {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .shcrm-snav-status-txt {
    font-size: 10px;
    color: var(--muted);
    white-space: nowrap;
  }
  .shcrm-snav-btn {
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--gold);
    background: rgba(191,155,48,.08);
    border: 0.5px solid rgba(191,155,48,.35);
    padding: 6px 14px;
    border-radius: var(--r);
    cursor: pointer;
    font-family: var(--font-b);
    font-weight: 600;
    white-space: nowrap;
    transition: background .15s;
  }
  .shcrm-snav-btn:hover { background: rgba(191,155,48,.15); }

  /* Hero - manji na desktopu, nije marketing stranica */
  .hero { max-height: 220px; min-height: 160px; }

/* ═══════════════════════════════════════════════════════════════════════
   3. DESKTOP  (≥ 1200px)
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 1200px) {

  .shcrm-topbar { height: 56px; }
  .shcrm-topbar-inner { padding: 0 48px; }
  .shcrm-topbar-logo { font-size: 10px; letter-spacing: 3px; }
  .shcrm-topbar-btn { padding: 10px 24px; }
  .shcrm-topbar-status-dot { animation: pulse 2.5s ease-in-out infinite; }

  /* ── Modal - desktop: još šire ── */
  .shcrm-modal {
    max-width: 720px;
    height: 88vh;
    max-height: 88vh;
  }
  .shcrm-mv-slide img { max-height: 420px; }
  .shcrm-mv-video     { max-height: 420px; }

  .shcrm-section-nav { top: 0; }
  .shcrm-section-nav-inner { max-width: 1280px; padding: 0 48px; }
  body.admin-bar .shcrm-topbar { top: 32px; }
  body.admin-bar .shcrm-section-nav { top: 32px; }

  main { padding-bottom: 80px; }

  /* ── Hero ── */
  .hero { max-height: 420px; min-height: 320px; }
  .h-name { font-size: 56px; }
  .h-name-sub { font-size: 25px; }
  .hero-content { padding: 36px 48px; }

  /* ── Container ── */
  .section { padding: 36px 48px 0; }
  .highlights { padding: 14px 48px 18px; }
  .shcrm-section-wrapper { padding: 32px 48px 0; }
  hr.rule { max-width: calc(1280px - 96px); }

  /* ── Kartice - veće na 1200px ── */
  .act-card-media { height: 210px; }
  .item-card-media { height: 175px; }
  #boats-scroll-row .act-card-media { height: 185px; }
  #tr-scroll-row .act-card-media { height: 160px; }

  /* ── Grid ── */
  .grid-2 .grid-card:first-child .grid-card-media { height: 310px; }
  .grid-card-media { height: 160px; }

  /* Dining overlay - veća visina kartice */
  #section-dining .dn-card { height: 320px; }
  #section-dining .dn-name { font-size: 26px; }

  /* ── Featured ── */
  .feat-card { grid-template-columns: 460px 1fr; }
  .feat-card-media { min-height: 300px; }
  .feat-title { font-size: 40px; }
  .shcrm-section-wrapper .feat-title { font-size: 42px; }
  .bc-feat-card .feat-title { font-size: 42px; }
  .section-title { font-size: 32px; }

  /* Boats featured - slika MATEMATIČKI točno = 2 scroll kartice (300+300) + gap (12) + border (2) = 614px */
  .boat-feat-card { grid-template-columns: 614px 1fr !important; }
  .boat-feat-card .feat-card-media { min-height: 300px; }

  /* ── Modal media ── */
  .shcrm-mv-slide img { max-height: 360px; }
  .shcrm-mv-video     { max-height: 360px; }

  /* ── Contact block ── */
  .contact-block { padding: 32px 48px; }
  .legal-footer  { padding: 20px 48px; }
}

  /* ── Map - desktop ostaje stack layout iz tablet pravila (gore),
     samo viša karta i veći naslov */
  .shcrm-map-iframe { height: 460px; }
  .shcrm-map-title { font-size: 32px; }

/* ═══════════════════════════════════════════════════════════════════════
   4. WIDE DESKTOP  (≥ 1600px)
   ═══════════════════════════════════════════════════════════════════════ */
@media (min-width: 1600px) {

  .shcrm-topbar-inner { padding: 0 60px; max-width: 1520px; }
  .shcrm-section-nav-inner { max-width: 1520px; padding: 0 60px; }

  .section           { padding: 40px 60px 0; max-width: 1520px; }
  .highlights        { max-width: 1520px; padding: 14px 60px 18px; }
  .shcrm-section-wrapper { max-width: 1520px; padding: 40px 60px 0; }
  hr.rule            { max-width: calc(1520px - 120px); }
  .contact-block     { max-width: 1520px; padding: 36px 60px; }
  .legal-footer      { max-width: 1520px; padding: 20px 60px; }
  .hero-content      { max-width: 1520px; padding: 36px 60px; }

  /* ── Kartice najveće ── */
  .act-card-media { height: 220px; }
  .item-card-media { height: 190px; }
  #boats-scroll-row .act-card-media { height: 200px; }
  #tr-scroll-row .act-card-media { height: 170px; }

  .grid-2 .grid-card:first-child .grid-card-media { height: 340px; }
  .grid-card-media { height: 170px; }

  /* Dining overlay - najveća visina */
  #section-dining .dn-card { height: 360px; }
  #section-dining .dn-name { font-size: 28px; }

  .feat-card { grid-template-columns: 520px 1fr; }
  .bc-feat-card { grid-template-columns: 1fr 1fr; }
  .shcrm-section-wrapper .feat-card { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   5. ANIMACIJE
   ═══════════════════════════════════════════════════════════════════════ */
@keyframes modalFadeScale {
  from { opacity: 0; transform: scale(0.97); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes sheetSlideIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}
@keyframes backdropIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* =======================================================================
   6. DESKTOP MODAL - Right sheet panel  (>= 900px)
   ======================================================================= */
@media (min-width: 900px) {

  /* Boats featured - srednja slika na 900-1199px (na 1200px+ ima drugu vrijednost) */
  @media (max-width: 1199px) {
    .boat-feat-card { grid-template-columns: 520px 1fr; }
  }

  /* ── TOPBAR - vidljiv na desktopu ── */
  .shcrm-topbar {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dark);
    height: 52px;
    position: sticky; top: 0; z-index: 500;
    width: 100%;
  }
  /* Section nav sticky ispod topbara - topbar je sticky pa nav dolazi odmah ispod */
  .shcrm-section-nav { top: 0; z-index: 9999; background-color: var(--white) !important; }

  /* ── HERO desktop - split layout: foto lijevo, tamna kolumna desno ── */
  .hero-content {
    display: grid;
    grid-template-columns: 1fr 320px;
    align-items: stretch;
    justify-content: unset;
    gap: 0;
    padding: 0 48px;
  }
  /* Nema razmaka između topbara i hero */
  .shcrm-main { margin-top: 0; }

  /* Lijeva strana - ime hotela na foto pozadini */
  .h-hotel-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: unset;
    min-width: 0;
    padding: 36px 0;
    position: relative;
  }
  .h-hotel-info .h-name-block { margin-top: 0; }
  .h-hotel-info .h-eyebrow { display: block; }
  .h-hotel-info .h-concierge {
    margin-top: 14px;
    border-top: 1px solid rgba(191,155,48,.4);
    padding-top: 10px;
  }

  /* Desna strana - tamna kolumna s weather + info (semi-prozirna preko foto) */
  .h-weather {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    width: 320px;
    background: rgba(0, 0, 0, .42);
    backdrop-filter: blur(10px) saturate(130%);
    -webkit-backdrop-filter: blur(10px) saturate(130%);
    border-left: 1px solid rgba(191,155,48,.25);
    border-top: none; border-right: none; border-bottom: none;
    padding: 32px 28px;
    border-radius: 0;
  }
  /* Header iznad weather - eyebrow "Today in Hvar" */
  .h-weather::before {
    content: "Today in Hvar";
    font-size: 9px;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: rgba(191,155,48,.55);
    font-weight: 600;
    margin-bottom: 14px;
    display: block;
  }

  /* Veći temp + ikona desno */
  .h-weather-top {
    align-items: flex-start;
    margin-bottom: 18px;
  }
  .h-weather-temp {
    font-size: 60px !important;
    letter-spacing: -2px !important;
  }
  .h-weather-right { padding-top: 6px; }
  .h-weather-icon { font-size: 42px !important; margin-bottom: 4px; }
  .h-weather-cond {
    font-size: 10px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
    color: rgba(255,255,255,.4) !important;
  }

  /* Grid s 4 metrike - bolji kontrast */
  .h-weather-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px !important;
    padding: 14px 0 !important;
    margin-bottom: 14px !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .h-weather-item {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 2px !important;
  }
  .h-weather-lbl {
    font-size: 9px !important;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255,255,255,.3) !important;
    font-weight: 500;
  }
  .h-weather-val {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif) !important;
    font-size: 16px !important;
    color: rgba(255,255,255,.85) !important;
    font-weight: 400 !important;
  }

  /* Forecast - bez border-right separatora, ravnomjerno raspoređeno */
  .h-weather-forecast {
    border-top: none !important;
    padding-top: 0 !important;
    justify-content: space-between;
  }
  .h-weather-fd {
    border-right: none !important;
    padding: 0 4px;
  }
  .h-weather-fd-day {
    font-size: 8.5px !important;
    letter-spacing: 1px;
    color: rgba(255,255,255,.3) !important;
    margin-bottom: 5px !important;
  }
  .h-weather-fd-icon {
    font-size: 16px !important;
    margin-bottom: 4px !important;
  }
  .h-weather-fd-max {
    font-family: var(--font-d, 'Hanken Grotesk', sans-serif);
    font-size: 14px !important;
    color: rgba(255,255,255,.75) !important;
    font-weight: 400 !important;
  }
  .h-weather-fd-min {
    font-size: 9px !important;
    color: rgba(255,255,255,.3) !important;
  }

  /* Sakrij duplu weather sekciju ispod - prikazujemo je u hero-u */
  #section-home > .section-header,
  #section-home > .weather-card { display: none; }
}

/* ── Override PHP inline <style> koji se injectira XHR responseom ──────
   Browser parsira <style> iz XHR responsa globalno - moramo eksplicitno
   overridati sve problematične klase unutar desktop shell konteksta.
   ─────────────────────────────────────────────────────────────────────── */

/* ── Fix: shcrm-mv-main treba height:100% unutar hero zone ─────────── */


/* ─────────────────────────────────────────────────────────────────
   DESKTOP & TABLET - Detail modali u centru ekrana (≥600px)
   Mobile (<600px) ostaje slide-up od dna, kako je bilo.
   ───────────────────────────────────────────────────────────────── */
@keyframes modalFadeInCenter {
  from { opacity: 0; transform: scale(0.96) translateY(8px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}

@media (min-width: 600px) {
  /* Glavni detail modal (restaurant, activity, transfer, beach club, pardo, rent-a-boat, wellness item) */
  .shcrm-modal-overlay.open {
    align-items: center;
    padding: 24px 16px;
  }
  .shcrm-modal {
    margin: auto;
    border-radius: 14px;
    max-height: 88vh;
    overflow-y: auto;
    box-shadow: 0 24px 60px rgba(0,0,0,0.35), 0 6px 20px rgba(0,0,0,0.18);
  }
  .shcrm-modal-overlay.open .shcrm-modal {
    /* Override mobile slide-up animacije - koristi fade-scale na desktopu */
    animation: modalFadeInCenter .28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }
  /* Close button - kružni, lebdi iznad sadržaja, dovoljno velik za desktop */
  .shcrm-modal-close {
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.65);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
    transition: background 0.18s ease, transform 0.18s ease;
  }
  .shcrm-modal-close svg {
    width: 20px;
    height: 20px;
  }
  .shcrm-modal-close:hover {
    background: rgba(0, 0, 0, 0.85);
    transform: scale(1.06);
  }
}

/* Desktop ≥1024 - još veći close button (lakše ciljati mišem) */
@media (min-width: 1024px) {
  .shcrm-modal-close {
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
  }
  .shcrm-modal-close svg {
    width: 22px;
    height: 22px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE LANDSCAPE BLOCKER - prikaži "rotate device" overlay
   ───────────────────────────────────────────────────────────────────────
   Aktivira se SAMO na mobilnim uređajima (max-width: 767px) kad su u
   landscape orijentaciji. Tableti (≥768px) i desktop NISU pogođeni.
   ─────────────────────────────────────────────────────────────────────── */

/* Default: overlay sakriven svuda */
.shcrm-rotate-overlay {
  display: none;
}

/* Telefoni u landscape - overlay pun ekran preko svega */
@media (max-width: 767px) and (orientation: landscape) {
  .shcrm-rotate-overlay {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: #101010;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 20px;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
  }

  .shcrm-rotate-icon {
    width: 84px;
    height: 84px;
    border: 2px solid rgba(191, 155, 48, 0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: shcrm-rotate-pulse 1.8s ease-in-out infinite;
  }

  .shcrm-rotate-icon svg {
    width: 40px;
    height: 40px;
    color: #bf9b30;
    animation: shcrm-rotate-tilt 2.4s ease-in-out infinite;
  }

  .shcrm-rotate-title {
    font-family: 'Cormorant Garamond', 'Hanken Grotesk', Arial, sans-serif;
    font-size: 26px;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: 0.3px;
    line-height: 1.2;
    margin: 0;
    max-width: 320px;
  }

  .shcrm-rotate-subtitle {
    font-family: 'Hanken Grotesk', -apple-system, sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.55);
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0;
  }

  /* Sakri body scroll i interakcije iza overlay-a */
  body {
    overflow: hidden !important;
  }
}

@keyframes shcrm-rotate-pulse {
  0%, 100% { border-color: rgba(191, 155, 48, 0.35); }
  50%      { border-color: rgba(191, 155, 48, 0.8); }
}

@keyframes shcrm-rotate-tilt {
  0%, 100% { transform: rotate(-15deg); }
  50%      { transform: rotate(15deg); }
}

/* ═══════════════════════════════════════════════════════════════════════
   EVENTS SEKCIJA - sakrivena na tabletu i desktopu
   ───────────────────────────────────────────────────────────────────────
   "This Summer / Events & What's On" - prikazuje se SAMO na mobilu (<768px).
   Tableti i desktop ne prikazuju ovu sekciju u landing prikazu.

   Sakriva sekciju + prethodni <hr> separator. PHP template marka hr s
   klasom .shcrm-hr-events za pouzdanu detekciju (radi u svim browserima).
   ─────────────────────────────────────────────────────────────────────── */
@media (min-width: 768px) {
  #section-events,
  hr.rule.shcrm-hr-events {
    display: none !important;
  }
}

/* ── Housekeeping - guest details (ime + soba) ─────────────────────────── */
.shcrm-hk-guest { background: var(--white); border: 1px solid var(--border); border-left: 3px solid var(--gold); border-radius: var(--r); padding: 14px 16px 16px; margin: 6px 0 14px; box-shadow: 0 4px 16px rgba(15,28,37,.05); }
.shcrm-hk-guest-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.shcrm-hk-guest-eb { font-size: 9px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); font-weight: 700; white-space: nowrap; }
.shcrm-hk-guest-line { flex: 1; height: 1px; background: #efe9df; }
.shcrm-hk-guest-hint { font-size: 10px; color: #b3ab9d; white-space: nowrap; }
.shcrm-hk-guest-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; }
.shcrm-hk-field { display: flex; flex-direction: column; min-width: 0; }
.shcrm-hk-field-lbl { font-size: 9px; letter-spacing: 1.4px; text-transform: uppercase; color: #8a8272; font-weight: 700; margin-bottom: 6px; }
.shcrm-hk-field-wrap { position: relative; }
.shcrm-hk-field-ico { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--gold); display: flex; pointer-events: none; }
.shcrm-hk-input { width: 100%; border: 1px solid var(--border); background: var(--white); padding: 12px 12px 12px 38px; font-family: var(--font-b); font-size: 14px; color: var(--text); border-radius: var(--r); outline: none; transition: border-color .18s, box-shadow .18s; -webkit-appearance: none; }
.shcrm-hk-input::placeholder { color: #b3ab9d; }
.shcrm-hk-input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(191,155,48,.12); }
@media (max-width: 380px) {
  .shcrm-hk-guest-grid { grid-template-columns: 1fr; }
  .shcrm-hk-guest-hint { display: none; }
}

/* ── Modal: spec stat-strip + hero pricing (svi tipovi) ────────────────── */
.shcrm-modal-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 18px; }
/* Stat tile (ikona + vrijednost + labela) - jednake pločice, 3 po redu, zadnji red centriran */
.shcrm-stat { flex: 1 1 calc(33.333% - 6px); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 4px; background: var(--white); border: 1px solid var(--border); border-radius: var(--r); padding: 12px 6px; }
.shcrm-stat-ico { color: var(--gold); display: flex; }
.shcrm-stat-val { font-family: var(--font-b); font-weight: 700; font-size: 13px; color: var(--text); line-height: 1.1; }
.shcrm-stat-lbl { font-size: 8px; letter-spacing: .8px; text-transform: uppercase; color: #a49b8c; }
/* Fallback čip (tipovi koji nisu konvertirani) - čitljiviji nego prije */
.shcrm-modal-meta-item { font-size: 12px; color: var(--text); font-weight: 600; background: var(--white); border: 1px solid var(--border); padding: 8px 12px; border-radius: var(--r); display: flex; align-items: center; gap: 6px; }
.shcrm-modal-meta-item svg { color: var(--gold); flex-shrink: 0; }
/* Pricing - istaknut krem blok (bez zlatne gornje crte) */
.shcrm-modal-price-block { background: #faf5ea; border: 1px solid #eadfc6; padding: 16px 18px; margin-bottom: 16px; border-radius: 10px; }
.shcrm-modal-price-lbl { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 10px; }
.shcrm-price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid #f0ece5; }
.shcrm-price-row:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
.shcrm-price-label { font-size: 13px; color: #6b6459; flex: 1; }
.shcrm-price-amount { font-family: var(--font-b); font-size: 18px; font-weight: 400; color: var(--text); line-height: 1.1; letter-spacing: -.2px; }
.shcrm-price-unit { font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: #a49b8c; }
.shcrm-price-note { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #8a6d12; background: var(--white); border: 1px solid #eadfc6; padding: 5px 11px; border-radius: 20px; font-weight: 600; margin-top: 12px; }
.shcrm-price-note::before { content: "\2713"; color: var(--gold); font-weight: 700; }

/* ── Activity Overview - premium (v3.34.190) - SAMO activity modal ── */
.shcrm-act-ov .shcrm-modal-sub { font-size: 14px; line-height: 1.5; margin-bottom: 4px; }
.shcrm-act-more-btn { display: inline-flex; align-items: center; gap: 5px; margin-left: 8px; font-family: var(--font-b); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gold); font-weight: 700; cursor: pointer; border-left: 1px solid var(--gold); padding-left: 9px; vertical-align: middle; white-space: nowrap; }
.shcrm-act-more-ic { width: 11px; height: 11px; transition: transform .2s; }
.shcrm-act-more-btn.open .shcrm-act-more-ic { transform: rotate(180deg); }
.shcrm-act-more-body { display: none; margin-top: 12px; padding-top: 14px; border-top: 1px solid #f0ebe1; font-size: 14px; color: #6f685c; line-height: 1.6; }
.shcrm-act-more-body.open { display: block; }
.shcrm-act-more-btn .shcrm-rm-less { display: none; }
.shcrm-act-more-btn.open .shcrm-rm-more { display: none; }
.shcrm-act-more-btn.open .shcrm-rm-less { display: inline-block; }

.shcrm-act-price { margin: 20px 0 22px; padding: 16px 20px; background: linear-gradient(180deg,#fbf7ee,#f7f1e3); border: 1px solid #ece1c6; border-radius: 12px; }
.shcrm-act-price-lbl { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--text); font-weight: 700; margin-bottom: 10px; } /* standardizirano = .shcrm-modal-section-title */
.shcrm-act-price-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.shcrm-act-price-row + .shcrm-act-price-row { margin-top: 10px; padding-top: 10px; border-top: 1px solid #eadfc6; }
.shcrm-act-price-season { font-size: 13.5px; color: #8a8272; line-height: 1.2; }
.shcrm-act-price-r { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.shcrm-act-price-amt { font-family: var(--font-b); font-weight: 500; font-size: 19px; color: var(--text); letter-spacing: .3px; white-space: nowrap; }
.shcrm-act-price-unit { font-size: 8.5px; letter-spacing: 1.5px; text-transform: uppercase; color: #a89f8e; margin-bottom: 3px; }

.shcrm-act-specs { display: flex; border: 1px solid #f1efeb; border-radius: 12px; overflow: hidden; margin-bottom: 24px; background: #fcfbf9; }
.shcrm-act-spec { flex: 1; padding: 16px 12px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.shcrm-act-spec + .shcrm-act-spec { border-left: 1px solid #f0eee9; }
.shcrm-act-spec-ic { color: var(--gold); line-height: 0; }
.shcrm-act-spec-ic svg { width: 19px; height: 19px; }
.shcrm-act-spec-v { font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.25; }
.shcrm-act-spec-l { font-size: 8.5px; letter-spacing: 1.8px; text-transform: uppercase; color: #9a9384; font-weight: 600; }

.shcrm-act-hl-head { font-size: 9.5px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 6px; }
.shcrm-act-highlights { margin-bottom: 4px; }
.shcrm-act-hl { display: flex; align-items: flex-start; gap: 12px; padding: 11px 0; border-bottom: 1px solid #f2eee7; font-size: 14px; color: #3d3a33; line-height: 1.5; }
.shcrm-act-hl:last-child { border-bottom: none; }
.shcrm-act-hl-chk { width: 19px; height: 19px; flex-shrink: 0; border-radius: 50%; background: rgba(191,155,48,.12); color: var(--gold); display: flex; align-items: center; justify-content: center; margin-top: 1px; }
.shcrm-act-hl-chk svg { width: 11px; height: 11px; stroke-width: 3; }

/* ═══════════════════════════════════════════════════════════
   Activity modal - DESKTOP/TABLET 3-kolonski raspored (v3.34.196)
   Aktivira se SAMO kad JS doda klase (.shcrm-dt-on / .shcrm-dt-wide),
   a JS ih dodaje isključivo na ≥900px za activity modal.
   Mobitel (<900px) = 0 promjena.
   ═══════════════════════════════════════════════════════════ */
@media (min-width:900px){
  .shcrm-modal-overlay.shcrm-dt-center.open{ align-items:center; padding:26px 0; background:rgba(20,26,32,.5); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
  /* SMJER B: jedna bijela ploha (panel), bez lebdećih kartica */
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide{ max-width:min(1520px, 94vw); background:#fff; border-radius:var(--r,5px); overflow:hidden; max-height:none; animation:none; box-shadow:0 30px 70px rgba(10,18,26,.4); }
  /* Rent a boat = 2 kolone → uža ljuska (nema prazne 3. kolone) */
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide:has(.shcrm-dt-rab){ max-width:min(1060px, 94vw); }
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide .shcrm-modal-close{ position:absolute; top:14px; right:14px; width:46px; height:46px; border-radius:50%; background:#efe9df; border:1px solid #e4ddcf; z-index:30; box-shadow:0 2px 8px rgba(20,28,36,.10); }
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide .shcrm-modal-close:hover{ background:#e8e0d2; }
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide .shcrm-modal-close svg{ width:20px; height:20px; }
  #shcrm-modal-inner.shcrm-modal.shcrm-dt-wide .shcrm-modal-close path{ stroke:#5b5449; }
  .shcrm-modal-body.shcrm-dt-on{ padding:0; max-height:88vh; overflow-y:auto; overflow-x:hidden; }

  .shcrm-dt{ display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:0; align-items:stretch; }
  .shcrm-dt-col{ display:flex; flex-direction:column; min-width:0; padding:24px; }
  .shcrm-dt-col + .shcrm-dt-col{ border-left:1px solid #eeeae2; }

  /* Kartice → PLOSNATE SEKCIJE (bez pozadine/sjene/kutova); razdvojene tankom linijom */
  .shcrm-dt .shcrm-dc,
  .shcrm-dt .shcrm-act-price,
  .shcrm-dt .shcrm-act-specs{ background:transparent; border:none; border-radius:0; box-shadow:none; margin:0; padding:18px 0; border-top:1px solid #f1ede5; }
  .shcrm-dt .shcrm-dt-col > :first-child{ border-top:none; padding-top:0; }
  .shcrm-dt .shcrm-dt-col > :last-child{ padding-bottom:0; }

  /* Slika - blok 4:3 cover, zaobljena */
  .shcrm-dt .shcrm-dc-media{ padding:0; overflow:hidden; background:#0c1116; border-radius:var(--r,5px); }
  .shcrm-dt .shcrm-dc-media .shcrm-mv{ margin:0; }
  .shcrm-dt .shcrm-dc-media .shcrm-mv-main{ aspect-ratio:4 / 3; }
  .shcrm-dt .shcrm-dc-media .shcrm-mv-slide.active{ display:block; height:100%; }
  .shcrm-dt .shcrm-dc-media .shcrm-mv-slide img,
  .shcrm-dt .shcrm-dc-media .shcrm-mv-video{ width:100%; height:100%; max-height:none; object-fit:cover; display:block; }
  .shcrm-dt .shcrm-dc-media .shcrm-mv-thumbs{ display:none; }

  .shcrm-dt .shcrm-act-price-lbl{ color:var(--gold); }
  .shcrm-dt .shcrm-modal-price-lbl{ color:var(--gold); }
  /* Pricing: uži ritam + jedinica INLINE PRIJE iznosa (per person 80 €) */
  .shcrm-dt .shcrm-act-price-row{ align-items:baseline; padding:6px 0; }
  .shcrm-dt .shcrm-act-price-row + .shcrm-act-price-row{ margin-top:0; padding-top:6px; }
  .shcrm-dt .shcrm-act-price-r{ flex-direction:row; align-items:baseline; gap:6px; }
  .shcrm-dt .shcrm-act-price-amt{ order:2; font-size:16px; }
  .shcrm-dt .shcrm-act-price-unit{ order:1; margin-bottom:0; font-size:8px; letter-spacing:1px; }
  /* Note → plosnat (zlatni lijevi rub, bez krem kutije) */
  .shcrm-dt .shcrm-act-note{ background:transparent !important; border:none !important; border-left:2px solid #e6d9b3 !important; border-radius:0 !important; padding:0 0 0 12px !important; margin:14px 0 0 !important; }

  /* Overview: puni opis rastvoren + tanka scroll traka */
  .shcrm-dt .shcrm-dc-ov .shcrm-act-more-btn{ display:none; }
  .shcrm-dt .shcrm-dc-ov .shcrm-act-more-body{ display:block; max-height:280px; overflow-y:auto; margin-top:12px; padding-top:0; padding-right:10px; border-top:none; scrollbar-width:thin; scrollbar-color:#e2dccf transparent; }
  .shcrm-dt .shcrm-dc-ov .shcrm-act-more-body::-webkit-scrollbar{ width:6px; }
  .shcrm-dt .shcrm-dc-ov .shcrm-act-more-body::-webkit-scrollbar-track{ background:transparent; }
  .shcrm-dt .shcrm-dc-ov .shcrm-act-more-body::-webkit-scrollbar-thumb{ background:#e2dccf; border-radius:20px; }
  .shcrm-dt .shcrm-dc-ov .shcrm-modal-sub{ margin-bottom:0; }

  /* Details: prvi naslov bez gornje margine */
  .shcrm-dt .shcrm-dc-details > :first-child{ margin-top:0; }

  /* Forma (sticky, prati skrol) */
  .shcrm-dt .shcrm-dc-form{ position:sticky; top:0; align-self:flex-start; }
  .shcrm-dt .shcrm-dc-form .mt-form-drawer{ display:block !important; margin:0; padding:0; border:0; background:transparent; }
  .shcrm-dt .shcrm-dc-form .shcrm-form-input{ border-radius:var(--r,5px); }
  /* Highlights: bez linija-razdjelnika, uži razmak (čišći editorial popis) */
  .shcrm-dt .shcrm-act-hl{ border-bottom:none; padding:7px 0; }
  /* "Not included" → sivi ✗ (semantički točno, razlikuje se od Price includes ✓) */
  .shcrm-dt .shcrm-includes-list.shcrm-dt-excl li::before{ content:"\2717"; color:#c2bcb0; }
  /* Reassurance linija ispod forme */
  .shcrm-dt .shcrm-dt-reassure{ display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; font-size:10.5px; color:#9a9080; }
  .shcrm-dt .shcrm-dt-reassure svg{ width:13px; height:13px; color:var(--gold); flex-shrink:0; }
  /* Section-naslovi zlatni (ujednačeno s eyebrow labelima) */
  .shcrm-dt .shcrm-modal-section-title{ color:var(--gold); margin:0 0 12px; }
  /* Transfer: price block ("From"/VIP/tablica) → plosnato (bez krem kutije) */
  .shcrm-dt .shcrm-modal-price-block{ background:transparent; border:none; padding:0; margin:0; border-radius:0; }
  /* Transfer fleet → grid čistih bijelih kartica (1 stupac; 2 na ≥1200) */
  .shcrm-dt .shcrm-dc-fleet{ display:grid; grid-template-columns:1fr; gap:14px; }
  .shcrm-dt .shcrm-fleet-boat{ background:#fff !important; border:1px solid #ece7dd !important; padding:0 !important; margin:0 !important; border-radius:6px !important; overflow:hidden; box-shadow:0 4px 14px rgba(20,28,36,.05); }
  .shcrm-dt .shcrm-fleet-img{ height:auto !important; aspect-ratio:4 / 3; margin:0 !important; border-radius:0 !important; }
  .shcrm-dt .shcrm-fleet-info{ padding:10px 12px; }
  .shcrm-dt .shcrm-dc-fleet .shcrm-modal-section-title{ grid-column:1 / -1; margin-bottom:0; }
  /* Opis 14px na desktopu (activity + transfer, usklađeno) */
  .shcrm-dt .shcrm-dc-ov .shcrm-modal-sub{ font-size:14px; line-height:1.55; }
  /* Transfer includes → izgled kao Experience highlights (zlatni krug ✓, bez linija) */
  .shcrm-dt .shcrm-dc-includes .shcrm-includes-list li{ border-bottom:none; padding:7px 0; font-size:14px; gap:12px; align-items:flex-start; color:#3d3a33; line-height:1.45; }
  .shcrm-dt .shcrm-dc-includes .shcrm-includes-list li::before{ content:"\2713"; width:19px; height:19px; flex-shrink:0; border-radius:50%; background:rgba(191,155,48,.12); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; margin-top:1px; }
  /* Standardizirano na 14px (kao opis): pricing, details (uklj. label), price includes / not included */
  .shcrm-dt .shcrm-act-price-season{ font-size:14px; }
  .shcrm-dt .shcrm-act-price-amt{ font-size:14px; }
  .shcrm-dt .shcrm-modal-info-row{ font-size:14px; }
  .shcrm-dt .shcrm-includes-list li{ font-size:14px; }
  .shcrm-dt .shcrm-tr-ptbl-row{ font-size:14px !important; }
  /* Price includes / Not included → odvojeni od gornjeg dijela (linija + razmak) */
  .shcrm-dt .shcrm-dc-details .shcrm-modal-section-title:not(:first-child){ margin-top:20px; padding-top:18px; border-top:1px solid #f1ede5; }
  /* makni donju liniju zadnjeg Details retka prije section-naslova (bez dvostruke crte) */
  .shcrm-dt .shcrm-dc-details .shcrm-modal-info-row:has(+ .shcrm-modal-section-title){ border-bottom:none; }

  /* Rent a boat: 2 kolone 50:50 (slika+pricing+details | overview+includes+forma) - specifičnost nadjačava .shcrm-dt na svim širinama */
  .shcrm-dt.shcrm-dt-rab{ grid-template-columns:1fr 1fr; }
  .shcrm-dt.shcrm-dt-rab .shcrm-dc-form{ position:static; align-self:stretch; }
  /* Pardo: Recommended routes 14px, bez tabličnih linija (usklađeno s ostalim body tekstom) */
  .shcrm-dt-pardo .shcrm-modal-hl{ font-size:14px; border-bottom:none; padding:7px 0; color:#3d3a33; gap:12px; align-items:flex-start; }
  /* Pardo Services: label identičan rab "Daily rate" (muted siva, weight 400) - nadjačaj inline font-weight/color; mobitel netaknut */
  .shcrm-dt-pardo .shcrm-dc-services .shcrm-price-label{ font-weight:400 !important; color:var(--muted) !important; }
  /* Services cijene = ista veličina kao Details vrijednosti (14px) */
  .shcrm-dt-pardo .shcrm-dc-services .shcrm-price-amount{ font-size:14px; }
  /* Rent a boat: Pricing iznos = ista veličina kao Details (14px) */
  .shcrm-dt .shcrm-dc-price .shcrm-price-amount{ font-size:14px; }

  /* Stagger intro (opacity+transform, GPU) */
  .shcrm-dt-anim{ opacity:0; animation:dtCardIn .5s cubic-bezier(.22,.61,.36,1) both; }
}
@media (min-width:1200px){
  .shcrm-dt{ grid-template-columns:1fr 1.2fr 1fr; }
  /* Transfer: širi srednji stupac + fleet 2 u redu */
  .shcrm-dt.shcrm-dt-transfer{ grid-template-columns:1fr 1.4fr 1fr; }
  .shcrm-dt.shcrm-dt-transfer .shcrm-dc-fleet{ grid-template-columns:1fr 1fr; }
}
/* Tablet 900-1199 → 2 kolone; details+forma pune širinu ispod */
@media (min-width:900px) and (max-width:1199px){
  .shcrm-dt{ grid-template-columns:1fr 1fr; }
  .shcrm-dt-c3{ grid-column:1 / -1; border-left:none; border-top:1px solid #eeeae2; }
  .shcrm-dt .shcrm-dc-form{ position:static; }
}
@media (min-width:900px) and (prefers-reduced-motion:reduce){
  .shcrm-dt-anim{ animation:none; opacity:1; }
}
@keyframes dtCardIn{ from{ opacity:0; transform:translateY(16px) scale(.98); } to{ opacity:1; transform:none; } }

/* WYSIWYG opisi (activity/transfer/rab/pardo/beach_club/wellness): neutraliziraj browser default <p>/liste margine unutar opisnih kontejnera; formatiranje (bold/kurziv/liste) radi */
.shcrm-modal-sub p,.shcrm-modal-sub ul,.shcrm-modal-sub ol,.feat-desc p,.feat-desc ul,.feat-desc ol,.shcrm-rich p,.shcrm-rich ul,.shcrm-rich ol,.shcrm-act-more-body p,.shcrm-act-more-body ul,.shcrm-act-more-body ol{margin:0 0 10px}
.shcrm-modal-sub p:last-child,.feat-desc p:last-child,.shcrm-rich p:last-child,.shcrm-act-more-body p:last-child,.shcrm-modal-sub ul:last-child,.shcrm-modal-sub ol:last-child,.feat-desc ul:last-child,.feat-desc ol:last-child,.shcrm-act-more-body ul:last-child,.shcrm-act-more-body ol:last-child{margin-bottom:0}
.shcrm-modal-sub ul,.shcrm-modal-sub ol,.feat-desc ul,.feat-desc ol,.shcrm-rich ul,.shcrm-rich ol,.shcrm-act-more-body ul,.shcrm-act-more-body ol{padding-left:18px}
.shcrm-modal-sub strong,.feat-desc strong,.shcrm-rich strong,.shcrm-act-more-body strong{font-weight:700}
.shcrm-modal-sub em,.feat-desc em,.shcrm-rich em,.shcrm-act-more-body em{font-style:italic}

/* Pardo Recommended routes - kartice slika + naslov + opis (mobitel + desktop) */
.shcrm-pardo-price-note{margin-top:12px;padding-top:10px;border-top:1px solid #ece7df;font-size:11px;line-height:1.5;color:var(--muted);font-style:italic}
.shcrm-shuttle-banner{background:#fffdf6;border-color:#e6d9b3}
/* Shuttle kartica usklađena s „essentials" karticama (v3.34.392) - scope na .shcrm-shuttle-banner da Concierge banner ostane netaknut */
.shcrm-shuttle-banner .shcrm-service-banner-title{font-size:14px}
.shcrm-shuttle-banner .shcrm-service-banner-sub{font-size:11px}
.shcrm-shuttle-banner .shcrm-service-banner-icon{width:48px;height:48px;background:rgba(191,155,48,.1)}
.shcrm-shuttle-banner .shcrm-service-banner-icon svg{width:28px;height:28px}
/* Dok je shuttle modal otvoren - sakrij chat FAB (v3.34.392) */
body.shcrm-shuttle-open .shcrm-chat-widget{display:none !important}
/* Shuttle overlay MORA biti iznad „All sections" services modala (99500) - inače se otvara IZA njega i djeluje da ne radi (v3.34.394) */
#shcrm-shuttle-overlay{z-index:99800}
.shcrm-shuttle-modal{max-width:560px}
.shcrm-sh-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.shcrm-sh-col{border:1px solid #f0ece2;border-radius:10px;padding:12px 12px 14px}
.shcrm-sh-dir{font-size:15px;font-weight:700;color:var(--text);padding-bottom:9px;border-bottom:1px solid #f0ece2;margin-bottom:6px}
.shcrm-sh-sec{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:10px 0 7px}
.shcrm-sh-times{display:flex;flex-wrap:wrap;gap:6px}
.shcrm-sh-time{font-size:14px;font-weight:600;color:#3a352c;background:#faf6ec;border:1px solid #eee1c0;border-radius:7px;padding:5px 11px}
.shcrm-sh-last{/* NAMJERNO neutralizirano (v3.34.392): zadnji sat isti dizajn kao ostali (bez zlatnog highlighta) */}
.shcrm-sh-note{font-size:12px;line-height:1.5;color:#7a6f52;background:#faf6ec;border:1px solid #eee1c0;border-radius:9px;padding:10px 12px;margin-top:14px}
.shcrm-sh-dl{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--text);text-decoration:none;background:#fff;border:1px solid #d8d3c8;border-radius:9px;padding:9px 16px}
@media(max-width:560px){.shcrm-sh-grid{grid-template-columns:1fr}}
.shcrm-pardo-routes{display:flex;flex-direction:column}
.shcrm-route-card{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #f1ede5}
.shcrm-route-card:first-child{border-top:none;padding-top:0}
.shcrm-route-img{width:74px;height:60px;flex-shrink:0;border-radius:6px;overflow:hidden;background:var(--cream)}
.shcrm-route-img img{width:100%;height:100%;object-fit:cover;display:block}
.shcrm-route-body{min-width:0;flex:1}
.shcrm-route-eyebrow{font-size:8px;letter-spacing:1.6px;text-transform:uppercase;color:#b8ad95;font-weight:700;margin-bottom:2px}
.shcrm-route-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.2;margin-bottom:3px}
.shcrm-route-desc{font-size:13px;color:var(--muted);line-height:1.4}
.shcrm-route-price{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;align-self:center;padding-left:8px}
.shcrm-routes-sub{font-size:11px;color:var(--muted);line-height:1.45;margin:0 0 10px}

/* === STANDARDIZACIJA modalnih gold-label headera = .shcrm-modal-section-title (Details/Price includes) na SVAKOM ekranu ===
   Pokriva: PRICING (act/modal price-lbl) + EXPERIENCE HIGHLIGHTS (act-hl-head).
   Nadjačava starije sukobljene rule (grupa ≥600 na 2237 + standalone 2806/2827/2843) po redoslijedu izvora.
   Mobitel/tablet: tamno (kao Details); desktop (.shcrm-dt): zlatno. */
.shcrm-act-price-lbl,.shcrm-modal-price-lbl,.shcrm-act-hl-head{font-size:9px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--text)}
@media (min-width:600px){
  .shcrm-act-price-lbl,.shcrm-modal-price-lbl,.shcrm-act-hl-head{font-size:10px;font-weight:500;letter-spacing:1.5px}
}
@media (min-width:900px){
  .shcrm-dt .shcrm-act-price-lbl,.shcrm-dt .shcrm-modal-price-lbl,.shcrm-dt .shcrm-act-hl-head{color:var(--gold)}
}

/* Premium modal (v3.34.257): slika do ruba + kurzivni serif "lead" - desktop+tablet+mobile; maknuta linija ispod slike */
.shcrm-dt .shcrm-dc-media{ margin:-24px -24px 0; border-radius:0; position:relative; }
.shcrm-dt .shcrm-dc-media::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:42%; background:linear-gradient(to top, rgba(10,20,30,.34), rgba(10,20,30,0)); pointer-events:none; z-index:2; }
.shcrm-dt .shcrm-dc-media + *{ border-top:none !important; padding-top:0 !important; margin-top:18px !important; }
.shcrm-dt .shcrm-act-ov .shcrm-modal-sub,
.shcrm-dt .shcrm-dc-ov .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:19px; line-height:1.5; color:#3f3a30; margin-bottom:14px; }
.shcrm-act-ov .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; margin-bottom:14px; }
@media (max-width:899px){
  .shcrm-mv-main{ position:relative; }
  .shcrm-mv-main::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:38%; background:linear-gradient(to top, rgba(10,20,30,.30), rgba(10,20,30,0)); pointer-events:none; z-index:2; }
}

/* Mobilni tweaks (v3.34.259): +2px labeli, eyebrow bliže naslovu, prvi naslov = section-title */
.shcrm-services-title{ font-size:32px; font-weight:300; }
@media (max-width:899px){
  .section-eyebrow{ font-size:11px; margin-bottom:2px; }
  .shcrm-services-eyebrow,.shcrm-map-eyebrow{ font-size:11px; letter-spacing:2.5px; margin-bottom:2px; }
  .shcrm-modal-eyebrow{ font-size:10.5px; }
  .bn-label{ font-size:10px; }
  .shcrm-section-tile-lbl{ font-size:12px; }
}

/* ═══ STANDARDIZIRANI TIP-SUSTAV KARTICA - mobitel (v3.34.263) ═══
   Uloge: eyebrow 11 · naslov 21 (standard) / 24 (hero) · sub/meta 12 · badge/pill 10 · cijena 13 (jedinica 11)
   Zamjenjuje ranije per-kartica +1px tweakove (v261/262) jedinstvenim skalarom. */
@media (max-width:899px){
  /* - CARD EYEBROW (zlatni overline) = 11px - */
  #act-scroll-row .item-card-cat,
  #tr-scroll-row .item-card-cat,
  #boats-scroll-row .boat-card-eyebrow,
  .feat-cat{ font-size:11px; }

  /* - CARD NASLOV - standard = 21px - */
  #act-scroll-row .item-card-name,
  #tr-scroll-row .item-card-name,
  #tr-scroll-row .act-card:nth-child(1) .item-card-name,
  #tr-scroll-row .act-card:nth-child(2) .item-card-name,
  .grid-card-name{ font-size:21px; }
  /* - CARD NASLOV - hero = 24px - */
  #boats-scroll-row .boat-card-name,
  #section-dining .dn-name,
  .feat-title{ font-size:24px; }

  /* - SUB / META / OPIS = 12px - */
  #act-scroll-row .act-card-desc,
  #boats-scroll-row .boat-card-meta,
  #section-dining .dn-meta,
  .grid-card-sub,
  .feat-detail{ font-size:12px; }

  /* - BADGE / PILL = 10px - */
  #act-scroll-row .item-card-badge,
  #tr-scroll-row .item-card-badge,
  #boats-scroll-row .boat-card-year,
  #section-dining .dn-cuisine-pill,
  #section-dining .dn-loc,
  .feat-badge{ font-size:10px; }

  /* - CIJENA = 13px · jedinica = 11px - */
  #act-scroll-row .item-card-price,
  #tr-scroll-row .item-card-price,
  .item-card-price{ font-size:13px; }
  #act-scroll-row .item-card-unit,
  #tr-scroll-row .item-card-unit,
  .item-card-unit{ font-size:11px; }

  /* - Activity display elementi (floating pricetag / CTA) zadržani - */
  #act-scroll-row .act-card-pricetag{ font-size:15px; }
  #act-scroll-row .act-card-pricetag span{ font-size:9.5px; }
  #act-scroll-row .act-card-cta{ font-size:10px; }
  #act-scroll-row .act-card-cta span{ font-size:13px; }
}

/* Featured opisi (Pardo / Beach Club / Spa …) = opis aktivnosti (dugi opis): 14px / 1.6 - mobitel (v3.34.264) */
@media (max-width:899px){
  .feat-desc,
  .bc-feat-card .feat-desc,
  .boat-feat-card .feat-desc{ font-size:14px; line-height:1.6; }
}

/* Bez linije između sekcija + standardan razmak - mobitel (v3.34.265) */
@media (max-width:899px){
  hr.rule{ border-top:none; margin:0; height:0; }
  .section,
  .shcrm-section-wrapper{ padding-top:34px; }
}

/* Boat featured kartica ↔ scroll-red: razmak = vodoravni razmak kartica (10px) - samo mobitel (v3.34.266) */
@media (max-width:599px){
  .boat-feat-card{ margin-bottom:10px; }
}

/* ═══ AKTIVNOSTI modal - spojeni tab + lagani pricing + čitljivi Details (14px) - mobitel (v3.34.267) ═══ */
.shcrm-actmob-row{ display:none; }
@media (max-width:899px){
  /* Spoji Overview + Details u jedan scroll (bez tabova) - samo activity */
  .mt-wrap[id^="mt_act_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_act_"] .mt-panels-grid{ display:block; }
  .mt-wrap[id^="mt_act_"] .mt-panel{ opacity:1 !important; pointer-events:auto; user-select:auto; padding-bottom:0; }
  .mt-wrap[id^="mt_act_"] .mt-panel + .mt-panel{ padding-top:0; }

  /* Jedinstveni razmak između svih blokova = 22px */
  .shcrm-act-hl-head{ font-size:11px; margin:22px 0 10px; }
  .shcrm-act-highlights{ margin-bottom:0; }

  /* Pricing: full-bleed greige traka (edge-to-edge, bez boxa) - istaknuta sekcija */
  .mt-wrap[id^="mt_act_"] .shcrm-act-price{ background:#f4f2ed; border:none; border-top:.5px solid #e7e4de; border-bottom:.5px solid #e7e4de; border-radius:0; margin:22px -16px 0; padding:18px 16px; }
  .shcrm-act-price-lbl{ color:var(--gold); font-size:11px; letter-spacing:2px; margin-bottom:8px; }
  .shcrm-act-price-season{ font-size:13px; color:#928b7e; }
  /* iznos + jedinica = bazni izgled (19px, jedinica sitna velikim slovima IZNAD) - namjerno bez override-a */
  .shcrm-act-price-row + .shcrm-act-price-row{ border-top-color:#e7e4de; }

  /* Departure/Max guests kutija maknuta - info je sada u Details */
  .shcrm-act-specs{ display:none; }
  .shcrm-actmob-row{ display:flex; }

  /* Details čitljivi (14px = kao dugi opis) */
  .mt-wrap[id^="mt_act_"] .shcrm-modal-info-row{ font-size:14px; }
  .mt-wrap[id^="mt_act_"] .shcrm-includes-list li{ font-size:14px; }
  .mt-wrap[id^="mt_act_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }
  .mt-wrap[id^="mt_act_"] .shcrm-act-note{ font-size:14px !important; background:#f4f2ed !important; border:none !important; border-top:.5px solid #e7e4de !important; border-left:3px solid #b0932f !important; border-radius:0 !important; margin:22px -16px 0 !important; padding:16px !important; }

  /* Read more - uvijek desno, bez italica, bez lijeve crtice */
  .shcrm-act-ov .shcrm-act-more-btn{ display:flex; justify-content:flex-end; width:100%; margin:8px 0 0; padding-left:0; border-left:none; }
  .shcrm-act-ov .shcrm-act-more-btn,.shcrm-act-ov .shcrm-act-more-btn *{ font-style:normal; }
}

/* ═══ TRANSFER modal - ista pravila kao aktivnosti (spojeni tab + greige pricing + 14px) - mobitel (v3.34.272) ═══ */
@media (max-width:899px){
  /* Spoji Overview + Details u jedan scroll (bez tabova) - samo transfer */
  .mt-wrap[id^="mt_tr_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_tr_"] .mt-panels-grid{ display:block; }
  .mt-wrap[id^="mt_tr_"] .mt-panel{ opacity:1 !important; pointer-events:auto; user-select:auto; padding-bottom:0; }
  .mt-wrap[id^="mt_tr_"] .mt-panel + .mt-panel{ padding-top:0; }

  /* Opis = italic serif lead (kao aktivnosti) */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }

  /* Skrij redundantni "From X" mini-blok (tablica ima sve cijene) */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-price-block:has(> .shcrm-modal-price-lbl:not(.shcrm-tr-prices-lbl)){ display:none; }
  /* Pricing (tablica / VIP raspon) → greige full-bleed traka */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-price-block{ background:#f4f2ed; border:none; border-top:.5px solid #e7e4de; border-bottom:.5px solid #e7e4de; border-radius:0; margin:10px -16px 0; padding:18px 16px; }
  .mt-wrap[id^="mt_tr_"] .shcrm-tr-ptbl-row{ font-size:14px !important; }

  /* Naslovi sekcija = 11px + jedinstveni razmak 22px */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }
  /* Details / includes čitljivi (14px) */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-info-row{ font-size:14px; }
  .mt-wrap[id^="mt_tr_"] .shcrm-includes-list li{ font-size:14px; }

  /* Route (lijevo) / Duration (desno) → jedan red, zlatna ikona + labela + vrijednost */
  .mt-wrap[id^="mt_tr_"] .shcrm-modal-meta{ display:flex; justify-content:space-between; align-items:center; flex-wrap:nowrap; gap:14px; margin:14px 0 0; }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat{ flex:0 1 auto; min-width:0; flex-direction:row; align-items:center; text-align:left; background:none; border:none; border-radius:0; padding:0; gap:8px; color:var(--gold); }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat:first-child{ flex:1 1 auto; }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat-ico{ display:flex; flex-shrink:0; }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat-ico svg{ width:17px; height:17px; display:block; }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat-lbl{ order:0; font-size:14px; letter-spacing:0; text-transform:none; color:#928b7e; font-weight:400; }
  .mt-wrap[id^="mt_tr_"] .shcrm-stat-val{ order:1; font-size:14px; font-weight:500; color:var(--text); }

  /* "Prices per person" → zlatni label UNUTAR greige trake (kao Services/Pricing); dark section-title skriven na mobitelu */
  .mt-wrap[id^="mt_tr_"] .shcrm-tr-prices-title{ display:none; }
  .mt-wrap[id^="mt_tr_"] .shcrm-tr-prices-lbl{ display:block; color:var(--gold); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:10px; }

  /* Catamaran route naziv čitljiviji (14px) unutar greige trake */
  .mt-wrap[id^="mt_tr_"] .shcrm-price-label{ font-size:14px; }
}
/* "Prices per person" gold label = mobile-only (desktop koristi section-title) */
.shcrm-tr-prices-lbl{ display:none; }

/* ═══ RENT A BOAT modal - ista pravila (spojeni tab + greige pricing + guests/fuel highlight) - mobitel (v3.34.274) ═══ */
.shcrm-rab-cap{ display:none; }               /* guests linija = mobile-only (desktop koristi meta tile) */
.shcrm-rab-fuel-ic{ display:none; }           /* fuel ikona skrivena na desktopu (tamo plain note) */
@media (max-width:899px){
  /* Spoji Overview + Specs u jedan scroll */
  .mt-wrap[id^="mt_rab_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_rab_"] .mt-panels-grid{ display:block; }
  .mt-wrap[id^="mt_rab_"] .mt-panel{ opacity:1 !important; pointer-events:auto; user-select:auto; padding-bottom:0; }
  .mt-wrap[id^="mt_rab_"] .mt-panel + .mt-panel{ padding-top:0; }

  /* Opis = italic serif lead */
  .mt-wrap[id^="mt_rab_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }

  /* Meta tiles skrivene → guests highlight linija umjesto njih */
  .mt-wrap[id^="mt_rab_"] .shcrm-modal-meta{ display:none; }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-cap{ display:flex; align-items:center; gap:9px; margin-top:14px; color:var(--gold); }
  .shcrm-rab-cap-tx{ font-size:14px; font-weight:500; color:var(--text); }
  .shcrm-rab-cap-tx b{ font-weight:700; }
  .shcrm-rab-cap-ic svg,.shcrm-rab-fuel-ic svg{ width:17px; height:17px; display:block; }

  /* Pricing → greige full-bleed traka; iznosi 19px/500 (kao aktivnosti) */
  .mt-wrap[id^="mt_rab_"] .shcrm-modal-price-block{ background:#f4f2ed; border:none; border-top:.5px solid #e7e4de; border-bottom:.5px solid #e7e4de; border-radius:0; margin:20px -16px 0; padding:18px 16px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-modal-price-lbl{ color:var(--gold); font-size:11px; letter-spacing:2px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-price-label{ font-size:14px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-price-amount{ font-size:19px; font-weight:500; }
  /* Fuel note = ikona + tekst (kao guests linija) */
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-fuel{ display:flex; justify-content:flex-end; align-items:center; gap:9px; margin-top:12px; padding:12px 0 0; border:none; border-top:.5px solid #e7e4de; border-radius:0; background:none; color:var(--gold); }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-fuel::before{ content:none; }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-fuel-ic{ display:block; }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-fuel-tx{ font-size:14px; font-weight:500; color:var(--text); }
  /* v3.34.346: Guests (lijevo) + Fuel (desno) u ISTOM redu. `margin-left:auto` drži fuel desno
     (guests uvijek lijevo); botrow nosi gornju liniju/razmak umjesto pojedinačnih elemenata. */
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-botrow{ display:flex; align-items:center; gap:12px; margin-top:12px; padding-top:12px; border-top:.5px solid #e7e4de; }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-botrow .shcrm-rab-cap{ margin-top:0; }
  .mt-wrap[id^="mt_rab_"] .shcrm-rab-botrow .shcrm-rab-fuel{ margin-top:0; padding-top:0; border-top:none; margin-left:auto; }

  /* Specs grid + Charter includes 14px; naslovi 11px + razmak 22px */
  .mt-wrap[id^="mt_rab_"] .shcrm-spec-item{ font-size:14px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-spec-lbl{ font-size:11px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-includes-list li{ font-size:14px; }
  .mt-wrap[id^="mt_rab_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }
}

/* ═══ PARDO modal - ista pravila (spojeni tab + greige Services + guests highlight + kratki/dugi opis) - mobitel (v3.34.275) ═══ */
@media (max-width:899px){
  /* Spoji Overview + Specs u jedan scroll */
  .mt-wrap[id^="mt_prd_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_prd_"] .mt-panels-grid{ display:block; }
  .mt-wrap[id^="mt_prd_"] .mt-panel{ opacity:1 !important; pointer-events:auto; user-select:auto; padding-bottom:0; }
  .mt-wrap[id^="mt_prd_"] .mt-panel + .mt-panel{ padding-top:0; }

  /* Opis = italic serif lead + Read more (desno, ne-italic) */
  .mt-wrap[id^="mt_prd_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }
  .mt-wrap[id^="mt_prd_"] .shcrm-act-more-btn{ display:flex; justify-content:flex-end; width:100%; margin:8px 0 0; padding-left:0; border-left:none; }
  .mt-wrap[id^="mt_prd_"] .shcrm-act-more-btn,.mt-wrap[id^="mt_prd_"] .shcrm-act-more-btn *{ font-style:normal; }

  /* Meta tiles skrivene → guests highlight linija */
  .mt-wrap[id^="mt_prd_"] .shcrm-modal-meta{ display:none; }
  .mt-wrap[id^="mt_prd_"] .shcrm-rab-cap{ display:flex; align-items:center; gap:9px; margin-top:14px; color:var(--gold); }

  /* Services → greige full-bleed traka; iznosi 19px/500 (kao aktivnosti) */
  .mt-wrap[id^="mt_prd_"] .shcrm-modal-price-block{ background:#f4f2ed; border:none; border-top:.5px solid #e7e4de; border-bottom:.5px solid #e7e4de; border-radius:0; margin:10px -16px 0; padding:18px 16px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-modal-price-lbl{ color:var(--gold); font-size:11px; letter-spacing:2px; margin-bottom:8px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-price-label{ font-size:14px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-price-amount{ font-size:19px; font-weight:500; }

  /* Specs grid + Included 14px; naslovi 11px + razmak 22px */
  .mt-wrap[id^="mt_prd_"] .shcrm-spec-item{ font-size:14px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-spec-lbl{ font-size:11px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-includes-list li{ font-size:14px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }

  /* Recommended routes - postojeći (horizontalni) dizajn, fontovi usklađeni s temom */
  .mt-wrap[id^="mt_prd_"] .shcrm-routes-sub{ font-size:13px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-route-eyebrow{ font-size:10px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-route-title{ font-size:15px; }
  .mt-wrap[id^="mt_prd_"] .shcrm-route-desc{ font-size:14px; }
}

/* ═══ BEACH CLUB / WELLNESS / RESTAURANT modali - ista pravila (italic lead, greige pricing, 14px) - mobitel (v3.34.279) ═══ */
.shcrm-wl-tp-lbl{ display:none; }  /* wellness "Treatments & Pricing" gold label = mobile-only (desktop koristi section-title) */
@media (max-width:899px){
  /* - BEACH CLUB (bc_) - italic lead + Info 14px (nema cijena) - */
  .mt-wrap[id^="mt_bc_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_bc_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }
  .mt-wrap[id^="mt_bc_"] .shcrm-modal-info-row{ font-size:14px; }
  .mt-wrap[id^="mt_bc_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }

  /* - WELLNESS (wl_) - italic lead + Hours/Phone icon-linije + greige Treatments traka - */
  .mt-wrap[id^="mt_wl_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_wl_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }
  .mt-wrap[id^="mt_wl_"] .shcrm-modal-meta{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px 20px; margin:14px 0 0; }
  .mt-wrap[id^="mt_wl_"] .shcrm-stat{ flex:0 1 auto; min-width:0; flex-direction:row; align-items:center; text-align:left; background:none; border:none; border-radius:0; padding:0; gap:7px; color:var(--gold); }
  .mt-wrap[id^="mt_wl_"] .shcrm-stat-ico{ display:flex; flex-shrink:0; }
  .mt-wrap[id^="mt_wl_"] .shcrm-stat-ico svg{ width:16px; height:16px; display:block; }
  .mt-wrap[id^="mt_wl_"] .shcrm-stat-lbl{ order:0; font-size:14px; letter-spacing:0; text-transform:none; color:#928b7e; font-weight:400; }
  .mt-wrap[id^="mt_wl_"] .shcrm-stat-val{ order:1; font-size:14px; font-weight:500; color:var(--text); }
  .mt-wrap[id^="mt_wl_"] .shcrm-modal-price-block{ background:#f4f2ed; border:none; border-top:.5px solid #e7e4de; border-bottom:.5px solid #e7e4de; border-radius:0; margin:10px -16px 0; padding:18px 16px; }
  .mt-wrap[id^="mt_wl_"] .shcrm-wl-tp-title{ display:none; }
  .mt-wrap[id^="mt_wl_"] .shcrm-wl-tp-lbl{ display:block; color:var(--gold); font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:10px; }
  .mt-wrap[id^="mt_wl_"] .shcrm-price-label{ font-size:14px; }
  .mt-wrap[id^="mt_wl_"] .shcrm-price-amount{ font-size:19px; font-weight:500; }
  .mt-wrap[id^="mt_wl_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }

  /* - RESTAURANT (rst_) - spoji Overview+Hours + italic lead + meta icon-linije + meni na bijelom 14px - */
  .mt-wrap[id^="mt_rst_"] .mt-nav{ display:none; }
  .mt-wrap[id^="mt_rst_"] .mt-panels-grid{ display:block; }
  .mt-wrap[id^="mt_rst_"] .mt-panel{ opacity:1 !important; pointer-events:auto; user-select:auto; padding-bottom:0; }
  .mt-wrap[id^="mt_rst_"] .mt-panel + .mt-panel{ padding-top:0; }
  .mt-wrap[id^="mt_rst_"] .shcrm-modal-sub{ font-family:var(--font-d); font-style:italic; font-weight:400; font-size:17px; line-height:1.5; color:#3f3a30; }
  .mt-wrap[id^="mt_rst_"] .shcrm-modal-meta{ display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px 18px; margin:14px 0 0; }
  .mt-wrap[id^="mt_rst_"] .shcrm-stat{ flex:0 1 auto; min-width:0; flex-direction:row; align-items:center; text-align:left; background:none; border:none; border-radius:0; padding:0; gap:7px; color:var(--gold); }
  .mt-wrap[id^="mt_rst_"] .shcrm-stat-ico{ display:flex; flex-shrink:0; }
  .mt-wrap[id^="mt_rst_"] .shcrm-stat-ico svg{ width:16px; height:16px; display:block; }
  .mt-wrap[id^="mt_rst_"] .shcrm-stat-lbl{ order:0; font-size:14px; letter-spacing:0; text-transform:none; color:#928b7e; font-weight:400; }
  .mt-wrap[id^="mt_rst_"] .shcrm-stat-val{ order:1; font-size:14px; font-weight:500; color:var(--text); }
  .mt-wrap[id^="mt_rst_"] .shcrm-modal-price-block{ background:none; border:none; border-radius:0; padding:0; margin:0; }
  .mt-wrap[id^="mt_rst_"] .shcrm-price-label{ font-size:14px; }
  .mt-wrap[id^="mt_rst_"] .shcrm-price-amount{ font-size:14px; font-weight:500; }
  .mt-wrap[id^="mt_rst_"] .shcrm-modal-section-title{ font-size:11px; margin:22px 0 10px; }
}

/* "Your hotel (optional)" select - otočni portal (v3.34.280). .shcrm-form-input gasi native appearance → vlastita strelica. */
select.shcrm-form-input{ cursor:pointer; padding-right:34px !important; background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23b0932f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat:no-repeat !important; background-position:right 13px center !important; }
.shcrm-form-optional{ text-transform:none; letter-spacing:0; font-weight:400; color:var(--muted); }

/* Kategorije filter +1px + booking forma full-bleed (bez bijelog lijevo/desno) + odvojena od sadržaja - mobitel (v3.34.281) */
@media (max-width:899px){
  .act-chip{ font-size:10px; }
  .mt-wrap .mt-form-drawer{ margin:12px -16px 0; }
}

/* Services modal (Room Service / Housekeeping / Guest Directory): L/R padding = home sekcije (20px) (v3.34.283) */
/* Naslov (head) 20px */
.shcrm-services-list-head{ padding-left:20px; padding-right:20px; }
.shcrm-services-modal:not([data-stack-depth]) .shcrm-services-list-head{ padding-left:20px; }
/* Body/container bez bočnog paddinga - sve L/R dolazi iz content klasa (da se ne dvostruči) */
.shcrm-services-list-body{ padding-left:0; padding-right:0; }
/* Content klase (embed sadržaj) → 20px lijevo/desno */
.shcrm-hr-header,.shcrm-hr-list,.shcrm-hr-footer,
.shcrm-rs-cta-row,.shcrm-rs-cat-header,.shcrm-rs-items,.shcrm-rs-empty,
.shcrm-hk-selection-bar,.shcrm-hk-grid,.shcrm-hk-cta-row,.shcrm-hk-guest{ padding-left:20px; padding-right:20px; }
.shcrm-rs-item{ padding-left:0; padding-right:0; }   /* stavka poravnata s okvirom .shcrm-rs-items (20px) */

/* ===== Services modal - standardizirane veličine fontova (v286) =====
   Ujednačen tip-scale kroz cijeli Usluge modal (Room service / Housekeeping /
   Guest directory / House rules / TV / Kontakti). Prije: šaroliko 8.5-13.5px.
   Scale: zlatni eyebrow/kategorija = 11px · body/intro/pravila = 14px ·
   podnaslov/meta = 13px · napomene = 12px · naslovi stavki/vrijednosti = 14/15px.
   Scoped na .shcrm-services-modal (2 klase → nadjačava bazu). */

/* Zlatni eyebrow / kategorija / labela → 11px */
.shcrm-services-modal .shcrm-service-listitem-cat,
.shcrm-services-modal .shcrm-rs-cat-title,
.shcrm-services-modal .shcrm-contact-label,
.shcrm-services-modal .shcrm-hk-guest-eb,
.shcrm-services-modal .shcrm-hk-field-lbl{ font-size:11px; }

/* Naslovi stavki / vrijednosti → 14-15px */
.shcrm-services-modal .shcrm-hk-card-label{ font-size:14px; }
.shcrm-services-modal .shcrm-contact-value{ font-size:15px; }

/* Podnaslovi / meta → 13px */
.shcrm-services-modal .shcrm-service-listitem-meta,
.shcrm-services-modal .shcrm-rs-item-desc{ font-size:13px; }

/* Napomene → 12px */
.shcrm-services-modal .shcrm-rs-item-note,
.shcrm-services-modal .shcrm-hk-guest-hint,
.shcrm-services-modal .shcrm-hk-clear,
.shcrm-services-modal .shcrm-hr-footer-small{ font-size:12px; }

/* Body / intro / pravila / brojači / empty / CTA → 14px */
.shcrm-services-modal .shcrm-hr-intro,
.shcrm-services-modal .shcrm-hr-rule,
.shcrm-services-modal .shcrm-rs-meta-row,
.shcrm-services-modal .shcrm-hk-selection-bar,
.shcrm-services-modal .shcrm-service-listitem-empty,
.shcrm-services-modal .shcrm-rs-empty,
.shcrm-services-modal .shcrm-rs-cta{ font-size:14px; }

/* Housekeeping kartica - jednak razmak gore/dolje + vertikalno centrirano */
.shcrm-services-modal .shcrm-hk-card{ padding:16px 10px; justify-content:center; }

/* ===== Services modal - vrati L/R padding na listitem popisima (v287) =====
   v283 je zbog RS/HK/HR embeda maknuo L/R padding s .shcrm-services-list-body.
   Listitem popisi (Activities/Dining/Events/Guest Directory) dijele ISTI
   container (#shcrm-services-list-container) pa su ostali bez bočnog razmaka →
   kartice se lijepe uz rub. Vraćam 20px (kao home portal), ali SAMO kad
   container drži .shcrm-service-listitem (:has) - RS/HK/HR embed (koji ima
   vlastiti 20px na content-klasama) time NE dobiva dvostruki padding. */
.shcrm-services-modal .shcrm-services-list:has(> .shcrm-service-listitem),
.shcrm-services-modal .shcrm-services-list:has(> .shcrm-service-listitem-empty){
    padding-left:10px; padding-right:10px;   /* v290: = vertikalni gap (10px) između kartica */
}

/* ===== Services modal - L/R padding na embed popisima Events/Location (v288) =====
   Events (=[hotel_events]) i Location (=[hotel_map]) su EMBED mode: kloniraju
   home-sekciju bez vlastitog L/R paddinga → kartice/mapa se lijepe uz rub.
   JS embed grana togla `.shcrm-services-list--pad` SAMO za entrye s padEmbed:true
   (events/location). RS/HK/HR/TV/Contacts embed nema padEmbed (ima svoj 20px na
   content-klasama) → ne dobiva klasu → nema dvostrukog. Vrijednost = home 20px. */
.shcrm-services-modal .shcrm-services-list.shcrm-services-list--pad{
    padding-left:10px; padding-right:10px;   /* v290: = vertikalni gap (10px) između kartica */
}

/* ===== Services modal - listitem popisi: veći naslov + full-bleed slika (v289) =====
   Transfers/Dining/Boats/Activities kartice: (1) naslov 15→18px, (2) foto-thumb
   ide edge-to-edge (lijevo/gore/dolje bez bijelog okvira). Guest Directory
   (zlatne ikone .shcrm-listitem-icon) NAMJERNO netaknut - :not(:has(...)). */

/* Naslov veći (svi listitem popisi u modalu) */
.shcrm-services-modal .shcrm-service-listitem-title{ font-size:18px; }

/* Foto-thumb kartice (NE icon-varijanta) → slika full-bleed lijevo */
.shcrm-services-modal .shcrm-service-listitem:not(:has(.shcrm-listitem-icon)){
    padding:0; gap:0; overflow:hidden; align-items:stretch;
}
.shcrm-services-modal .shcrm-service-listitem:not(:has(.shcrm-listitem-icon)) .shcrm-service-listitem-thumb{
    width:104px; height:auto; min-height:104px; align-self:stretch; border-radius:0; flex-shrink:0;
}
.shcrm-services-modal .shcrm-service-listitem:not(:has(.shcrm-listitem-icon)) .shcrm-service-listitem-body{
    padding:14px 12px 14px 16px;
}
.shcrm-services-modal .shcrm-service-listitem:not(:has(.shcrm-listitem-icon)) .shcrm-service-listitem-arrow{
    align-self:center; margin-right:14px;
}
/* Rent a Vehicle list thumb: bijela pozadina + cover (lijep prikaz vozila) - v3.34.424 */
.shcrm-li-rent_a_vehicle .shcrm-service-listitem-thumb{ background-color:#fff; background-size:cover; }

/* ===== Services modal - transfer ruta: full-width konektor od ‹---› do (v292) =====
   Listitem popis transfera: umjesto plosnatog podnaslova „Split Airport ↔ Hvar",
   isti konektor kao desktop tr-card-route (lokacije na rubovima + zlatne ‹ ›
   strelice + tanka linija preko pune širine). Prilagođeno bijeloj kartici
   (lokacije prigušene, strelice/linija zlatne). Container klasa NIJE .tr-card-route
   (koja je bazno display:none) → koristi se .shcrm-listitem-route. */
.shcrm-services-modal .shcrm-listitem-route{
    display:flex; align-items:center; gap:9px; margin-top:8px;
}
.shcrm-services-modal .shcrm-listitem-route .tr-route-from,
.shcrm-services-modal .shcrm-listitem-route .tr-route-to{
    font-size:12px; color:var(--muted); line-height:1; flex-shrink:0; letter-spacing:.2px;
}
.shcrm-services-modal .shcrm-listitem-route .tr-route-line{
    flex:1; display:flex; align-items:center; gap:5px; color:var(--gold);
}
.shcrm-services-modal .shcrm-listitem-route .tr-route-line-inner{
    flex:1; height:1px;
    background:linear-gradient(to right, rgba(191,155,48,.55) 0%, rgba(160,150,130,.30) 50%, rgba(191,155,48,.55) 100%);
}
.shcrm-services-modal .shcrm-listitem-route .tr-route-arrow-left,
.shcrm-services-modal .shcrm-listitem-route .tr-route-arrow-right{ flex-shrink:0; }

/* ===== Services modal - icon-meta linije (brodovi: osobe · restorani: hotel+vrijeme) (v293) =====
   Zlatna line-ikona + prigušeni tekst; više linija (hotel pa vrijeme) se slaže vertikalno. */
.shcrm-services-modal .shcrm-listitem-iconmeta{
    display:flex; align-items:center; gap:6px; margin-top:6px;
    font-size:12px; color:var(--muted); line-height:1.2;
}
.shcrm-services-modal .shcrm-listitem-iconmeta + .shcrm-listitem-iconmeta{ margin-top:4px; }
.shcrm-services-modal .shcrm-listitem-iconmeta svg{ color:var(--gold); flex-shrink:0; }
.shcrm-services-modal .shcrm-listitem-iconmeta span{ min-width:0; }

/* ===== Services modal - cijena u popisu: istaknut iznos (v294) =====
   Cijena (aktivnosti…) koristi .shcrm-listitem-iconmeta (zlatna tag-ikona);
   iznos „100 €" tamniji/deblji, jedinica („/ person", „flat rate") prigušena. */
.shcrm-services-modal .shcrm-listitem-price .shcrm-listitem-price-amt{
    color:var(--text); font-weight:600;
}
.shcrm-services-modal .shcrm-listitem-price .shcrm-listitem-price-unit{
    color:var(--muted);
}

/* ===== Section-header „View all" botun (v301) =====
   D3 izgled na SVIM verzijama (desktop/tablet/mobitel): naslov + tanka linija +
   VIEW ALL (zlatni uppercase link) + zlatni kružić sa strelicom, ODMAH nakon naslova. */
.section-header:has(.section-viewall){ justify-content:flex-start; }
.section-viewall{
    display:inline-flex; align-items:center; gap:12px; cursor:pointer;
    background:none; border:none; padding:0;
    color:#a8842a; font-family:var(--font-b); font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
    align-self:flex-end; margin:0 0 6px 18px;
    white-space:nowrap; min-width:0; flex-shrink:1;
    transition:color .15s;
    -webkit-tap-highlight-color:transparent;   /* v303: bez sive tap-pozadine na mobitelu */
}
.section-viewall::before{
    content:""; width:40px; min-width:14px; height:1px; background:#d3ccbd; flex-shrink:1;
}
.section-viewall:hover,
.section-viewall:focus,
.section-viewall:focus-visible,
.section-viewall:active{ background:none; }
.section-viewall:hover{ color:#8a6d16; }
.section-viewall:active{ transform:scale(.98); }
.section-viewall-ic{
    display:inline-flex; align-items:center; justify-content:center;
    width:24px; height:24px; border-radius:50%;
    background:var(--gold); color:#fff; flex-shrink:0;
}
.section-viewall-ic svg{ width:12px; height:12px; }

/* ===== Section „View all" botun - MOBITEL (<600px): bez linije, skroz desno (v302) =====
   Desktop/tablet (≥600px) ostaje D3 (linija + odmah nakon naslova). Na mobitelu se
   linija makne i botun ide skroz desno (space-between) - čišće kad se naslov lomi. */
@media (max-width:599px){
    .section-header:has(.section-viewall){ justify-content:space-between; }
    .section-viewall{ margin:0 0 7px 0; }   /* v303: skroz desno + podignuto +1px */
    .section-viewall::before{ display:none; }
}

/* ===== Services modal (View all popis) - radi i na DESKTOP/TABLET (v304) =====
   Bazno je skriven na ≥600px (mobilni bottom-sheet, red 1101 display:none!important).
   „View all" botun zove taj isti modal → prikaži ga i tu, ali kao CENTRIRANI panel
   (ne bottom-sheet). Zatvara se X-om u headeru + klikom na pozadinu (već postoji). */
@media (min-width:600px){
    /* Bazno (embed/custom: Guest Directory, Events, Location, Room Service…) - centrirani panel (v304) */
    .shcrm-services-overlay.open{ display:flex !important; align-items:center; }
    .shcrm-services-modal{ height:auto; max-height:86vh; border-radius:16px; }
    .shcrm-services-overlay.open .shcrm-services-modal{ animation:none; }

    /* „View all" popis svih (card-list) → ŠIROKI modal + FULL-FLOW (cijeli popis u nastavku,
       skrola se overlay, modal se produžuje; zaglavlje sticky) + grid vertikalnih kartica.
       Aktivira se SAMO kad container ima .shcrm-svc-grid (card-list mode). Mobilno (<600) netaknuto. */
    /* padding-top:0 → sticky header se lijepi na SAM vrh (bez gornje zone kroz koju kartice proviruju); razmak gore/dolje preko margin na modalu */
    .shcrm-services-overlay.open:has(.shcrm-svc-grid){ display:block !important; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:0 24px; }
    .shcrm-services-modal:has(.shcrm-svc-grid){ max-height:none; overflow:visible; margin:34px auto 40px; width:100%; max-width:min(1440px,94vw); }
    /* Kratki popis (transferi/vozila…) → manje stupaca + uža ljuska da se ne rasprši (puni redovi). Marker data-gridsize postavlja JS po broju kartica. */
    .shcrm-services-modal[data-gridsize="sm"]:has(.shcrm-svc-grid){ max-width:min(720px,94vw); }
    .shcrm-services-modal[data-gridsize="md"]:has(.shcrm-svc-grid){ max-width:min(1040px,94vw); }
    .shcrm-services-modal[data-gridsize="sm"] #shcrm-services-list-container.shcrm-svc-grid{ grid-template-columns:repeat(2,1fr); }
    .shcrm-services-modal[data-gridsize="md"] #shcrm-services-list-container.shcrm-svc-grid{ grid-template-columns:repeat(3,1fr); }
    .shcrm-services-modal:has(.shcrm-svc-grid) .shcrm-services-list-head{ border-radius:16px 16px 0 0; z-index:10; box-shadow:0 4px 12px rgba(20,26,32,.06); }
    .shcrm-services-modal[data-view="list"] .shcrm-services-list-body:has(.shcrm-svc-grid){ padding:20px 22px 28px; }
    /* Grid pravila: id prefix (#…svc-grid = spec 1,2,0) da nadjača v289 „full-bleed lijevo" (0,4,0) → slika ide PUNOM širinom kartice, gore */
    #shcrm-services-list-container.shcrm-svc-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem{ flex-direction:column; align-items:stretch; padding:0; gap:0; overflow:hidden; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem-thumb{ width:100%; height:172px; min-height:0; align-self:stretch; border-radius:0; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem-body{ padding:13px 15px 16px; justify-content:flex-start; gap:5px; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem-cat{ font-size:9.5px; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem-title{ font-size:17px; }
    #shcrm-services-list-container.shcrm-svc-grid .shcrm-service-listitem-arrow{ display:none; }
}
/* Brendirana prva kartica u „View all" gridu (Varijanta A - ivory): logo iz baze + naziv sekcije.
   Grid item → stretcha na visinu reda; centrirani sadržaj. Skrivena na mobitelu (<600, stara lista netaknuta). */
.shcrm-svc-brandcard{
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    background:var(--cream); border:.5px solid #e6d9b3; border-radius:10px; padding:30px 20px;
}
.shcrm-svc-brand-logo{ max-width:220px; max-height:78px; width:auto; height:auto; object-fit:contain; margin-bottom:16px; }
.shcrm-svc-brand-title{ font-family:var(--font-d); font-size:30px; color:var(--text); line-height:1.05; }
.shcrm-svc-brand-rule{ width:40px; height:1px; background:#c9a94a; margin:14px 0; }
.shcrm-svc-brand-sub{ font-size:12px; color:#8a7f6a; line-height:1.5; max-width:220px; }
@media (max-width:599px){ .shcrm-svc-brandcard{ display:none; } }

/* ===== Kontakt/booking forma - ujednačena svijetlo siva placeholder boja (v307) =====
   Svi placeholderi (input/textarea) + hotel-select kad je odabran prazan default
   („Not staying…") = ista svijetlo siva (#b3ab9d), kao ostala prazna polja. */
.shcrm-form-input::placeholder,
.shcrm-form-textarea::placeholder{ color:#b3ab9d; opacity:1; }
select.shcrm-form-input:has(option[value=""]:checked){ color:#b3ab9d !important; }

/* ===== Home transfer kartice (mobitel): ruta-konektor od ‹---› do (v309) =====
   Connector .tr-card-route postoji u kartici ali je bazno display:none (samo desktop
   overlay ga koristi, bijelim tekstom). Na mobitelu (<600px) prikaži ga (muted lokacije
   + zlatne strelice/linija na bijeloj kartici) UMJESTO plosnatog „Split Airport ↔ Hvar".
   Scoped na #tr-scroll-row (samo transferi); :has da ne dira transfere bez od/do. */
@media (max-width:599px){
    #tr-scroll-row .act-card-body:has(.tr-card-route){ display:flex; flex-direction:column; }
    #tr-scroll-row .act-card-body:has(.tr-card-route) .item-card-price{ display:none; }
    #tr-scroll-row .act-card-body:has(.tr-card-route) .tr-card-route{ order:1; }
    #tr-scroll-row .act-card-body:has(.tr-card-route) .item-card-badge{ order:2; margin-top:8px; align-self:flex-start; }   /* v311: badge content-width (flex-stretch ga je rastegnuo) */
    #tr-scroll-row .tr-card-route{ display:flex; align-items:center; gap:8px; margin-top:6px; }
    #tr-scroll-row .tr-route-from,
    #tr-scroll-row .tr-route-to{ font-size:11px; color:var(--muted); line-height:1; flex-shrink:0; letter-spacing:.2px; }
    #tr-scroll-row .tr-route-line{ flex:1; display:flex; align-items:center; gap:4px; color:var(--gold); }
    #tr-scroll-row .tr-route-line-inner{ flex:1; height:1px; background:linear-gradient(to right, rgba(191,155,48,.55) 0%, rgba(160,150,130,.30) 50%, rgba(191,155,48,.55) 100%); }
    #tr-scroll-row .tr-route-arrow-left,
    #tr-scroll-row .tr-route-arrow-right{ flex-shrink:0; }
}

/* ===== Featured boat kartica (mobitel): kapacitet = ikona + tekst (kao Usluge popis) (v310) =====
   Zamjena uppercase pill badgea → zlatna people-ikona + „Up to N guests" (muted),
   jednak razmak gore/dolje. .boat-feat-mob-cap i dalje skriven na desktopu (specs grid). */
.boat-feat-cap{
    display:flex; align-items:center; gap:7px;
    margin:14px 0;
    font-size:12px; color:var(--muted); line-height:1;
}
.boat-feat-cap svg{ color:var(--gold); flex-shrink:0; }

/* ===== iOS/Android optimizacija: safe-area + dvh (v3.34.314) =====
   `viewport-fit=cover` (dodan u meta) aktivira env(safe-area-inset-*) na iOS.
   Na desktopu/Androidu bez notcha su svi env() = 0 → nema promjene tamo. */

/* Bottom nav - SOLIDNA bijela traka (SVG oblik ukinut: rastezljivi viewBox 0-80 se na iOS
   iskrivio i puštao prozirnost preko cijele širine). Neprozirno na SVAKOM stanju Safari
   trake. FAB protrudira iznad (margin-top:-34px). safe-area popunjena bijelim preko
   content-box paddinga. Urez oko FAB-a izostavljen radi pouzdanosti (može se vratiti). */
/* Bottom nav (v3.34.325): SOLIDNA bijela traka. Bazno pozicioniranje je `position:fixed;
   bottom:0` (iz pravila gore, linija ~221) - na Androidu i desktopu je to IDEALNO (oba
   resizeaju layout viewport pa nav uvijek sjedi na vidljivom dnu; NE diramo ih ničim).
   SAMO iOS Safari (koji NE re-kompozitira fixed:bottom pouzdano kad se dinamička traka
   zbije) dobiva transform-pin + generozno bijelo ispod ikona - vidi hotel-page.js. */
.bottom-nav-v2{
    height:auto;
    background:#fff;
    border-top:1px solid #e8e4df;
    box-shadow:0 -3px 12px rgba(0,0,0,.05);
    padding-bottom:env(safe-area-inset-bottom);
    box-sizing:content-box;
    will-change:transform;
}
.bottom-nav-v2 .bottom-nav-bg{ display:none; }
.bottom-nav-v2 .bn-row{ position:relative; z-index:1; height:70px; top:auto; bottom:auto; inset:auto; }

/* ===== APP-SHELL scroll model - SAMO iOS Safari, MOBILNI portret (v3.34.327) =====
   KONAČNO rješenje bottom-nav gapa. Na iOS dokument (body) se NE skrola nego se skrola
   #shcrm-scroll → Safari dinamička traka OSTANE otvorena (ne zbija se) → viewport stabilan
   → `position:fixed;bottom:0` je čvrst, bez gapa. Base = `display:contents` (transparentno;
   Android/desktop skrolaju dokument točno kao prije). Aktivira se SAMO uz klasu `shcrm-ios`
   na <html> (inline skripta u <head>-u, prije rendera) I `@media (max-width:599px)` (gdje
   bottom-nav postoji; iPad/desktop-širina iOS → nav skriven, app-shell se ne pali).
   BEZ `transform`/`-webkit-overflow-scrolling:touch` na #shcrm-scroll → `position:fixed`
   modali unutar njega (legal/contact) ostaju vezani za VIEWPORT (rade normalno, moderni iOS). */
#shcrm-scroll{ display:contents; }
/* ===== v3.34.341: APP-SHELL UKINUT na iOS (na zahtjev korisnika) =====
   Nakon dugog dotjerivanja app-shell scrola (v327-v340) korisnik je odlučio: na iOS ukloniti
   bottom-nav i vratiti NORMALAN skrol dokumenta (native momentum + Safari pull-to-refresh).
   Bottom-nav (fixed;bottom:0) je bio JEDINI razlog za app-shell - bez njega nema ni gapa ni
   scroll-problema. `#shcrm-scroll` ostaje `display:contents` (transparentno) na SVIM platformama
   → dokument se skrola kao prije app-shella. JS helperi (shcrmScrollEl) vraćaju null jer je
   #shcrm-scroll display:contents (clientHeight 0) → sve ide na window (normalno). Android/desktop
   NETAKNUTI (nemaju shcrm-ios klasu, nav ostaje). Reverzibilno (vrati app-shell blok za povratak). */
@media (max-width:599px){
    html.shcrm-ios .bottom-nav-v2{ display:none !important; } /* iOS: makni bottom-nav */
    html.shcrm-ios main{ padding-bottom:40px; }               /* nav skriven → ne rezerviraj 150px prostora */
}

/* Modal dno: gumbi (REQUEST BOOKING/CHARTER, Send) iznad home indikatora/Safari trake */
.shcrm-modal-body{ padding-bottom:env(safe-area-inset-bottom); }
.shcrm-services-list-body{ padding-bottom:calc(36px + env(safe-area-inset-bottom)); }

/* iOS dvh - vh uključuje prostor iza dinamičke Safari trake → dno modala se reže.
   @supports → stari iOS (bez dvh) ostaje na baznom vh (graceful fallback). */
@supports (height:100dvh){
    .shcrm-modal{ max-height:92dvh; }
    .shcrm-hr-modal{ max-height:92dvh; }
}

/* ===== iOS: spriječi zoom na fokus inputa (<16px zumira) + native date polje (v3.34.315) ===== */
@media (max-width:600px){
    .shcrm-form-input, .shcrm-form-textarea,
    select.shcrm-form-input,
    input[type="date"].shcrm-form-input,
    /* v3.34.338: named booking-polja MORAJU biti ovdje - base ima `input[name="…"].shcrm-form-input`
       (specifičnost 0,2,1) s 14px!important koji nadjačava obični `.shcrm-form-input` (0,1,0).
       Ovi selektori iste specifičnosti + kasniji izvor → pobjeđuju → 16px (bez zooma). */
    input[name="guest_name"].shcrm-form-input, input[name="guest_email"].shcrm-form-input,
    input[name="preferred_date"].shcrm-form-input, input[name="room_number"].shcrm-form-input,
    input[name="num_guests"].shcrm-form-input,
    /* v3.34.337: kontakt-forma (inline 13px) + housekeeping polja - bez ovoga zumiraju na fokus.
       `!important` nadjačava inline font-size:13px na #shcrm-ef-* poljima. */
    #shcrm-ef-name, #shcrm-ef-email, #shcrm-ef-hotel, #shcrm-ef-msg,
    .shcrm-hk-input{ font-size:16px !important; }
}
/* Native date input (iOS): poravnaj vrijednost lijevo + visina kao ostala polja (ne skupljaj) */
input[type="date"].shcrm-form-input{ min-height:44px; text-align:left; -webkit-appearance:none; appearance:none; }
input[type="date"].shcrm-form-input::-webkit-date-and-time-value{ text-align:left; margin:0; }
input[type="date"].shcrm-form-input::-webkit-calendar-picker-indicator{ opacity:.5; }

/* ===== Dining sekcija = horizontalni slider na SVIM stranicama (v3.34.355) =====
   Prije: island-only (hotelske stranice imale masonry grid). Sad hotel = kao glavna/otočna
   (konzistentno s Activities/Boats/Transfers sliderima). Mobitel/tablet swipe, desktop strelice.
   Interni izgled kartice (desktop overlay / mobile body) netaknut. */
#section-dining .grid-2 { display: flex !important; grid-template-columns: none !important; gap: 12px !important; overflow-x: auto !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 6px; }
#section-dining .grid-2::-webkit-scrollbar { display: none; }
#section-dining .grid-2 .grid-card { flex: 0 0 auto !important; grid-row: auto !important; grid-column: auto !important; scroll-snap-align: start; }
@media (max-width: 599px) {
  #section-dining .grid-2 .grid-card { width: 240px !important; }
  #section-dining .grid-2 .grid-card .grid-card-media { height: 150px !important; }
}
@media (min-width: 600px) {
  #section-dining .grid-2 .grid-card { width: 300px !important; }
}
#section-dining .dn-slider-wrap { position: relative; }
#section-dining .dn-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 6; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border); background: rgba(255,255,255,.94); color: var(--text); font-size: 22px; line-height: 1; cursor: pointer; display: none; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.14); transition: border-color .15s, color .15s; -webkit-tap-highlight-color: transparent; }
#section-dining .dn-arrow:hover { border-color: var(--gold); color: var(--gold); }
#section-dining .dn-prev { left: -14px; }
#section-dining .dn-next { right: -14px; }
@media (min-width: 900px) { #section-dining .dn-arrow { display: flex; } }

/* ── Rent a Vehicle - flota / modeli (v3.34.363) ───────────── */
.shcrm-rav-fleet { margin-top: 18px; }
.shcrm-rav-fleet-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
@media (min-width: 560px) { .shcrm-rav-fleet-grid { grid-template-columns: 1fr 1fr; } }
.shcrm-rav-fleet-card { display: flex; align-items: stretch; gap: 0; background: #fff; border: 1px solid var(--border); border-radius: var(--r, 5px); overflow: hidden; box-shadow: 0 4px 14px rgba(20,28,36,.05); }
.shcrm-rav-fleet-img { flex: 0 0 96px; min-height: 84px; background-size: cover; background-position: center; }
.shcrm-rav-fleet-info { flex: 1 1 auto; padding: 12px 14px; display: flex; flex-direction: column; justify-content: center; gap: 3px; }
.shcrm-rav-fleet-name { font-family: var(--font-b); font-weight: 700; font-size: 14px; color: var(--text); }
.shcrm-rav-fleet-spec { font-size: 12px; color: var(--muted); }
.shcrm-rav-fleet-price { font-size: 12px; font-weight: 600; color: var(--gold); margin-top: 2px; }
.shcrm-rav-fleet-note { margin-top: 10px; font-size: 11px; color: var(--muted); font-style: italic; }

/* ── TABLET ONLY (600-1024px): featured kartice slažu vertikalno + skriven Weather widget (v3.34.375) ── */
@media (min-width: 600px) and (max-width: 1024px) {
  /* Featured kartice (Boats / Spa-Wellness / Beach Club) - na tabletu je 2-kolonski grid (420px+1fr)
     ostavljao sadržaj preuzak (rezanje teksta/gumba). Slaži vertikalno: slika gore, sadržaj punom širinom. */
  .feat-card { grid-template-columns: 1fr !important; }
  .feat-card .feat-card-media,
  .boat-feat-card .feat-card-media,
  .bc-feat-card .feat-card-media { height: 260px !important; min-height: 0 !important; }
  .feat-card-body,
  .boat-feat-card .feat-card-body,
  .bc-feat-card .feat-card-body { padding: 22px 24px !important; }

  /* Weather & Sea widget - sakriven SAMO na tabletu (mobitel <600 i desktop >1024 ga i dalje prikazuju) */
  #section-home { display: none !important; }
}

/* ── Wellness / Spa - horizontalni slider na SVIM ekranima (kao Dining/Boats) (v3.34.376) ── */
#section-spa .wl-slider-wrap { position: relative; }
#section-spa .wl-scroll-row { display: flex; gap: 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; padding-bottom: 6px; }
#section-spa .wl-scroll-row::-webkit-scrollbar { display: none; }
#section-spa .wl-scroll-row .feat-card { flex: 0 0 300px; width: 300px; grid-template-columns: 1fr !important; margin: 0 !important; scroll-snap-align: start; display: flex; flex-direction: column; }
#section-spa .wl-scroll-row .feat-card .feat-card-media { height: 180px !important; min-height: 0 !important; flex-shrink: 0; }
#section-spa .wl-scroll-row .feat-card .feat-card-body { padding: 16px !important; flex: 1; display: flex; flex-direction: column; justify-content: flex-start !important; }
#section-spa .wl-scroll-row .feat-card .feat-actions { margin-top: auto !important; }
@media (min-width: 900px) { #section-spa .dn-arrow { display: flex; } }

/* Rent a Vehicle - Rental terms & FAQ accordion (modal) */
.shcrm-rav-faq { margin-top: 6px; }
.shcrm-rav-faq-item { border-bottom: 1px solid #efeadd; }
.shcrm-rav-faq-item:first-child { border-top: 1px solid #efeadd; }
.shcrm-rav-faq-q { list-style: none; cursor: pointer; position: relative; padding: 12px 30px 12px 0; font-size: 13px; font-weight: 600; color: var(--text); line-height: 1.4; }
.shcrm-rav-faq-q::-webkit-details-marker { display: none; }
.shcrm-rav-faq-q::after { content: ""; position: absolute; right: 4px; top: 16px; width: 8px; height: 8px; border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); transform: rotate(45deg); transition: transform .2s ease; }
.shcrm-rav-faq-item[open] .shcrm-rav-faq-q::after { transform: rotate(-135deg); }
.shcrm-rav-faq-a { padding: 0 4px 14px 0; font-size: 13px; line-height: 1.6; color: var(--muted); }

/* Rent a Vehicle scroll-row: poravnaj lijevi rub s naslovom (kao act/tr/boats) - v3.34.422 */
#veh-scroll-row { padding-left: 0; }
/* Rent a Vehicle kartice (portal): bijela pozadina + prikaz cijelog vozila (contain) */
#veh-scroll-row .item-card-media { background: #fff; }
#veh-scroll-row .item-card-media img { object-fit: contain; padding: 12px; }
#veh-scroll-row .item-card-media img { transform: none; }
#veh-scroll-row .item-card:hover .item-card-media img { transform: scale(1.03); }

/* Rent a Vehicle modal (pojedinačno): bijela pozadina + prikaz cijelog vozila (contain) */
[data-modal-type="rent_a_vehicle"] .shcrm-mv-main { background: #fff; }
[data-modal-type="rent_a_vehicle"] .shcrm-mv-slide img { object-fit: contain; padding: 14px; }
[data-modal-type="rent_a_vehicle"] .shcrm-mv-thumb img { object-fit: contain; background: #fff; }

/* Rent a Vehicle modal: spojen u jedan prikaz (Details u Overview) → sakrij tab-bar (v3.34.412) */
[data-modal-type="rent_a_vehicle"] .mt-nav { display: none; }

/* Rent a Vehicle: inline forma (odabir modela) → sakrij donji sticky book-bar (v3.34.415) */
/* mobitel: „Enquire now" sticky gumb VIDLJIV (forma zatvorena, otvara se na gumb ili tap modela);
   na desktopu reflow sakrije cijeli .mt-wrap (sa sticky) pa nije potreban display:none */
[data-modal-type="rent_a_vehicle"] .shcrm-rav-inline-form { margin-top: 14px; }
/* Flota - kliknabilne kartice (odabir modela) */
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-card { cursor: pointer; position: relative; transition: border-color .15s, box-shadow .15s; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-card:hover { border-color: var(--gold); }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-card.selected { border-color: var(--gold); box-shadow: 0 0 0 2px var(--gold) inset, 0 4px 14px rgba(20,28,36,.08); background: #fbf7ec; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-check { position: absolute; top: -8px; right: -8px; width: 22px; height: 22px; border-radius: 50%; background: var(--gold); color: #fff; font-size: 13px; display: none; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-card.selected .shcrm-rav-fleet-check { display: flex; }
/* Model dropdown - istaknut kad je odabran (nije prazan) */
[data-modal-type="rent_a_vehicle"] .shcrm-rav-model-select { border-color: #d9c9a3; background: #fbf7ec; }

/* Restoran menu tabovi - folder stil (C1): aktivni = boja ploče + zlatni vrh, spojen s pločom (v3.34.429) */
.shcrm-menu-tabs { display: flex; gap: 5px; align-items: flex-end; flex-wrap: wrap; margin: 16px 0 0; }
.shcrm-menu-tab-btn { padding: 9px 15px; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; color: #8a8377; font-weight: 600; background: #efeae0; border: 1px solid #e2dccf; border-bottom: none; border-radius: 7px 7px 0 0; cursor: pointer; line-height: 1; -webkit-tap-highlight-color: transparent; }
.shcrm-menu-tab-btn.active { color: #1e2a35; background: #faf6ec; border-color: #e7dcc0; border-top: 3px solid var(--gold); padding-top: 11px; padding-bottom: 13px; position: relative; z-index: 2; margin-bottom: -1px; }
/* Ploča (folder body) - samo kad ima tabove (više menija); aktivni tab se spaja s njom */
.shcrm-menu-tabs ~ .shcrm-menu-panel { background: #faf6ec; border: 1px solid #e7dcc0; border-radius: 0 8px 8px 8px; padding: 8px 14px 14px; }
.shcrm-menu-tabs ~ .shcrm-menu-panel .shcrm-modal-price-block { background: transparent; border: none; padding: 0; margin: 0; }
.shcrm-menu-tabs ~ .shcrm-menu-panel .shcrm-price-row { border-bottom: 1px solid #ece3cf; }
.shcrm-menu-tabs ~ .shcrm-menu-panel .shcrm-price-row:last-child { border-bottom: none; }

/* Rent a Vehicle modal: standardizirane veličine fontova (kao act/tr/rab/pardo) - v3.34.418 */
[data-modal-type="rent_a_vehicle"] .shcrm-modal-section-title { font-size: 11px; margin: 22px 0 10px; }
[data-modal-type="rent_a_vehicle"] .shcrm-modal-info-row { font-size: 14px; }
[data-modal-type="rent_a_vehicle"] .shcrm-modal-desc { font-size: 14px; line-height: 1.6; }
[data-modal-type="rent_a_vehicle"] .shcrm-includes-list li { font-size: 14px; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-faq-q { font-size: 14px; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-faq-a { font-size: 14px; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-name { font-size: 15px; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-spec { font-size: 13px; }
[data-modal-type="rent_a_vehicle"] .shcrm-rav-fleet-note { font-size: 12px; }

/* Rent a Vehicle desktop/tablet reflow (≥900px, 3 kolone) - mobitel netaknut - v3.34.419/420
   Raspored: c1 slika+cijena+Details+FAQ · c2 opis+includes+flota · c3 forma */
.shcrm-dt-rav .shcrm-dc-media { background: #fff; }
.shcrm-dt-rav .shcrm-dc-media .shcrm-mv-slide img { object-fit: cover; padding: 0; }
.shcrm-dt-rav .shcrm-dc-form { position: static; align-self: stretch; }
.shcrm-dt-rav .shcrm-rav-fleet-grid { grid-template-columns: 1fr; }
.shcrm-dt-rav .shcrm-dc-fleet .shcrm-rav-fleet { margin-top: 0; }

/* ── Pardo PROMO (v3.34.515): vremenski ograničen popust - modal Services + featured kartica + boat overlay ── */
.shcrm-promo-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.shcrm-promo-head .shcrm-modal-price-lbl,.mt-wrap[id^="mt_prd_"] .shcrm-promo-head .shcrm-modal-price-lbl{margin-bottom:0}
.shcrm-promo-pill{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#1e2a35;color:#e9d9a8;padding:4px 9px;border-radius:var(--r);white-space:nowrap;line-height:1.3}
.shcrm-promo-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;background:#faf3df;color:#8a6d12;padding:1px 6px;border-radius:var(--r);margin-left:6px;line-height:1.5}
.shcrm-promo-price{display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap}
.shcrm-promo-old{font-size:11px;color:#9a9384;text-decoration:line-through}
.shcrm-promo-note{margin-top:10px;padding:8px 12px;background:#faf6ec;border-left:3px solid var(--gold);border-radius:0;font-size:11px;line-height:1.5;color:#6f6a60}
.shcrm-promo-note b{color:#8a6d12;font-weight:600}
.feat-badge.feat-badge-promo{left:auto;right:12px;background:#1e2a35;color:#e9d9a8}
.boat-feat-price{flex-wrap:wrap}
.boat-feat-price-old{font-size:14px;color:#9a9384;text-decoration:line-through;line-height:1}
.boat-feat-promo-note{width:100%;font-size:11px;color:#6f6a60;margin-top:4px;line-height:1.4}
.boat-meta-old{text-decoration:line-through;opacity:.7}
