/* Portugal + Spain Signature Journey — current IGC12 component alignment. */
.nj-tour.nj-page-anchor { overflow:clip; }

/* Hero hierarchy */
.nj-hero--iberia-combo .nj-hero__inner { max-width:940px; }
.nj-hero--iberia-combo .nj-hero__actions { align-items:center; }
.nj-hero--iberia-combo .nj-hero__route { max-width:840px; margin:0 0 24px; color:rgba(255,255,255,.88); font-size:14px; font-weight:700; letter-spacing:.08em; line-height:1.55; text-transform:uppercase; }
.nj-hero--iberia-combo .nj-hero__price-basis { display:block; margin-top:6px; color:rgba(255,255,255,.72); font-size:12px; font-weight:500; letter-spacing:0; text-transform:none; }
.nj-hero--iberia-combo .nj-hero__reassurance { margin:14px 0 0; color:rgba(255,255,255,.75); font-size:14px; }
.nj-hero--iberia-combo .nj-hero__mobile-summary { display:none; }

@media (min-width:1200px) {
  .nj-hero--iberia-combo { min-height:864px; height:min(calc(94vh + 64px),1024px); }
}

/* Journey family — IGC12 desktop cards and compact mobile decision control */
.nj-mobile-journey-switcher { display:none; }
.nj-journey-selector .nj-journey-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.nj-journey-selector .nj-journey-card { min-height:300px; }
.nj-journey-selector .nj-journey-card--active { border:3px solid #df861b; background:linear-gradient(180deg,#fff7e9,#fffdf8 55%,#fff); }
.nj-journey-selector .nj-journey-current { margin-top:auto; padding-top:18px; }

/* Opening story */
.nj-signature-statement { padding:clamp(72px,9vw,128px) 0; }
.nj-signature-statement__inner { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); gap:clamp(42px,7vw,96px); align-items:end; }
.nj-signature-statement .nj-display { max-width:12ch; margin:0; font-size:clamp(48px,7vw,92px); line-height:.94; }
.nj-signature-statement__copy p { margin:0; color:var(--nj-muted); font-size:clamp(18px,1.7vw,23px); line-height:1.72; }
.nj-signature-statement__copy p + p { margin-top:22px; }
.nj-signature-statement__promise { color:var(--nj-ink) !important; font-size:18px !important; font-weight:800; letter-spacing:.015em; }

