.costa-theme{
  --costa-navy:#0b2130;--costa-blue:#123b53;--costa-gold:#c79d4f;--costa-gold-dark:#8d6b2e;
  --costa-cream:#f7f2e8;--costa-sand:#ece2d5;--costa-paper:#fffdfa;--costa-line:#dae3e7;
  --costa-text:#18384a;--costa-muted:#667b88;--costa-soft:#f5f7f8;
  color:var(--costa-text);background:#fff;overflow:hidden
}
.costa-theme *{box-sizing:border-box}
.costa-shell{width:min(1220px,calc(100% - 48px));margin:0 auto}
.costa-kicker{display:block;margin-bottom:12px;color:var(--costa-gold-dark);font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.costa-hero{position:relative;min-height:760px;display:flex;align-items:flex-end;overflow:hidden}
.costa-hero__media,.costa-hero__overlay{position:absolute;inset:0}
.costa-hero__media{background-size:cover;background-position:center center;transform:scale(1.02)}
.costa-hero__overlay{background:linear-gradient(180deg,rgba(5,20,31,.12) 0%,rgba(6,24,37,.54) 40%,rgba(9,30,44,.88) 100%)}
.costa-hero__content{position:relative;z-index:1;padding:118px 0 62px;color:#fff}
.costa-hero .costa-kicker{color:#e6d39c}
.costa-hero h1{margin:0;max-width:960px;font-size:clamp(52px,6vw,86px);line-height:.98;letter-spacing:-.05em;color:#fff}
.costa-hero h1 em,.costa-intro h2 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.costa-hero h1 em{font-size:.76em;color:#f4e2be}
.costa-hero p{max-width:830px;margin:24px 0 0;color:#edf4f6;font-size:19px;line-height:1.7}
.costa-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.costa-actions--stack{align-items:flex-start;flex-direction:column}
.costa-hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:920px;margin-top:42px}
.costa-hero__facts span{padding:18px 20px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:18px}
.costa-hero__facts strong{display:block;font-size:26px;color:#fff}
.costa-hero__facts small{display:block;margin-top:4px;color:#d4e0e6;font-size:12px;line-height:1.45}

.costa-localnav{background:#fff;border-bottom:1px solid #e4eaed;position:relative;z-index:4}
.costa-localnav .costa-shell{display:flex;overflow-x:auto;scrollbar-width:none}
.costa-localnav .costa-shell::-webkit-scrollbar{display:none}
.costa-localnav a{flex:0 0 auto;padding:16px 14px;font-size:12px;font-weight:800;color:#556c7a;text-decoration:none;border-bottom:2px solid transparent}
.costa-localnav a:hover{background:#fbf8f2;color:var(--costa-navy);border-bottom-color:var(--costa-gold)}

.costa-section{padding:92px 0}.costa-section--white{background:#fff}.costa-section--cream{background:var(--costa-cream)}.costa-section--sand{background:var(--costa-sand)}.costa-section--navy{background:var(--costa-navy);color:#fff}
.costa-intro{max-width:980px;margin-bottom:38px}.costa-intro--center{text-align:center;margin-left:auto;margin-right:auto}
.costa-intro h2,.costa-advice h2{margin:0;color:var(--costa-navy);font-size:clamp(35px,4.8vw,58px);line-height:1.07;letter-spacing:-.04em}
.costa-intro h2 em{color:#a06044}.costa-intro p{margin:18px 0 0;color:var(--costa-muted);font-size:17px;line-height:1.75}
.costa-intro--light h2,.costa-advice h2{color:#fff}.costa-intro--light p,.costa-advice p{color:#d0dde3}.costa-section--navy .costa-kicker,.costa-advice .costa-kicker{color:#e5cf93}

.costa-reasons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.costa-reasons article{min-height:235px;padding:24px;border-top:2px solid var(--costa-gold);background:#fff}
.costa-reasons span{font-size:10px;font-weight:900;color:#957434}
.costa-reasons strong{display:block;margin-top:18px;color:var(--costa-navy);font-size:17px;line-height:1.35}.costa-reasons p{margin:10px 0 0;color:var(--costa-muted);font-size:13px;line-height:1.6}

.costa-tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.costa-tariff-grid article{padding:26px;border:1px solid #dde5e8;border-top:3px solid #8798a1;border-radius:20px;background:#fcfcfc}
.costa-tariff-grid article.is-featured{background:#fbf4e7;border-top-color:var(--costa-gold)}
.costa-tariff-grid article>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:#8f6c2f}
.costa-tariff-grid h3{margin:10px 0 14px;color:var(--costa-navy);font-size:24px;line-height:1.12}
.costa-tariff-grid ul{margin:0;padding-left:18px;color:var(--costa-muted);line-height:1.7}
.costa-tariff-grid p{margin:16px 0 0;color:#395366;line-height:1.65}

.costa-live-slideshow>.cc-editor-block{margin:0!important}

.costa-ship-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.costa-ship-jump button{border:1px solid #d8e1e5;background:#fff;border-radius:999px;padding:10px 14px;font-size:12px;font-weight:800;color:#35586d;cursor:pointer}
.costa-ship-jump button:hover,.costa-ship-jump button.is-active{border-color:var(--costa-gold);background:#fbf4e7;color:var(--costa-navy)}
.costa-ship-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.costa-ship-card{position:relative;display:flex;align-items:flex-end;min-height:270px;padding:18px;border:none;border-radius:22px;overflow:hidden;background:#e1e7ea;cursor:pointer;text-align:left;isolation:isolate}
.costa-ship-card::before{content:'';position:absolute;inset:0;background-image:var(--ship-image);background-size:cover;background-position:center;transform:scale(1.03);transition:transform .35s ease;z-index:-2}
.costa-ship-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,22,32,.04) 0%,rgba(7,20,31,.18) 40%,rgba(8,22,32,.8) 100%);z-index:-1}
.costa-ship-card:hover::before,.costa-ship-card.is-active::before{transform:scale(1.08)}
.costa-ship-card__meta{width:100%}
.costa-ship-card strong{display:block;font-size:28px;line-height:1.02;color:#fff;letter-spacing:-.03em}
.costa-ship-card span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;margin-bottom:12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.costa-ship-card p{margin:10px 0 0;color:#ebf2f6;font-size:13px;line-height:1.55}

.costa-ship-stage{margin-top:22px;border:1px solid #d9e1e5;border-radius:28px;background:var(--costa-paper);overflow:hidden}
.costa-ship-stage__empty{padding:36px;text-align:center;color:var(--costa-muted)}
.costa-ship-stage__empty strong{display:block;color:var(--costa-navy);font-size:22px}
.costa-ship-panel{display:grid;grid-template-columns:1.05fr .95fr;min-height:580px}
.costa-ship-panel__image{min-height:100%;background-size:cover;background-position:center}
.costa-ship-panel__content{padding:34px}
.costa-ship-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.costa-ship-topline .costa-kicker{margin:0;color:#946e2c}
.costa-ship-title{margin:10px 0 8px;color:var(--costa-navy);font-size:48px;line-height:1;letter-spacing:-.04em}
.costa-ship-subline{margin:0 0 18px;color:#567180;font-size:18px;line-height:1.6}
.costa-ship-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.costa-ship-stats span{padding:7px 12px;border-radius:999px;background:#f3f1eb;color:#745520;font-size:11px;font-weight:800}
.costa-ship-panel__content details{border-top:1px solid #e4eaed;padding:14px 0}
.costa-ship-panel__content summary{list-style:none;cursor:pointer;font-size:14px;font-weight:900;color:var(--costa-navy);display:flex;justify-content:space-between;align-items:center}
.costa-ship-panel__content summary::-webkit-details-marker{display:none}
.costa-ship-panel__content summary::after{content:'+';font-size:20px;color:#8d6b2e}
.costa-ship-panel__content details[open] summary::after{content:'−'}
.costa-ship-panel__content p{margin:12px 0 0;color:var(--costa-muted);font-size:15px;line-height:1.74}
.costa-ship-panel__content ul{margin:12px 0 0;padding-left:18px;color:var(--costa-muted);line-height:1.7}
.costa-ship-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.costa-ship-links a,.costa-ship-links button{border:1px solid #d6dfe3;border-radius:999px;background:#fff;padding:11px 16px;font-size:12px;font-weight:800;color:#35576b;text-decoration:none;cursor:pointer}
.costa-ship-links a:hover,.costa-ship-links button:hover{border-color:var(--costa-gold);background:#fbf4e7;color:var(--costa-navy)}

.costa-dining-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.costa-dining-grid article{padding:24px;border:1px solid rgba(255,255,255,.14);border-top:2px solid var(--costa-gold);background:#103248}
.costa-dining-grid strong{display:block;color:#fff;font-size:18px}.costa-dining-grid p{margin:10px 0 0;color:#c8d7de;font-size:14px;line-height:1.63}

.costa-sea-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.costa-sea-grid article,.costa-family-grid article,.costa-wellness-grid article{padding:24px;border-top:2px solid var(--costa-gold);background:#fff}
.costa-sea-grid strong,.costa-family-grid strong,.costa-wellness-grid strong{display:block;color:var(--costa-navy);font-size:18px}
.costa-sea-grid p,.costa-family-grid p,.costa-wellness-grid p{margin:10px 0 0;color:var(--costa-muted);font-size:14px;line-height:1.63}
.costa-family-grid article>span{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8d6b2e;margin-bottom:6px}
.costa-family-grid,.costa-wellness-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

.costa-advice{display:grid;grid-template-columns:1.35fr .65fr;gap:36px;align-items:start}.costa-advice .cc-home-btn{width:auto!important;min-height:46px}
.costa-textlink{color:#ead39c!important;text-decoration:none;font-weight:800;border-bottom:1px solid rgba(234,211,156,.4);padding-bottom:2px}
.costa-legal{grid-column:1/-1;margin:10px 0 0!important;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);color:#9fb2be!important;font-size:12px;line-height:1.7}

@media (max-width:1180px){
  .costa-reasons{grid-template-columns:repeat(3,minmax(0,1fr))}
  .costa-ship-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .costa-ship-panel{grid-template-columns:1fr}
  .costa-ship-panel__image{min-height:360px}
  .costa-dining-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .costa-sea-grid,.costa-family-grid,.costa-wellness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .costa-advice{grid-template-columns:1fr}
}
@media (max-width:860px){
  .costa-shell{width:min(100% - 30px,1220px)}
  .costa-hero{min-height:720px}
  .costa-hero__content{padding:84px 0 46px}
  .costa-hero h1{font-size:46px}
  .costa-hero p{font-size:16px}
  .costa-hero__facts{grid-template-columns:1fr}
  .costa-tariff-grid,.costa-ship-grid,.costa-dining-grid,.costa-sea-grid,.costa-family-grid,.costa-wellness-grid,.costa-reasons{grid-template-columns:1fr}
  .costa-ship-panel__image{min-height:280px}
  .costa-ship-title{font-size:38px}
  .costa-section{padding:68px 0}
}

/* Costa V1.2 – Fleet Overlay & Usability */
.costa-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.costa-ship-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.costa-ship-card{position:relative;display:grid;grid-template-rows:190px auto;padding:0;min-height:0;border:1px solid #dbe3e7;border-radius:20px;overflow:hidden;background:#fff;cursor:pointer;text-align:left;box-shadow:0 10px 28px rgba(11,33,48,.06);transition:.2s ease}
.costa-ship-card::before,.costa-ship-card::after{display:none!important}
.costa-ship-card:hover,.costa-ship-card:focus-visible{transform:translateY(-3px);border-color:#c9ad73;box-shadow:0 16px 36px rgba(11,33,48,.11);outline:none}
.costa-ship-card__image{display:grid;place-items:center;width:100%;background:linear-gradient(180deg,#eef5f8,#e2edf2);overflow:hidden}
.costa-ship-card__image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.costa-ship-card__meta{display:block;width:100%;padding:17px 18px 18px}
.costa-ship-card span{display:inline-block;padding:0;margin:0 0 7px;border:0;border-radius:0;background:transparent;color:#8b692d;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.costa-ship-card strong{display:block;color:var(--costa-navy);font-size:22px;line-height:1.08;letter-spacing:-.025em}
.costa-ship-card p{margin:9px 0 0;color:var(--costa-muted);font-size:12px;line-height:1.55}
.costa-ship-card__cta{display:inline-flex!important;align-items:center;gap:6px;margin-top:12px!important;color:#6f5421!important;font-size:11px!important;font-weight:900!important;letter-spacing:0!important;text-transform:none!important}.costa-ship-card__cta::after{content:'→'}
.costa-ship-jump button::after{content:'›';margin-left:6px;color:#9a7531}
.costa-ship-stage{display:none!important}
.costa-ship-modal{width:min(1180px,calc(100vw - 34px));max-width:none;max-height:min(900px,calc(100vh - 34px));padding:0;border:0;border-radius:28px;overflow:hidden;background:#fff;color:var(--costa-text);box-shadow:0 28px 90px rgba(2,17,28,.34)}
.costa-ship-modal::backdrop{background:rgba(4,18,28,.72);backdrop-filter:blur(5px)}
.costa-ship-modal__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);min-height:620px;max-height:min(900px,calc(100vh - 34px))}
.costa-ship-modal__media{display:grid;place-items:center;min-width:0;background:linear-gradient(180deg,#eef5f8,#dfeaf0);padding:26px}
.costa-ship-modal__media img{display:block;width:100%;height:100%;max-height:calc(100vh - 86px);object-fit:contain;object-position:center}
.costa-ship-modal__content{position:relative;padding:32px 34px 34px;overflow:auto;overscroll-behavior:contain}
.costa-ship-modal__close{position:absolute;top:18px;right:18px;z-index:4;width:40px;height:40px;display:grid;place-items:center;border:1px solid #d5dee2;border-radius:50%;background:#fff;color:var(--costa-navy);font-size:24px;cursor:pointer;box-shadow:0 4px 14px rgba(9,28,41,.12)}
.costa-ship-modal__eyebrow{margin:0 50px 8px 0;color:#8b692d;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.costa-ship-modal h3{margin:0 50px 8px 0;color:var(--costa-navy);font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.04em}
.costa-ship-modal__lead{margin:0 0 17px;color:#56717f;font-size:17px;line-height:1.65}
.costa-ship-modal__tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px}.costa-ship-modal__tags span{padding:7px 10px;border-radius:999px;background:#f4f0e8;color:#70531f;font-size:10px;font-weight:850}
.costa-ship-modal details{border-top:1px solid #e2e8eb;padding:15px 0}.costa-ship-modal summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--costa-navy);font-size:14px;font-weight:900;cursor:pointer}.costa-ship-modal summary::-webkit-details-marker{display:none}.costa-ship-modal summary::after{content:'+';color:#8a682d;font-size:20px}.costa-ship-modal details[open] summary::after{content:'−'}
.costa-ship-modal details p{margin:11px 0 0;color:var(--costa-muted);line-height:1.68}.costa-ship-modal details ul{margin:11px 0 0;padding-left:18px;color:var(--costa-muted);line-height:1.7}
.costa-ship-modal__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.costa-ship-modal__actions a,.costa-ship-modal__actions button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid #d4dde1;border-radius:999px;background:#fff;color:#31566b;text-decoration:none;font-size:11px;font-weight:900;cursor:pointer}.costa-ship-modal__actions a:first-child{border-color:#c9a55e;background:#c9a55e;color:#0b2130}
.costa-ship-modal__nav{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #e3e9ec}.costa-ship-modal__nav button{border:0;background:transparent;padding:5px 0;color:#566f7e;font-size:11px;font-weight:850;cursor:pointer}.costa-modal-open{overflow:hidden}
.costa-theme a:focus-visible,.costa-theme button:focus-visible,.costa-theme summary:focus-visible{outline:3px solid rgba(196,160,90,.55);outline-offset:3px}
@media(max-width:860px){.costa-hero{display:block;min-height:0;background:var(--costa-navy)}.costa-hero__media{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;background:#e6eef2}.costa-hero__overlay{display:none}.costa-hero__content{padding:35px 0 42px;background:var(--costa-navy)}.costa-ship-grid{grid-template-columns:1fr}.costa-ship-card{grid-template-rows:minmax(210px,48vw) auto}.costa-ship-modal{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:20px}.costa-ship-modal__layout{display:block;max-height:calc(100vh - 16px);overflow:auto}.costa-ship-modal__media{padding:14px}.costa-ship-modal__media img{width:100%;height:auto;max-height:46vh;object-fit:contain}.costa-ship-modal__content{overflow:visible;padding:26px 20px 28px}.costa-ship-modal__close{position:fixed;top:20px;right:18px}.costa-ship-modal h3{font-size:36px}.costa-ship-modal__lead{font-size:15px}}
