/* Cruzeiros · navios, janela do navio, galeria e ampliação de fotos (só cruzeiros.html) */
.cr-intro .split{align-items:start}
.cr-intro p{max-width:58ch}

/* navios */
.ship-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:44px;list-style:none;padding:0}
@media(max-width:1000px){.ship-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ship-grid{grid-template-columns:1fr}}
.ship{display:flex;flex-direction:column;background:rgba(238,211,168,.04);border:1px solid var(--line-dark)}
.ship-open{all:unset;box-sizing:border-box;display:flex;flex-direction:column;flex:1;cursor:pointer;color:inherit}
.ship-open:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.ship-fig{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--espresso-2)}
.ship-fig img{width:100%;height:100%;object-fit:cover}
.ship-name{font-family:var(--f-display);font-size:1.5rem;line-height:1.2;color:var(--gold);padding:22px 24px 6px}
.ship-more{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 24px 12px;padding:15px 12px;border:1px solid var(--gold);border-radius:2px;font-size:.8125rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);transition:background .2s,color .2s}
.ship-open:hover .ship-more,.ship-open:focus-visible .ship-more{background:rgba(238,211,168,.12)}
.ship-more svg{width:14px;height:14px}
.ship-cta{margin:0 24px 24px;justify-content:center;padding:16px 12px;letter-spacing:.1em;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.ship-fig img{transition:transform 900ms var(--ease-out,ease)}.ship-open:hover .ship-fig img{transform:scale(1.03)}}

.cr-mid{margin-top:56px;padding:clamp(28px,4vw,44px);border:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.cr-mid h3{font-size:clamp(1.3rem,2.2vw,1.7rem);margin-bottom:6px}
.cr-mid p{margin:0;max-width:52ch;color:rgba(246,240,229,.74)}

/* janelas (dialog) */
html:has(dialog[open]){overflow:hidden}
dialog.cr-dlg{padding:0;border:1px solid var(--line-dark);background:var(--espresso);color:var(--parchment);width:min(960px,94vw);max-height:92dvh;overflow:auto;margin:auto}
dialog.cr-dlg::backdrop{background:rgba(24,11,10,.84);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.cr-dlg .dlg-fig{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--espresso-2)}
.cr-dlg-body{padding:clamp(22px,3vw,36px)}
.cr-dlg-body h3{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:18px}
.dlg-close,.lb-btn{all:unset;box-sizing:border-box;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;background:rgba(24,11,10,.72);border:1px solid var(--line-dark);color:var(--parchment);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dlg-close:hover,.lb-btn:hover{border-color:var(--gold);color:var(--gold)}
.dlg-close:focus-visible,.lb-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.dlg-close svg,.lb-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cr-dlg .dlg-close{position:absolute;top:12px;right:12px;z-index:2}
@media (prefers-reduced-motion:no-preference){
  dialog.cr-dlg[open],dialog.lb[open]{animation:crFade 200ms var(--ease-out,ease)}
  @keyframes crFade{from{opacity:0}to{opacity:1}}
}

/* galeria */
.cr-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.2vw,16px);margin:44px 0 0;padding:0;list-style:none}
@media(max-width:1000px){.cr-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.cr-gallery{grid-template-columns:repeat(2,1fr)}}
.gcr{all:unset;box-sizing:border-box;display:block;width:100%;cursor:zoom-in;aspect-ratio:16/9;overflow:hidden;background:var(--espresso-2);position:relative}
.gcr:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.gcr img{width:100%;height:100%;object-fit:cover}
@media(hover:hover) and (pointer:fine){.gcr img{transition:transform 700ms var(--ease-out,ease)}.gcr:hover img{transform:scale(1.05)}}
.cr-sub{margin:64px 0 0;font-size:clamp(1.3rem,2.2vw,1.7rem)}
.cr-small{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.2vw,14px);margin:24px 0 0;padding:0;list-style:none}
@media(max-width:820px){.cr-small{grid-template-columns:repeat(2,1fr)}}
.cr-small img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* ampliação de foto */
dialog.lb{padding:0;border:0;background:rgba(14,7,6,.96);color:var(--parchment);width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}
dialog.lb::backdrop{background:#0e0706}
.lb-in{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:64px clamp(12px,6vw,88px) 56px;touch-action:pan-y}
.lb-fig{margin:0;display:grid;justify-items:center;gap:12px;max-width:100%}
.lb-fig img{max-width:100%;max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain}
.lb-fig figcaption{font-size:.9rem;color:rgba(246,240,229,.78);text-align:center;max-width:70ch}
.lb-close{position:absolute;top:12px;right:12px}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%)}
.lb-prev{left:12px}.lb-next{right:12px}
.lb-count{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;font-size:.8rem;letter-spacing:.16em;color:rgba(246,240,229,.7)}
@media(hover:none) and (pointer:coarse){.lb-prev,.lb-next{display:none}.lb-in{padding-inline:12px}}

