/* Port Day Med — port-first guide */
.port-page { background: var(--cream); }
.back-link { display:block; padding:22px clamp(25px,7vw,90px); color:var(--ink); text-decoration:none; font-weight:600; font-size:13px; border-bottom:1px solid var(--line); }
.port-hero { padding:70px clamp(25px,8vw,120px); background:var(--guide-color,#70b4bf); color:#fff; display:flex; justify-content:space-between; gap:50px; align-items:end; }
.port-hero .eyebrow { color:#173f50; }
.port-hero h1 { font:600 clamp(55px,8vw,105px)/.9 "Playfair Display",serif; margin:0; letter-spacing:-.05em; }
.port-hero p:not(.eyebrow) { max-width:650px; font-size:18px; line-height:1.55; margin:24px 0 0; color:#173f50; }
.hero-facts { display:grid; gap:9px; min-width:220px; }
.hero-facts span { background:rgba(255,255,255,.82); color:var(--ink); padding:11px 13px; font-size:12px; }
.port-section { padding:72px clamp(25px,8vw,120px); }
.port-section.alt { background:var(--sand); }
.port-section h2,.return-section h2 { font:600 clamp(38px,5vw,65px)/.98 "Playfair Display",serif; letter-spacing:-.045em; margin:0 0 18px; }
.section-intro { max-width:720px; color:#41535b; font-size:17px; line-height:1.6; margin:0 0 35px; }
.info-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.info-grid article { padding:22px; border-right:1px solid var(--line); }
.info-grid article:last-child { border-right:0; }
.info-grid strong,.stack-list strong { display:block; font:600 22px "Playfair Display",serif; }
.info-grid span { display:block; margin-top:7px; color:var(--blue); font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }
.info-grid p { color:var(--muted); font-size:13px; line-height:1.45; }
.stack-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.stack-list article { background:#fff; padding:22px; border:1px solid var(--line); min-height:145px; }
.stack-list span { display:block; color:var(--blue); font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; margin:9px 0; }
.stack-list p { margin:0; color:#526269; font-size:14px; line-height:1.5; }
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.plan-grid article { background:#fff; border:1px solid var(--line); padding:25px; }
.plan-grid strong { font:600 28px "Playfair Display",serif; }
.plan-grid p { line-height:1.5; color:#526269; }
.return-section { padding:80px clamp(25px,8vw,120px); background:var(--blue); color:#f7f0df; }
.return-section .eyebrow { color:var(--aqua); }
.return-section h2 { max-width:700px; }
.return-section > p:not(.eyebrow) { max-width:700px; line-height:1.6; color:#d0e6e5; }
.return-checks { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.return-checks span { border:1px solid rgba(255,255,255,.3); padding:12px 14px; font-size:13px; }
.port-footer { padding:28px clamp(25px,8vw,120px); background:var(--ink); color:#d5e6e5; display:flex; justify-content:space-between; gap:20px; }
.port-footer a { color:#fff; text-decoration:none; font-weight:600; }
@media(max-width:850px){
  .port-hero { display:block; }
  .hero-facts { margin-top:35px; grid-template-columns:repeat(3,1fr); }
  .info-grid { grid-template-columns:repeat(2,1fr); }
  .info-grid article:nth-child(2n) { border-right:0; }
  .stack-list,.plan-grid { grid-template-columns:1fr; }
}
@media(max-width:600px){
  .port-hero { padding-top:50px; padding-bottom:50px; }
  .hero-facts { grid-template-columns:1fr; }
  .port-section { padding-top:55px; padding-bottom:55px; }
  .info-grid { grid-template-columns:1fr; }
  .info-grid article { border-right:0; border-bottom:1px solid var(--line); }
  .info-grid article:last-child { border-bottom:0; }
  .port-footer { display:grid; }
}

.empty-data { border:1px dashed var(--line); background:rgba(255,255,255,.45); padding:28px; display:grid; gap:8px; max-width:760px; }
.empty-data strong { font:600 24px "Playfair Display",serif; }
.empty-data span { color:#526269; line-height:1.5; }
.data-error { padding:80px 25px; text-align:center; }
.data-error h1 { font:600 48px "Playfair Display",serif; }
.data-error a { color:var(--blue); font-weight:600; }
.data-message { padding:60px 25px; }

.notice { margin:0 0 30px; padding:18px 20px; background:#fff4df; border-left:4px solid #d58a54; color:#4b565a; line-height:1.5; }

.nearby-groups { display:grid; gap:34px; }
.nearby-group h3 { margin:0 0 12px; font:600 27px "Playfair Display",serif; text-transform:capitalize; }

.attraction-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:38px; }
.attraction-card { border:1px solid var(--line); padding:24px; background:#fff; }
.attraction-card h3 { margin:7px 0 10px; font:600 30px "Playfair Display",serif; }
.card-kicker { text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:#68777c; }
.card-meta { display:flex; gap:14px; flex-wrap:wrap; margin:16px 0; font-size:13px; font-weight:600; }
.attraction-card small { color:#68777c; line-height:1.4; }
.subheading { margin:12px 0 18px; font:600 28px "Playfair Display",serif; }
@media (max-width: 720px) { .attraction-grid { grid-template-columns:1fr; } }

.tour-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tour-card { border:1px solid var(--line); padding:24px; background:#fff; }
.tour-card h3 { margin:7px 0 15px; font:600 27px "Playfair Display",serif; }
.tour-card p { margin:8px 0; line-height:1.45; }
.tour-safety { margin-top:18px; padding:14px; border-left:4px solid #7a9a85; background:#f5f7f4; display:grid; gap:5px; }
.tour-safety strong { text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.tour-safety small { line-height:1.4; color:#59666b; }
@media (max-width: 720px) { .tour-grid { grid-template-columns:1fr; } }

/* Expanded Barcelona practical layer */
.important-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.important-grid article { background:#fff; border:1px solid var(--line); padding:24px; }
.important-grid span,.map-point>span { display:block; color:var(--blue); font:500 10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.important-grid strong { display:block; font:600 28px "Playfair Display",serif; margin-bottom:9px; }
.important-grid p { margin:0; color:#526269; line-height:1.55; }
.map-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.map-point { background:#fff; border:1px solid var(--line); padding:20px; min-height:150px; }
.map-point strong { display:block; font:600 21px "Playfair Display",serif; }
.map-point p { margin:10px 0 0; color:#59686d; font-size:13px; line-height:1.45; }
.sources-section { border-top:1px solid var(--line); }
.source-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.source-link { display:flex; justify-content:space-between; gap:20px; padding:16px 0; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); margin-right:28px; }
.source-link:hover { color:var(--blue); }
.source-link span { color:var(--coral); }
@media(max-width:900px){ .map-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:720px){ .important-grid,.source-list,.map-grid{grid-template-columns:1fr;} .source-link{margin-right:0;} }

/* First-five-minutes orientation */
.orientation-section { padding:78px clamp(25px,8vw,120px); background:#f7f0df; border-bottom:1px solid var(--line); }
.orientation-head { max-width:850px; margin-bottom:38px; }
.orientation-head h2 { font:600 clamp(40px,5.4vw,70px)/.97 "Playfair Display",serif; letter-spacing:-.045em; margin:0; }
.orientation-head h2 i { color:var(--coral); font-weight:600; }
.orientation-head > p:last-child { max-width:700px; color:#526269; font-size:17px; line-height:1.6; }
.orientation-flow { background:#fff; border:1px solid var(--line); }
.orientation-step { display:grid; grid-template-columns:58px 1fr; gap:24px; padding:30px; border-bottom:1px solid var(--line); }
.orientation-step:last-child { border-bottom:0; }
.step-number { width:42px; height:42px; border-radius:50%; background:var(--ink); color:#fff; display:grid; place-items:center; font:500 13px "DM Mono",monospace; }
.orientation-step h3 { margin:3px 0 8px; font:600 29px "Playfair Display",serif; }
.step-help { margin:0 0 18px; color:#68777c; font-size:13px; }
.choice-row { display:flex; flex-wrap:wrap; gap:8px; }
.choice-row button { border:1px solid var(--line); background:#fff; color:var(--ink); padding:9px 12px; font-size:12px; font-weight:600; }
.choice-row button:hover,.choice-row button.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.orientation-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.orientation-option { min-height:112px; text-align:left; border:1px solid var(--line); background:#fff; color:var(--ink); padding:18px; display:grid; align-content:start; gap:5px; transition:.18s ease; }
.orientation-option:hover { transform:translateY(-2px); border-color:rgba(21,43,56,.45); }
.orientation-option.active { background:#e5f3f0; border-color:var(--blue); box-shadow:inset 0 0 0 1px var(--blue); }
.orientation-option > span { font-size:24px; }
.orientation-option strong { font:600 21px "Playfair Display",serif; }
.orientation-option small { color:#68777c; line-height:1.35; }
.orientation-advice { margin:17px 0 0; max-width:780px; padding:14px 16px; background:#f8f6ef; border-left:3px solid var(--aqua); color:#41535b; font-size:14px; line-height:1.55; }
.time-inputs { display:grid; grid-template-columns:repeat(2,minmax(150px,220px)) minmax(190px,1fr); gap:12px; align-items:stretch; margin-top:18px; }
.time-inputs label,.return-target { border:1px solid var(--line); background:#fff; padding:14px; display:grid; gap:7px; }
.time-inputs label span,.return-target span { color:#68777c; text-transform:uppercase; letter-spacing:.08em; font:500 10px "DM Mono",monospace; }
.time-inputs input { border:0; border-top:1px solid var(--line); padding-top:9px; color:var(--ink); font-weight:700; font-size:20px; background:transparent; outline:none; }
.return-target { background:var(--ink); color:#fff; align-content:center; }
.return-target span { color:var(--aqua); }
.return-target strong { font:600 35px "Playfair Display",serif; }
.orientation-status { margin:14px 0 0; padding:13px 15px; background:#f4f1e8; border-left:4px solid #a4aaa2; color:#4b565a; font-size:14px; line-height:1.5; }
.orientation-status.good { background:#eef5ef; border-left-color:#6e9877; }
.orientation-status.watch { background:#fff4df; border-left-color:#d58a54; }

@media(max-width:800px){
  .orientation-options { grid-template-columns:1fr; }
  .time-inputs { grid-template-columns:1fr 1fr; }
  .return-target { grid-column:1/-1; }
}
@media(max-width:600px){
  .orientation-section { padding:55px 20px; }
  .orientation-step { grid-template-columns:1fr; padding:24px 18px; gap:13px; }
  .step-number { width:34px; height:34px; }
  .orientation-step h3 { font-size:25px; }
  .time-inputs { grid-template-columns:1fr; }
  .return-target { grid-column:auto; }
}


/* v3 — simplified terminal finder */
.terminal-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 12px}
.terminal-group-card{border:1px solid var(--line);background:#fff;text-align:left;padding:20px;min-height:132px;display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-content:start;transition:.18s}
.terminal-group-card:hover{transform:translateY(-2px);border-color:rgba(7,91,125,.45)}
.terminal-group-card.active{border:2px solid var(--blue);background:#eef8f7;padding:19px}
.terminal-group-card .terminal-icon{font-size:25px;grid-row:1/3}
.terminal-group-card strong{font:600 23px "Playfair Display",serif}
.terminal-group-card small{display:block;margin-top:6px;color:#5c6c72;line-height:1.4}
.exact-terminal-toggle{border:0;background:transparent;color:var(--blue);padding:8px 0;font-weight:700;font-size:13px}
.exact-terminal-wrap{margin:8px 0 4px;padding:16px;background:rgba(255,255,255,.55);border:1px dashed var(--line)}
.exact-terminal-wrap[hidden]{display:none}
@media(max-width:650px){.terminal-group-grid{grid-template-columns:1fr}.terminal-group-card{min-height:110px}}


/* v4 — Can I make it back? */
.return-calculator{margin-top:26px;border:1px solid rgba(21,43,56,.2);background:#fff;padding:22px}
.return-calc-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:18px}
.calc-kicker{display:block;color:var(--blue);font:500 10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.return-calc-head h4{font:600 25px "Playfair Display",serif;margin:0}
.beta-pill{font:500 9px "DM Mono",monospace;letter-spacing:.08em;background:var(--sand);padding:6px 8px}
.return-calc-controls{display:grid;grid-template-columns:1.4fr .6fr;gap:12px}
.return-calc-controls label{display:grid;gap:7px}
.return-calc-controls label>span{font-size:11px;font-weight:700;color:#53636a}
.return-calc-controls select,.return-calc-controls input{width:100%;height:46px;border:1px solid var(--line);background:var(--cream);padding:0 11px;color:var(--ink)}
.return-calc-result{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:15px}
.return-calc-status,.calc-time{min-height:78px;border:1px solid var(--line);padding:13px;display:grid;align-content:center}
.return-calc-status strong{font-size:16px}.return-calc-status span{font-size:12px;color:#5b6a70;margin-top:4px}
.return-calc-status.good{background:#eef6ef;border-color:#b9d3be}.return-calc-status.watch{background:#fff6e6;border-color:#e6c78d}.return-calc-status.danger{background:#fff0ed;border-color:#e4aaa0}
.calc-time span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#68777c}.calc-time strong{font:600 27px "Playfair Display",serif;margin-top:3px}
.return-calc-details{font-size:13px;line-height:1.55;color:#4e5f66;margin:14px 0 8px}
.calc-disclaimer{display:block;color:#758287;line-height:1.45}
@media(max-width:700px){.return-calc-controls,.return-calc-result{grid-template-columns:1fr}.return-calc-head{display:block}.beta-pill{display:inline-block;margin-top:10px}}


/* v5 — flagship Ship → City module */
.ship-city-section{padding:78px clamp(22px,6vw,90px);background:#f4ead5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ship-city-head{display:flex;justify-content:space-between;gap:35px;align-items:end;max-width:1180px;margin:0 auto 34px}
.ship-city-head h2{font:600 clamp(38px,5vw,67px)/1 "Playfair Display",serif;letter-spacing:-.04em;margin:0;max-width:760px}.ship-city-head h2 i{color:var(--coral)}
.ship-city-head>div>p:last-child{max-width:650px;line-height:1.55;color:#4c5e65}
.verified-badge{white-space:nowrap;font:500 10px "DM Mono",monospace;background:#fff;border:1px solid var(--line);padding:9px 11px;color:var(--blue)}
.journey-ribbon{max-width:1180px;margin:auto;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr;align-items:stretch}
.journey-node{padding:21px 15px;display:grid;text-align:center;align-content:center;min-height:125px}.journey-node>span{font-size:25px;margin-bottom:8px}.journey-node strong{font:600 18px "Playfair Display",serif}.journey-node small{color:#69777c;margin-top:4px;line-height:1.3}.journey-node.highlight{background:#e6f3f1}.journey-node.destination{background:var(--ink);color:#fff}.journey-node.destination small{color:#c5d9d9}.journey-arrow{display:grid;place-items:center;color:var(--coral);font-size:25px}
.dropoff-focus{max-width:1180px;margin:22px auto 0;display:grid;grid-template-columns:.95fr 1.05fr;background:#fff;border:1px solid var(--line)}
.dropoff-copy{padding:35px}.dropoff-copy h3,.near-dropoff h3,.direction-finder h3{font:600 30px "Playfair Display",serif;margin:0 0 13px}.dropoff-copy>p:not(.eyebrow){line-height:1.6;color:#485b63}
.dropoff-facts{display:grid;gap:8px;margin-top:22px}.dropoff-facts span{padding:10px 0;border-top:1px solid var(--line);font-size:13px}.dropoff-facts b{display:inline-block;width:105px}
.schematic-map{position:relative;min-height:330px;background:#d9eeee;overflow:hidden;border-left:1px solid var(--line)}
.schematic-note{position:absolute;top:13px;right:13px;font:500 9px "DM Mono",monospace;color:#587078}
.map-port,.map-drop,.map-metro{position:absolute;background:#fff;border:1px solid rgba(21,43,56,.2);padding:10px 12px;display:grid;z-index:2}.map-port{left:8%;bottom:13%}.map-drop{right:9%;top:42%;background:var(--ink);color:#fff}.map-metro{right:9%;top:15%}.map-port small,.map-drop small{font-size:9px;margin-top:2px;color:#6d7a7e}.map-drop small{color:#c8dada}
.map-route{position:absolute;height:5px;background:var(--coral);left:27%;right:30%;top:62%;transform:rotate(-15deg);transform-origin:center}.map-route:after{content:"";position:absolute;right:-2px;top:-5px;border-left:10px solid var(--coral);border-top:7px solid transparent;border-bottom:7px solid transparent}.map-route span{position:absolute;top:-29px;left:25%;background:#fff;padding:4px 7px;font:500 9px "DM Mono",monospace;white-space:nowrap}
.map-branch{position:absolute;width:3px;height:65px;background:#678e96;right:23%;top:25%}.map-rambla{position:absolute;right:9%;top:4%;font-size:13px}.map-vell{position:absolute;right:10%;bottom:14%;font-size:13px}
.near-dropoff{max-width:1180px;margin:42px auto 0}.section-minihead{margin-bottom:18px}.dropoff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dropoff-grid article{background:#fff;border:1px solid var(--line);padding:17px;display:flex;gap:12px}.dropoff-grid article>span{font-size:23px}.dropoff-grid strong{display:block}.dropoff-grid small{display:block;color:var(--blue);margin:3px 0 7px}.dropoff-grid p{font-size:12px;line-height:1.4;color:#607077;margin:0}
.direction-finder{max-width:1180px;margin:42px auto 0;padding:27px;background:var(--blue);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.direction-finder .eyebrow{color:var(--aqua)}.direction-finder h3{color:#fff}.direction-controls label{display:grid;gap:7px}.direction-controls label>span{font-size:11px;color:#c9e4e3}.direction-controls select{height:48px;border:0;padding:0 12px;font:inherit}.direction-result{margin-top:12px;padding:14px;background:rgba(255,255,255,.1)}.direction-result>span{font:500 10px "DM Mono",monospace;color:var(--aqua);text-transform:uppercase}.direction-result strong{display:block;margin:5px 0}.direction-result p{margin:0;font-size:13px;line-height:1.45;color:#d9e9e8}
.return-route-strip{max-width:1180px;margin:12px auto 0;background:var(--ink);color:#fff;padding:18px 22px;display:flex;gap:15px}.return-route-strip>span{font-size:28px;color:var(--coral)}.return-route-strip p{margin:4px 0 0;color:#c6d8d8;font-size:13px;line-height:1.45}
@media(max-width:850px){.ship-city-head{display:block}.verified-badge{display:inline-block;margin-top:12px}.journey-ribbon{grid-template-columns:1fr}.journey-arrow{height:26px;transform:rotate(90deg)}.journey-node{min-height:90px}.dropoff-focus{grid-template-columns:1fr}.schematic-map{border-left:0;border-top:1px solid var(--line)}.dropoff-grid{grid-template-columns:repeat(2,1fr)}.direction-finder{grid-template-columns:1fr}}
@media(max-width:520px){.dropoff-grid{grid-template-columns:1fr}.ship-city-section{padding-top:55px;padding-bottom:55px}.dropoff-copy{padding:24px}.schematic-map{min-height:300px}}


/* v7 — top-of-page clarity */
.first-move{max-width:1180px;margin:12px auto 22px;display:grid;grid-template-columns:.8fr repeat(3,1fr);border:1px solid var(--line);background:#fff}
.first-move-label{display:grid;align-content:center;padding:18px;background:var(--coral);color:#fff;font:600 17px "Playfair Display",serif}
.first-move-action{display:flex;gap:11px;padding:16px;border-left:1px solid var(--line)}
.first-move-action>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:600 11px "DM Mono",monospace}
.first-move-action p{margin:0}.first-move-action b{display:block;font-size:13px}.first-move-action small{display:block;margin-top:4px;line-height:1.35;color:#68777d}
.dropoff-grid article em{display:block;margin-top:9px;padding-top:8px;border-top:1px solid var(--line);font-style:normal;font-size:11px;font-weight:700;color:var(--blue);line-height:1.35}
.direction-intro{font-size:13px;line-height:1.45;color:#cfe4e3;margin:-4px 0 0;max-width:430px}
@media(max-width:950px){.first-move{grid-template-columns:1fr}.first-move-action{border-left:0;border-top:1px solid var(--line)}}

/* v9 — interactive shuttle drop-off orientation map */
.dropoff-map-panel{min-width:0;border-left:1px solid var(--line);background:#edf3ef}
.dropoff-map-head{padding:16px 18px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:16px;align-items:center}
.dropoff-map-head>div{display:grid}.dropoff-map-head span{font:500 9px "DM Mono",monospace;color:var(--aqua);letter-spacing:.08em}.dropoff-map-head strong{font:600 19px "Playfair Display",serif;margin:3px 0}.dropoff-map-head small{color:#c7d9d9}.dropoff-map-head em{font:500 9px "DM Mono",monospace;color:#aabebe;font-style:normal;text-align:right}
.local-map{position:relative;min-height:390px;overflow:hidden;background:linear-gradient(90deg,#e8e4d8 0 67%,#cde3e5 67% 100%)}
.map-water{position:absolute;right:3%;bottom:5%;font:600 12px "DM Mono",monospace;letter-spacing:.1em;color:#527b84;transform:rotate(-90deg);transform-origin:right bottom}
.map-rambla-line{position:absolute;left:47%;top:7%;height:76%;width:8px;background:#d8c39c;border-left:1px dashed #8f7a58;border-right:1px dashed #8f7a58}.map-rambla-line span{position:absolute;top:3%;left:15px;white-space:nowrap;font:600 9px "DM Mono",monospace;color:#806b49}
.map-oldcity{position:absolute;right:15%;top:24%;padding:20px 28px;border:1px dashed rgba(21,43,56,.22);font:600 10px "DM Mono",monospace;color:#7b817b;transform:rotate(-4deg)}
.local-map-pin{position:absolute;transform:translate(-50%,-50%);border:1px solid rgba(21,43,56,.25);background:#fff;padding:7px 9px;display:flex;align-items:center;gap:5px;z-index:3;font-size:10px;max-width:145px;text-align:left}
.local-map-pin span{font-size:15px}.local-map-pin b{line-height:1.15}.local-map-pin.active{outline:3px solid var(--coral);outline-offset:2px}.local-map-pin.start{background:var(--ink);color:#fff}.local-map-pin.water{background:#e7f4f5}
.map-selected{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;padding:17px 18px;background:#fff;border-top:1px solid var(--line)}.map-selected>div{display:grid;align-content:start}.map-selected span{font:500 9px "DM Mono",monospace;color:var(--blue);text-transform:uppercase}.map-selected strong{font:600 19px "Playfair Display",serif;margin-top:3px}.map-selected p{margin:0;font-size:12px;line-height:1.5;color:#52636a}
@media(max-width:850px){.dropoff-map-panel{border-left:0;border-top:1px solid var(--line)}}@media(max-width:600px){.dropoff-map-head{display:block}.dropoff-map-head em{display:block;text-align:left;margin-top:7px}.local-map{min-height:430px}.local-map-pin{max-width:110px;padding:6px}.local-map-pin b{font-size:9px}.map-selected{grid-template-columns:1fr}}

/* v10 — live map handoff */
.map-directions-link{display:inline-flex;margin-top:12px;background:#fff;color:var(--ink);text-decoration:none;padding:10px 12px;font-weight:700;font-size:12px}
.map-directions-link:hover{background:var(--sand)}
.map-live-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 18px;background:#f7f2e8;border-top:1px solid var(--line)}
.map-live-tools>div{display:grid}.map-live-tools strong{font-size:12px}.map-live-tools span{font-size:11px;color:#65747a;margin-top:3px}
.map-live-tools a{background:var(--ink);color:#fff;text-decoration:none;padding:11px 13px;font-size:11px;font-weight:700;white-space:nowrap}
.verified-route-note{margin:16px 0 0;padding:11px 12px;border-left:3px solid var(--blue);background:#eef6f5;color:#456068;font-size:12px;line-height:1.45}
@media(max-width:620px){.map-live-tools{display:grid}.map-live-tools a{text-align:center;white-space:normal}}

/* v11 — prominent map directions CTA */
.map-primary-directions{padding:18px;background:#fff;border-bottom:1px solid var(--line)}
.map-primary-copy{display:grid;margin-bottom:10px}.map-primary-copy span{font:500 9px "DM Mono",monospace;letter-spacing:.08em;color:var(--blue)}.map-primary-copy strong{font:600 22px "Playfair Display",serif;margin-top:3px}
.map-primary-controls{display:grid;grid-template-columns:1fr auto;gap:8px}.map-primary-controls select{min-width:0;height:46px;border:1px solid var(--line);background:var(--cream);padding:0 11px;color:var(--ink)}.map-primary-controls button{border:0;background:var(--coral);color:#fff;padding:0 16px;font-weight:800;cursor:pointer}.map-primary-controls button:hover{filter:brightness(.94)}
.map-primary-directions>small{display:block;margin-top:8px;color:#6c7a7f;font-size:10px}
@media(max-width:600px){.map-primary-controls{grid-template-columns:1fr}.map-primary-controls button{min-height:48px}}

/* v12 — prominent return-to-ship route */
.return-home-panel{max-width:1180px;margin:14px auto 0;background:#fff;border:1px solid var(--line);padding:24px}
.return-home-head{max-width:760px}.return-home-head h3{font:600 30px "Playfair Display",serif;margin:0 0 8px}.return-home-head>p:last-child{margin:0;color:#56676e;line-height:1.5}
.return-home-controls{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px}.return-home-controls label{display:grid;gap:6px}.return-home-controls label>span{font-size:11px;font-weight:700;color:#596970}.return-home-controls select{height:48px;border:1px solid var(--line);background:var(--cream);padding:0 11px;color:var(--ink)}
.return-home-controls button{border:0;background:var(--ink);color:#fff;padding:0 18px;font-weight:800}.return-home-controls button:hover{background:var(--blue)}
.return-home-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.return-home-steps article{border:1px solid var(--line);padding:14px;display:flex;gap:10px}.return-home-steps article>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font:600 11px "DM Mono",monospace;flex:0 0 28px}.return-home-steps strong{display:block;font-size:13px}.return-home-steps small{display:block;color:#66757a;margin-top:4px;line-height:1.35}
.return-home-note{margin:14px 0 0;padding:12px 14px;background:#fff5e6;border-left:4px solid #d68c52;color:#4e5e64;font-size:12px;line-height:1.45}
@media(max-width:760px){.return-home-controls{grid-template-columns:1fr}.return-home-controls button{min-height:48px}.return-home-steps{grid-template-columns:1fr}}

/* v14 — practical port essentials */
.port-day-essentials{max-width:1180px;margin:14px auto 22px}.essentials-head{margin-bottom:12px}.essentials-head h3{font:600 29px "Playfair Display",serif;margin:0}
.essentials-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:9px}.essentials-grid article{background:#fff;border:1px solid var(--line);padding:17px;min-height:165px}.essentials-grid article.essential-best{background:#e8f3f1;border-top:4px solid var(--blue);padding-top:14px}
.essential-label{display:block;font:500 9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:9px}.essentials-grid strong{display:block;font:600 18px "Playfair Display",serif}.essentials-grid p{font-size:12px;line-height:1.5;color:#5a6a70;margin:8px 0 0}.essential-meta{display:flex;gap:6px;margin-top:12px}.essential-meta b{font-size:10px;background:#fff;border:1px solid var(--line);padding:6px 8px}
.terminal-exception{display:flex;gap:12px;align-items:start;background:#fff8e9;border:1px solid #e5d0a6;border-top:0;padding:14px 16px}.terminal-exception>span{font-size:20px}.terminal-exception strong{font-size:12px}.terminal-exception p{margin:3px 0 0;font-size:11px;line-height:1.45;color:#647177}
@media(max-width:900px){.essentials-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.essentials-grid{grid-template-columns:1fr}.essentials-grid article{min-height:0}}

/* v15 — Port Navigator */
.port-navigator{max-width:1180px;margin:18px auto 26px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(21,43,56,.08)}
.navigator-topbar{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:22px 24px;background:var(--ink);color:#fff}.navigator-topbar .eyebrow{color:var(--aqua);margin-bottom:5px}.navigator-topbar h3{font:600 31px "Playfair Display",serif;margin:0}.navigator-topbar h3 i{color:var(--coral)}.navigator-status{font:500 9px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:#c8dada}.navigator-status span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6dd6b4;margin-right:6px}
.navigator-layout{display:grid;grid-template-columns:1.55fr .75fr;min-height:520px}.navigator-map{position:relative;overflow:hidden;background:linear-gradient(105deg,#e9e3d4 0 68%,#c6e1e5 68%);border-right:1px solid var(--line)}
.nav-sea{position:absolute;right:0;top:0;width:32%;height:100%;background:linear-gradient(150deg,#c6e1e5,#a9d1d8)}.nav-sea span{position:absolute;right:10px;bottom:28px;writing-mode:vertical-rl;font:600 9px "DM Mono",monospace;letter-spacing:.12em;color:#4d7a83}.nav-city-zone{position:absolute;right:34%;top:8%;font:700 11px "DM Mono",monospace;letter-spacing:.16em;color:#7c776d}.nav-rambla-axis{position:absolute;left:50%;top:8%;height:43%;width:12px;background:#d9bd82;border-left:1px dashed #8b7244;border-right:1px dashed #8b7244}.nav-rambla-axis span{position:absolute;top:4px;left:17px;white-space:nowrap;font:700 9px "DM Mono",monospace;color:#765e35}
.nav-route-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.nav-shuttle-route{fill:none;stroke:var(--coral);stroke-width:1.4;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.nav-walk-route{fill:none;stroke:#3b8a82;stroke-width:1.1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.navigator-pin{position:absolute;transform:translate(-50%,-50%);z-index:3;display:grid;grid-template-columns:auto 1fr;column-gap:6px;align-items:center;border:1px solid rgba(21,43,56,.22);background:#fff;padding:7px 9px;text-align:left;box-shadow:0 4px 12px rgba(21,43,56,.09);max-width:145px}.navigator-pin>span{grid-row:1/3;font-size:17px}.navigator-pin b{font-size:10px;line-height:1.1}.navigator-pin small{font-size:8px;color:#66777c}.navigator-pin.active{outline:3px solid var(--coral);outline-offset:2px}.navigator-pin.port{background:var(--ink);color:#fff}.navigator-pin.port small{color:#c5d8d8}.navigator-pin.start{background:#fff3e8}.navigator-pin.water{background:#e9f6f7}
.nav-map-key{position:absolute;left:15px;bottom:14px;display:flex;gap:12px;background:rgba(255,255,255,.92);padding:7px 9px;font-size:9px}.nav-map-key span{display:flex;align-items:center;gap:5px}.nav-map-key i{width:18px;height:3px;display:inline-block}.key-shuttle{background:var(--coral)}.key-walk{background:#3b8a82}
.navigator-panel{display:flex;flex-direction:column;background:#f8f4eb}.navigator-you-are{padding:20px;border-bottom:1px solid var(--line);display:grid}.navigator-you-are>span{font:700 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.1em}.navigator-you-are strong{font:600 23px "Playfair Display",serif;margin-top:4px}.navigator-you-are small{color:#65757a;margin-top:2px}
.navigator-selected{padding:22px;flex:1}.navigator-selected>span{font:600 9px "DM Mono",monospace;text-transform:uppercase;color:var(--blue)}.navigator-selected h4{font:600 27px "Playfair Display",serif;margin:4px 0 10px}.navigator-selected>p{font-size:13px;line-height:1.55;color:#52636a}.navigator-next{margin-top:18px;padding:14px;background:#fff;border-left:4px solid var(--coral)}.navigator-next b{font-size:11px}.navigator-next p{font-size:12px;line-height:1.45;margin:4px 0 0;color:#58696f}
.navigator-actions{padding:18px;border-top:1px solid var(--line);display:grid;gap:8px}.navigator-actions label{display:grid;gap:5px}.navigator-actions label span{font-size:10px;font-weight:700}.navigator-actions select{height:44px;border:1px solid var(--line);padding:0 10px;background:#fff}.navigator-actions button{min-height:44px;border:0;background:var(--coral);color:#fff;font-weight:800;padding:10px}.navigator-actions button.secondary{background:var(--ink)}
.navigator-journey{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;border-top:1px solid var(--line)}.navigator-journey button{border:0;background:#fff;padding:15px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:left}.navigator-journey button>span{grid-row:1/3;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 9px "DM Mono",monospace}.navigator-journey b{font-size:11px}.navigator-journey small{font-size:9px;color:#69787d}.navigator-journey>i{display:grid;place-items:center;color:var(--coral);font-style:normal}
@media(max-width:900px){.navigator-layout{grid-template-columns:1fr}.navigator-map{min-height:480px;border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:650px){.navigator-topbar{display:block}.navigator-status{margin-top:10px}.navigator-map{min-height:500px}.navigator-pin{max-width:105px;padding:6px}.navigator-pin b{font-size:9px}.navigator-pin small{display:none}.navigator-journey{grid-template-columns:1fr}.navigator-journey>i{height:20px;transform:rotate(90deg)}}

/* v16 — photo-led Navigator walkthrough */
.navigator-walkthrough{border-top:1px solid var(--line);background:#f7f3ea}
.walkthrough-head{padding:24px 24px 15px}.walkthrough-head h4{font:600 30px "Playfair Display",serif;margin:0}.walkthrough-head>div>p:last-child{margin:7px 0 0;color:#64747a;font-size:13px}
.walkthrough-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.walkthrough-tabs button{border:0;border-right:1px solid var(--line);background:#fff;padding:12px 9px;display:flex;gap:7px;align-items:center;text-align:left}.walkthrough-tabs button:last-child{border-right:0}.walkthrough-tabs button>span{width:25px;height:25px;flex:0 0 25px;border-radius:50%;display:grid;place-items:center;background:#e7e3da;color:var(--ink);font:700 9px "DM Mono",monospace}.walkthrough-tabs button b{font-size:10px;line-height:1.2}.walkthrough-tabs button.active{background:var(--ink);color:#fff}.walkthrough-tabs button.active>span{background:var(--coral);color:#fff}
.walkthrough-stage{display:grid;grid-template-columns:1.08fr .92fr;min-height:440px}.walkthrough-photo{position:relative;margin:0;background:#dce8e7;overflow:hidden;min-height:440px}.walkthrough-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.walkthrough-photo:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.walkthrough-photo figcaption{position:absolute;left:18px;bottom:15px;z-index:2;color:#fff;font:600 11px "DM Mono",monospace;letter-spacing:.04em}
.walkthrough-info{padding:30px;display:flex;flex-direction:column;background:#fff}.walkthrough-step-label{font:600 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.1em}.walkthrough-info h5{font:600 31px/1.05 "Playfair Display",serif;margin:7px 0 13px}.walkthrough-info>p{font-size:14px;line-height:1.6;color:#52636a}
.walkthrough-lookfor,.walkthrough-dont{padding:13px 14px;margin-top:10px;border-left:4px solid var(--blue);background:#eef5f4}.walkthrough-dont{border-left-color:var(--coral);background:#fff4ea}.walkthrough-lookfor b,.walkthrough-dont b{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.walkthrough-lookfor p,.walkthrough-dont p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#58686e}
.walkthrough-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.walkthrough-facts span{border:1px solid var(--line);padding:7px 9px;background:var(--cream);font-size:10px;font-weight:700}.walkthrough-source{display:block;margin-top:auto;padding-top:17px;color:#879195;font-size:9px;line-height:1.4}
@media(max-width:850px){.walkthrough-tabs{grid-template-columns:1fr}.walkthrough-tabs button{border-right:0;border-bottom:1px solid var(--line)}.walkthrough-stage{grid-template-columns:1fr}.walkthrough-photo{min-height:330px}.walkthrough-info{padding:24px}}

/* v17 — Choose My Port Day */
.day-planner{max-width:1180px;margin:24px auto;background:#fff;border:1px solid var(--line);box-shadow:0 18px 50px rgba(21,43,56,.06)}
.day-planner-head{display:grid;grid-template-columns:1fr auto;gap:28px;padding:28px;background:var(--ink);color:#fff}.day-planner-head h3{font:600 34px "Playfair Display",serif;margin:3px 0 7px}.day-planner-head>div>p:last-child{max-width:660px;margin:0;color:#c8d7d8;font-size:13px;line-height:1.5}.day-time-inputs{display:flex;gap:9px;align-items:end}.day-time-inputs label{display:grid;gap:5px}.day-time-inputs span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#c8d7d8}.day-time-inputs input{height:44px;border:1px solid #45616c;background:#fff;color:var(--ink);padding:0 10px;font-weight:700}
.day-duration-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line)}.day-duration-cards button{border:0;border-right:1px solid var(--line);background:#fff;padding:19px;text-align:left;display:grid;gap:3px}.day-duration-cards button:last-child{border-right:0}.day-duration-cards span{font:700 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.08em}.day-duration-cards strong{font:600 20px "Playfair Display",serif}.day-duration-cards small{color:#69777c}.day-duration-cards button.active{background:#eef6f5;box-shadow:inset 0 -4px var(--blue)}
.day-style-row{padding:14px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center;background:#f8f4eb;border-bottom:1px solid var(--line)}.day-style-row>span{font-size:11px;font-weight:800}.day-style-row>div{display:flex;gap:6px;flex-wrap:wrap}.day-style-row button{border:1px solid var(--line);background:#fff;padding:8px 10px;font-size:10px;font-weight:700}.day-style-row button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.day-plan-shell{display:grid;grid-template-columns:.78fr 1.22fr}.day-plan-summary{padding:26px;background:#f8f4eb;border-right:1px solid var(--line)}.day-plan-summary>span{font:700 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.08em}.day-plan-summary h4{font:600 29px "Playfair Display",serif;margin:6px 0 10px}.day-plan-summary>p{font-size:12px;line-height:1.55;color:#5c6c72}.day-window{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:center;margin-top:20px;padding:13px;background:#fff;border:1px solid var(--line)}.day-window div{display:grid}.day-window small{font-size:8px;color:#758287}.day-window strong{font:700 15px "DM Mono",monospace;margin-top:2px}.day-window .aboard strong{color:var(--coral)}.day-window i{font-style:normal;color:#a1a9aa}.day-buffer-note{padding:10px 11px;background:#edf5f3;border-left:3px solid var(--blue)}.day-buffer-note.warning{background:#fff0e7;border-left-color:var(--coral);color:#8b4c35}
.day-timeline{padding:18px 24px}.day-timeline article{display:grid;grid-template-columns:55px 34px 1fr;gap:10px;align-items:center;position:relative;min-height:55px}.day-timeline article:not(:last-child):after{content:"";position:absolute;left:72px;top:42px;height:25px;border-left:2px dotted #c4ccca}.day-timeline time{font:700 10px "DM Mono",monospace;color:#6b787c}.day-timeline article>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef2ef}.day-timeline b{font-size:12px}.day-timeline small{display:block;color:#718084;font-size:9px;margin-top:2px}.day-timeline article.return-step>span{background:#fff0e6}.day-timeline article.return-step b{color:#a34f32}
.day-return-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;background:#e8f3f1;border-top:1px solid var(--line)}.day-return-banner>div>span{font:700 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.08em}.day-return-banner strong{display:block;font:600 23px "Playfair Display",serif;margin:3px 0}.day-return-banner p{margin:0;font-size:11px;color:#5b6c70}.day-return-banner button{border:0;background:var(--ink);color:#fff;padding:13px 16px;font-weight:800;white-space:nowrap}
@media(max-width:850px){.day-planner-head{grid-template-columns:1fr}.day-time-inputs{align-items:stretch}.day-time-inputs label{flex:1}.day-plan-shell{grid-template-columns:1fr}.day-plan-summary{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:620px){.day-duration-cards{grid-template-columns:1fr}.day-duration-cards button{border-right:0;border-bottom:1px solid var(--line)}.day-style-row{display:block}.day-style-row>div{margin-top:9px}.day-time-inputs{display:grid;grid-template-columns:1fr 1fr}.day-return-banner{display:grid}.day-return-banner button{white-space:normal}.day-window{grid-template-columns:1fr}.day-window i{display:none}}

/* v18 — Know Your Terminal */
.terminal-explorer{max-width:1180px;margin:24px auto;background:#fff;border:1px solid var(--line);box-shadow:0 16px 42px rgba(21,43,56,.06)}
.terminal-explorer-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:25px 26px;background:#f8f4eb}.terminal-explorer-head h3{font:600 31px "Playfair Display",serif;margin:3px 0 7px}.terminal-explorer-head p:last-child{margin:0;max-width:720px;color:#607076;font-size:12px;line-height:1.5}.terminal-check-badge{font:700 9px "DM Mono",monospace;color:var(--coral);border:1px solid #e5c3ad;background:#fff;padding:8px 10px;white-space:nowrap}
.terminal-choice{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.terminal-choice button{border:0;border-right:1px solid var(--line);background:#fff;padding:17px;display:flex;gap:11px;align-items:center;text-align:left}.terminal-choice button:last-child{border-right:0}.terminal-choice button>span{font-size:23px}.terminal-choice b{display:block;font:600 17px "Playfair Display",serif}.terminal-choice small{display:block;color:#6c7a7f;margin-top:2px}.terminal-choice button.active{background:#eaf4f2;box-shadow:inset 0 -4px var(--blue)}
.terminal-answer{display:grid;grid-template-columns:1.3fr .7fr}.terminal-answer-main{padding:25px}.terminal-answer-main>span,.terminal-do-next>span{font:700 9px "DM Mono",monospace;color:var(--coral);letter-spacing:.09em}.terminal-answer-main h4{font:600 27px "Playfair Display",serif;margin:5px 0 9px}.terminal-answer-main>p{max-width:690px;color:#596a70;font-size:13px;line-height:1.55}.terminal-answer-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.terminal-answer-facts span{padding:7px 9px;background:var(--cream);border:1px solid var(--line);font-size:10px;font-weight:700}
.terminal-do-next{padding:25px;background:var(--ink);color:#fff}.terminal-do-next>span{color:var(--aqua)}.terminal-do-next strong{display:block;font:600 21px "Playfair Display",serif;margin:7px 0}.terminal-do-next p{font-size:11px;line-height:1.5;color:#c5d5d6}.terminal-do-next button{border:0;background:var(--coral);color:#fff;padding:11px 13px;font-weight:800;margin-top:7px}
.terminal-services-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.terminal-services-strip>div{padding:13px;border-right:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:7px}.terminal-services-strip>div:last-child{border-right:0}.terminal-services-strip>div>span{grid-row:1/3;font-size:18px}.terminal-services-strip b{font-size:10px}.terminal-services-strip small{font-size:8px;color:#718085;line-height:1.3}
@media(max-width:800px){.terminal-explorer-head{display:block}.terminal-check-badge{display:inline-block;margin-top:12px}.terminal-answer{grid-template-columns:1fr}.terminal-services-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.terminal-choice{grid-template-columns:1fr}.terminal-choice button{border-right:0;border-bottom:1px solid var(--line)}.terminal-services-strip{grid-template-columns:1fr}}

/* v19 — Return-to-ship safety */
.return-safety{max-width:1180px;margin:24px auto;background:#fff;border:1px solid var(--line);box-shadow:0 16px 42px rgba(21,43,56,.06)}
.return-safety-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:26px;background:#f8f4eb}.return-safety-head h3{font:600 32px "Playfair Display",serif;margin:3px 0 7px}.return-safety-head p:last-child{margin:0;max-width:720px;color:#607076;font-size:12px;line-height:1.5}.safety-legend{display:flex;gap:10px;flex-wrap:wrap;font:700 9px "DM Mono",monospace}.safety-legend .good{color:#2d7d59}.safety-legend .watch{color:#b57919}.safety-legend .danger{color:#b6493c}
.return-safety-controls{display:grid;grid-template-columns:1fr .4fr;gap:10px;padding:18px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.return-safety-controls label{display:grid;gap:6px}.return-safety-controls span{font-size:10px;font-weight:800}.return-safety-controls select,.return-safety-controls input{height:46px;border:1px solid var(--line);background:var(--cream);padding:0 10px}
.safety-result{display:grid;grid-template-columns:.7fr 1.25fr 1.05fr;gap:0;border-bottom:1px solid var(--line)}.safety-score{padding:20px;display:flex;gap:11px;align-items:center}.safety-score>span{font-size:30px}.safety-score small{display:block;font:800 9px "DM Mono",monospace;letter-spacing:.06em}.safety-score strong{display:block;font:600 21px "Playfair Display",serif;margin-top:3px}.safety-score.good{background:#edf7ef}.safety-score.watch{background:#fff6e5}.safety-score.danger{background:#fff0ed}
.safety-times{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;padding:18px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.safety-times div{display:grid;text-align:center}.safety-times small{font-size:8px;color:#788589}.safety-times strong{font:700 15px "DM Mono",monospace;margin-top:3px}.safety-times i{font-style:normal;color:#aaa}.safety-result>p{margin:0;padding:19px;font-size:12px;line-height:1.55;color:#56676d}
.safety-bar{padding:22px}.safety-bar-track{position:relative;height:18px;border-radius:20px;overflow:visible;background:#ddd}.safety-bar-track>span{position:absolute;top:0;height:18px}.green-zone{left:0;width:60%;background:#84c69b;border-radius:20px 0 0 20px}.amber-zone{left:60%;width:25%;background:#efc466}.red-zone{left:85%;width:15%;background:#e78476;border-radius:0 20px 20px 0}.marker{position:absolute;top:-8px;width:3px;height:34px;background:var(--ink);transform:translateX(-50%)}.marker em{position:absolute;top:-23px;left:50%;transform:translateX(-50%);font:700 8px "DM Mono",monospace;white-space:nowrap;background:#fff;padding:2px 4px}.aboard-marker{left:98%;background:#b6493c}.aboard-marker em{right:0;left:auto;transform:none}.safety-bar-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:#788589}
.safety-advice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 22px 22px}.safety-advice-grid article{border:1px solid var(--line);padding:14px;display:flex;gap:10px}.safety-advice-grid article>span{font-size:21px}.safety-advice-grid strong{font-size:11px}.safety-advice-grid p{margin:4px 0 0;font-size:10px;line-height:1.4;color:#66757a}
.safety-return-cta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;background:var(--ink);color:#fff}.safety-return-cta>div>span{font:700 9px "DM Mono",monospace;color:var(--aqua)}.safety-return-cta strong{display:block;font:600 23px "Playfair Display",serif;margin:3px 0}.safety-return-cta p{margin:0;font-size:11px;color:#c5d7d7}.safety-return-cta button{border:0;background:var(--coral);color:#fff;padding:12px 14px;font-weight:800}
@media(max-width:850px){.return-safety-head{display:block}.safety-legend{margin-top:12px}.safety-result{grid-template-columns:1fr}.safety-times{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.safety-advice-grid{grid-template-columns:1fr}}@media(max-width:620px){.return-safety-controls{grid-template-columns:1fr}.safety-times{grid-template-columns:1fr}.safety-times i{display:none}.safety-times div{padding:6px 0}.safety-return-cta{display:grid}}

/* v20 — top Essentials */
.top-essentials{max-width:1180px;margin:18px auto 22px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(21,43,56,.05)}
.top-essentials-title{display:flex;justify-content:space-between;align-items:end;padding:18px 21px 12px;border-bottom:1px solid var(--line)}.top-essentials-title .eyebrow{margin:0 0 2px}.top-essentials-title h2{font:600 27px "Playfair Display",serif;margin:0}.top-essentials-title>small{font:700 8px "DM Mono",monospace;letter-spacing:.11em;color:#7c898d}
.top-essentials-grid{display:grid;grid-template-columns:1.15fr 1.1fr .8fr 1.15fr 1.15fr}.top-essentials-grid article{min-height:100px;padding:15px 14px;display:flex;gap:10px;align-items:flex-start;border-right:1px solid var(--line)}.top-essentials-grid article:last-child{border-right:0}.essential-icon{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:grid;place-items:center;background:#edf4f2;font-weight:800;font-size:16px}.top-essentials-grid small{display:block;font:700 8px "DM Mono",monospace;color:var(--coral);letter-spacing:.08em}.top-essentials-grid strong{display:block;font:600 15px "Playfair Display",serif;margin-top:3px}.top-essentials-grid p{margin:4px 0 0;color:#69787d;font-size:9px;line-height:1.35}.top-essentials-grid a{color:var(--blue);font-weight:800;text-decoration:none}.essential-weather{background:#f8f4eb}
@media(max-width:900px){.top-essentials-grid{grid-template-columns:repeat(2,1fr)}.top-essentials-grid article{border-bottom:1px solid var(--line)}}@media(max-width:560px){.top-essentials-title{display:block}.top-essentials-title>small{display:block;margin-top:6px}.top-essentials-grid{grid-template-columns:1fr}.top-essentials-grid article{border-right:0}}

/* v21 — page editor */
.page-edit-toggle{position:sticky;top:82px;z-index:22;margin:12px 18px 0 auto;display:block;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;font-weight:800;font-size:11px;box-shadow:0 5px 18px rgba(21,43,56,.08)}
.page-editor{position:fixed;top:0;right:0;width:min(410px,100%);height:100%;z-index:80;background:#fbf8f1;transform:translateX(105%);transition:transform .22s ease;box-shadow:-20px 0 60px rgba(21,43,56,.2);padding:0;overflow:auto}.page-editor.open{transform:translateX(0)}
.editor-scrim{position:fixed;inset:0;background:rgba(15,35,45,.45);z-index:70;opacity:0;visibility:hidden;transition:.2s}.editor-scrim.open{opacity:1;visibility:visible}
.page-editor-head{padding:20px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff}.page-editor-head span{font:700 9px "DM Mono",monospace;color:var(--aqua);letter-spacing:.1em}.page-editor-head h2{font:600 27px "Playfair Display",serif;margin:3px 0 0}.page-editor-head button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;width:34px;height:34px;border-radius:50%;font-size:21px}
.editor-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.editor-tabs button{border:0;background:#fff;padding:12px;font-weight:800;font-size:11px}.editor-tabs button.active{background:#e9f3f1;color:var(--blue);box-shadow:inset 0 -3px var(--blue)}
.editor-panel{display:none;padding:18px}.editor-panel.active{display:block}.editor-help{margin:0 0 14px;font-size:12px;line-height:1.5;color:#5d6c72}
.editor-section-list{display:grid;gap:7px}.editor-section-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);padding:10px;cursor:grab}.editor-section-item.dragging{opacity:.45}.drag-handle{font-size:18px;color:#7b878b}.editor-section-item strong{display:block;font-size:12px}.editor-section-item small{display:block;font:500 8px "DM Mono",monospace;color:#7f8a8d;margin-top:2px}.editor-visibility{border:0;background:#f4efe5;width:34px;height:34px}
.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.editor-actions button{border:0;background:var(--ink);color:#fff;padding:11px;font-weight:800;font-size:10px}.editor-actions button.secondary{background:#ebe6dd;color:var(--ink)}
.editor-switch{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);padding:12px;font-weight:700;font-size:12px}.editor-switch input{width:18px;height:18px}
.editor-status{min-height:20px;margin:0;padding:0 18px 18px;font-size:11px;color:var(--blue)}
.page-text-editing [contenteditable="true"]{outline:1px dashed rgba(223,112,85,.75);outline-offset:2px;cursor:text}.page-text-editing [contenteditable="true"]:focus{outline:2px solid var(--coral);background:#fff9f2}
[data-edit-section][hidden]{display:none!important}
@media(max-width:680px){.page-edit-toggle{top:70px}.editor-actions{grid-template-columns:1fr}}

/* v22 — safer editor reordering */
.editable-page-sections{display:contents}
.editor-section-item{grid-template-columns:auto 1fr auto}
.editor-item-actions{display:flex;gap:4px;align-items:center}
.editor-move,.editor-visibility{border:0;background:#f4efe5;width:32px;height:32px;display:grid;place-items:center;font-weight:800}
.editor-move:hover,.editor-visibility:hover{background:#e6dfd3}

/* v23 — expanded editor section coverage */
.editable-page-sections{display:block}

/* v24 — consistent page widths */
:root{--pdm-content-width:1180px;--pdm-gutter:clamp(18px,4vw,36px)}

.top-essentials,
.ship-city-section,
.port-navigator,
.navigator-walkthrough,
.day-planner,
.return-safety,
.terminal-explorer,
.port-day-essentials,
.first-move,
.dropoff-focus,
.near-dropoff,
.direction-finder,
.return-route-strip,
.return-home-panel{
  width:min(var(--pdm-content-width),calc(100% - (var(--pdm-gutter) * 2)));
  max-width:var(--pdm-content-width);
  margin-left:auto;
  margin-right:auto;
}

/* Lower guide sections: keep section backgrounds, align their inner content consistently. */
.port-section,
.return-section{
  padding-left:max(var(--pdm-gutter),calc((100% - var(--pdm-content-width))/2));
  padding-right:max(var(--pdm-gutter),calc((100% - var(--pdm-content-width))/2));
}

/* Avoid nested full-width modules appearing narrower/wider than neighbors. */
.ship-city-section .port-navigator,
.ship-city-section .navigator-walkthrough,
.ship-city-section .day-planner,
.ship-city-section .return-safety,
.ship-city-section .terminal-explorer,
.ship-city-section .port-day-essentials,
.ship-city-section .first-move,
.ship-city-section .dropoff-focus,
.ship-city-section .near-dropoff,
.ship-city-section .direction-finder,
.ship-city-section .return-route-strip,
.ship-city-section .return-home-panel{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
}

/* Keep the editor button/panel independent of content width. */
.page-editor,
.page-edit-toggle{max-width:none}

@media(max-width:600px){
  :root{--pdm-gutter:16px}
}

/* v25 — editor export/import */
.editor-transfer{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.editor-transfer h3{font:600 17px "Playfair Display",serif;margin:0 0 5px}
.editor-transfer p{margin:0 0 10px;font-size:10px;line-height:1.45;color:#66757a}

/* v26b — visible standalone Onwards from Shuttle Drop-off */
.onwards-dropoff-standalone{width:100%;max-width:none;margin:22px 0;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(21,43,56,.06)}
.onwards-head{display:grid;grid-template-columns:1.45fr .55fr;gap:24px;padding:25px;background:#f8f4eb}.onwards-head h3{font:600 31px "Playfair Display",serif;margin:3px 0 8px}.onwards-head h3 em{font-weight:400}.onwards-head>div>p:last-child{max-width:720px;font-size:12px;line-height:1.5;color:#627177}.you-are-here{background:var(--ink);color:#fff;padding:16px}.you-are-here span{font:700 8px "DM Mono",monospace;color:var(--aqua)}.you-are-here strong{display:block;font:600 20px "Playfair Display",serif;margin:5px 0}.you-are-here small{color:#c8d5d7}
.onwards-destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px}.onwards-destination-grid article{border:1px solid var(--line);padding:15px;display:flex;flex-direction:column;min-height:185px}.destination-top{display:flex;justify-content:space-between;align-items:center}.destination-top>span{font-size:22px}.destination-top small{font:700 8px "DM Mono",monospace;color:var(--coral)}.onwards-destination-grid h4{font:600 20px "Playfair Display",serif;margin:8px 0 4px}.onwards-destination-grid p{font-size:10px;line-height:1.45;color:#65747a;flex:1}.onwards-destination-grid b{font-size:9px;margin:7px 0}.onwards-destination-grid a{font-size:10px;font-weight:800;color:var(--blue);text-decoration:none}

.dropoff-return-reminder{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--ink);color:#fff;padding:16px 20px}.dropoff-return-reminder span{display:block;font:700 8px "DM Mono",monospace;color:var(--aqua)}.dropoff-return-reminder strong{display:block;font:600 16px "Playfair Display",serif;margin-top:3px}.dropoff-return-reminder a{background:#fff;color:var(--ink);text-decoration:none;padding:10px 12px;font-size:9px;font-weight:800;white-space:nowrap}
@media(max-width:820px){.onwards-head{grid-template-columns:1fr}.onwards-destination-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.onwards-destination-grid{grid-template-columns:1fr}.dropoff-return-reminder{display:grid}}

/* v27 — signature Onwards from Shuttle Drop-off */
.onwards-destination-grid.eight{grid-template-columns:repeat(4,1fr)}
.onwards-destination-grid.eight article{min-height:205px}
.onwards-destination-grid.eight b{font-size:10px;color:var(--ink)}
.onwards-mini-map{position:relative;min-height:430px;margin:0 20px 20px;background:linear-gradient(90deg,#eee8db 0 72%,#d3e7e9 72% 100%);border:1px solid var(--line);overflow:hidden}
.onwards-mini-map .map-label{position:absolute;background:#fff;border:1px solid rgba(21,43,56,.18);padding:7px 9px;font:700 9px "DM Mono",monospace;letter-spacing:.03em;z-index:2}
.onwards-mini-map .map-label small{font-size:8px;color:#64777c}
.onwards-mini-map .map-arrow{position:absolute;font-size:24px;color:var(--coral);font-weight:800}
.onwards-mini-map .map-line{position:absolute;height:3px;background:#658a90;transform-origin:left center}
.onwards-mini-map .focal{left:37%;top:58%;background:var(--ink);color:#fff}
.onwards-mini-map .portvell{left:58%;top:59%}
.onwards-mini-map .barceloneta{left:79%;top:60%}
.onwards-mini-map .rambla{left:37%;top:38%}
.onwards-mini-map .gothic{left:57%;top:37%}
.onwards-mini-map .boqueria{left:24%;top:20%}
.onwards-mini-map .passeig{left:42%;top:9%}
.onwards-mini-map .sagrada{left:66%;top:4%}
.onwards-mini-map .shuttle{left:34%;top:76%}
.onwards-mini-map .ship{left:34%;top:90%}
.onwards-mini-map .sagrada-arrow{left:60%;top:10%}
.onwards-mini-map .boqueria-arrow{left:31%;top:28%}
.onwards-mini-map .ship-arrow{left:42%;top:83%}
.onwards-mini-map .rambla-gothic{left:47%;top:41%;width:11%}
.onwards-mini-map .focal-portvell{left:47%;top:62%;width:11%}
.onwards-mini-map .portvell-barceloneta{left:67%;top:63%;width:12%}
.onwards-mini-map .ship-line{left:42%;top:69%;width:13%;transform:rotate(90deg)}
.onwards-mini-map .map-note{position:absolute;right:10px;bottom:9px;font:600 8px "DM Mono",monospace;color:#65777b}
.dropoff-return-reminder.signature p{margin:5px 0 0;font-size:10px;color:#c7d9d9}
@media(max-width:950px){.onwards-destination-grid.eight{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.onwards-destination-grid.eight{grid-template-columns:1fr}.onwards-mini-map{min-height:520px}.onwards-mini-map .barceloneta{left:68%;top:66%}.onwards-mini-map .portvell{left:51%;top:58%}.onwards-mini-map .gothic{left:58%;top:35%}}

/* v28 — visual-page section editor */
.editable-page-sections{display:contents}
.page-section-editing [data-edit-section]{position:relative;outline:2px dashed rgba(7,91,125,.32);outline-offset:-2px}
.page-section-editing [data-edit-section]::before{
  content:attr(data-editor-visible-name);
  position:absolute;z-index:35;top:7px;left:7px;
  max-width:calc(100% - 14px);padding:5px 8px;
  background:var(--ink);color:#fff;
  font:700 9px "DM Mono",monospace;letter-spacing:.02em;
  pointer-events:none
}
.editor-section-item small{display:block;font:700 8px "DM Mono",monospace;color:var(--coral);letter-spacing:.08em;margin-bottom:2px}
.editor-section-item strong{font-size:11px;line-height:1.25}

/* v29 — force visible editor names */
.editor-list-heading{margin:0 0 10px;padding:10px 11px;background:#eef5f4;border:1px solid var(--line)}
.editor-list-heading strong{display:block;font-size:12px}
.editor-list-heading small{display:block;margin-top:3px;font-size:9px;color:#65757a;line-height:1.35}
.editor-section-item>div>strong{display:block!important;color:var(--ink)!important;font-size:12px!important;line-height:1.3!important}

/* v30 — editor names repair */
.editor-section-item strong{display:block!important;color:var(--ink)!important;font-size:12px!important;line-height:1.3!important}
.editor-section-item small{display:block!important;color:var(--coral)!important}
.editor-empty{padding:12px;background:#fff0e8;border:1px solid #ebc1b0;color:#704332;font-size:11px}

/* v31 — exact Onwards from Shuttle Drop-off section */
.onwards-head.exact{grid-template-columns:1.35fr .65fr}
.onwards-destination-grid.exact-eight{grid-template-columns:repeat(4,1fr)}
.onwards-destination-grid.exact-eight article{min-height:205px}
.onwards-destination-grid.exact-eight b{font-size:10px;color:var(--ink)}
.onwards-mini-map.exact{position:relative;min-height:430px;margin:0 20px 20px;background:linear-gradient(90deg,#eee8db 0 72%,#d3e7e9 72% 100%);border:1px solid var(--line);overflow:hidden}
.onwards-mini-map.exact .map-label{position:absolute;background:#fff;border:1px solid rgba(21,43,56,.18);padding:7px 9px;font:700 9px "DM Mono",monospace;letter-spacing:.03em;z-index:2}
.onwards-mini-map.exact .map-label small{font-size:8px;color:#64777c}
.onwards-mini-map.exact .map-arrow{position:absolute;font-size:24px;color:var(--coral);font-weight:800}
.onwards-mini-map.exact .map-line{position:absolute;height:3px;background:#658a90;transform-origin:left center}
.onwards-mini-map.exact .focal{left:37%;top:58%;background:var(--ink);color:#fff}
.onwards-mini-map.exact .portvell{left:58%;top:59%}
.onwards-mini-map.exact .barceloneta{left:79%;top:60%}
.onwards-mini-map.exact .rambla{left:37%;top:38%}
.onwards-mini-map.exact .gothic{left:57%;top:37%}
.onwards-mini-map.exact .boqueria{left:24%;top:20%}
.onwards-mini-map.exact .passeig{left:42%;top:9%}
.onwards-mini-map.exact .sagrada{left:66%;top:4%}
.onwards-mini-map.exact .shuttle{left:34%;top:76%}
.onwards-mini-map.exact .ship{left:34%;top:90%}
.onwards-mini-map.exact .sagrada-arrow{left:60%;top:10%}
.onwards-mini-map.exact .boqueria-arrow{left:31%;top:28%}
.onwards-mini-map.exact .ship-arrow{left:42%;top:83%}
.onwards-mini-map.exact .rambla-gothic{left:47%;top:41%;width:11%}
.onwards-mini-map.exact .focal-portvell{left:47%;top:62%;width:11%}
.onwards-mini-map.exact .portvell-barceloneta{left:67%;top:63%;width:12%}
.onwards-mini-map.exact .ship-line{left:42%;top:69%;width:13%;transform:rotate(90deg)}
.onwards-mini-map.exact .map-note{position:absolute;right:10px;bottom:9px;font:600 8px "DM Mono",monospace;color:#65777b}
.dropoff-return-reminder.signature.exact p{margin:5px 0 0;font-size:10px;color:#c7d9d9}
@media(max-width:950px){.onwards-destination-grid.exact-eight{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.onwards-destination-grid.exact-eight{grid-template-columns:1fr}.onwards-mini-map.exact{min-height:520px}.onwards-head.exact{grid-template-columns:1fr}}

/* v32 — Port Overview */
.port-overview-section{
  width:min(var(--pdm-content-width),calc(100% - (var(--pdm-gutter) * 2)));
  max-width:var(--pdm-content-width);margin:18px auto 22px;background:#fff;
  border:1px solid var(--line);box-shadow:0 12px 34px rgba(21,43,56,.05)
}
.port-overview-head{display:flex;justify-content:space-between;align-items:end;padding:20px 22px 13px;border-bottom:1px solid var(--line)}
.port-overview-head .eyebrow{margin:0 0 2px}.port-overview-head h2{font:600 29px "Playfair Display",serif;margin:0}
.port-overview-head>small{font:700 8px "DM Mono",monospace;letter-spacing:.11em;color:#7c898d}
.port-overview-intro{padding:15px 22px;background:#f8f4eb;border-bottom:1px solid var(--line);font:500 12px/1.55 "DM Sans",sans-serif;color:#52666d}
.port-overview-grid{display:grid;grid-template-columns:1fr 1fr}
.port-overview-grid article{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.port-overview-grid article:nth-child(even){border-right:0}
.port-overview-grid article.overview-wide{grid-column:1/-1;border-right:0;border-bottom:0}
.overview-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#edf4f2;font-size:18px}
.port-overview-grid small{display:block;font:700 8px "DM Mono",monospace;color:var(--coral);letter-spacing:.09em;margin-bottom:4px}
.port-overview-grid h3{font:600 20px "Playfair Display",serif;margin:0 0 8px;color:var(--ink)}
.port-overview-grid p{margin:0 0 9px;font-size:10.5px;line-height:1.55;color:#607178}
.port-overview-grid p:last-child{margin-bottom:0}
@media(max-width:760px){
 .port-overview-grid{grid-template-columns:1fr}
 .port-overview-grid article,.port-overview-grid article:nth-child(even){border-right:0}
 .port-overview-grid article.overview-wide{grid-column:auto}
 .port-overview-head{display:block}.port-overview-head>small{display:block;margin-top:6px}
}

/* v33 — Port Overview readability */
.port-overview-intro{
  font-size:14px;
  line-height:1.65;
}
.port-overview-grid small{
  font-size:9px;
}
.port-overview-grid h3{
  font-size:23px;
  line-height:1.2;
}
.port-overview-grid p{
  font-size:14px;
  line-height:1.65;
}
@media(max-width:760px){
  .port-overview-grid p{font-size:14px}
  .port-overview-intro{font-size:14px}
}


/* v36 — revised-page editor reset notice */
.editor-version-notice{
  margin:0 18px 14px;
  padding:11px 12px;
  background:#fff4ea;
  border:1px solid #e8c4ae;
}
.editor-version-notice strong{
  display:block;
  font-size:11px;
  color:var(--ink);
}
.editor-version-notice p{
  margin:4px 0 0;
  font-size:9px;
  line-height:1.45;
  color:#6b7478;
}

/* v40 — simple Direction Finder dropdown */
.direction-controls-simple{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  gap:12px;
  align-items:end;
}
.direction-controls-simple label{display:block;min-width:0}
.direction-controls-simple label>span{
  display:block;
  margin-bottom:6px;
  font:700 9px "DM Mono",monospace;
  letter-spacing:.06em;
  color:var(--ink);
}
.direction-controls-simple select{
  width:100%;
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font:600 13px "DM Sans",sans-serif;
}
.show-directions-button{
  min-height:46px;
  padding:0 18px;
  border:0;
  background:var(--ink);
  color:#fff;
  font:700 11px "DM Sans",sans-serif;
  cursor:pointer;
}
.show-directions-button:hover{opacity:.9}
.show-directions-button:focus-visible{
  outline:3px solid var(--coral);
  outline-offset:2px;
}
@media(max-width:680px){
  .direction-controls-simple{grid-template-columns:1fr}
  .show-directions-button{width:100%}
}

/* v44 — directions links for What's near the shuttle drop-off point? */
.nearby-directions-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--ink);
  text-decoration:none;
  color:var(--ink);
  background:#fff;
  font:700 10px "DM Sans",sans-serif;
}
.nearby-directions-link:hover{
  background:var(--ink);
  color:#fff;
}
.nearby-directions-link:focus-visible{
  outline:3px solid var(--coral);
  outline-offset:2px;
}

/* v47 — Create My Itinerary */
.itinerary-builder-cta{margin-top:18px;padding:18px;background:#f8f4eb;border:1px solid var(--line);text-align:center}
.itinerary-builder-cta button{min-height:48px;padding:0 22px;border:0;background:var(--ink);color:#fff;font:700 13px "DM Sans",sans-serif;cursor:pointer}
.itinerary-builder-cta p{max-width:620px;margin:9px auto 0;font-size:11px;line-height:1.5;color:#66777c}
.generated-itinerary{margin-top:14px;border:1px solid var(--line);background:#fff}
.itinerary-result-head{padding:18px 20px;border-bottom:1px solid var(--line)}
.itinerary-result-head>span{font:700 8px "DM Mono",monospace;letter-spacing:.09em;color:var(--coral)}
.itinerary-result-head h3{margin:4px 0;font:600 23px "Playfair Display",serif}
.itinerary-result-head p{margin:0;font-size:11px;color:#68797e}
.itinerary-timeline{padding:4px 20px}
.itinerary-timeline article{display:grid;grid-template-columns:60px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.itinerary-timeline time{font:700 11px "DM Mono",monospace;color:var(--coral)}
.itinerary-timeline strong{display:block;font-size:13px}
.itinerary-timeline p{margin:4px 0 7px;font-size:11px;line-height:1.5;color:#65767b}
.itinerary-timeline a{font-size:10px;font-weight:700;color:var(--ink)}
.itinerary-return-warning{padding:15px 20px;background:#fff4ea}
.itinerary-return-warning strong{font-size:12px}
.itinerary-return-warning p{margin:4px 0 0;font-size:10.5px;line-height:1.5}

/* v77 — brighter Barcelona city-photo hero while keeping text readable */
.barcelona-live-time{display:block;margin-top:4px;font-size:12px;font-weight:800;color:var(--ink);white-space:nowrap}
.port-hero.barcelona-city-hero{
 position:relative;isolation:isolate;overflow:hidden;color:#fff;
 background-image:
   linear-gradient(90deg,rgba(13,31,40,.62) 0%,rgba(13,31,40,.38) 50%,rgba(13,31,40,.18) 100%),
   url('https://barcelonatickets.tours/wp-content/uploads/2023/07/panoramic-barcelona-skyline.jpg');
 background-size:cover;background-position:center 48%;
}
.port-hero.barcelona-city-hero > div:first-child{
 max-width:760px;
 padding:18px 20px;
 background:rgba(13,31,40,.20);
 backdrop-filter:blur(2px);
}
.port-hero.barcelona-city-hero h1,
.port-hero.barcelona-city-hero p,
.port-hero.barcelona-city-hero .eyebrow,
.port-hero.barcelona-city-hero .hero-facts span{
 color:#fff;
 text-shadow:0 2px 6px rgba(0,0,0,.58);
}
.port-hero.barcelona-city-hero .hero-facts span{
 background:rgba(255,255,255,.88);
 color:var(--ink);
 text-shadow:none;
}

/* v49 — Drassanes directions */
.drassanes-directions-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:42px;
  margin-top:10px;
  padding:0 14px;
  border:1px solid var(--ink);
  background:#fff;
  color:var(--ink);
  font:700 10.5px "DM Sans",sans-serif;
  text-decoration:none;
}
.drassanes-directions-link:hover{
  background:var(--ink);
  color:#fff;
}

/* v50 — permanently hide Direction finder */
.direction-finder-force-hidden{
  display:none !important;
}

/* v51 — exact visible Direction Finder block */
.direction-finder,
div.direction-finder{
  display:none !important;
  visibility:hidden !important;
}

/* v53 — boxed Get Directions links + hidden terminal sections */
.onwards-directions-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:10px;
  padding:0 14px;
  border:1px solid var(--ink);
  background:#fff;
  color:var(--ink);
  font:700 10.5px "DM Sans",sans-serif;
  text-decoration:none;
}
.onwards-directions-button:hover{
  background:var(--ink);
  color:#fff;
}

/* v54 — restore Follow the journey visually */
.visual-journey,
.journey-visual,
.follow-journey,
[data-section-name="Follow the journey visually"]{
  display:block !important;
  visibility:visible !important;
}

/* v57 — exact hard hides */
.force-hide-start-here,
.force-hide-cruise-terminal{
  display:none !important;
  visibility:hidden !important;
}

/* v58 — hide first three Start Here parts */
.force-hide-start-step-1,
.force-hide-start-step-2,
.force-hide-start-step-3{
  display:none !important;
  visibility:hidden !important;
}

/* v59 — hide Find your bearings */
.force-hide-find-bearings{
  display:none !important;
  visibility:hidden !important;
}

/* v60 — exact hard hides */
.force-hide-know-terminal,
.force-hide-terminal-to-city{
  display:none !important;
  visibility:hidden !important;
}

/* v61 — exact render-level hides */
.force-hide-terminal-flow-exact,
.force-hide-start-here-exact{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* v64 — suppress leftover empty numbered rows */
.step-row:empty,
.start-step:empty,
.numbered-step:empty{
  display:none !important;
}

/* v64 — Back to ship is the final visible section */
.force-hide-after-back{
  display:none !important;
  visibility:hidden !important;
}

/* v65 — Barcelona FAQ */
.barcelona-faq{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2)));
  margin:34px auto;
  padding:0;
}
.faq-head{
  margin-bottom:18px;
}
.faq-head h2{
  margin:4px 0 6px;
  font:600 30px/1.15 "Playfair Display",serif;
  color:var(--ink);
}
.faq-updated{
  margin:0;
  font-size:12px;
  color:#68797e;
}
.faq-list{
  border-top:1px solid var(--line);
}
.faq-list details{
  border-bottom:1px solid var(--line);
  background:#fff;
}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  padding:18px 4px;
  font:700 13px/1.45 "DM Sans",sans-serif;
  color:var(--ink);
}
.faq-list summary::-webkit-details-marker{
  display:none;
}
.faq-list summary::after{
  content:"+";
  float:right;
  font-size:18px;
  line-height:1;
  color:var(--coral);
}
.faq-list details[open] summary::after{
  content:"–";
}
.faq-list details p{
  margin:0;
  padding:0 4px 18px;
  max-width:900px;
  font-size:12px;
  line-height:1.7;
  color:#61747a;
}

/* v66 — hard hide requested terminal guidance blocks */
.force-hide-quickest-answer,
.force-hide-terminal-steps-123{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* v67 — hide remaining terminal journey steps */
.force-hide-step-2,
.force-hide-step-3{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* v68 — align shuttle answer block to shared page width */
.shuttle-answer-wide{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box;
}

/* v69 — make the actual shuttle panel match surrounding section width */
.shuttle-panel-full-width{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

.shuttle-panel-full-width > *,
.shuttle-panel-full-width .essential-answer-grid,
.shuttle-panel-full-width .quick-answer-grid,
.shuttle-panel-full-width .quick-answer-card,
.shuttle-panel-full-width .essential-answer-card,
.shuttle-panel-full-width .answer-grid,
.shuttle-panel-full-width .answer-card{
  max-width:none !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.shuttle-answer-wide{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* v70 — corrected: size the COMPLETE four-card shuttle block */
.shuttle-grid-full-width{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Override any narrower essentials-grid rule */
.essentials-grid.shuttle-grid-full-width{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:none !important;
}

.shuttle-grid-full-width > article{
  min-width:0 !important;
  max-width:none !important;
}

/* v72 — style the World Trade Center exception note to match surrounding sections */
.no-shuttle-note-styled{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2)));
  margin:24px auto;
  padding:20px 22px;
  box-sizing:border-box;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
}

.no-shuttle-note-styled strong,
.no-shuttle-note-styled b{
  display:block;
  margin:0 0 6px;
  font:700 13px/1.4 "DM Sans",sans-serif;
  color:var(--ink);
}

.no-shuttle-note-styled p{
  margin:0;
  max-width:900px;
  font-size:12px;
  line-height:1.65;
  color:#61747a;
}

.no-shuttle-note-styled::before{
  content:"ℹ️";
  display:block;
  margin-bottom:8px;
  font-size:18px;
  line-height:1;
}

/* v73 — info background for World Trade Center exception note */
.no-shuttle-note-styled.info-panel-style{
  background:var(--cream) !important;
  border:1px solid var(--line) !important;
  border-left:4px solid var(--aqua) !important;
  padding:20px 22px !important;
}
.no-shuttle-note-styled.info-panel-style::before{
  content:"ℹ️";
  display:block;
  margin-bottom:8px;
  font-size:18px;
  line-height:1;
}

/* v73 — FAQ styling matched to the page */
.barcelona-faq{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2)));
  margin:36px auto 42px;
  padding:24px 26px;
  box-sizing:border-box;
  border:1px solid var(--line);
  background:var(--cream);
}

.barcelona-faq .faq-head{
  padding-bottom:16px;
  margin-bottom:4px;
  border-bottom:1px solid var(--line);
}

.barcelona-faq .faq-head .eyebrow{
  margin:0 0 5px;
  font:700 9px/1.2 "DM Mono",monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--coral);
}

.barcelona-faq .faq-head h2{
  margin:0 0 7px;
  font:600 30px/1.12 "Playfair Display",serif;
  color:var(--ink);
}

.barcelona-faq .faq-updated{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:#68797e;
}

.barcelona-faq .faq-list{
  border-top:0;
}

.barcelona-faq .faq-list details{
  background:#fff;
  border:1px solid var(--line);
  border-top:0;
}

.barcelona-faq .faq-list details:first-child{
  border-top:1px solid var(--line);
  margin-top:18px;
}

.barcelona-faq .faq-list summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:17px 48px 17px 16px;
  font:700 13px/1.45 "DM Sans",sans-serif;
  color:var(--ink);
}

.barcelona-faq .faq-list summary::-webkit-details-marker{
  display:none;
}

.barcelona-faq .faq-list summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:var(--cream);
  font-size:17px;
  line-height:1;
  color:var(--coral);
}

.barcelona-faq .faq-list details[open] summary{
  background:#fffaf2;
}

.barcelona-faq .faq-list details[open] summary::after{
  content:"–";
}

.barcelona-faq .faq-list details p{
  margin:0;
  padding:0 16px 17px;
  max-width:920px;
  font-size:12px;
  line-height:1.7;
  color:#61747a;
}

/* v76 — current-location return option */
.current-location-return{
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--ink);
  background:#fff;
  color:var(--ink);
  font:700 11px "DM Sans",sans-serif;
  cursor:pointer;
}
.current-location-return:hover{
  background:var(--ink);
  color:#fff;
}
.current-location-return:disabled{
  cursor:wait;
  opacity:.65;
}


/* v78 — Recommended tours & tickets */
.recommended-tours{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2)));
  margin:38px auto;
  padding:28px;
  box-sizing:border-box;
  border:1px solid var(--line);
  background:var(--cream);
}
.recommended-tours-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:28px;
  align-items:end;
  padding-bottom:22px;
  border-bottom:1px solid var(--line);
}
.recommended-tours-head h2{
  margin:5px 0 10px;
  font:600 clamp(28px,3.4vw,42px)/1.05 "Playfair Display",serif;
  letter-spacing:-.025em;
}
.recommended-tours-head > div:first-child > p:last-child{
  max-width:760px;
  margin:0;
  font-size:14px;
  line-height:1.7;
}
.recommended-tours-note{
  display:flex;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  background:#fff;
}
.recommended-tours-note > span{font-size:22px;line-height:1}
.recommended-tours-note p{margin:0;font-size:11px;line-height:1.55}
.recommended-tours-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.tour-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
}
.tour-card-image{
  aspect-ratio:16/9;
  background-size:cover;
  background-position:center;
}
.tour-image-sagrada{background-image:linear-gradient(rgba(13,31,40,.08),rgba(13,31,40,.08)),url('https://images.unsplash.com/photo-1583779457094-ab6f47b4bb87?auto=format&fit=crop&w=1200&q=80')}
.tour-image-guell{background-image:linear-gradient(rgba(13,31,40,.08),rgba(13,31,40,.08)),url('https://images.unsplash.com/photo-1562883676-8c7feb83f09b?auto=format&fit=crop&w=1200&q=80')}
.tour-image-gothic{background-image:linear-gradient(rgba(13,31,40,.10),rgba(13,31,40,.10)),url('https://images.unsplash.com/photo-1539037116277-4db20889f2d4?auto=format&fit=crop&w=1200&q=80')}
.tour-image-highlights{background-image:linear-gradient(rgba(13,31,40,.08),rgba(13,31,40,.08)),url('https://images.unsplash.com/photo-1523531294919-4bcd7c65e216?auto=format&fit=crop&w=1200&q=80')}
.tour-image-montserrat{background-image:linear-gradient(rgba(13,31,40,.08),rgba(13,31,40,.08)),url('https://images.unsplash.com/photo-1561914873-3a2e78119a65?auto=format&fit=crop&w=1200&q=80')}
.tour-image-hopon{background-image:linear-gradient(rgba(13,31,40,.08),rgba(13,31,40,.08)),url('https://images.unsplash.com/photo-1509840841025-9088ba78a826?auto=format&fit=crop&w=1200&q=80')}
.tour-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:17px;
}
.tour-card-topline{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.tour-fit{
  font:800 9px/1.2 "DM Mono",monospace;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.tour-source{
  padding:4px 6px;
  border:1px solid var(--line);
  font:700 8px/1 "DM Mono",monospace;
  text-transform:uppercase;
  color:#6f777b;
}
.tour-card h3{
  margin:0 0 8px;
  font:600 22px/1.08 "Playfair Display",serif;
}
.tour-summary{
  margin:0 0 13px;
  font-size:11.5px;
  line-height:1.65;
}
.tour-facts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:13px;
}
.tour-facts span{
  padding:6px 7px;
  border:1px solid var(--line);
  background:#faf8f3;
  font-size:9px;
  font-weight:800;
}
.tour-port-advice{
  margin:0 0 15px;
  padding:11px 12px;
  border-left:3px solid var(--aqua);
  background:#f5f6f1;
  font-size:10px;
  line-height:1.55;
}
.tour-affiliate-button{
  width:100%;
  min-height:42px;
  margin-top:auto;
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  font:800 10px "DM Sans",sans-serif;
}
.tour-affiliate-button:disabled{
  opacity:.68;
  cursor:not-allowed;
}
.affiliate-placeholder-note{
  margin:18px 0 0;
  font-size:9.5px;
  line-height:1.55;
  color:#626a6e;
}
@media (max-width:920px){
  .recommended-tours-head{grid-template-columns:1fr}
  .recommended-tours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .recommended-tours{padding:20px}
  .recommended-tours-grid{grid-template-columns:1fr}
}


/* v79 — independent exploration divider */
.independent-exploration-intro{
  width:1180px;
  margin:38px auto 18px;
  padding:24px 26px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-left:4px solid var(--coral);
  background:#fffaf2;
}
.independent-exploration-intro .eyebrow{
  margin:0 0 7px;
  font:800 10px/1.2 "DM Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--coral);
}
.independent-exploration-intro h2{
  margin:0 0 8px;
  font:600 clamp(28px,3.2vw,40px)/1.06 "Playfair Display",serif;
  letter-spacing:-.025em;
  color:var(--ink);
}
.independent-exploration-intro p:last-child{
  margin:0;
  max-width:780px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink);
}


/* v81 — hide return-is-part-of-the-plan CTA block */
.force-hide-return-plan{display:none!important;visibility:hidden!important;}


/* v82 — align independent exploration intro exactly with Suggested Port Day */
.independent-exploration-intro{
  box-sizing:border-box;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* v84 — fix independent exploration width/alignment */
.independent-exploration-intro{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}


/* v85 — organised tours heading, matching Independent exploration */
.organised-tours-intro{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:1180px !important;
  margin:38px auto 18px;
  padding:24px 26px;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-left:4px solid var(--coral);
  background:#fffaf2;
}
.organised-tours-intro .eyebrow{
  margin:0 0 7px;
  font:800 10px/1.2 "DM Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--coral);
}
.organised-tours-intro h2{
  margin:0 0 8px;
  font:600 clamp(28px,3.2vw,40px)/1.06 "Playfair Display",serif;
  letter-spacing:-.025em;
  color:var(--ink);
}
.organised-tours-intro p:last-child{
  margin:0;
  max-width:780px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink);
}


/* v3 Rome — Cruise Port Overview alignment fix */
.port-overview-grid{
  align-items:stretch !important;
}
.port-overview-grid > article{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  grid-template-rows:auto 1fr !important;
  column-gap:14px !important;
  row-gap:8px !important;
  align-content:start !important;
  align-items:start !important;
  padding:20px 18px !important;
  box-sizing:border-box !important;
}
.port-overview-grid > article .overview-num{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  margin:0 !important;
  align-self:start !important;
}
.port-overview-grid > article h3{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.15 !important;
  align-self:start !important;
}
.port-overview-grid > article p{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.65 !important;
  align-self:start !important;
}
@media (max-width:760px){
  .port-overview-grid > article{
    grid-template-columns:38px minmax(0,1fr) !important;
    padding:18px 16px !important;
  }
}


/* Shared attraction CTA — readable View Full Guide buttons for all port pages */
.onwards-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.onwards-card-actions .onwards-directions-button{margin-top:0}
.onwards-guide-button{
  display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;box-sizing:border-box;
  border:1px solid var(--ink);background:linear-gradient(135deg,var(--ink) 0%,#214657 100%);color:#fff;text-decoration:none;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.onwards-guide-button:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,var(--blue) 0%,#21779a 100%);
}
.onwards-guide-button .guide-button-copy{display:grid;gap:2px;min-width:0}
.onwards-guide-button .guide-button-copy small{
  display:block;font:700 7px/1.2 "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.78)
}
.onwards-guide-button .guide-button-copy strong{
  display:block;font:800 10.5px/1.15 "DM Sans",sans-serif;letter-spacing:.01em;color:#fff
}
.onwards-guide-button .guide-button-arrow{
  flex:0 0 auto;font:800 16px/1 "DM Sans",sans-serif;color:#fff
}
@media(max-width:620px){.onwards-card-actions{grid-template-columns:1fr}}


/* Naples v2 — align ONWARDS section and tidy Suggested Port Day steps */
.naples-onwards-section{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:24px auto 32px !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.naples-onwards-section .onwards-head{
  padding:28px !important;
  align-items:stretch;
}
.naples-onwards-section .onwards-head h3{
  margin:4px 0 9px;
  line-height:1.08;
}
.naples-onwards-section .onwards-destination-grid{
  padding:22px;
  gap:12px;
}

.day-timeline{
  padding:18px 24px 20px;
}
.day-timeline .day-timeline-step{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  position:relative;
  min-height:70px;
  padding:10px 0;
}
.day-timeline .day-timeline-step:not(:last-child):after{
  content:"";
  position:absolute;
  left:18px;
  top:48px;
  bottom:-8px;
  height:auto;
  border-left:2px dotted #c4ccca;
}
.day-timeline .day-step-number{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef2ef;
  color:var(--ink);
  font:800 10px/1 "DM Mono",monospace;
  letter-spacing:.03em;
}
.day-timeline .day-step-copy{
  min-width:0;
  padding-top:2px;
}
.day-timeline .day-step-copy strong{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--ink);
  font:800 13px/1.35 "DM Sans",sans-serif;
}
.day-timeline .day-step-icon{
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
}
.day-timeline .day-step-title{
  min-width:0;
}
.day-timeline .day-step-copy small{
  display:block;
  margin:5px 0 0 26px;
  color:#718084;
  font:600 9.5px/1.45 "DM Sans",sans-serif;
}
.day-timeline .final-step .day-step-number{
  background:var(--ink);
  color:#fff;
}
.day-timeline .final-step .day-step-copy small{
  color:var(--coral);
  font-weight:800;
}
@media(max-width:600px){
  .naples-onwards-section{
    width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;
  }
  .naples-onwards-section .onwards-head,
  .naples-onwards-section .onwards-destination-grid{
    padding:18px !important;
  }
  .day-timeline{
    padding:14px 18px 18px;
  }
}

/* Santorini v2 — align ONWARDS FROM FIRA with the standard content width */
.santorini-onwards-section{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:24px auto 32px !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.santorini-onwards-section .onwards-head{
  padding:28px !important;
  align-items:stretch;
}
.santorini-onwards-section .onwards-head h3{
  margin:4px 0 9px;
  font:600 31px/1.08 "Playfair Display",serif;
}
.santorini-onwards-section .onwards-head h3 em{
  font-weight:400;
}
.santorini-onwards-section .onwards-head > div > p:last-child{
  max-width:720px;
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:#627177;
}
.santorini-onwards-section .you-are-here{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
}
.santorini-onwards-section .onwards-destination-grid{
  padding:22px;
  gap:12px;
}
.santorini-onwards-section .onwards-destination-grid.santorini-six{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.santorini-onwards-section .onwards-destination-grid article{
  min-height:215px;
}
@media(max-width:900px){
  .santorini-onwards-section .onwards-destination-grid.santorini-six{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .santorini-onwards-section{
    width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;
  }
  .santorini-onwards-section .onwards-head,
  .santorini-onwards-section .onwards-destination-grid{
    padding:18px !important;
  }
  .santorini-onwards-section .onwards-destination-grid.santorini-six{
    grid-template-columns:1fr;
  }
}


/* Santorini v3 — independent exploration panel, matched to organised tours */
.santorini-independent-intro{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:38px auto 18px !important;
  padding:24px 26px !important;
  box-sizing:border-box !important;
  border:1px solid var(--line) !important;
  border-left:4px solid var(--coral) !important;
  background:#fffaf2 !important;
}
.santorini-independent-intro .eyebrow{
  margin:0 0 7px !important;
  font:800 10px/1.2 "DM Mono",monospace !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--coral) !important;
}
.santorini-independent-intro h2{
  margin:0 0 8px !important;
  font:600 clamp(28px,3.2vw,40px)/1.06 "Playfair Display",serif !important;
  letter-spacing:-.025em !important;
  color:var(--ink) !important;
}
.santorini-independent-intro p:last-child{
  margin:0 !important;
  max-width:800px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:var(--ink) !important;
}
@media(max-width:600px){
  .santorini-independent-intro{
    width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;
    padding:20px 18px !important;
    margin-top:26px !important;
  }
}


/* Dubrovnik v2 — normalise ONWARDS FROM PILE and independent exploration */
.dubrovnik-onwards-section{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:24px auto 32px !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.dubrovnik-onwards-section .onwards-head{
  padding:28px !important;
  align-items:stretch;
}
.dubrovnik-onwards-section .onwards-head h3{
  margin:4px 0 9px !important;
  font:600 31px/1.08 "Playfair Display",serif !important;
  letter-spacing:-.02em;
}
.dubrovnik-onwards-section .onwards-head h3 em{font-weight:400 !important;}
.dubrovnik-onwards-section .onwards-head > div > p:last-child{
  max-width:720px !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#627177 !important;
}
.dubrovnik-onwards-section .you-are-here{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:100% !important;
}
.dubrovnik-onwards-section .onwards-destination-grid{
  padding:22px !important;
  gap:12px !important;
}
.dubrovnik-onwards-section .onwards-destination-grid.dubrovnik-six{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.dubrovnik-onwards-section .onwards-destination-grid article{
  min-height:215px !important;
}
.dubrovnik-onwards-section .onwards-card-actions{
  margin-top:auto !important;
}
@media(max-width:900px){
  .dubrovnik-onwards-section .onwards-destination-grid.dubrovnik-six{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  .dubrovnik-onwards-section{width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;}
  .dubrovnik-onwards-section .onwards-head,
  .dubrovnik-onwards-section .onwards-destination-grid{padding:18px !important;}
  .dubrovnik-onwards-section .onwards-destination-grid.dubrovnik-six{grid-template-columns:1fr !important;}
}

.dubrovnik-independent-intro{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:38px auto 18px !important;
  padding:24px 26px !important;
  box-sizing:border-box !important;
  border:1px solid var(--line) !important;
  border-left:4px solid var(--coral) !important;
  background:#fffaf2 !important;
}
.dubrovnik-independent-intro .eyebrow{
  margin:0 0 7px !important;
  font:800 10px/1.2 "DM Mono",monospace !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--coral) !important;
}
.dubrovnik-independent-intro h2{
  margin:0 0 8px !important;
  font:600 clamp(28px,3.2vw,40px)/1.06 "Playfair Display",serif !important;
  letter-spacing:-.025em !important;
  color:var(--ink) !important;
}
.dubrovnik-independent-intro p:last-child{
  margin:0 !important;
  max-width:800px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:var(--ink) !important;
}
@media(max-width:600px){
  .dubrovnik-independent-intro{
    width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;
    padding:20px 18px !important;
    margin-top:26px !important;
  }
}


/* Palma v2 — normalise ONWARDS FROM PALMA CITY CENTRE and independent exploration */
.palma-onwards-section{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:24px auto 32px !important;
  box-sizing:border-box !important;
  overflow:hidden;
}
.palma-onwards-section .onwards-head{
  padding:28px !important;
  align-items:stretch;
}
.palma-onwards-section .onwards-head h3{
  margin:4px 0 9px !important;
  font:600 31px/1.08 "Playfair Display",serif !important;
  letter-spacing:-.02em;
}
.palma-onwards-section .onwards-head h3 em{font-weight:400 !important;}
.palma-onwards-section .onwards-head > div > p:last-child{
  max-width:720px !important;
  margin:0 !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#627177 !important;
}
.palma-onwards-section .you-are-here{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:100% !important;
}
.palma-onwards-section .onwards-destination-grid{
  padding:22px !important;
  gap:12px !important;
}
.palma-onwards-section .onwards-destination-grid.palma-six{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.palma-onwards-section .onwards-destination-grid article{
  min-height:215px !important;
}
.palma-onwards-section .onwards-card-actions{
  margin-top:auto !important;
}
@media(max-width:900px){
  .palma-onwards-section .onwards-destination-grid.palma-six{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:600px){
  .palma-onwards-section{width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;}
  .palma-onwards-section .onwards-head,
  .palma-onwards-section .onwards-destination-grid{padding:18px !important;}
  .palma-onwards-section .onwards-destination-grid.palma-six{grid-template-columns:1fr !important;}
}

.palma-independent-intro{
  width:min(var(--pdm-content-width,1180px),calc(100% - (var(--pdm-gutter,24px) * 2))) !important;
  max-width:var(--pdm-content-width,1180px) !important;
  margin:38px auto 18px !important;
  padding:24px 26px !important;
  box-sizing:border-box !important;
  border:1px solid var(--line) !important;
  border-left:4px solid var(--coral) !important;
  background:#fffaf2 !important;
}
.palma-independent-intro .eyebrow{
  margin:0 0 7px !important;
  font:800 10px/1.2 "DM Mono",monospace !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:var(--coral) !important;
}
.palma-independent-intro h2{
  margin:0 0 8px !important;
  font:600 clamp(28px,3.2vw,40px)/1.06 "Playfair Display",serif !important;
  letter-spacing:-.025em !important;
  color:var(--ink) !important;
}
.palma-independent-intro p:last-child{
  margin:0 !important;
  max-width:800px !important;
  font-size:13px !important;
  line-height:1.7 !important;
  color:var(--ink) !important;
}
@media(max-width:600px){
  .palma-independent-intro{
    width:calc(100% - (var(--pdm-gutter,16px) * 2)) !important;
    padding:20px 18px !important;
    margin-top:26px !important;
  }
}

