
/* Dedicated cruise brochures • KevMo Travel • static Cloudflare Pages */
.cruise-detail-page{background:linear-gradient(180deg,#061328,#0c2447 46%,#071629);color:#fff}
.cruise-detail-page::before{background:radial-gradient(circle at 85% 0,rgba(245,184,75,.16),transparent 40%);}
.detail-header,.detail-shell,.detail-footer{max-width:1090px;margin:auto}
.detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #ffffff25}
.brand-link img{width:147px;height:auto;display:block}.back-link{font-weight:700;text-decoration:none;font-size:.92rem;color:#ffe3a8}
.detail-shell{padding:28px 20px 64px}.detail-hero{display:grid;grid-template-columns:minmax(270px,0.83fr) 1.17fr;gap:36px;align-items:center}
.detail-poster{overflow:hidden;border-radius:22px;box-shadow:0 30px 70px #0008;border:1px solid #ffffff36}
.detail-poster img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.detail-kicker,.detail-eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#ffd37a}
.detail-intro h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.98;max-width:15ch;letter-spacing:-.06em;margin:16px 0 14px}
.detail-subtitle{font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:700;color:#fff8e9;margin:0 0 14px}
.detail-lede{font-size:1.1rem;line-height:1.65;color:#d3dfec;margin:0 0 25px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#102846;border:1px solid #ffffff29;border-radius:17px;overflow:hidden;margin-bottom:18px}
.hero-stats>div{padding:15px;text-align:center;border-right:1px solid #ffffff2d}.hero-stats>div:last-child{border:0}.hero-stats strong{display:block;font-size:2rem;color:#ffcc73}.hero-stats span{font-size:.78rem;color:#cfdae8;letter-spacing:.08em;text-transform:uppercase}
.detail-datebox{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 25px}
.detail-datebox>div{padding:15px 14px;background:#fff1;border:1px solid #fff2;border-radius:12px}.detail-datebox span{display:block;font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;color:#bfcfe5;margin-bottom:7px}.detail-datebox strong{font-size:.95rem}
.detail-button{display:inline-flex;min-height:53px;align-items:center;justify-content:center;border-radius:100px;padding:14px 25px;text-align:center;text-decoration:none;color:#09152b;background:linear-gradient(110deg,#ffd47a,#f6a74b);font-weight:800;box-shadow:0 10px 30px #0003}
.detail-button:hover{filter:brightness(1.07)}.micro-note{font-size:.79rem;color:#afc0d0;line-height:1.5;margin:12px 0 0}
.detail-section{margin:42px 0 0;padding:37px;border-radius:22px;background:rgba(9,33,62,.68);border:1px solid #ffffff26}
.detail-section h2,.detail-cta h2{font-size:clamp(1.7rem,3.5vw,2.6rem);line-height:1.06;letter-spacing:-.04em;margin:9px 0 13px}.detail-section p{line-height:1.66;color:#cbd9e9}.section-lead p{margin:0 0 20px}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:12px}.day-row{display:flex;gap:18px;align-items:start;padding:12px;border-bottom:1px solid #ffffff24}.day-row:last-child{border:0}.day-tag{min-width:112px;background:#ffcc731e;border:1px solid #ffcc734a;border-radius:11px;padding:9px;color:#ffe2ab;text-align:center;font-weight:800}.day-tag small{display:block;font-size:.72rem;font-weight:500;margin-top:5px;color:#d5deea}.day-row div{padding-top:6px;min-width:0}.day-row strong{display:block;font-size:1.04rem}.day-row div span{display:block;margin-top:7px;color:#aebed0;font-size:.92rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px}.port-list,.detail-bullets{list-style:none;margin:19px 0;padding:0;display:grid;gap:15px}.port-list li,.detail-bullets li{line-height:1.48;padding:0 0 15px;border-bottom:1px solid #ffffff26}.pin{display:inline-block;color:#ffcc73;margin-right:12px}.detail-bullets li:before{content:'✦';color:#ffcc73;margin-right:10px}.detail-aside{border-left:3px solid #ffcc73;padding-left:14px;margin-top:18px}.glass-pane{background:#ffffff08;padding:22px;border:1px solid #ffffff20;border-radius:17px}
.cabin-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.cabin-tag{padding:12px 18px;background:#ffffff12;border:1px solid #ffffff35;border-radius:100px;font-size:.91rem}
.detail-cta{padding:42px;border-radius:25px;text-align:center;margin:42px 0;background:linear-gradient(135deg,#102d54,#0b1832);border:1px solid #ffcc734e}.detail-cta p{max-width:55ch;margin:0 auto 24px;color:#c9d8e8;line-height:1.6}.detail-cta .detail-button{min-width:255px}.detail-cta small{display:block;line-height:1.55;color:#a8bbd0;max-width:64ch;margin:18px auto 0}
.detail-footer{padding:20px 25px 45px;text-align:center;color:#afc0d0;font-size:.82rem}.detail-footer a{color:#ffcf80;text-decoration:none}.detail-footer span{margin:0 8px}.detail-footer p{line-height:1.6;margin:13px auto 0;max-width:85ch}
.theme-virgin .detail-kicker,.theme-virgin .detail-eyebrow,.theme-virgin .hero-stats strong{color:#ff9eaa}.theme-virgin .detail-button{background:linear-gradient(120deg,#ffb2bd,#fe6677)}
.theme-venezia .detail-kicker,.theme-venezia .detail-eyebrow{color:#ffe1a4}
@media(max-width:720px){.detail-header{padding:14px 16px}.brand-link img{width:116px}.back-link{font-size:.79rem}.detail-shell{padding:18px 12px 30px}.detail-hero{display:block}.detail-poster{max-width:460px;margin:auto}.detail-intro{padding:24px 6px 6px}.detail-intro h1{font-size:clamp(2.5rem,12vw,4.1rem)}.detail-lede{font-size:1rem}.detail-datebox{grid-template-columns:1fr 1fr}.detail-button{width:100%}.detail-section{margin-top:19px;padding:25px 19px}.two-col{display:block}.two-col>div+div{margin-top:25px}.day-tag{min-width:83px;font-size:.83rem}.day-row{gap:11px;padding:12px 0}.detail-cta{padding:31px 19px;margin:20px 0 35px}}

/* Editorial photo gallery */
.media-showcase{position:relative}.media-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}.media-photo{display:block;overflow:hidden;border-radius:18px;position:relative;min-height:255px;background:#17263d;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.16)}.media-photo img{width:100%;height:270px;object-fit:cover;display:block;transition:transform .35s ease}.media-photo:hover img{transform:scale(1.04)}.media-photo-text{position:absolute;bottom:0;left:0;right:0;padding:44px 16px 15px;background:linear-gradient(transparent,rgba(2,12,25,.95));display:grid;gap:5px}.media-photo-text strong{font-size:1.12rem}.media-photo-text small{font-size:.73rem;line-height:1.45;color:#e0e6ef}.media-explore{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid rgba(235,202,139,.3);border-radius:20px;background:linear-gradient(125deg,rgba(255,255,255,.08),rgba(231,187,105,.09));margin:24px 0}.media-explore h3{margin:7px 0;font-size:1.55rem}.media-explore p{margin:0;max-width:550px}.media-explore .detail-button{flex-shrink:0}.media-credit-note{font-size:.75rem;opacity:.75;line-height:1.5}@media(max-width:720px){.media-explore{display:block}.media-explore .detail-button{display:inline-block;margin-top:18px}.media-photo-grid{grid-template-columns:1fr 1fr}.media-photo img{height:225px}}@media(max-width:480px){.media-photo-grid{grid-template-columns:1fr}.media-photo img{height:255px}}

/* Media gallery visibility polish */
.media-showcase{border-color:rgba(255,207,128,.38);background:linear-gradient(140deg,rgba(22,51,83,.94),rgba(8,27,50,.94))}.media-photo:focus-visible{outline:3px solid #ffd47a;outline-offset:3px}.media-photo-grid .media-photo:first-child{grid-column:span 2}.media-photo-grid .media-photo:first-child img{height:340px}@media(max-width:720px){.media-photo-grid .media-photo:first-child{grid-column:span 2}}@media(max-width:480px){.media-photo-grid .media-photo:first-child{grid-column:span 1}}

.actual-ship-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.actual-ship-grid .media-photo{min-height:220px}.actual-ship-grid .media-photo img{object-fit:cover}@media(max-width:800px){.actual-ship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.actual-ship-grid{grid-template-columns:1fr}}

/* v6 gallery layout fix: figure cards previously had no sizing rules */
.media-photo-grid.actual-ship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;width:100%;max-width:100%}
.actual-ship-grid .media-photo-card{display:flex;flex-direction:column;min-width:0;width:100%;max-width:100%;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#14253c}
.actual-ship-grid .media-photo-card a{display:block;width:100%;overflow:hidden;aspect-ratio:4/3}
.actual-ship-grid .media-photo-card img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover}
.actual-ship-grid .media-photo-card figcaption{padding:12px 14px 14px;line-height:1.4;font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:800px){.media-photo-grid.actual-ship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.media-photo-grid.actual-ship-grid{grid-template-columns:minmax(0,1fr)}}

/* First Mate voyage-specific booking CTAs */
.booking-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.booking-actions .detail-button{margin:0}.booking-actions .detail-button-secondary{background:transparent;color:#f8e4b5;border:1px solid rgba(248,228,181,.65)}@media(max-width:540px){.booking-actions{flex-direction:column;align-items:stretch}.booking-actions .detail-button{text-align:center}}

/* v8: gallery images are intentionally non-clickable to keep visitors on KevMo Travel */
.actual-ship-grid .media-photo-card img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;display:block}

/* v9 gallery containment: matches figure.media-photo-card and unlinked img */
#photo-experience, #photo-experience * { box-sizing: border-box; }
#photo-experience { min-width:0; max-width:100%; overflow:hidden; }
#photo-experience .media-photo-grid.actual-ship-grid {
 display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
 gap:16px !important; width:100% !important; max-width:100% !important;
 align-items:stretch !important; overflow:hidden !important;
}
#photo-experience .actual-ship-grid > figure.media-photo-card {
 position:relative !important; display:flex !important; flex-direction:column !important;
 grid-column:auto !important; min-width:0 !important; max-width:100% !important;
 width:auto !important; height:auto !important; margin:0 !important;
 padding:0 !important; overflow:hidden !important;
 border:1px solid rgba(255,255,255,.17); border-radius:14px;
 background:#14253c;
}
#photo-experience .actual-ship-grid > figure.media-photo-card > img,
#photo-experience .actual-ship-grid > figure.media-photo-card > a > img {
 display:block !important; position:static !important; float:none !important;
 width:100% !important; max-width:100% !important;
 height:auto !important; max-height:none !important;
 aspect-ratio:4 / 3 !important; object-fit:cover !important;
 margin:0 !important; padding:0 !important; transform:none !important;
}
#photo-experience .actual-ship-grid > figure.media-photo-card > a { display:block; width:100%; aspect-ratio:4/3; overflow:hidden; }
#photo-experience .actual-ship-grid figcaption { position:static !important; display:block !important; padding:12px 14px !important; font-size:.88rem; line-height:1.4; overflow-wrap:anywhere; }
@media(max-width:800px) { #photo-experience .media-photo-grid.actual-ship-grid {grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
@media(max-width:540px) { #photo-experience .media-photo-grid.actual-ship-grid {grid-template-columns:minmax(0,1fr) !important;} }

/* v10: isolated single-photo carousel; does not inherit old gallery rules */
#photo-experience .kevmo-carousel{width:100%;max-width:100%;min-width:0;position:relative;overflow:hidden;margin:22px 0 10px}
#photo-experience .kevmo-carousel-viewport{width:100%;max-width:100%;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#091a30}
#photo-experience .kevmo-carousel-track{display:flex;align-items:stretch;width:100%;transform:translateX(0);transition:transform .35s ease;will-change:transform}
#photo-experience .kevmo-carousel-slide{display:block!important;position:relative!important;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#091a30}
#photo-experience .kevmo-carousel-slide img{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:clamp(210px,43vw,440px)!important;max-height:440px!important;min-height:0!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important;padding:0!important}
#photo-experience .kevmo-carousel-slide figcaption{position:static!important;display:block!important;padding:13px 18px!important;background:#122943;color:#f0f5fc;font-size:.93rem;line-height:1.5;text-align:center}
#photo-experience .kevmo-carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:15px 0 0}
#photo-experience .kevmo-carousel-controls button{border:1px solid #e5b869;background:#102943;color:#ffe0a4;border-radius:999px;min-width:45px;min-height:45px;font-size:1.5rem;cursor:pointer}
#photo-experience .kevmo-carousel-controls button:hover{background:#244667}
#photo-experience .kevmo-carousel-count{min-width:78px;text-align:center;color:#d5e1ed;font-weight:700;font-size:.93rem}
@media(max-width:540px){#photo-experience .kevmo-carousel-slide img{height:260px!important}}
@media(prefers-reduced-motion:reduce){#photo-experience .kevmo-carousel-track{transition:none}}