/* resumo, atrações e legenda "Artist Rendering ©Disney" */
.ship-fig{position:relative}
.ship-legend{position:absolute;left:8px;top:8px;padding:3px 8px;font-size:.75rem;line-height:1.4;letter-spacing:.02em;color:var(--parchment);background:rgba(24,11,10,.78)}
.ship-sum{display:block;padding:0 24px 14px;font-size:.95rem;line-height:1.5;color:rgba(246,240,229,.78)}
.dlg-figwrap{position:relative}
.cr-dlg .lead{margin-bottom:22px}
.cr-att-t{font-family:var(--f-body);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracota-lt);margin:0 0 12px;font-weight:400}
.cr-att{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px}
.cr-att li{position:relative;padding-left:22px;line-height:1.55;color:rgba(246,240,229,.88)}
.cr-att li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--gold)}
.cr-dlg .dlg-fig{max-height:50dvh}

/* vídeo das cabines */
.cr-video{margin:44px 0 0;max-width:1000px}
.cr-video-box{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--espresso-2);border:1px solid var(--line-dark)}
.cr-video-box img,.cr-video-box video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cr-video-box video{opacity:0;transition:opacity 700ms var(--ease-out,ease)}
.cr-video-box video.is-playing{opacity:1}
.cr-video figcaption{margin-top:12px;font-size:.9rem;color:rgba(246,240,229,.72)}
.cr-vbtn{all:unset;box-sizing:border-box;position:absolute;left:12px;bottom:12px;z-index:2;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;background:rgba(24,11,10,.72);border:1px solid var(--line-dark);color:var(--parchment)}
.cr-vbtn[hidden]{display:none}
.cr-vbtn:hover{border-color:var(--gold);color:var(--gold)}
.cr-vbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cr-vbtn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cr-vbtn .i-play{display:none;fill:currentColor}
.cr-vbtn.is-paused .i-pause{display:none}
.cr-vbtn.is-paused .i-play{display:block}