/* Current editorial atlas component */
.nj-tour .nj-journey-map { padding:clamp(72px,9vw,126px) 0; background:#f4efe6; }
.nj-tour .nj-journey-map__inner { width:min(1480px,calc(100% - 56px)); margin:0 auto; }
.nj-tour .nj-journey-map__header { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:42px; align-items:end; margin-bottom:42px; }
.nj-tour .nj-journey-map__eyebrow { margin:0 0 14px; color:var(--nj-blue); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.nj-tour .nj-journey-map__title { max-width:900px; margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(48px,6vw,84px); font-weight:700; letter-spacing:-.055em; line-height:.95; }
.nj-tour .nj-journey-map__lede { margin:0; color:var(--nj-muted); font-size:18px; line-height:1.65; }
.nj-tour .nj-journey-map__mobile-title,.nj-tour .nj-journey-map__mobile-route { display:none; }
.nj-tour .nj-journey-map__stage { display:grid; grid-template-columns:minmax(390px,.85fr) minmax(0,1.15fr); min-height:650px; overflow:hidden; border:1px solid rgba(23,63,73,.12); border-radius:34px; background:#faf6ee; box-shadow:0 30px 80px rgba(23,63,73,.1); }
.nj-tour .nj-journey-map__atlas-art { position:relative; min-height:650px; overflow:hidden; background:#e9eee9; }
.nj-tour .nj-journey-map__atlas-plate { display:block; width:100%; height:100%; object-fit:cover; }
.nj-tour .nj-journey-map__atlas-overlay { position:absolute; inset:0; width:100%; height:100%; }
.nj-tour .nj-journey-map__rail { position:relative; min-width:0; padding:28px 20px 24px; background:rgba(255,253,248,.98); }
.nj-tour .nj-journey-map__scroll-cue { display:flex; align-items:center; gap:10px; margin:0 8px 14px; color:var(--nj-blue); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nj-tour .nj-journey-map__scroll-cue--mobile { display:none; }
.nj-tour .nj-journey-map__scroll-arrow { width:36px; height:1px; background:currentColor; }
.nj-tour .nj-journey-map__stops { height:570px; margin:0; padding:0 8px 30px; overflow-y:auto; overscroll-behavior:contain; scroll-snap-type:y mandatory; scrollbar-width:thin; list-style:none; }
.nj-tour .nj-journey-map__stop { min-height:210px; margin:0 0 14px; padding:24px; border:1px solid rgba(23,63,73,.1); border-radius:22px; background:#fff; opacity:.62; scroll-snap-align:start; transition:opacity .25s ease,transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.nj-tour .nj-journey-map__stop.is-active { border-color:rgba(214,139,42,.48); box-shadow:0 16px 38px rgba(23,63,73,.1); opacity:1; transform:translateX(-4px); }
@media (min-width:1100px) {
  .nj-tour .nj-journey-map__rail { grid-column:1; grid-row:1; }
  .nj-tour .nj-journey-map__atlas-art { grid-column:2; grid-row:1; }
}
.nj-tour .nj-journey-map__label { display:grid; grid-template-columns:42px minmax(0,1fr); gap:14px; }
.nj-tour .nj-journey-map__number { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(214,139,42,.55); border-radius:50%; color:#9a5b0c; font-size:11px; font-weight:800; }
.nj-tour .nj-journey-map__details { display:block; }
.nj-tour .nj-journey-map__name { display:block; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:31px; letter-spacing:-.04em; line-height:1; }
.nj-tour .nj-journey-map__meta { display:block; margin:7px 0 13px; color:var(--nj-blue); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.nj-tour .nj-journey-map__story-title { display:block; margin-bottom:7px; color:var(--nj-ink); font-weight:800; }
.nj-tour .nj-journey-map__sentence { display:block; color:var(--nj-muted); font-size:14px; line-height:1.58; }
.nj-tour .nj-journey-map__mobile-route { display:none; }
.nj-tour .nj-journey-map__footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; }
.nj-tour .nj-journey-map__summary { margin:0; color:var(--nj-muted); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.nj-tour .nj-journey-map__link { color:var(--nj-blue) !important; font-size:13px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.nj-iberia-atlas__route,.nj-iberia-atlas__final { fill:none; stroke:#c4872a; stroke-width:7; stroke-linecap:round; stroke-linejoin:round; }
.nj-iberia-atlas__route-shadow,.nj-iberia-atlas__final-shadow { fill:none; stroke:rgba(255,255,255,.82); stroke-width:14; stroke-linecap:round; }
.nj-iberia-atlas__marker-ring { fill:rgba(255,253,248,.88); stroke:#b77619; stroke-width:3; }
.nj-iberia-atlas__marker-halo { fill:#f5d095; }
.nj-iberia-atlas__marker-core { fill:#173f49; }
.nj-iberia-atlas__marker.is-active .nj-iberia-atlas__marker-ring { fill:#fff; stroke:#173f49; stroke-width:5; }
.nj-iberia-atlas__place { fill:#173f49; font:700 27px "Playfair Display",Georgia,serif; }
.nj-iberia-atlas__region { fill:#627678; font:700 14px "DM Sans",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }

/* IGC12 itinerary transition and chapter system */
.nj-complete-transition { padding:clamp(58px,7vw,90px) 0; border-block:1px solid var(--nj-line); background:linear-gradient(135deg,#fffdf8,#f5ecdf); }
.nj-complete-transition__inner { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(54px,7vw,100px); align-items:center; }
.nj-complete-transition__copy .nj-display { margin:0; font-size:clamp(46px,6vw,80px); }
.nj-complete-transition__copy .nj-lede { margin:18px 0 0; }
.nj-complete-transition__download { padding:22px; border:1px solid rgba(23,63,73,.12); border-radius:18px; background:rgba(255,255,255,.52); }
.nj-complete-transition__download p { margin:0 0 16px; color:var(--nj-muted); font-size:14px; line-height:1.55; }
.nj-complete-transition__download .nj-button { width:100%; min-height:48px; padding:11px 14px; font-size:11px; text-align:center; }
.nj-itinerary-controls { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.nj-itinerary-tool { display:inline-flex; align-items:center; gap:9px; }
.nj-itinerary-tool button { min-height:44px; padding:9px 16px; border:1px solid rgba(23,63,73,.28); border-radius:9px; background:transparent; color:var(--nj-deep); font:800 12px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.nj-itinerary-state-ring { width:15px; height:15px; border:2px solid #e6a12f; border-radius:50%; }
.nj-itinerary-tool button[aria-pressed="true"] + .nj-itinerary-state-ring { background:#e6a12f; box-shadow:inset 0 0 0 3px #fffdf8; }
.nj-tour .nj-itinerary-chapter { background:var(--nj-paper); }
.nj-tour .nj-itinerary-chapter--cream .nj-itinerary-body { background:var(--nj-cream); }
.nj-tour .nj-itinerary-cover { position:relative; isolation:isolate; display:flex; min-height:clamp(560px,60vw,760px); align-items:flex-end; overflow:hidden; background:var(--nj-deep); }
.nj-tour .nj-itinerary-cover::after { position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(5,30,38,.92),rgba(5,30,38,.13) 64%); content:""; }
.nj-tour .nj-itinerary-cover__image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.nj-tour .nj-itinerary-cover__inner { position:relative; z-index:2; padding:clamp(70px,10vw,112px) 0; color:#fff; }
.nj-tour .nj-itinerary-cover .nj-eyebrow { color:#f7c16d; }
.nj-tour .nj-itinerary-cover__days { margin:0 0 20px; color:rgba(255,255,255,.78); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nj-tour .nj-itinerary-cover h2 { max-width:1050px; margin:0 0 18px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(64px,8vw,116px); letter-spacing:-.06em; line-height:.9; }
.nj-tour .nj-itinerary-cover__lede { max-width:760px; margin:0; color:rgba(255,255,255,.9); font-size:clamp(19px,2vw,25px); line-height:1.6; }
.nj-desktop-chapter-toggle { display:grid; width:100%; grid-template-columns:minmax(0,1fr) auto 36px; gap:16px; align-items:center; margin-top:34px; padding:18px 0 0; border:0; border-top:1px solid rgba(255,255,255,.34); background:transparent; color:#fff; font:800 11px/1.3 "DM Sans",Arial,sans-serif; letter-spacing:.11em; text-align:left; text-transform:uppercase; cursor:pointer; }
.nj-desktop-chapter-toggle__action { color:#f7c16d; }
.nj-desktop-chapter-toggle__icon { position:relative; width:32px; height:32px; border:1px solid rgba(255,255,255,.55); border-radius:50%; }
.nj-desktop-chapter-toggle__icon::before,.nj-desktop-chapter-toggle__icon::after { position:absolute; top:50%; left:50%; width:12px; height:2px; background:#f7c16d; content:""; transform:translate(-50%,-50%); }
.nj-desktop-chapter-toggle__icon::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .2s ease; }
.nj-desktop-chapter-toggle[aria-expanded="true"] .nj-desktop-chapter-toggle__icon::after { transform:translate(-50%,-50%) rotate(0); }
.nj-tour .nj-itinerary-body { padding:clamp(76px,9vw,118px) 0; background:var(--nj-paper); }
.nj-tour .nj-itinerary-days { display:grid; gap:18px; }
.nj-tour .nj-itinerary-day { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(270px,.9fr); column-gap:clamp(30px,4vw,54px); align-items:start; padding:clamp(25px,3vw,34px); border:1px solid rgba(23,63,73,.11); border-radius:26px; background:rgba(255,255,255,.94); box-shadow:0 14px 36px rgba(23,63,73,.06); }
.nj-tour .nj-itinerary-day > .nj-itinerary-day__kicker,.nj-tour .nj-itinerary-day > h3,.nj-tour .nj-itinerary-day > p,.nj-tour .nj-itinerary-day > figure,.nj-tour .nj-itinerary-day > .nj-itinerary-signature,.nj-tour .nj-itinerary-day > .nj-option-trigger { grid-column:1; }
.nj-tour .nj-itinerary-day__kicker { margin:0 0 7px !important; color:var(--nj-blue) !important; font-size:12px !important; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nj-tour .nj-itinerary-day h3 { margin:0 0 13px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(31px,3.5vw,47px); letter-spacing:-.05em; line-height:1; }
.nj-tour .nj-itinerary-day > p { margin:0 0 14px; color:var(--nj-muted); font-size:17px; line-height:1.68; }
.nj-tour .nj-itinerary-included { grid-column:2; grid-row:1 / span 12; margin:0; padding:20px 22px; border:1px solid rgba(23,63,73,.12); border-radius:19px; background:rgba(15,68,76,.07); }
.nj-tour .nj-itinerary-included__label { margin:0 0 12px; color:var(--nj-ink); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nj-tour .nj-itinerary-included ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.nj-tour .nj-itinerary-included li { display:grid; grid-template-columns:8px minmax(0,1fr); gap:10px; color:var(--nj-ink); font-size:14px; line-height:1.47; }
.nj-tour .nj-itinerary-included li::before { width:7px; height:7px; margin-top:.55em; border-radius:50%; background:var(--nj-gold); content:""; }
.nj-tour .nj-itinerary-included--optional { border-color:rgba(214,139,42,.34); background:rgba(214,139,42,.08); }
.nj-tour .nj-itinerary-aside > .nj-itinerary-included { grid-column:auto; grid-row:auto; }
.nj-tour .nj-itinerary-signature { margin:20px 0 4px; padding:clamp(26px,3vw,36px); border-radius:26px; background:var(--nj-deep); color:#fff; }
.nj-tour .nj-itinerary-signature .nj-eyebrow { color:#f7c16d; }
.nj-tour .nj-itinerary-signature h4 { margin:0 0 10px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(30px,3.6vw,48px); line-height:1; }
.nj-tour .nj-itinerary-signature p:last-child { margin:0; color:rgba(255,255,255,.86); }
.nj-tour .nj-itinerary-day figure { margin:18px 0 4px; overflow:hidden; border-radius:20px; }
.nj-tour .nj-itinerary-day figure img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.nj-tour .nj-itinerary-day figcaption { padding:9px 12px; background:#f7efe2; color:var(--nj-muted); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.nj-tour .nj-day-panel .nj-day-logistics-note { max-width:68ch; margin:18px 0 !important; padding:15px 17px; border-left:3px solid #d68b2a; background:#faf2e5; color:#526a70; font-size:14px; line-height:1.58; }
.nj-tour .nj-day-panel .nj-day-logistics-note strong { color:var(--nj-ink); }
.nj-tour .nj-itinerary-included--leisure { border-color:rgba(47,107,120,.22); background:#f3f7f6; }
.nj-tour .nj-itinerary-suggestion { max-width:760px; margin:20px 0 4px; padding:20px 22px; border:1px solid rgba(214,139,42,.3); border-radius:18px; background:#fff8ee; }
.nj-tour .nj-itinerary-suggestion h5 { margin:0 0 8px; color:var(--nj-ink); font:800 11px/1.3 "DM Sans",Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.nj-tour .nj-itinerary-suggestion p { margin:0; color:var(--nj-muted); font-size:15px; line-height:1.6; }
.nj-tour .nj-itinerary-hotel-panel { margin:24px 0 4px; }
.nj-tour .nj-itinerary-hotel-panel__feature { display:grid; grid-template-columns:minmax(180px,240px) minmax(0,1fr); overflow:hidden; border:1px solid rgba(23,63,73,.13); border-radius:20px; background:#fffdf9; box-shadow:0 14px 34px rgba(23,63,73,.08); }
.nj-tour .nj-itinerary-hotel-panel__media { min-width:0; min-height:230px; margin:0; overflow:hidden; border-radius:0; background:var(--nj-deep); }
.nj-tour .nj-itinerary-hotel-panel__media picture { display:block; width:100%; height:100%; }
.nj-tour .nj-itinerary-hotel-panel__image { display:block; width:100%; height:100%; min-height:230px; aspect-ratio:auto; object-fit:cover; object-position:center; }
.nj-tour .nj-itinerary-hotel-panel__content { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:24px 26px; }
.nj-tour .nj-itinerary-hotel-panel__nights { margin:0 0 8px !important; color:var(--nj-blue) !important; font-size:11px !important; font-weight:800; letter-spacing:.14em; line-height:1.35 !important; text-transform:uppercase; }
.nj-tour .nj-itinerary-hotel-panel__title { margin:0 0 10px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(24px,2.4vw,31px); font-weight:700; letter-spacing:-.04em; line-height:1.05; }
.nj-tour .nj-itinerary-hotel-panel__description { margin:0 0 13px !important; color:var(--nj-muted) !important; font-size:15px !important; line-height:1.62 !important; }
.nj-tour .nj-itinerary-hotel-panel a { display:inline-flex; width:max-content; min-height:44px; align-items:center; color:var(--nj-blue) !important; font-size:14px; font-weight:700; text-underline-offset:3px; }
.nj-tour .nj-itinerary-hotel-panel a:focus-visible { border-radius:2px; outline:2px solid var(--nj-blue); outline-offset:3px; }
.nj-tour .nj-journey-guide-story { max-width:760px; margin:22px 0 4px; border-top:1px solid rgba(23,63,73,.16); border-bottom:1px solid rgba(23,63,73,.16); }
.nj-tour .nj-journey-guide-story summary { display:grid; min-height:76px; grid-template-columns:minmax(0,1fr) 44px; gap:18px; align-items:center; padding:12px 0; color:var(--nj-ink); cursor:pointer; list-style:none; }
.nj-tour .nj-journey-guide-story summary::-webkit-details-marker { display:none; }
.nj-tour .nj-journey-guide-story summary span { font-family:"Playfair Display",Georgia,serif; font-size:clamp(22px,2.4vw,31px); font-weight:700; letter-spacing:-.035em; line-height:1.08; }
.nj-tour .nj-journey-guide-story summary small { display:block; margin-bottom:5px; color:#9a5b0c; font:800 9px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.nj-tour .nj-journey-guide-story summary::after { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(214,139,42,.55); border-radius:50%; color:#9a5b0c; content:"+"; font:500 24px/1 "DM Sans",Arial,sans-serif; }
.nj-tour .nj-journey-guide-story[open] summary::after { content:"−"; }
.nj-tour .nj-journey-guide-story > div { padding:0 62px 20px 0; }
.nj-tour .nj-journey-guide-story > div p { margin:0; color:var(--nj-muted); font-size:15px; line-height:1.68; }
.nj-journey-interlude { padding:clamp(68px,9vw,110px) 0; background:var(--nj-deep); text-align:center; }
.nj-journey-interlude .nj-eyebrow { color:#f7c16d; }
.nj-journey-interlude h2 { max-width:980px; margin:0 auto 20px; color:#fff; font-family:"Playfair Display",Georgia,serif; font-size:clamp(48px,6vw,82px); letter-spacing:-.05em; line-height:1; }
.nj-journey-interlude p:last-child { max-width:780px; margin:0 auto; color:rgba(255,255,255,.78); font-size:18px; line-height:1.7; }
.nj-itinerary-chapter[hidden],.nj-itinerary-body[hidden] { display:none !important; }

/* IGC12 collection and pricing visual language */
.nj-hotel-note__collections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.nj-hotel-note__card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; padding:0; border:1px solid rgba(23,63,73,.13); border-radius:4px; box-shadow:none; }
.nj-hotel-note__card--signature { border-top:3px solid #c9933f; background:#fbf4e8; }
.nj-hotel-note__card--elevated { border-top:3px solid #4f8190; background:#f4f8f7; }
.nj-hotel-note__media { margin:0; }
.nj-hotel-note__media img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.nj-hotel-note__media figcaption { padding:9px clamp(24px,2.7vw,32px); border-bottom:1px solid rgba(23,63,73,.1); color:#5e6f72; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.nj-hotel-note__content { display:flex; flex:1; flex-direction:column; padding:clamp(24px,2.7vw,32px); }
.nj-hotel-note__label,.nj-pricing-collection__label { margin:0 0 8px !important; color:#2f6b78 !important; font-size:11px !important; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nj-hotel-note__card h3,.nj-pricing-collection h3 { font-family:"DM Sans",Arial,sans-serif; font-size:clamp(21px,2.2vw,27px); font-weight:800; letter-spacing:.015em; }
.nj-hotel-note__subheading { margin:24px 0 8px; color:var(--nj-ink); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.nj-hotel-note__shared { margin:18px 0 0; padding:18px 22px; border-left:3px solid #4f8190; background:#f5f0e7; color:var(--nj-ink); font-weight:700; line-height:1.55; }
.nj-destination-stays { margin-top:26px; padding-top:28px; border-top:1px solid rgba(23,63,73,.14); }
.nj-destination-stays__head { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:8px 28px; align-items:end; margin-bottom:20px; }
.nj-destination-stays__head .nj-eyebrow { grid-column:1 / -1; margin:0; }
.nj-destination-stays__head h3 { margin:0; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:clamp(32px,4vw,50px); letter-spacing:-.045em; line-height:1; }
.nj-destination-stays__head > p:last-child { margin:0; color:var(--nj-muted); line-height:1.6; }
.nj-destination-stays__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.nj-destination-stays__grid article { min-width:0; overflow:hidden; border:1px solid rgba(23,63,73,.12); background:#fff; }
.nj-destination-stays__grid figure { position:relative; margin:0; overflow:hidden; background:var(--nj-deep); }
.nj-destination-stays__grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.nj-destination-stays__grid figcaption { position:absolute; right:0; bottom:0; left:0; padding:22px 12px 10px; background:linear-gradient(transparent,rgba(5,34,41,.76)); color:#fff; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.nj-destination-stays__copy { padding:20px; }
.nj-destination-stays__grid span { color:#9a5b0c; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.nj-destination-stays__grid h4 { margin:7px 0 9px; color:var(--nj-ink); font-family:"Playfair Display",Georgia,serif; font-size:26px; letter-spacing:-.035em; }
.nj-destination-stays__grid p { margin:0; color:var(--nj-muted); font-size:14px; line-height:1.58; }
.nj-pricing-collections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 0 30px; }
.nj-pricing-collection { display:flex; min-width:0; flex-direction:column; padding:24px 26px; border:1px solid rgba(23,63,73,.12); border-radius:20px; background:#fff; }
.nj-pricing-collection--signature { border-left:5px solid #e7a332; background:linear-gradient(145deg,#fffdf8,#fff5e3); box-shadow:0 18px 42px rgba(108,72,17,.1); }
.nj-pricing-collection--elevated { border-left:5px solid #6f939a; background:linear-gradient(145deg,#fff,#f6faf9); }
.nj-pricing-collection > p:not(.nj-pricing-collection__label):not(.nj-pricing-collection__price) { margin:0; color:var(--nj-muted); line-height:1.55; }
.nj-pricing-collection__price { margin:auto 0 0; padding-top:16px; color:var(--nj-ink); font-size:27px; font-weight:800; }
.nj-pricing-collection__price span { font-size:12px; font-weight:700; }

/* Return controls */
.nj-tour .nj-return-top { display:none; }
.nj-tour #itinerary .nj-chapters > .nj-return-top,
.nj-tour #hotels .nj-return-top,
.nj-tour #dates .nj-return-top,
.nj-tour #faq .nj-return-top { display:flex; }
.nj-return-top a { display:inline-flex; min-height:44px; align-items:center; color:var(--nj-blue) !important; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width:1099px) {
  .nj-tour .nj-journey-map__stage { grid-template-columns:1fr; }
  .nj-tour .nj-journey-map__atlas-art { min-height:520px; }
  .nj-tour .nj-journey-map__stops { display:flex; height:auto; padding:0 8px 18px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; }
  .nj-tour .nj-journey-map__stop { min-width:min(78vw,430px); margin:0 14px 0 0; }
  .nj-tour .nj-journey-map__scroll-cue--desktop { display:none; }
  .nj-tour .nj-journey-map__scroll-cue--mobile { display:inline; }
  .nj-tour .nj-itinerary-day { grid-template-columns:1fr; }
  .nj-tour .nj-itinerary-included { grid-column:1; grid-row:auto; margin-top:12px; }
  .nj-destination-stays__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px) {
  .nj-hero--iberia-combo { min-height:0 !important; height:auto !important; }
  .nj-hero--iberia-combo .nj-hero__content { padding:32px 0 34px !important; }
  .nj-hero--iberia-combo h1 { margin-bottom:16px; font-size:clamp(48px,12.8vw,55px) !important; line-height:.91 !important; }
  .nj-hero--iberia-combo .nj-hero__subhead { margin-bottom:12px; font-size:17px; line-height:1.45; }
  .nj-hero--iberia-combo .nj-hero__route { margin-bottom:18px; font-size:11px; letter-spacing:.055em; }
  .nj-hero--iberia-combo .nj-trust { display:none; }
  .nj-hero--iberia-combo .nj-hero__mobile-summary { display:block; margin:0 0 18px; padding:14px 0; border-block:1px solid rgba(255,255,255,.24); }
  .nj-hero--iberia-combo .nj-hero__mobile-summary p { margin:0; color:rgba(255,255,255,.85); font-size:12px; line-height:1.45; }
  .nj-hero--iberia-combo .nj-hero__mobile-summary p + p { margin-top:4px; }
  .nj-hero--iberia-combo .nj-hero__mobile-summary .nj-hero__mobile-price { color:#fff; font-size:14px; font-weight:800; }
  .nj-hero--iberia-combo .nj-hero__mobile-price span { display:block; font-size:10px; font-weight:500; }
  .nj-hero--iberia-combo .nj-hero__actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .nj-hero--iberia-combo .nj-hero__actions .nj-button { min-width:0; min-height:46px; padding:10px 8px; font-size:10px; letter-spacing:.03em; }
  .nj-hero--iberia-combo .nj-hero__actions [data-tour-proposal] { grid-column:1/-1; }
  .nj-hero--iberia-combo .nj-hero-question { display:none; }
  .nj-hero--iberia-combo .nj-hero__reassurance { margin-top:9px; font-size:12px; }

  .nj-tour .nj-glance { display:block !important; overflow:hidden; }
  .nj-tour .nj-glance__grid { display:flex !important; width:100%; max-width:none; gap:0; overflow-x:auto; overflow-y:hidden; margin:0; padding:0 15px; scroll-padding-left:15px; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .nj-tour .nj-glance__grid::-webkit-scrollbar { display:none; }
  .nj-tour .nj-glance__item { display:flex; min-height:72px; flex:0 0 min(72vw,245px); flex-direction:column; justify-content:center; padding:10px 16px !important; border-right:1px solid rgba(255,255,255,.14) !important; border-bottom:0 !important; text-align:left !important; scroll-snap-align:start; }
  .nj-tour .nj-glance__item:last-child { border-right:0 !important; }
  .nj-tour .nj-glance strong { font-size:14px; }
  .nj-tour .nj-glance span { margin-top:3px; font-size:9px; }

  .nj-journey-selector { padding:30px 0; }
  .nj-journey-selector__head,.nj-journey-selector .nj-journey-grid { display:none; }
  .nj-mobile-journey-switcher { display:block; }
  .nj-mobile-journey-switcher__current { padding:19px; border:2px solid #df861b; border-radius:18px; background:#fff9ef; }
  .nj-mobile-journey-switcher__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#9a5408; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
  .nj-mobile-journey-switcher__current h2 { margin:8px 0 5px; font-family:"Playfair Display",Georgia,serif; font-size:27px; line-height:1.05; }
  .nj-mobile-journey-switcher__current p { margin:0; color:var(--nj-muted); font-size:13px; line-height:1.5; }
  .nj-mobile-journey-switcher__alternatives { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:9px; }
  .nj-mobile-journey-switcher__alternatives a { display:flex; min-height:66px; flex-direction:column; justify-content:center; padding:11px 12px; border:1px solid rgba(23,63,73,.15); border-radius:12px; background:#fff; color:var(--nj-deep) !important; text-decoration:none !important; }
  .nj-mobile-journey-switcher__alternatives strong { font-size:13px; }
  .nj-mobile-journey-switcher__alternatives span { color:var(--nj-muted); font-size:10px; }

  .nj-signature-statement { padding:54px 0; }
  .nj-signature-statement__inner { grid-template-columns:1fr; gap:25px; }
  .nj-signature-statement .nj-display { max-width:100%; font-size:clamp(38px,11.5vw,52px); }
  .nj-signature-statement__copy p { font-size:16px; line-height:1.65; }

  .nj-tour .nj-journey-map { padding:54px 0; }
  .nj-tour .nj-journey-map__inner { width:min(100% - 28px,1480px); }
  .nj-tour .nj-journey-map__header { grid-template-columns:1fr; gap:14px; margin-bottom:24px; }
  .nj-tour .nj-journey-map__title { font-size:clamp(39px,11vw,50px); }
  .nj-tour .nj-journey-map__lede { font-size:15px; }
  .nj-tour .nj-journey-map__stage { min-height:0; border-radius:20px; }
  .nj-tour .nj-journey-map__atlas-art { min-height:340px; }
  .nj-tour .nj-journey-map__atlas-plate { height:100% !important; object-fit:cover; }
  .nj-tour .nj-journey-map__rail { padding:18px 10px 15px; }
  .nj-tour .nj-journey-map__rail { display:block; overflow:visible; }
  .nj-tour .nj-journey-map__scroll-cue { width:auto; height:auto; margin:0 8px 14px; }
  .nj-tour .nj-journey-map__stops { width:100%; }
  .nj-tour .nj-journey-map__stop { min-width:83vw; min-height:210px; padding:20px; border-radius:17px; }
  .nj-tour .nj-journey-map__name { font-size:27px; }
  .nj-tour .nj-journey-map__footer { display:block; }
  .nj-tour .nj-journey-map__link { display:inline-flex; margin-top:14px; }
  .nj-iberia-atlas__place { font-size:31px; }
  .nj-iberia-atlas__region { font-size:16px; }

  .nj-personal-benefits { grid-template-columns:1fr !important; }
  .nj-personal-benefits article { padding:22px 0 !important; border-right:0 !important; border-bottom:1px solid var(--nj-line); }
  .nj-personal-benefits article:last-child { border-bottom:0; }

  .nj-complete-transition { padding:50px 0; }
  .nj-complete-transition__inner { grid-template-columns:1fr; gap:24px; }
  .nj-complete-transition__copy .nj-display { font-size:clamp(42px,12vw,56px); }
  .nj-complete-transition__download { padding:18px; }
  .nj-itinerary-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
  .nj-tour .nj-itinerary-controls .nj-itinerary-tool { display:grid; grid-template-columns:minmax(0,1fr) 13px; gap:6px; min-width:0; }
  .nj-tour .nj-itinerary-controls .nj-itinerary-tool button { width:auto; min-width:0; min-height:46px; padding:8px; font-size:10px; }
  .nj-itinerary-state-ring { flex:0 0 13px; }

  .nj-tour .nj-itinerary-cover { min-height:540px; }
  .nj-tour .nj-itinerary-cover__inner { padding:60px 0 34px; }
  .nj-tour .nj-itinerary-cover h2 { font-size:clamp(54px,16vw,74px); }
  .nj-tour .nj-itinerary-cover__lede { font-size:17px; line-height:1.5; }
  .nj-desktop-chapter-toggle { grid-template-columns:1fr auto 34px; gap:8px; margin-top:25px; font-size:9px; letter-spacing:.08em; }
  .nj-desktop-chapter-toggle__label { display:none; }
  .nj-tour .nj-itinerary-body { padding:34px 0 50px; }
  .nj-tour .nj-itinerary-day { display:block; padding:22px 19px; border-radius:18px; }
  .nj-tour .nj-itinerary-day h3 { font-size:32px; }
  .nj-tour .nj-itinerary-day > p { font-size:16px; line-height:1.62; }
  .nj-tour .nj-itinerary-included { margin-top:18px; padding:17px; border-radius:15px; }
  .nj-tour .nj-itinerary-signature { margin-top:18px; padding:24px 20px; border-radius:18px; }
  .nj-tour .nj-itinerary-hotel-panel__feature { grid-template-columns:1fr; }
  .nj-tour .nj-itinerary-hotel-panel__media,.nj-tour .nj-itinerary-hotel-panel__image { min-height:0; aspect-ratio:16/9; }
  .nj-tour .nj-itinerary-hotel-panel__content { padding:22px 20px 20px; }
  .nj-tour .nj-itinerary-hotel-panel__title { font-size:clamp(24px,7vw,29px); }
  .nj-tour .nj-itinerary-hotel-panel__description { font-size:14px !important; line-height:1.58 !important; }
  .nj-tour .nj-journey-guide-story summary { grid-template-columns:minmax(0,1fr) 40px; }
  .nj-tour .nj-journey-guide-story summary::after { width:38px; height:38px; }
  .nj-tour .nj-journey-guide-story > div { padding-right:0; }
  .nj-journey-interlude { padding:58px 0; }
  .nj-journey-interlude h2 { font-size:clamp(40px,12vw,54px); }
  .nj-journey-interlude p:last-child { font-size:16px; }

  .nj-hotel-note__collections,.nj-pricing-collections { grid-template-columns:1fr; }
  .nj-hotel-note__content { padding:22px 20px; }
  .nj-hotel-note__shared { font-size:15px; }
  .nj-pricing-collection { padding:19px; border-radius:14px; }
  .nj-destination-stays__head { grid-template-columns:1fr; }
  .nj-destination-stays__head .nj-eyebrow { grid-column:auto; }
  .nj-destination-stays__grid { grid-template-columns:1fr; }
  .nj-destination-stays__copy { padding:17px; }
  .nj-section-head { gap:20px !important; }
  .nj-section-head .nj-display { font-size:clamp(36px,10.5vw,48px) !important; }
}

/* Optional experiences — city-by-city editorial cards */
.nj-tour .nj-itinerary-options { margin:22px 0 18px; padding:20px; border:1px solid rgba(214,139,42,.34); border-radius:17px; background:#fbf4e8; }
.nj-tour .nj-itinerary-options__label { margin:0 0 10px; color:#8b520a; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.nj-tour .nj-itinerary-options > p:last-child { margin:13px 0 0; color:var(--nj-muted); font-size:13px; line-height:1.55; }
.nj-tour .nj-itinerary-option-link { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:13px 0; border-top:1px solid rgba(23,63,73,.12); color:var(--nj-ink) !important; text-decoration:none !important; }
.nj-tour .nj-itinerary-option-link span,.nj-tour .nj-itinerary-option-link strong,.nj-tour .nj-itinerary-option-link small { display:block; }
.nj-tour .nj-itinerary-option-link strong { font:700 18px/1.25 "Playfair Display",Georgia,serif; }
.nj-tour .nj-itinerary-option-link small { margin-top:5px; color:var(--nj-muted); font:600 11px/1.45 "DM Sans",Arial,sans-serif; letter-spacing:.03em; }
.nj-tour .nj-itinerary-option-link b { color:#8b520a; font-size:12px; white-space:nowrap; }
.nj-tour .nj-itinerary-option-link:hover strong,.nj-tour .nj-itinerary-option-link:focus-visible strong { color:#9a5b0c; }

.nj-tour .nj-excursion-intro { margin-bottom:28px; }
.nj-tour .nj-excursion-advisory { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; align-items:start; margin:0 0 60px; padding:20px 24px; border-left:4px solid #d68b2a; background:#f8f1e5; color:var(--nj-muted); }
.nj-tour .nj-excursion-advisory strong { color:var(--nj-ink); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.nj-tour .nj-excursion-advisory p { margin:0; font-size:14px; line-height:1.6; }
.nj-tour .nj-excursion-group { margin-top:76px; }
.nj-tour .nj-excursion-group:first-of-type { margin-top:0; }
.nj-tour .nj-excursion-group__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.72fr); gap:34px; align-items:end; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--nj-line); }
.nj-tour .nj-excursion-group__head .nj-eyebrow { margin:0; }
.nj-tour .nj-excursion-group__head h3 { margin:0; color:var(--nj-ink); font:700 clamp(30px,3.4vw,48px)/1.02 "Playfair Display",Georgia,serif; letter-spacing:-.035em; }
.nj-tour .nj-excursion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.nj-tour .nj-excursion-grid--single { grid-template-columns:minmax(0,860px); }
.nj-tour .nj-excursion-card { display:flex; min-width:0; scroll-margin-top:128px; flex-direction:column; overflow:hidden; border:1px solid rgba(23,63,73,.13); border-radius:24px; background:#fff; box-shadow:0 20px 52px rgba(23,63,73,.08); }
.nj-tour .nj-excursion-card__media { position:relative; margin:0; overflow:hidden; background:#e7ece7; aspect-ratio:3/2; }
.nj-tour .nj-excursion-card__media picture { display:block; width:100%; height:100%; }
.nj-tour .nj-excursion-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.nj-tour .nj-excursion-card__media figcaption { position:absolute; right:14px; bottom:12px; left:14px; color:#fff; font-size:9px; font-weight:800; letter-spacing:.11em; text-shadow:0 1px 9px rgba(0,0,0,.8); text-transform:uppercase; }
.nj-tour .nj-excursion-card__content { display:flex; flex:1; flex-direction:column; padding:27px 28px 25px; }
.nj-tour .nj-excursion-card__eyebrow { margin:0 0 10px; color:#9a5b0c; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nj-tour .nj-excursion-card h4 { margin:0; color:var(--nj-ink); font:700 clamp(27px,2.4vw,38px)/1.03 "Playfair Display",Georgia,serif; letter-spacing:-.04em; }
.nj-tour .nj-excursion-card h4 + p { margin:16px 0 0; color:var(--nj-muted); font-size:15px; line-height:1.68; }
.nj-tour .nj-excursion-card__meta { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.nj-tour .nj-excursion-card__meta span { padding:7px 10px; border:1px solid rgba(23,63,73,.16); border-radius:999px; color:var(--nj-deep); font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.nj-tour .nj-excursion-card h5 { margin:0 0 8px; color:var(--nj-ink); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nj-tour .nj-excursion-card ul { margin:0; padding:0; list-style:none; }
.nj-tour .nj-excursion-card li { position:relative; margin:7px 0; padding-left:17px; color:var(--nj-muted); font-size:13px; line-height:1.5; }
.nj-tour .nj-excursion-card li::before { position:absolute; top:.58em; left:0; width:6px; height:6px; border-radius:50%; background:#e6a12f; content:""; }
.nj-tour .nj-excursion-card__detail { margin:14px 0 0; color:var(--nj-muted); font-size:12px; font-style:italic; line-height:1.55; }
.nj-tour .nj-excursion-card__price { margin:22px 0 14px; color:var(--nj-ink); font:700 28px/1 "Playfair Display",Georgia,serif; }
.nj-tour .nj-excursion-card__price small { font:700 11px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.03em; }
.nj-tour .nj-excursion-card__link { display:inline-flex; min-height:48px; align-items:center; justify-content:center; margin-top:auto; padding:11px 18px; border:2px solid var(--nj-deep); border-radius:999px; color:var(--nj-deep) !important; font-size:11px; font-weight:800; letter-spacing:.08em; text-align:center; text-decoration:none !important; text-transform:uppercase; }
.nj-tour .nj-excursion-card__link:hover,.nj-tour .nj-excursion-card__link:focus-visible { background:var(--nj-deep); color:#fff !important; }
.nj-tour .nj-excursion-card__fineprint { margin:12px 0 0; color:var(--nj-muted); font-size:10px; line-height:1.48; text-align:center; }
.nj-tour .nj-itinerary-option-link:focus-visible,.nj-tour .nj-excursion-card__link:focus-visible { outline:3px solid #e6a12f; outline-offset:3px; }

@media (max-width:767px) {
  .nj-tour .nj-itinerary-options { padding:16px; }
  .nj-tour .nj-itinerary-option-link { grid-template-columns:1fr; gap:7px; }
  .nj-tour .nj-itinerary-option-link strong { font-size:17px; }
  .nj-tour .nj-itinerary-option-link b { white-space:normal; }
  .nj-tour .nj-excursion-advisory { grid-template-columns:1fr; gap:8px; margin-bottom:44px; padding:18px; }
  .nj-tour .nj-excursion-group { margin-top:54px; }
  .nj-tour .nj-excursion-group__head { grid-template-columns:1fr; gap:9px; margin-bottom:18px; }
  .nj-tour .nj-excursion-group__head h3 { font-size:34px; }
  .nj-tour .nj-excursion-grid,.nj-tour .nj-excursion-grid--single { grid-template-columns:minmax(0,1fr); gap:18px; }
  .nj-tour .nj-excursion-card { border-radius:18px; }
  .nj-tour .nj-excursion-card__content { padding:22px 19px 21px; }
  .nj-tour .nj-excursion-card h4 { font-size:29px; }
  .nj-tour .nj-excursion-card h4 + p { font-size:14px; }
  .nj-tour .nj-excursion-card__price { font-size:26px; }
}

@media (prefers-reduced-motion:reduce) {
  .nj-tour * { scroll-behavior:auto !important; }
  .nj-tour .nj-journey-map__stop,.nj-desktop-chapter-toggle__icon::after { transition:none; }
}

/* Current IGC12 hero system, translated for the Portugal & Spain Journey. */
html body .nj-tour .nj-hero--iberia-combo {
  min-height:800px !important;
  height:min(94vh,960px) !important;
  align-items:flex-end !important;
}

html body .nj-tour .nj-hero--iberia-combo .nj-hero__content {
  padding:0 0 clamp(70px,8vh,104px) !important;
}

html body .nj-tour .nj-hero--iberia-combo .nj-hero__inner {
  max-width:900px;
}

html body .nj-tour .nj-hero--iberia-combo .nj-eyebrow {
  display:block !important;
  margin:0 0 14px !important;
}

html body .nj-tour .nj-hero--iberia-combo h1 {
  max-width:900px;
  margin:0 0 16px !important;
  font-size:clamp(58px,6.3vw,94px) !important;
  line-height:.91 !important;
}

html body .nj-tour .nj-hero--iberia-combo .nj-hero__subhead {
  max-width:720px;
  margin:0 0 14px !important;
  font-size:clamp(18px,1.7vw,23px);
  line-height:1.45;
}

html body .nj-tour .nj-hero--iberia-combo .nj-hero__route {
  display:block !important;
  margin:0 0 15px !important;
  color:rgba(255,255,255,.92);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.5;
  text-transform:uppercase;
}

.nj-tour .nj-hero--iberia-combo .nj-hero-facts {
  display:grid;
  width:min(100%,850px);
  grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);
  grid-template-areas:"duration pace" "group overnights";
  margin:0 0 21px;
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(4,29,37,.62),rgba(10,51,59,.38));
  box-shadow:0 16px 38px rgba(0,0,0,.14);
  color:#fff;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.nj-tour .nj-hero--iberia-combo .nj-hero-fact {
  display:grid;
  min-width:0;
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:10px;
  padding:9px 13px;
  border-top:1px solid rgba(255,255,255,.14);
}

.nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration { grid-area:duration; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--group { grid-area:group; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--pace { grid-area:pace; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--hosting { grid-area:overnights; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration,
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--pace { border-top:0; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration,
.nj-tour .nj-hero--iberia-combo .nj-hero-fact--group {
  padding-left:2px;
  border-right:1px solid rgba(255,255,255,.14);
}

.nj-tour .nj-hero--iberia-combo .nj-hero-fact__icon {
  width:24px;
  padding-top:3px;
  color:#f7c16d;
  font-size:16px;
  line-height:1;
  text-align:center;
}

.nj-tour .nj-hero--iberia-combo .nj-hero-fact__copy { display:block; min-width:0; }
.nj-tour .nj-hero--iberia-combo .nj-hero-fact__label {
  display:block;
  margin:0 0 2px;
  color:rgba(255,255,255,.66);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.25;
  text-transform:uppercase;
}

.nj-tour .nj-hero--iberia-combo .nj-hero-fact strong {
  display:block;
  margin:0;
  color:#fff;
  font-size:15px;
  font-weight:650;
  letter-spacing:.005em;
  line-height:1.38;
  text-transform:none;
}

html body .nj-tour .nj-hero--iberia-combo .nj-hero__actions {
  display:flex;
  grid-template-columns:none;
  gap:13px !important;
}

.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof {
  display:inline-flex;
  max-width:min(100%,850px);
  align-items:baseline;
  gap:8px;
  margin:28px 0 0;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.82) !important;
  font-family:"Playfair Display",Georgia,serif;
  font-size:17px;
  font-weight:400;
  line-height:1.45;
  text-decoration:none !important;
  transition:color .18s ease,border-color .18s ease;
}

.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof:hover,
.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof:focus-visible {
  border-color:rgba(247,193,109,.48);
  color:#fff !important;
}

.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof:focus-visible {
  outline:2px solid #f7c16d;
  outline-offset:4px;
}

.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-star {
  flex:0 0 auto;
  color:#f7c16d;
  font-size:13px;
}

.nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof strong {
  color:inherit;
  font-weight:700;
  white-space:nowrap;
}

/* Current IGC12 unified journey selector, with a short Iberian-family intro. */
.nj-tour .nj-journey-selector--unified {
  padding:clamp(32px,4.2vw,52px) 0 22px;
  border-bottom:1px solid rgba(23,63,73,.12);
  background:linear-gradient(180deg,#fffdf9 0%,#f8f1e8 100%);
}

.nj-tour .nj-journey-selector--unified .nj-journey-selector__intro {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:28px;
  align-items:end;
  margin:0 0 24px;
}

.nj-tour .nj-journey-selector--unified .nj-journey-selector__intro .nj-eyebrow { margin-bottom:10px; }
.nj-tour .nj-journey-selector--unified .nj-journey-selector__intro h2 {
  margin:0;
  color:var(--nj-ink,#173f49);
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(36px,4.5vw,58px);
  letter-spacing:-.045em;
  line-height:1;
}
.nj-tour .nj-journey-selector--unified .nj-journey-selector__intro > p {
  margin:0;
  color:var(--nj-muted,#61757c);
  font-size:16px;
  line-height:1.62;
}

.nj-tour .nj-journey-selector--unified .nj-journey-selector__layout { display:grid; gap:12px; }
.nj-tour .nj-journey-selector--unified .nj-journey-choice--current {
  display:grid;
  min-width:0;
  padding:16px 22px;
  border:2px solid rgba(213,137,31,.72);
  border-radius:22px;
  background:linear-gradient(120deg,#fff9ef 0%,#fffdf9 62%,#fff 100%);
  box-shadow:0 16px 34px rgba(23,63,73,.09);
}
.nj-tour .nj-journey-selector--unified .nj-journey-choice__meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin:0 0 6px;
}
.nj-tour .nj-journey-selector--unified .nj-journey-choice__distinction {
  display:inline-flex;
  min-height:24px;
  align-items:center;
  padding:3px 9px;
  border:1px solid rgba(193,133,42,.26);
  border-radius:999px;
  background:rgba(193,133,42,.09);
  color:#74501c;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.3;
  text-transform:uppercase;
}
.nj-tour .nj-journey-selector--unified .nj-journey-choice__title {
  margin:0;
  color:var(--nj-ink,#173f49);
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(29px,3vw,38px);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.04;
}
.nj-tour .nj-journey-selector--unified .nj-journey-choice__route {
  margin:6px 0 0;
  color:#294f58;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
}
.nj-tour .nj-journey-selector--unified .nj-journey-choice__description {
  max-width:800px;
  margin:5px 0 0;
  color:var(--nj-muted,#61757c);
  font-size:14px;
  line-height:1.52;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternatives {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px 22px;
  min-width:0;
  padding:5px 2px 0;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternatives__heading {
  margin:0;
  color:#7a8588;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.3;
  text-transform:uppercase;
  white-space:nowrap;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternatives__links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  min-width:0;
  border-top:1px solid rgba(23,63,73,.12);
  border-bottom:1px solid rgba(23,63,73,.12);
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative {
  display:flex;
  min-width:0;
  min-height:44px;
  align-items:center;
  gap:5px;
  padding:7px 16px;
  color:var(--nj-ink,#173f49) !important;
  text-decoration:none !important;
  transition:color .18s ease,background-color .18s ease;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative + .nj-journey-alternative { border-left:1px solid rgba(23,63,73,.12); }
.nj-tour .nj-journey-selector--unified .nj-journey-alternative:hover,
.nj-tour .nj-journey-selector--unified .nj-journey-alternative:focus-visible {
  color:#176f67 !important;
  background:rgba(255,255,255,.48);
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative:focus-visible { outline:3px solid rgba(23,111,103,.32); outline-offset:-3px; }
.nj-tour .nj-journey-selector--unified .nj-journey-alternative__prompt {
  flex:0 0 auto;
  color:#8b5415;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative__journey {
  min-width:0;
  overflow:hidden;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative__arrow {
  flex:0 0 auto;
  margin-left:auto;
  color:#176f67;
  font-size:14px;
  line-height:1;
  transition:transform .18s ease;
}
.nj-tour .nj-journey-selector--unified .nj-journey-alternative:hover .nj-journey-alternative__arrow,
.nj-tour .nj-journey-selector--unified .nj-journey-alternative:focus-visible .nj-journey-alternative__arrow { transform:translateX(3px); }

@media (max-width:767px) {
  html body .nj-tour .nj-hero--iberia-combo {
    min-height:0 !important;
    height:auto !important;
    align-items:stretch !important;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__content { padding:38px 0 34px !important; }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__inner { max-width:100%; }
  html body .nj-tour .nj-hero--iberia-combo .nj-eyebrow {
    display:block !important;
    margin-bottom:10px !important;
    font-size:10px;
  }
  html body .nj-tour .nj-hero--iberia-combo h1 {
    max-width:350px;
    margin-bottom:12px !important;
    font-size:clamp(43px,13vw,54px) !important;
    line-height:.94 !important;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__subhead {
    max-width:34ch;
    margin-bottom:10px !important;
    font-size:17px;
    line-height:1.38;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__route {
    display:block !important;
    max-width:35ch;
    margin:0 0 12px !important;
    font-size:12px;
    font-weight:600;
    letter-spacing:.03em;
    line-height:1.42;
    text-transform:none;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-facts {
    grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);
    grid-template-areas:"duration pace" "group overnights";
    margin-bottom:14px;
    padding:8px 10px;
    border-radius:14px;
    background:rgba(4,29,37,.56);
    box-shadow:0 10px 26px rgba(0,0,0,.12);
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact {
    grid-template-columns:18px minmax(0,1fr);
    gap:7px;
    padding:8px 7px;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration,
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact--group { padding-left:1px; }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact__icon { width:18px; font-size:13px; }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact__label { font-size:8.5px; letter-spacing:.1em; }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact strong { font-size:12px; line-height:1.35; }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero__actions .nj-button {
    grid-column:1 !important;
    width:100%;
    min-height:46px;
    padding:10px 12px;
    font-size:11px;
  }
  .nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof {
    align-items:flex-start;
    margin-top:22px;
    padding-top:8px;
    font-size:15px;
    line-height:1.45;
  }

  .nj-tour .nj-journey-selector--unified { padding:30px 0 20px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-selector__intro {
    display:grid !important;
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:18px;
  }
  .nj-tour .nj-journey-selector--unified .nj-journey-selector__intro h2 { font-size:36px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-selector__intro > p { font-size:14px; line-height:1.55; }
  .nj-tour .nj-journey-selector--unified .nj-journey-selector__layout { gap:10px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-choice--current { padding:14px 15px; border-radius:18px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-choice__title { font-size:25px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-choice__route { font-size:13px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-choice__description { display:none; }
  .nj-tour .nj-journey-selector--unified .nj-journey-alternatives { grid-template-columns:1fr; gap:4px; padding-top:2px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-alternatives__links { grid-template-columns:1fr; }
  .nj-tour .nj-journey-selector--unified .nj-journey-alternative { padding:8px 4px; }
  .nj-tour .nj-journey-selector--unified .nj-journey-alternative + .nj-journey-alternative { border-top:1px solid rgba(23,63,73,.12); border-left:0; }
  .nj-tour .nj-journey-selector--unified .nj-journey-alternative__journey { overflow:visible; text-overflow:clip; white-space:normal; }
}

@media (max-width:600px) {
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-facts {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"duration" "group" "pace" "overnights";
    padding-top:6px;
    padding-bottom:6px;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact,
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration,
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact--group {
    padding:7px 1px;
    border-top:1px solid rgba(255,255,255,.14);
    border-right:0;
  }
  html body .nj-tour .nj-hero--iberia-combo .nj-hero-fact--duration { border-top:0; }
}

@media (prefers-reduced-motion:reduce) {
  .nj-tour .nj-hero--iberia-combo .nj-hero__tripadvisor-proof,
  .nj-tour .nj-journey-selector--unified .nj-journey-alternative,
  .nj-tour .nj-journey-selector--unified .nj-journey-alternative__arrow { transition:none; }
}
