/* ============================================================
   Antarctica Cruising (Coastal Cruises) - Site Stylesheet
   css/site-2026.css
   ------------------------------------------------------------
   Shared styles for the 2026 site design.
   Load on every page: <link href="css/site-2026.css" rel="stylesheet">
   Theme colour and all shared values are set as variables in :root.
   Same design system as norwegiancoastalcruises.com, with blue (#0066ff)
   in place of the Norwegian site's red.
   ============================================================ */

:root{
  --brand:#0066FF;
  --brand-deep:#0047B3;
  --ink:#1B1D22;
  --slate:#3C4A54;
  --mist:#8A959C;
  --ice:#F4F6F7;
  --frost:#E4E9EB;
  --paper:#FFFFFF;
  --gold:#B99A5B;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{font-family:'Source Serif 4',Georgia,serif;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:2px;}

.eyebrow{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);}

/* ===== Utility bar ===== */
.utilitybar{background:var(--brand-deep);color:#fff;font-family:'Archivo',sans-serif;font-size:12.5px;letter-spacing:.04em;}
.utilitybar .wrap{max-width:1180px;margin:0 auto;padding:8px 24px;display:flex;justify-content:flex-end;gap:26px;}
.utilitybar a{color:#fff;}
.utilitybar a:hover{color:var(--frost);text-decoration:none;}

/* ===== Header ===== */
.siteheader{background:var(--paper);border-bottom:1px solid var(--frost);position:sticky;top:0;z-index:80;}
.siteheader .wrap{max-width:1180px;margin:0 auto;padding:20px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.logo img{height:62px;width:auto;}
.headphone{text-align:right;}
.headphone a{font-family:'Newsreader',serif;font-size:27px;font-weight:600;color:var(--ink);letter-spacing:.01em;}
.headphone a:hover{color:var(--brand);text-decoration:none;}
.headphone span{display:block;font-family:'Archivo',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);margin-top:2px;}

/* ===== Nav ===== */
.mainnav{background:var(--paper);border-bottom:3px solid var(--brand);position:sticky;top:64px;z-index:70;}
.mainnav .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.navtoggle{display:none;}
.navtoggle-label{display:none;font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:14px 0;cursor:pointer;color:var(--ink);}
nav.menu > ul{list-style:none;display:flex;gap:2px;}
nav.menu > ul > li{position:relative;}
nav.menu > ul > li > a{display:block;font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:16px 18px;}
nav.menu > ul > li > a:hover,nav.menu > ul > li:hover > a{background:var(--brand);color:#fff;text-decoration:none;}
/* Current page highlighting, driven by the body id on each page */
#page-home #nav-home > a,
#page-voyages #nav-voyages > a,
#page-destinations #nav-destinations > a,
#page-ships #nav-ships > a,
#page-info #nav-info > a,
#page-company #nav-company > a{color:var(--brand);}
#page-home #nav-home:hover > a,
#page-voyages #nav-voyages:hover > a,
#page-destinations #nav-destinations:hover > a,
#page-ships #nav-ships:hover > a,
#page-info #nav-info:hover > a,
#page-company #nav-company:hover > a{color:#fff;}
nav.menu ul ul{list-style:none;position:absolute;top:100%;left:0;min-width:280px;background:#fff;border:1px solid var(--frost);border-top:3px solid var(--brand);box-shadow:0 14px 34px rgba(27,29,34,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease;z-index:70;}
nav.menu li:hover > ul,nav.menu ul ul li:hover > ul{opacity:1;visibility:visible;transform:translateY(0);}
nav.menu ul ul li{position:relative;}
nav.menu ul ul a{display:block;padding:11px 18px;font-family:'Archivo',sans-serif;font-size:13px;color:var(--ink);border-bottom:1px solid var(--ice);}
nav.menu ul ul a:hover{background:var(--ice);color:var(--brand);text-decoration:none;}
nav.menu ul ul ul{top:-3px;left:100%;}
nav.menu .has-sub > a::after{content:"\203A";margin-left:8px;color:var(--mist);}
nav.menu ul ul .has-sub > a::after{float:right;}

/* ===== Hero ===== */
.hero{position:relative;background:var(--brand);color:#fff;min-height:430px;overflow:hidden;}
/* The text sits in the same centered 1180px container as the rest of the page.
   The image is pinned to the right half, so the text column never changes width. */
.hero-panel{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;min-height:430px;}
.hero-panel .inner{padding:56px 0;max-width:410px;position:relative;z-index:2;}
.hero-panel .eyebrow{color:#D6E6FF;margin-bottom:16px;}
.hero-panel h1{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.01em;margin-bottom:18px;}
.hero-panel p{font-size:17px;line-height:1.6;color:#EEF4FF;max-width:46ch;}
.hero-image{position:absolute;top:0;right:0;bottom:0;width:calc(50% + 90px);background-position:center;background-size:cover;background-repeat:no-repeat;}
/* Set the image itself per page, e.g. <div class="hero-image" style="background-image:url('/images/your-image.jpg')"> */

/* ===== Jump strip ===== */
.jumpstrip{background:var(--ice);border-bottom:1px solid var(--frost);}
.jumpstrip .wrap{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-family:'Archivo',sans-serif;font-size:13px;letter-spacing:.06em;}
.jumpstrip strong{font-weight:600;text-transform:uppercase;letter-spacing:.18em;font-size:11.5px;color:var(--slate);}
.jumpstrip a{color:var(--ink);border-bottom:2px solid var(--brand);padding-bottom:2px;}
.jumpstrip a:hover{color:var(--brand);text-decoration:none;}

/* ===== Offers ===== */
.offers{max-width:1180px;margin:0 auto;padding:64px 24px 24px;}
.offers-intro{max-width:70ch;margin-bottom:56px;}
.offers-intro h2{font-family:'Newsreader',serif;font-weight:500;font-size:30px;margin:10px 0 14px;}
.offers-intro p{margin-bottom:14px;}
.offers-intro p:last-child{margin-bottom:0;}
.offer{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;border:1px solid var(--frost);margin-bottom:52px;background:#fff;}
.offer.flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
.offer-body{padding:44px 48px;border-top:4px solid var(--brand);}
.offer-body h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(25px,2.6vw,33px);line-height:1.15;margin:12px 0 8px;}
.offer-route{font-family:'Archivo',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:18px;}
.offer-body p{margin-bottom:14px;max-width:60ch;}
.price{display:flex;align-items:baseline;gap:12px;margin:22px 0 6px;padding-top:20px;border-top:1px dotted var(--frost);}
.price .amount{font-family:'Newsreader',serif;font-size:40px;font-weight:600;color:var(--brand);line-height:1;}
.price .per{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);}
.validity{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);background:var(--ice);display:inline-block;padding:6px 12px;margin-bottom:22px;}
.offer-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.btn{display:inline-block;background:var(--brand);color:#fff;font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:14px 26px;transition:background .15s ease;}
.btn-light{display:inline-block;background:#fff;color:var(--ink);border:1px solid var(--frost);font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:13px 25px;transition:border-color .15s ease;}
.btn-light:hover{border-color:var(--brand);color:var(--brand);text-decoration:none;}

/* ===== Timed newsletter popover ===== */
.nlpop-overlay{position:fixed;inset:0;background:rgba(27,29,34,.55);z-index:9000;display:none;align-items:center;justify-content:center;padding:20px;}
.nlpop-overlay.is-open{display:flex;}
.nlpop-box{position:relative;background:#fff;max-width:440px;width:100%;padding:40px 36px 36px;text-align:center;border-top:4px solid var(--brand);box-shadow:0 20px 60px rgba(0,0,0,.25);}
.nlpop-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:22px;line-height:1;color:var(--slate);cursor:pointer;padding:6px;}
.nlpop-close:hover{color:var(--brand);}
.nlpop-box h2{font-family:'Newsreader',serif;font-weight:500;font-size:24px;margin:6px 0 10px;}
.nlpop-box p{font-size:15px;color:var(--slate);margin:0 0 20px;}
.nlpop-box input[type="text"]{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid var(--frost);font-family:'Source Serif 4',serif;font-size:15px;margin-bottom:12px;}
.nlpop-box input[type="submit"]{width:100%;background:var(--brand);color:#fff;border:none;font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:13px;cursor:pointer;}
.nlpop-box input[type="submit"]:hover{background:var(--brand-deep);}
.nlpop-box .privline{font-size:12px;color:var(--slate);margin:12px 0 0;}
.btn:hover{background:var(--brand-deep);color:#fff;text-decoration:none;}
.callnote{font-family:'Archivo',sans-serif;font-size:13.5px;color:var(--slate);}
.callnote a{font-weight:600;color:var(--ink);}
.offer-media{min-height:320px;}
.offer-media img{width:100%;height:100%;object-fit:cover;}
table.faretable .inclnote{display:block;font-family:'Source Serif 4',serif;font-size:13px;font-weight:400;line-height:1.45;color:var(--slate);margin-top:3px;text-transform:none;letter-spacing:0;}
table.incltable{table-layout:fixed;}
table.incltable td:first-child,table.incltable th:first-child{width:auto;}
table.incltable td:not(:first-child),table.incltable th:not(:first-child){text-align:center;white-space:nowrap;font-weight:600;}
table.incltable th .colnote{display:block;white-space:normal;font-family:'Source Serif 4',serif;font-size:11.5px;font-weight:400;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--slate);margin-top:4px;}
.smallterms{font-size:14px;color:var(--slate);border-left:3px solid var(--frost);padding-left:16px;margin-top:20px;}
.smallterms em{font-style:normal;}
ul.offerlist{list-style:none;margin:0 0 16px;}
ul.offerlist li{padding:9px 0 9px 26px;border-bottom:1px solid var(--ice);position:relative;}
ul.offerlist li::before{content:"";position:absolute;left:0;top:17px;width:12px;height:2px;background:var(--brand);}

/* Article layout: on text-heavy pages (main class="offers article") the reading
   column is centered instead of hugging the left edge. Blocks that benefit from
   more room (video, fare tables) get class "offers-intro wide". */
main.article .offers-intro{margin-left:auto;margin-right:auto;}
main.article .offers-intro.wide{max-width:960px;}
.offers-intro.wide{max-width:960px;}
.offers-intro.wide > p:not(.smallterms){max-width:70ch;}

.offers-intro h3{font-family:'Newsreader',serif;font-weight:600;font-size:20px;margin:28px 0 8px;}
table.pricetable{border-collapse:collapse;margin:14px 0 8px;font-size:15.5px;min-width:320px;}
table.pricetable th{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:left;color:var(--slate);background:var(--ice);padding:9px 14px;}
table.pricetable td{padding:9px 14px;border-bottom:1px solid var(--ice);}
table.pricetable td:last-child{text-align:right;font-weight:600;}

/* ===== Cabin & category tables ===== */
table.pricetable tr.catrow td{background:var(--brand);color:#fff;font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;text-align:left;white-space:normal;}
table.cabintable td:first-child{font-weight:600;}
table.cabintable:not(.faretable) td:first-child{white-space:nowrap;}
table.faretable:not(.cabintable) th:first-child,table.faretable:not(.cabintable) td:first-child{white-space:nowrap;}
table.cabintable th:nth-child(4),table.cabintable td:nth-child(4){white-space:nowrap;width:90px;}
table.cabintable th:nth-child(2),table.cabintable td:nth-child(2){width:130px;}

/* ===== Fare tables, tabs, video, day itineraries ===== */
.tablewrap{overflow-x:auto;margin:6px 0 10px;}
.tablewrap table.pricetable{min-width:640px;width:100%;}
.tablewrap table.datatable{min-width:0;}
.yeartabs{margin:20px 0 0;}
.yeartabs input{position:absolute;opacity:0;}
.yeartabs label{display:inline-block;font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.1em;padding:11px 26px;border:1px solid var(--frost);border-bottom:none;cursor:pointer;background:var(--ice);color:var(--slate);}
.yeartabs input:checked + label{background:var(--brand);border-color:var(--brand);color:#fff;}
.yeartabs input:focus-visible + label{outline:3px solid var(--brand);outline-offset:2px;}
.yeartabs .panels{border:1px solid var(--frost);padding:16px 18px 8px;}
.yeartabs .yearpanel{display:none;}
/* 12 month tabs, reusing the .yeartabs mechanism */
.yeartabs.monthtabs label{padding:9px 15px;font-size:12.5px;letter-spacing:.06em;}
#m01:checked ~ .panels #pm01,#m02:checked ~ .panels #pm02,#m03:checked ~ .panels #pm03,#m04:checked ~ .panels #pm04,#m05:checked ~ .panels #pm05,#m06:checked ~ .panels #pm06,#m07:checked ~ .panels #pm07,#m08:checked ~ .panels #pm08,#m09:checked ~ .panels #pm09,#m10:checked ~ .panels #pm10,#m11:checked ~ .panels #pm11,#m12:checked ~ .panels #pm12{display:block;}
table.schedtable tr.gone td{color:var(--mist);}
#y2026:checked ~ .panels #p2026{display:block;}
#y2027:checked ~ .panels #p2027{display:block;}
#y2028:checked ~ .panels #p2028{display:block;}
details.exlist{margin:6px 0 10px;}
details.exlist summary{cursor:pointer;font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.06em;color:var(--brand);padding:4px 0;}
details.exlist summary:hover{text-decoration:underline;}
details.exlist ul{list-style:none;margin:8px 0 4px;}
details.exlist li{padding:6px 0 6px 22px;border-bottom:1px solid var(--ice);position:relative;font-size:15.5px;}
details.exlist li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:2px;background:var(--brand);}
.videowrap{position:relative;padding-top:56.25%;margin:10px 0 8px;background:var(--ink);}
.videowrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.figrow{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:38px 0;}
.figrow figure{margin:0;}
.figrow figcaption{font-family:'Archivo',sans-serif;font-size:12.5px;letter-spacing:.06em;color:var(--slate);padding-top:8px;border-bottom:2px solid var(--brand);padding-bottom:8px;}
.day{border-left:3px solid var(--frost);padding-left:22px;margin-bottom:34px;}
.day:hover{border-left-color:var(--brand);}
.grade-legend{font-size:13.5px;color:var(--slate);font-family:'Archivo',sans-serif;margin:10px 0 4px;}
.offer-body h3{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(22px,2.3vw,27px);line-height:1.15;margin:10px 0 8px;}
/* Fare tables: numeric columns aligned right with equal widths on desktop */
table.faretable{width:100%;}
table.faretable:not(.pkgtable) th+th,table.faretable:not(.pkgtable) td+td{text-align:right;width:18.5%;}
table.pkgtable th+th,table.pkgtable td+td{text-align:left;width:auto;}
table.pkgtable th:last-child,table.pkgtable td:last-child{text-align:right;}
/* Plain data tables (climate, schedules): no bold/right-aligned last column */
table.datatable td:last-child,table.datatable th:last-child{text-align:left;font-weight:400;}
/* All fare prices share the same weight: normal "from", semi-bold price */
table.faretable td:last-child{font-weight:400;}
table.faretable strong{font-weight:600;}

ol.condlist{margin:6px 0 14px 22px;}
ol.condlist li{padding:5px 0 5px 6px;margin-bottom:2px;}
ol.condlist.roman{list-style-type:lower-roman;}
ol.condlist.alpha{list-style-type:lower-alpha;}
.condscale{font-size:15.5px;margin:10px 0;}
.condscale strong{font-family:'Archivo',sans-serif;font-size:13px;letter-spacing:.04em;}


/* ===== Legal / booking conditions ===== */
table.bankdetails{max-width:460px;}
table.bankdetails th[colspan]{background:var(--brand);color:#fff;font-size:11px;}
table.bankdetails td:first-child{color:var(--slate);width:44%;}
table.bankdetails td:last-child{font-weight:600;text-align:left;}

main.legal h2.clause{font-family:'Newsreader',serif;font-weight:500;font-size:20px;line-height:1.25;margin:34px 0 10px;padding-top:20px;border-top:1px solid var(--frost);}
main.legal h2.clause:first-of-type{border-top:none;padding-top:0;}
main.legal h3{font-family:'Archivo',sans-serif;font-size:14px;font-weight:600;letter-spacing:.04em;margin:20px 0 8px;color:var(--slate);}
main.legal p{margin-bottom:12px;font-size:16px;}
main.legal ul{list-style:none;margin:6px 0 14px;}
main.legal li{padding:6px 0 6px 22px;position:relative;font-size:16px;}
main.legal li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:2px;background:var(--brand);}
main.legal ol.condlist li{padding-left:6px;}
main.legal ol.condlist li::before{display:none;}
.legal-intro{background:var(--ice);border-left:3px solid var(--brand);padding:18px 20px;margin:0 0 30px;font-size:15.5px;}
.legal-intro p{margin-bottom:8px;}
.covidwrap{margin-top:40px;border-top:3px solid var(--frost);padding-top:8px;}


/* ===== Cabin category cards ===== */
.catcards{max-width:1180px;margin:0 auto 30px;padding:0 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.catcard{border:1px solid var(--frost);background:#fff;display:flex;flex-direction:column;}
.catcard img{width:100%;height:220px;object-fit:cover;}
.catcard-ph{width:100%;height:220px;background:repeating-linear-gradient(45deg,var(--ice),var(--ice) 12px,var(--frost) 12px,var(--frost) 24px);display:flex;align-items:center;justify-content:center;}
.catcard-ph span{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);text-align:center;line-height:1.6;background:rgba(255,255,255,.8);padding:8px 14px;}
.catcard-body{padding:20px 22px 24px;border-top:3px solid var(--brand);}
.catcard-body h3{font-family:'Newsreader',serif;font-weight:500;font-size:23px;margin:0 0 8px;}
.catcard-body p{margin:0;font-size:15.5px;color:var(--slate);}
@media (max-width:760px){
  .catcards{grid-template-columns:1fr;}
}


/* ===== Voyage cards (hub pages, e.g. Voyages landing) ===== */
.voyagecards{max-width:1180px;margin:0 auto 20px;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
a.voyagecard{display:flex;flex-direction:column;border:1px solid var(--frost);background:#fff;color:var(--ink);}
a.voyagecard:hover{border-color:var(--brand);text-decoration:none;}
a.voyagecard img{width:100%;height:190px;object-fit:cover;}
a.voyagecard .catcard-ph{height:190px;}
.voyagecard-body{padding:20px 22px 22px;border-top:3px solid var(--brand);display:flex;flex-direction:column;flex:1;}
.voyagecard-body h3{font-family:'Newsreader',serif;font-weight:500;font-size:21px;margin:0 0 6px;}
.voyagecard-route{font-family:'Archivo',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:10px;}
.voyagecard-body p{font-size:15px;color:var(--slate);margin-bottom:16px;}
.voyagecard-more{font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-top:auto;}
@media (max-width:900px){.voyagecards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.voyagecards{grid-template-columns:1fr;}}

.extendgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.extendgrid h3{font-family:'Newsreader',serif;font-weight:600;font-size:17px;margin-bottom:10px;}
@media (max-width:700px){.extendgrid{grid-template-columns:1fr;gap:36px;}}

/* ===== Ship feature cards (individual ship pages) ===== */
.shipcards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin:0 0 12px;}
.shipcard{border:1px solid var(--frost);background:#fff;}
.shipcard img,.shipcard .catcard-ph{width:100%;height:240px;object-fit:cover;margin:0;}
.shipcard-body{padding:24px 28px 28px;border-top:4px solid var(--brand);}
.shipcard-body h3{font-family:'Newsreader',serif;font-weight:500;font-size:22px;margin:0 0 10px;}
.shipcard-body p{margin:0;font-size:15.5px;color:var(--slate);}
@media (max-width:700px){.shipcards{grid-template-columns:1fr;}}

/* ===== Contact form (styles the existing untouched form markup) ===== */
.contactform ol{list-style:none;margin:0;padding:0;}
.contactform li{margin-bottom:18px;}
.contactform li.buttons{margin-bottom:0;}
.contactform label{display:block;font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);margin-bottom:6px;}
.contactform input.text,.contactform textarea{width:100%;box-sizing:border-box;padding:11px 14px;border:1px solid var(--frost);font-family:'Source Serif 4',serif;font-size:16px;color:var(--ink);background:#fff;}
.contactform input.text:focus,.contactform textarea:focus{outline:none;border-color:var(--brand);}
.contactform textarea{resize:vertical;}
.contactform input.send{font-family:'Archivo',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--brand);border:none;padding:13px 30px;cursor:pointer;}
.contactform input.send:hover{background:var(--brand-deep);}
.facebookbox{border:1px solid var(--frost);padding:20px;background:#fff;}

/* ===== Cookie disclosure tables (privacy page) ===== */
.cookietable{width:100%;border-collapse:collapse;margin:14px 0 28px;font-size:14px;}
.cookietable th,.cookietable td{border:1px solid var(--frost);padding:10px 12px;text-align:left;vertical-align:top;}
.cookietable th{font-family:'Archivo',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate);background:#fafafa;}
.cookietable td{color:var(--ink);}
@media (max-width:700px){.cookietable{font-size:12.5px;}.cookietable th,.cookietable td{padding:7px 8px;}}

/* ===== Site map ===== */
.sitemap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:10px;}
.sitemap-group h3{font-family:'Newsreader',serif;font-weight:500;font-size:19px;margin:0 0 4px;border-bottom:2px solid var(--brand);padding-bottom:10px;}
.sitemap-group .eyebrow{margin-bottom:2px;}
.sitemap-group ul{list-style:none;margin:14px 0 0;padding:0;}
.sitemap-group li{margin-bottom:9px;}
.sitemap-group li.sub{padding-left:14px;font-size:14px;}
.sitemap-group li.sub a{color:var(--slate);}
.sitemap-group a{color:var(--ink);text-decoration:none;}
.sitemap-group a:hover{color:var(--brand);text-decoration:underline;}
@media (max-width:980px){.sitemap-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.sitemap-grid{grid-template-columns:1fr;}}

/* ===== Long-form article ===== */
main.article article.longread{max-width:760px;margin:0 auto;padding:0 24px;}
article.longread h2{font-family:'Newsreader',serif;font-weight:500;font-size:30px;line-height:1.2;margin:6px 0 20px;}
article.longread h3{font-family:'Newsreader',serif;font-weight:600;font-size:21px;margin:28px 0 8px;}
article.longread p{font-size:17px;line-height:1.65;margin-bottom:16px;}
article.longread .articlelinks{margin-top:30px;padding-top:18px;border-top:1px solid var(--frost);font-size:15px;}


/* ===== Schedule season tabs (CSS-only radio switcher) ===== */
.seasontabs{display:flex;flex-wrap:wrap;gap:4px;max-width:960px;margin:0 auto 0;padding:0 24px;}
.seasontab{position:absolute;opacity:0;pointer-events:none;}
.seasontabs label{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;padding:10px 20px;border:1px solid var(--frost);border-bottom:none;background:var(--ice);color:var(--slate);cursor:pointer;}
.seasontabs label:hover{background:var(--frost);}
.seasonpanel{display:none;max-width:960px;margin:0 auto;padding:0 24px;}
/* show the panel matching the checked radio */
#tab-spring:checked ~ #panel-spring,
#tab-summer:checked ~ #panel-summer,
#tab-autumn:checked ~ #panel-autumn,
#tab-winter:checked ~ #panel-winter{display:block;}
#tab-spring:checked ~ .seasontabs label[for="tab-spring"],
#tab-summer:checked ~ .seasontabs label[for="tab-summer"],
#tab-autumn:checked ~ .seasontabs label[for="tab-autumn"],
#tab-winter:checked ~ .seasontabs label[for="tab-winter"]{background:var(--brand);color:#fff;border-color:var(--brand);}
.seasondates{font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:14px 0 4px;}
table.schedtable td:first-child{font-weight:600;white-space:nowrap;}
table.schedtable th:nth-child(2),table.schedtable th:nth-child(3),
table.schedtable td:nth-child(2),table.schedtable td:nth-child(3){text-align:center;width:80px;}
@media (max-width:620px){
  table.schedtable tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--frost);margin:0 0 10px;padding:6px 0;}
  table.schedtable tr:first-child{display:none;}
  table.schedtable td{border:none;padding:4px 12px;}
  table.schedtable td:first-child{grid-column:1 / -1;font-size:16px;border-bottom:1px solid var(--ice);padding-bottom:6px;margin-bottom:4px;}
  table.schedtable td:nth-child(2),table.schedtable td:nth-child(3){text-align:left;width:auto;}
  table.schedtable td[data-label]::before{content:attr(data-label) " ";font-family:'Archivo',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mist);display:block;}
  table.schedtable td:nth-child(4){grid-column:1 / -1;color:var(--slate);font-size:13px;padding-top:4px;}
}

/* ===== Promise panel ===== */
.promise{background:var(--ink);color:#fff;margin:64px 0 0;}
.promise .wrap{max-width:1180px;margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;}
.promise .eyebrow{color:#8FC1FF;}
.promise h2{font-family:'Newsreader',serif;font-weight:500;font-size:clamp(26px,2.8vw,36px);margin:12px 0 16px;}
.promise p{color:#C9CED4;margin-bottom:14px;max-width:62ch;}
.promise strong{color:#fff;}
.promise ul{list-style:none;margin:18px 0;}
.promise ul li{padding:8px 0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;font-size:15.5px;color:#C9CED4;}
.promise ul li::before{content:"";position:absolute;left:0;top:17px;width:12px;height:2px;background:#8FC1FF;}
.promise img{border:1px solid rgba(255,255,255,.15);}
.retro-note{max-width:1180px;margin:0 auto;padding:34px 24px 10px;font-size:14.5px;color:var(--slate);}

/* ===== Social ===== */
.social{max-width:1180px;margin:0 auto;padding:10px 24px 56px;display:flex;align-items:center;gap:14px;}
.social img{height:30px;width:auto;}
.social a img{height:33px;width:33px;}

/* ===== Prefooter ===== */
.prefooter{background:var(--ice);border-top:1px solid var(--frost);}
.prefooter .wrap{max-width:1180px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:56px;}
.prefooter h2{font-family:'Newsreader',serif;font-weight:500;font-size:26px;margin-bottom:10px;}
.prefooter p{color:var(--slate);font-size:15.5px;margin-bottom:16px;max-width:48ch;}
#mailform-subscribe input[type=text]{font-family:'Archivo',sans-serif;font-size:15px;padding:12px 14px;border:1px solid var(--frost);background:#fff;width:100%;max-width:340px;margin-bottom:10px;display:block;color:var(--ink);}
#mailform-subscribe input[type=submit]{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:var(--brand);color:#fff;border:none;padding:13px 26px;cursor:pointer;}
#mailform-subscribe input[type=submit]:hover{background:var(--brand-deep);}
.privline{font-size:13px;color:var(--mist);margin-top:10px;}
.fcolnav ul{list-style:none;}
.fcolnav li{border-bottom:1px solid var(--frost);}
.fcolnav a{display:block;padding:11px 0;font-family:'Archivo',sans-serif;font-size:14px;color:var(--ink);}
.fcolnav a:hover{color:var(--brand);text-decoration:none;}

/* ===== Footer ===== */
.sitefooter{background:var(--brand-deep);}
.sitefooter .wrap{max-width:1180px;margin:0 auto;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.sitefooter img{height:52px;width:auto;}
.sitefooter p{color:#D6E6FF;font-family:'Archivo',sans-serif;font-size:12.5px;letter-spacing:.04em;}

/* ===== Responsive ===== */
@media (max-width:1120px){
  .hero-image{width:44%;}
}
@media (max-width:920px){
  .hero-panel{min-height:0;}
  .hero-panel .inner{padding:44px 0;max-width:none;}
  .hero-image{position:static;width:100%;height:300px;}
  .offer,.offer.flip{grid-template-columns:1fr;}
  .offer-media{order:-1;min-height:230px;}
  .promise .wrap{grid-template-columns:1fr;gap:34px;}
  .prefooter .wrap{grid-template-columns:1fr;gap:38px;}
  .navtoggle-label{display:block;}
  nav.menu{display:none;}
  .navtoggle:checked ~ nav.menu{display:block;padding-bottom:14px;max-height:calc(100vh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  nav.menu > ul{flex-direction:column;gap:0;}
  nav.menu > ul > li > a{padding:13px 4px;border-bottom:1px solid var(--ice);}
  nav.menu ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-left:3px solid var(--frost);margin-left:10px;min-width:0;}
  nav.menu ul ul ul{border-left-color:var(--brand);}
  .headphone{text-align:left;}
  .figrow{grid-template-columns:1fr;}
}
@media (max-width:700px){
  .tablewrap table.faretable{min-width:0;}
  table.faretable{display:block;}
  table.faretable tr.headrow{display:none;}
  table.faretable tbody,table.faretable tr{display:block;}
  table.faretable tr{border:1px solid var(--frost);margin:0 0 16px;padding:4px 0;}
  table.faretable td{display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:auto;text-align:right;padding:10px 16px;}
  table.faretable:not(.pkgtable) td+td,table.faretable:not(.pkgtable) th+th{width:auto;}
  table.faretable td::before{content:attr(data-label);font-family:'Archivo',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);text-align:left;flex:0 0 auto;}
  table.faretable td:first-child{background:var(--ice);font-family:'Archivo',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.04em;text-align:left;color:var(--ink);display:block;}
  table.faretable td:first-child::before{content:none;}
  table.faretable tr.catrow{display:block;margin:0 0 16px;padding:0;}
  table.faretable tr.catrow td{display:block;width:auto;text-align:left;background:var(--brand);color:#fff;}
  table.faretable tr.catrow td::before{content:none;}
  table.cabintable td:first-child{white-space:normal;}
}
@media (max-width:600px){
  table.datatable td,table.datatable th{padding:7px 7px;font-size:13px;}
  table.datatable th{font-size:11px;letter-spacing:.03em;}
  table.datatable td:first-child,table.datatable th:first-child{padding-left:0;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  nav.menu ul ul{transition:none;}
}

/* ============================================================
   Antarctica Cruising additions
   ============================================================ */

/* Breadcrumbs */
.crumbs{background:#fff;border-bottom:1px solid var(--frost);}
.crumbs ol{max-width:1180px;margin:0 auto;padding:10px 24px;list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-family:'Archivo',sans-serif;font-size:12.5px;letter-spacing:.04em;color:var(--mist);}
.crumbs li+li::before{content:"\203A";margin-right:6px;color:var(--mist);}
.crumbs a{color:var(--slate);}
.crumbs a:hover{color:var(--brand);}

/* Key facts panel (voyage and destination pages) */
.factbox{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--frost);border-top:4px solid var(--brand);background:#fff;margin:0 0 56px;}
.factbox div{padding:18px 20px;border-right:1px solid var(--frost);}
.factbox div:last-child{border-right:none;}
.factbox dt{font-family:'Archivo',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-bottom:4px;}
.factbox dd{font-family:'Newsreader',serif;font-size:19px;font-weight:500;line-height:1.3;color:var(--ink);}
@media (max-width:820px){.factbox{grid-template-columns:repeat(2,minmax(0,1fr));}.factbox div:nth-child(2){border-right:none;}.factbox div:nth-child(-n+2){border-bottom:1px solid var(--frost);}}

/* Departure date chips */
ul.datelist{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px;}
ul.datelist li{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.04em;padding:7px 12px;background:var(--ice);border:1px solid var(--frost);color:var(--ink);}
ul.datelist li span{font-weight:500;color:var(--slate);margin-left:6px;}

/* Questions and answers */
.faq details{border-bottom:1px solid var(--frost);padding:4px 0;}
.faq details:first-of-type{border-top:1px solid var(--frost);}
.faq summary{cursor:pointer;list-style:none;font-family:'Newsreader',serif;font-size:19px;font-weight:500;padding:14px 34px 14px 0;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-family:'Archivo',sans-serif;font-size:22px;color:var(--brand);}
.faq details[open] summary::after{content:"\2212";}
.faq details p{margin:0 0 14px;max-width:68ch;}

/* Note panel */
.notepanel{background:var(--ice);border-left:3px solid var(--brand);padding:18px 22px;margin:22px 0;font-size:15.5px;}
.notepanel p{margin-bottom:8px;}
.notepanel p:last-child{margin-bottom:0;}

/* Social icons (inline SVG) */
.social .followlabel{font-family:'Archivo',sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);}
.social a svg{width:33px;height:33px;display:block;}

@media print{
  .utilitybar,.mainnav,.jumpstrip,.prefooter,.social{display:none;}
}

/* Factbox placed inside a reading column: two by two */
.offers-intro .factbox{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 26px;}
.offers-intro .factbox div:nth-child(2n){border-right:none;}
.offers-intro .factbox div:nth-child(-n+2){border-bottom:1px solid var(--frost);}

/* ===== Voyage comparison table (antarctica-cruises.htm) ===== */
/* Desktop: normal table. Phones and tablets up to 900px wide: each voyage becomes a card. */
.tablewrap table.comparetable{min-width:0;width:100%;}
table.comparetable td,table.comparetable th{vertical-align:top;}
table.comparetable td:last-child{text-align:left;font-weight:400;}
@media (max-width:920px){
  table.comparetable,table.comparetable tbody,table.comparetable tr,table.comparetable td{display:block;width:auto;}
  table.comparetable tr.headrow{display:none;}
  table.comparetable tr{border:1px solid var(--frost);margin:0 0 16px;}
  table.comparetable td{display:block;padding:8px 14px;border-bottom:1px solid var(--ice);text-align:right;font-size:15px;overflow:hidden;}
  table.comparetable td:last-child{border-bottom:none;text-align:right;}
  table.comparetable td::before{content:attr(data-label);float:left;margin:2px 16px 0 0;font-family:'Archivo',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);text-align:left;}
  table.comparetable td:first-child{display:block;text-align:left;background:var(--ice);font-family:'Newsreader',serif;font-size:18px;font-weight:500;padding:10px 14px;}
  table.comparetable td:first-child::before{content:none;}
}

/* Legal pages (booking conditions, privacy): one consistent reading column */
main.legal .offers-intro.wide{max-width:820px;}
main.legal .offers-intro.wide > p{max-width:none;}