/* ---- ficha completa do navio, tabelas e perguntas (só HTML/CSS, <details>) ---- */
.ship-tag{position:absolute;right:8px;top:8px;padding:3px 8px;font-size:.75rem;line-height:1.4;letter-spacing:.04em;color:var(--espresso);background:var(--gold)}
.ship-att{display:grid;gap:6px;padding:0 24px 14px}
.ship-att span{position:relative;padding-left:16px;font-size:.875rem;line-height:1.45;color:rgba(246,240,229,.72)}
.ship-att span::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--gold)}
.ship--soon .ship-sum{color:rgba(246,240,229,.86)}
.cr-note{margin:0 0 18px;font-size:.875rem;line-height:1.5;color:rgba(246,240,229,.7)}
.on-light .cr-note{color:rgba(36,20,18,.68)}
.cr-note--strong{color:var(--gold);font-size:.95rem;margin:0 0 22px}
.cr-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;margin:0 0 10px}
.cr-facts div{background:rgba(238,211,168,.04);border:1px solid var(--line-dark);padding:12px 14px}
.cr-facts dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracota-lt);margin-bottom:4px}
.cr-facts dd{margin:0;font-size:.95rem;line-height:1.4}
.cr-acc{margin:22px 0 28px;border-bottom:1px solid var(--line-dark)}
.cr-acc details,.cr-faq details,.cr-more{border-top:1px solid var(--line-dark)}
.cr-acc summary,.cr-faq summary,.cr-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:10px 2px;font-family:var(--f-display);font-size:1.1rem;line-height:1.3}
.cr-acc summary::-webkit-details-marker,.cr-faq summary::-webkit-details-marker,.cr-more summary::-webkit-details-marker{display:none}
.cr-acc summary::after,.cr-faq summary::after,.cr-more summary::after{content:"+";flex:none;font-family:var(--f-body);font-size:1.4rem;line-height:1;color:var(--gold)}
.cr-acc details[open]>summary::after,.cr-faq details[open]>summary::after,.cr-more[open]>summary::after{content:"\2212"}
.cr-acc summary:focus-visible,.cr-faq summary:focus-visible,.cr-more summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cr-acc-b{padding:0 2px 16px}
.cr-acc-b p{margin:0 0 12px;line-height:1.65;color:rgba(246,240,229,.88)}
.cr-rotas{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.cr-rotas li{line-height:1.5;color:rgba(246,240,229,.88)}
.cr-rotas strong{font-weight:500;color:var(--gold)}
/* perguntas frequentes (fundo claro) */
.on-light .cr-faq{margin-top:36px;max-width:820px;border-bottom:1px solid var(--line-light)}
.on-light .cr-faq details{border-top-color:var(--line-light)}
.on-light .cr-faq summary{color:var(--oxblood)}
.on-light .cr-faq summary::after{color:var(--terracota)}
.cr-faq p{margin:0;padding:0 2px 18px;line-height:1.65;max-width:70ch;color:rgba(36,20,18,.78)}
.cr-faq-cta{margin-top:32px}
/* tabelas */
.cr-tablewrap{margin:34px 0 26px}
.cr-table{width:100%;border-collapse:collapse;text-align:left}
.cr-table th,.cr-table td{padding:14px 16px 14px 0;vertical-align:top;line-height:1.5;border-bottom:1px solid var(--line-dark)}
.cr-table thead th{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:400;color:var(--terracota-lt)}
.cr-table tbody th{font-family:var(--f-display);font-weight:400;font-size:1.05rem}
.on-light .cr-table th,.on-light .cr-table td{border-bottom-color:var(--line-light)}
.on-light .cr-table thead th{color:var(--terracota)}
.on-light .cr-table tbody th{color:var(--oxblood)}
.cr-para{max-width:78ch;line-height:1.7}
.on-light .cr-para{color:rgba(36,20,18,.78)}
.cr-sub2{margin:36px 0 0;font-size:clamp(1.2rem,2vw,1.5rem)}
.cr-more{margin-top:26px;border-bottom:1px solid var(--line-dark)}
.cr-more .cr-tablewrap{margin-top:8px}
@media(max-width:720px){
  .cr-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cr-table,.cr-table tbody,.cr-table tr,.cr-table th,.cr-table td{display:block;width:100%}
  .cr-table tr{padding:14px 0;border-bottom:1px solid var(--line-dark)}
  .on-light .cr-table tr{border-bottom-color:var(--line-light)}
  .cr-table th,.cr-table td{border:0;padding:3px 0}
  .cr-table td::before,.cr-table tbody th::before{content:attr(data-label);display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracota-lt);margin-top:6px}
  .on-light .cr-table td::before,.on-light .cr-table tbody th::before{color:var(--terracota)}
  .cr-table tbody th::before{margin-top:0}
}
/* janela: mostra a foto inteira (a legenda gravada nas ilustrações fica no rodapé da imagem) */
.cr-dlg .dlg-fig{object-fit:contain}

/* vídeo do Destiny dentro da janela */
.dlg-video{background:var(--espresso-2)}
.dlg-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 700ms var(--ease-out,ease)}
.dlg-video video.is-playing{opacity:1}
.vid-legend{position:absolute;right:12px;bottom:10px;z-index:2;font-size:.75rem;line-height:1.4;color:rgba(246,240,229,.9);text-shadow:0 1px 3px rgba(0,0,0,.7)}
.dlg-video .cr-vbtn{left:12px;bottom:12px}
/* etiqueta no topo da janela fica à esquerda (o botão de fechar ocupa a direita) */
.dlg-figwrap .ship-tag{right:auto;left:10px;top:10px}
.cr-dlg .dlg-fig{height:auto}

.ship-dep{display:block;padding:0 24px 14px;font-size:.875rem;font-weight:500;color:var(--gold)}
.cr-dep{margin:0 0 12px;font-size:.95rem;font-weight:500;color:var(--gold)}
.cr-ports{margin:-8px 0 20px;font-size:.875rem;color:rgba(246,240,229,.72)}
@media(max-width:380px){.ship-cta{white-space:normal;letter-spacing:.05em;padding-inline:8px}}
