.port-guide-page:has(.detailed-port-guide)>.destination-cta-section{display:none}.port-content:has(.detailed-port-guide){padding:0!important}.port-content:has(.detailed-port-guide)>.container{max-width:none;padding:0}.detailed-port-guide .scroll-anchor-inactive{visibility:hidden;width:0;height:0}.detailed-port-guide .scroll-anchor{visibility:hidden;width:0;height:0;scroll-margin-top:calc(var(--sticky-offset,168px) + 1rem)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tab-subsection{margin-bottom:clamp(1.5rem,3vw,2.5rem);padding:0}.tab-subsection+.tab-subsection{border-top:1px solid var(--clr-border,#e8e4dc);padding-top:clamp(1.5rem,3vw,2.5rem)}.section-intro{margin-bottom:var(--space-6,1.5rem)}.section-intro p{color:var(--clr-text-body,#374151);margin-bottom:var(--space-4,1rem);font-size:clamp(.9375rem,2vw,1.0625rem);line-height:1.75}.section-intro p:last-child{margin-bottom:0}.place-link{background:var(--clr-bg-alt,#f8f5f0);border:1px solid var(--clr-border-light,#f2efe9);border-radius:var(--radius-full,9999px);color:var(--clr-primary,#2c344c);white-space:nowrap;align-items:center;gap:6px;margin-top:8px;padding:4px 12px;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.place-link:hover{background:var(--clr-secondary,#d4b86a);border-color:var(--clr-secondary,#d4b86a);color:var(--clr-primary,#2c344c)}.section-divider{border:none;border-top:1px solid var(--clr-border-light,#f2efe9);margin:var(--space-6,1.5rem)0}.tab-subsection>.section-divider:first-child{display:none}.port-subsection{margin-bottom:clamp(1.25rem,2.5vw,2rem)}.port-subsection+.port-subsection{border-top:1px solid var(--clr-border,#e8e4dc);padding-top:clamp(1.25rem,2.5vw,2rem)}.port-description{margin-bottom:var(--space-6,1.5rem)}.port-description p{color:var(--clr-text-body,#374151);margin-bottom:var(--space-4,1rem);line-height:1.8}.port-description p:last-child{margin-bottom:0}.port-info-grid{gap:var(--space-4,1rem);grid-template-columns:1fr;display:grid}@media (min-width:600px){.port-info-grid{grid-template-columns:repeat(3,1fr)}}.info-item{gap:var(--space-3,.75rem);padding:var(--space-4,1rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);display:flex}.info-item svg{color:var(--clr-secondary,#d4b86a);flex-shrink:0}.info-item strong{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-1,.25rem);display:block}.info-item p{color:var(--clr-text-main,#2c344c);font-weight:var(--font-weight-medium,500);margin:0}.walk-item{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);margin-bottom:var(--space-3,.75rem);border-left:3px solid var(--clr-secondary,#d4b86a)}.walk-item:last-child{margin-bottom:0}.walk-item h4{font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-2,.5rem);font-size:var(--font-size-base,1rem)}.walk-item p{margin-bottom:var(--space-2,.5rem);line-height:var(--line-height-relaxed,1.7);color:var(--clr-text-main,#2c344c)}.walk-item p:last-child{margin-bottom:0}.simple-list{margin:0;padding:0;list-style:none}.simple-list li{font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7);margin-bottom:var(--space-3,.75rem);padding-left:var(--space-6,1.5rem);position:relative}.simple-list li:before{content:"→";color:var(--clr-secondary,#d4b86a);font-weight:var(--font-weight-bold,700);position:absolute;left:0}.simple-list li:last-child{margin-bottom:0}.simple-list li strong{color:var(--clr-text-main,#2c344c)}.warning-list li:before{content:"⚠️";font-size:.875rem}.map-link,.map-link-subtle{align-items:center;gap:var(--space-1,.25rem);color:var(--clr-secondary,#d4b86a);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);margin-top:var(--space-2,.5rem);text-decoration:none;transition:color .2s;display:inline-flex}.map-link:hover,.map-link-subtle:hover{color:var(--clr-primary,#2c344c);text-decoration:underline}.map-link:focus-visible,.map-link-subtle:focus-visible{outline:2px solid var(--clr-secondary,#d4b86a);outline-offset:2px}.food-item{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);margin-bottom:var(--space-3,.75rem);border-left:3px solid var(--clr-secondary,#d4b86a)}.food-item:last-child{margin-bottom:0}.food-item h4{font-family:var(--font-display);font-weight:var(--font-weight-bold,700);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-1,.25rem);font-size:var(--font-size-base,1rem)}.food-location{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-2,.5rem);font-style:italic}.food-item p{margin-bottom:var(--space-2,.5rem);line-height:var(--line-height-relaxed,1.7);color:var(--clr-text-main,#2c344c)}.food-item p:last-child{margin-bottom:0}.content-block{margin-bottom:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);border-left:3px solid var(--clr-secondary,#d4b86a)}.content-block__top{align-items:center;gap:var(--space-6,1.5rem);margin-bottom:var(--space-4,1rem);display:flex}.content-block__image{aspect-ratio:4/3;border-radius:var(--radius-md,8px);background:var(--clr-bg-alt,#f8f5f0);flex-shrink:0;width:280px;overflow:hidden}.content-block__image img{object-fit:cover;width:100%;height:100%;display:block}.content-block__header{flex:1;min-width:0}.content-block__header h4{font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin:0 0 var(--space-3,.75rem)0;line-height:1.4}.content-block__header p{font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7);margin:0}.content-block__details{width:100%}@media (max-width:600px){.content-block__top{flex-direction:column}.content-block__image{width:100%;max-width:400px}}.detailed-port-guide .attraction-block{margin-bottom:1.5rem}.detailed-port-guide .attraction-top{align-items:center;gap:24px;margin-bottom:20px;display:flex}.detailed-port-guide .attraction-image{aspect-ratio:4/3;border-radius:var(--radius-md,8px);background:var(--clr-bg-alt,#f8f5f0);flex-shrink:0;width:280px;overflow:hidden}.detailed-port-guide .attraction-image img{object-fit:cover;width:100%;height:100%}.detailed-port-guide .attraction-header{flex:1}.detailed-port-guide .attraction-header h3{font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin:0 0 .25em;line-height:1.4}.detailed-port-guide .attraction-tags{gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.detailed-port-guide .attraction-block .attraction-details{width:100%;display:block}.detailed-port-guide .attraction-info-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.detailed-port-guide .attraction-info-grid .info-box{gap:var(--space-1,.25rem);padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);border:1px solid var(--clr-border-light,#f2efe9);flex-direction:column;margin:0;display:flex}.detailed-port-guide .attraction-info-grid .info-box strong{font-size:var(--font-size-xs,.75rem);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-main,#2c344c);font-weight:var(--font-weight-semibold,600)}.detailed-port-guide .attraction-info-grid .info-box p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin:0;line-height:1.5}.detailed-port-guide .attraction-tips{margin-top:var(--space-4,1rem);padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px)}.detailed-port-guide .attraction-tips strong{color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-1,.25rem);display:block}.detailed-port-guide .attraction-tips p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin:0}@media (max-width:768px){.detailed-port-guide .attraction-top{flex-direction:column}.detailed-port-guide .attraction-image{width:100%}.detailed-port-guide .attraction-info-grid{grid-template-columns:1fr}}.attraction-description{font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7);margin-bottom:var(--space-3,.75rem)}.attraction-details,.detail-grid{gap:var(--space-3,.75rem);margin:var(--space-4,1rem)0;grid-template-columns:1fr 1fr;display:grid}@media (max-width:599px){.attraction-details,.detail-grid{grid-template-columns:1fr}}.detail-item{gap:var(--space-1,.25rem);padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);flex-direction:column;display:flex}.detail-item strong{font-size:var(--font-size-xs,.75rem);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-main,#2c344c);font-weight:var(--font-weight-semibold,600)}.detail-item p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin:0;line-height:1.5}.attraction-notes-box{margin:var(--space-3,.75rem)0;padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);align-items:flex-start;gap:var(--space-2,.5rem);display:flex}.attraction-notes-box .info-icon{color:var(--clr-secondary,#d4b86a);flex-shrink:0;margin-top:2px}.attraction-notes-box p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.6);margin:0;font-style:normal}.our-take{margin-top:var(--space-4,1rem);padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px)}.our-take strong{color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-1,.25rem);display:block}.our-take p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin:0}.access-item{padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px)}.access-item strong{color:var(--clr-text-main,#2c344c);font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-1,.25rem);display:block}.access-item p{color:var(--clr-text-main,#2c344c);margin:0}.specialty-item{margin-bottom:var(--space-4,1rem);padding-bottom:var(--space-4,1rem);border-bottom:1px solid var(--clr-border-light,#f2efe9)}.specialty-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.specialty-item strong{font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-2,.5rem);display:block}.specialty-item p{color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-1,.25rem)}.specialty-item .where{color:var(--clr-text-main,#2c344c);font-size:var(--font-size-sm,.875rem)}.distance-badge{color:var(--clr-secondary,#d4b86a);border-radius:var(--radius-full,9999px);letter-spacing:.02em;background:#d4b86a26;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.quick-win-tag{color:#fff;border-radius:var(--radius-full,9999px);text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#10b981 0%,#059669 100%);align-items:center;gap:.25rem;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.tip-highlight{padding:var(--space-3,.75rem)var(--space-4,1rem);border-radius:var(--radius-md,8px);margin:var(--space-3,.75rem)0;background:linear-gradient(135deg,#fbbf241a 0%,#f59e0b0d 100%);border-left:3px solid #f59e0b}.tip-highlight p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);margin:0;line-height:1.6}.tip-highlight strong{color:#d97706;font-weight:600}.family-cards-grid{gap:var(--space-4,1rem);margin-top:var(--space-4,1rem);flex-direction:column;display:flex}.family-card{flex-direction:row;align-items:flex-start;display:flex}.family-card-image{aspect-ratio:4/3;background:var(--clr-bg-alt,#f5f5f5);border-radius:var(--radius-md,8px);flex-shrink:0;align-self:flex-start;width:280px;overflow:hidden}.family-card-image img{object-fit:cover;width:100%;height:100%;display:block}.family-card-content{padding:var(--space-4,1rem);flex-direction:column;flex:1;display:flex}.family-card-content p strong{color:var(--clr-text,#2c344c)}.family-card-distance{align-items:center;gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.family-card-notes{padding-top:var(--space-2,.5rem);border-top:1px solid var(--clr-border-light,#eee);font-style:italic;margin-top:var(--space-2,.5rem)!important}.park-info p strong,.attraction-info p strong{color:var(--clr-text-main,#2c344c)}.tip-text{padding:var(--space-3,.75rem);background:var(--clr-accent-light,#fef3c7);border-radius:var(--radius-md,8px);font-size:var(--font-size-sm,.875rem);margin-top:var(--space-3,.75rem)!important}@media (max-width:600px){.family-card{flex-direction:column}.family-card-image{aspect-ratio:4/3;width:100%;max-width:400px}}.park-info.with-image{gap:var(--space-4,1rem);border:1px solid var(--clr-border,#e5e5e5);align-items:flex-start;padding:0;display:flex;overflow:hidden}.park-info.with-image .info-image{aspect-ratio:4/3;background:var(--clr-bg-alt,#f5f5f5);border-radius:var(--radius-md,8px);flex-shrink:0;align-self:flex-start;width:280px;overflow:hidden}.park-info.with-image .info-image img{object-fit:cover;width:100%;height:100%;display:block}.park-info.with-image .info-content{padding:var(--space-4,1rem);flex:1}@media (max-width:600px){.park-info.with-image{flex-direction:column}.park-info.with-image .info-image{aspect-ratio:4/3;width:100%;max-width:400px}}.port-hook{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.port-hook .hook-icon{color:var(--clr-secondary,#d4b86a);flex-shrink:0;margin-top:2px}.port-hook p{font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-medium,500);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7);margin:0}.important-notes-box{border-radius:var(--radius-md,.5rem);padding:var(--space-4,1rem);margin:var(--space-4,1rem)0;background:#fff9e6;border:1px solid #d4a84b;border-left-width:4px}.important-notes-box .notes-icon{display:none}.important-notes-box h4{margin:0 0 var(--space-3,.75rem)0;font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);font-weight:700}.important-notes-list{padding:0;padding-left:var(--space-5,1.25rem);flex:1;margin:0;list-style:none}.important-notes-list li{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7);margin-bottom:var(--space-2,.5rem);padding-left:0;position:relative}.important-notes-list li:before{display:none}.important-notes-list li:last-child{margin-bottom:0}.walk-item-header{align-items:flex-start;gap:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem);flex-direction:column;display:flex}.walk-item-header h4{margin-bottom:0}.terrain-badge{padding:var(--space-1,.25rem)var(--space-2,.5rem);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-semibold,600);white-space:nowrap;flex-shrink:0;align-items:center;display:inline-flex}.terrain-easy{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.terrain-moderate{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.terrain-challenging{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.attraction-header{align-items:flex-start;gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem);flex-direction:column;display:flex}.attraction-header h3{margin:0}.attraction-badges{gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.accessibility-badge{align-items:center;gap:var(--space-1,.25rem);padding:var(--space-1,.25rem)var(--space-2,.5rem);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-semibold,600);white-space:nowrap;cursor:help;display:inline-flex}.access-full{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.access-partial{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.access-limited{color:#9a3412;background:#fed7aa;border:1px solid #fdba74}.access-none{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.beach-info-grid{gap:var(--space-3,.75rem);margin:var(--space-3,.75rem)0;padding:var(--space-3,.75rem);background:var(--clr-surface,#fff);border-radius:var(--radius-md,8px);border:1px solid var(--clr-border-light,#f2efe9);flex-wrap:wrap;display:flex}.beach-info-item{align-items:center;gap:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-main,#2c344c);display:flex}.beach-info-item svg{color:var(--clr-secondary,#d4b86a);flex-shrink:0}.beach-access-notes{align-items:center;gap:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-2,.5rem);font-style:italic;display:flex}.beach-access-notes svg{flex-shrink:0}.local-dish-header{align-items:center;gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem);display:flex}.local-dish-header .dish-icon{color:var(--clr-secondary,#d4b86a)}.local-dish-header h3{font-size:var(--font-size-lg,1.125rem);font-weight:var(--font-weight-bold,700);color:var(--clr-text-main,#2c344c);margin:0}.local-dish-content h4{margin:0 0 var(--space-2,.5rem)0;font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c)}.local-dish-content p{margin:0 0 var(--space-2,.5rem)0;font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c);line-height:var(--line-height-relaxed,1.7)}.local-dish-content p:last-child{margin-bottom:0}.local-dish-content .look-for{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);font-style:italic}.marine-conditions-card{margin-top:var(--space-4,1rem);padding:var(--space-4,1rem);border-radius:var(--radius-md,.5rem);background:linear-gradient(135deg,#e8f4fc 0%,#d1e9f6 100%);border:1px solid #b8d4e8}.marine-conditions-card.loading{background:#f5f5f5;border-color:#ddd}.marine-header{align-items:center;gap:var(--space-2,.5rem);margin-bottom:var(--space-3,.75rem);color:#1a5276;display:flex}.marine-header h5{font-size:var(--font-size-base,1rem);margin:0;font-weight:600}.marine-loading{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);font-style:italic}.marine-grid{gap:var(--space-3,.75rem);grid-template-columns:repeat(3,1fr);display:grid}.marine-item{text-align:center;padding:var(--space-2,.5rem);border-radius:var(--radius-sm,.25rem);background:#ffffffb3;flex-direction:column;align-items:center;display:flex}.marine-item svg{color:#2980b9;margin-bottom:var(--space-1,.25rem)}.marine-label{color:var(--clr-text-muted,#4b5563);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem}.marine-value{font-size:var(--font-size-lg,1.125rem);color:#1a5276;font-weight:600}.marine-conditions-summary{margin-top:var(--space-3,.75rem);padding:var(--space-2,.5rem)var(--space-3,.75rem);border-radius:var(--radius-sm,.25rem);font-size:var(--font-size-sm,.875rem);text-align:center;color:#2c344c;background:#fffc;font-weight:500}.marine-conditions-summary.safe{color:#1e8449;background:#27ae6026;border:1px solid #27ae604d}.marine-conditions-summary.caution{color:#b7950b;background:#f39c1226;border:1px solid #f39c124d}.marine-note{margin:var(--space-2,.5rem)0 0 0;color:var(--clr-text-muted,#4b5563);text-align:right;font-size:.7rem;font-style:italic}@media (max-width:479px){.marine-grid{gap:var(--space-2,.5rem);grid-template-columns:repeat(3,1fr)}.marine-item{padding:var(--space-1,.25rem)}.marine-value{font-size:var(--font-size-base,1rem)}}.section-medical .medical-item{background:var(--clr-bg-alt,#f8f5f0);padding:var(--space-4,1rem);border-radius:var(--radius-md,.5rem);margin-bottom:var(--space-3,.75rem)}.section-medical .medical-item h4{margin:0 0 var(--space-2,.5rem)0;font-size:var(--font-size-lg,1.125rem);color:var(--clr-text-main,#2c344c);font-weight:700}.section-medical .medical-item p{margin:var(--space-1,.25rem)0;font-size:var(--font-size-base,1rem);color:var(--clr-text-main,#2c344c)}.section-medical .medical-notes{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-2,.5rem);font-style:italic}.section-medical .emergency-badge{padding:var(--space-1,.25rem)var(--space-2,.5rem);color:#1e8449;border-radius:var(--radius-sm,.25rem);font-size:var(--font-size-sm,.875rem);margin-top:var(--space-2,.5rem);background:#27ae6026;border:1px solid #27ae604d;font-weight:600;display:inline-block}.convenience-store-item{padding:var(--space-4,1rem)0;border-bottom:1px solid var(--clr-border-light,#f2efe9)}.convenience-store-item:last-child{border-bottom:none}.convenience-store-item h4{margin:0 0 var(--space-3,.75rem)0;color:var(--clr-primary,#2c344c);font-size:var(--font-size-lg,1.125rem)}.store-details{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.store-details p{align-items:flex-start;gap:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.6;display:flex}.store-details svg{color:var(--clr-accent,#c8a25d);flex-shrink:0;margin-top:2px}.store-location strong,.store-type strong,.store-what strong{color:var(--clr-text,#2c344c);font-weight:var(--font-weight-semibold,600)}.store-notes{color:var(--clr-text-muted,#4b5563);padding:var(--space-2,.5rem)var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-left:3px solid var(--clr-accent,#c8a25d);border-radius:var(--radius-sm,.25rem);margin-top:var(--space-2,.5rem);font-style:italic}@media (max-width:479px){.convenience-store-item{padding:var(--space-3,.75rem)0}.convenience-store-item h4{font-size:var(--font-size-base,1rem)}.store-details p{font-size:var(--font-size-xs,.75rem)}}.section-overnight .section-subtitle{color:var(--clr-text-muted,#4b5563);font-size:var(--font-size-sm,.875rem);margin-top:var(--space-1,.25rem)}.overnight-summary{background:var(--clr-bg-alt,#f8f5f0);border-left:4px solid var(--clr-secondary,#d4b86a);border-radius:0 var(--radius-md,8px)var(--radius-md,8px)0;color:var(--clr-text-main,#2c344c);margin-bottom:1rem;padding:1.25rem}.overnight-summary p{color:var(--clr-text-body,#374151);line-height:var(--line-height-relaxed,1.7)}.dont-miss-grid{gap:var(--space-4,1rem);display:grid}@media (min-width:768px){.dont-miss-grid{grid-template-columns:repeat(2,1fr)}}.dont-miss-card{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);border-left:4px solid var(--clr-secondary,#d4b86a)}.dont-miss-header{align-items:center;gap:var(--space-2,.5rem);margin-bottom:var(--space-2,.5rem);display:flex}.dont-miss-icon{color:var(--clr-secondary,#d4b86a)}.dont-miss-card h4{font-family:var(--font-display);font-weight:var(--font-weight-bold,700);color:var(--clr-text-main,#2c344c);margin:0}.activity-type{background:var(--clr-primary,#2c344c);color:#fff;font-size:var(--font-size-xs,.75rem);margin-bottom:var(--space-2,.5rem);border-radius:4px;padding:2px 8px;display:inline-block}.evening-activity{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);margin-bottom:var(--space-3,.75rem)}.evening-activity h4{font-family:var(--font-display);font-weight:var(--font-weight-bold,700);color:var(--clr-text-main,#2c344c);margin-bottom:var(--space-2,.5rem)}.timing,.location{align-items:center;gap:var(--space-1,.25rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-bottom:var(--space-1,.25rem);display:flex}.sunrise-sunset-grid{gap:var(--space-4,1rem);display:grid}@media (min-width:640px){.sunrise-sunset-grid{grid-template-columns:repeat(2,1fr)}}.sunrise-card,.sunset-card{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem)}.sunrise-card{border-top:4px solid #f59e0b}.sunset-card{border-top:4px solid #ec4899}.itinerary-timeline{border-left:3px solid var(--clr-secondary,#d4b86a);padding-left:var(--space-4,1rem);margin:var(--space-4,1rem)0}.timeline-stop{gap:var(--space-3,.75rem);margin-bottom:var(--space-4,1rem);display:flex;position:relative}.timeline-stop:before{content:"";background:var(--clr-secondary,#d4b86a);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:calc(-1rem - 7px)}.timeline-time{font-weight:var(--font-weight-bold,700);color:var(--clr-primary,#2c344c);min-width:50px;font-size:var(--font-size-sm,.875rem)}.timeline-content strong{margin-bottom:var(--space-1,.25rem);display:block}.day2-note{background:var(--clr-bg-alt,#f8f5f0);padding:var(--space-3,.75rem);border-radius:var(--radius-sm,4px);margin-top:var(--space-3,.75rem)}.safety-info{border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);background:#fef3c7;border-left:4px solid #f59e0b}.open-until{align-items:center;gap:var(--space-1,.25rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);display:flex}.section-boat-trips .section-intro h3{color:var(--clr-text-primary,#1f2937);margin-bottom:var(--space-2,.5rem)}.boat-trip-card{padding:var(--space-4,1rem)0}.boat-trip-header{align-items:center;gap:var(--space-3,.75rem);margin-bottom:var(--space-2,.5rem);display:flex}.boat-trip-header h3{color:var(--clr-text-primary,#1f2937);font-size:var(--font-size-lg,1.125rem);margin:0}.duration-badge{background:var(--clr-accent,#2c344c);color:#fff;padding:var(--space-1,.25rem)var(--space-2,.5rem);border-radius:var(--radius-sm,4px);font-size:var(--font-size-xs,.75rem);font-weight:500}.boat-trip-description{color:var(--clr-text-secondary,#4b5563);line-height:var(--line-height-relaxed,1.7);margin-bottom:var(--space-3,.75rem)}.boat-trip-detail,.boat-trip-booking{margin-bottom:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem)}.boat-trip-detail strong,.boat-trip-booking strong{color:var(--clr-text-primary,#1f2937)}.boat-trip-highlights{margin-top:var(--space-3,.75rem)}.boat-trip-highlights ul{gap:var(--space-2,.5rem);margin:var(--space-2,.5rem)0 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.boat-trip-highlights li{background:var(--clr-bg-alt,#f8f5f0);padding:var(--space-1,.25rem)var(--space-2,.5rem);border-radius:var(--radius-sm,4px);font-size:var(--font-size-sm,.875rem)}.section-terminals .section-intro{margin-bottom:var(--space-4,1rem)}.terminals-overview{color:var(--clr-text-body,#374151);line-height:var(--line-height-relaxed,1.7)}.terminals-overview p{margin-bottom:var(--space-3,.75rem)}.terminal-card{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-5,1.25rem);margin-bottom:var(--space-4,1rem);border-left:4px solid var(--clr-secondary,#d4b86a)}.terminal-card h3{margin:0 0 var(--space-2,.5rem)0;font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-lg,1.125rem);color:var(--clr-text-primary,#1f2937)}.terminal-location{align-items:center;gap:var(--space-2,.5rem);color:var(--clr-text-muted,#4b5563);font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-3,.75rem);display:flex}.cruise-lines{margin-bottom:var(--space-3,.75rem)}.cruise-lines strong{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-primary,#1f2937);margin-bottom:var(--space-2,.5rem);display:block}.cruise-line-tags{gap:var(--space-1,.25rem);flex-wrap:wrap;display:flex}.cruise-line-tag{border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);color:var(--clr-text-primary,#1f2937);border:1px solid var(--clr-border-light,#f2efe9);background:#fff;padding:2px 10px;font-weight:500}.terminal-distance{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin-bottom:var(--space-2,.5rem);align-items:center;gap:var(--space-2,.5rem);flex-wrap:wrap;display:flex}.walkable-badge{color:#166534;border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);background:#dcfce7;padding:2px 8px;font-weight:500}.walking-notes{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-bottom:var(--space-3,.75rem);font-style:italic}.shuttle-info{border-radius:var(--radius-sm,4px);padding:var(--space-3,.75rem);margin-bottom:var(--space-3,.75rem);border:1px solid var(--clr-border-light,#f2efe9);background:#fff}.shuttle-info h4{margin:0 0 var(--space-2,.5rem)0;font-size:var(--font-size-sm,.875rem);color:var(--clr-text-primary,#1f2937)}.shuttle-info p{font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-1,.25rem);color:var(--clr-text-body,#374151)}.shuttle-notes{align-items:flex-start;gap:var(--space-1,.25rem);color:var(--clr-text-muted,#4b5563);font-size:var(--font-size-xs,.75rem);margin-top:var(--space-2,.5rem);display:flex}.terminal-facilities{margin-bottom:var(--space-3,.75rem)}.terminal-facilities strong{font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-2,.5rem);display:block}.facilities-list{gap:var(--space-2,.5rem);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.facilities-list li{border-radius:var(--radius-sm,4px);font-size:var(--font-size-xs,.75rem);border:1px solid var(--clr-border-light,#f2efe9);background:#fff;padding:4px 10px}.accessibility-note{align-items:center;gap:var(--space-1,.25rem);font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-2,.5rem);display:flex}.taxi-info{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin-bottom:var(--space-2,.5rem)}.taxi-info p{font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-1,.25rem)}.tender-info-box{border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);background:#fef3c7;border:1px solid #fbbf24}.tender-info-box h4{margin:0 0 var(--space-2,.5rem)0;color:#92400e}.tender-info-box p{font-size:var(--font-size-sm,.875rem);color:#78350f;margin-bottom:var(--space-1,.25rem)}.tender-notes{align-items:flex-start;gap:var(--space-1,.25rem);margin-top:var(--space-2,.5rem);display:flex}.day-planner-label{font-size:var(--font-size-base,1rem);color:var(--clr-primary,#2c344c);margin-bottom:var(--space-3,.75rem);padding-bottom:var(--space-2,.5rem);border-bottom:2px solid var(--clr-secondary,#d4b86a);font-weight:600;display:block}.day-planner-rows{flex-direction:column;gap:1.5rem;display:flex}.day-planner-row .simple-list{padding-left:var(--space-5,1.25rem);margin:0}.day-planner-note{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#4b5563);margin:var(--space-2,.5rem)0 0 0}.day-planner-warning{font-size:var(--font-size-sm,.875rem);color:#92400e;margin:var(--space-2,.5rem)0 0 0}.special-event{margin-bottom:var(--space-4,1rem)}.special-event:last-child{margin-bottom:0}.special-event h4{font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-base,1rem);font-weight:var(--font-weight-semibold,600);color:var(--clr-text-main,#2c344c);margin:0 0 var(--space-2,.5rem)0}.event-impact{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#4b5563);margin-bottom:var(--space-2,.5rem)}.quick-fact-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.quick-fact-item strong{color:var(--clr-text-primary,#1f2937);font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-1,.25rem);display:block}.quick-fact-item p{color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);margin:0;line-height:1.5}.emergency-numbers-grid{gap:var(--space-3,.75rem);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:768px){.emergency-numbers-grid{grid-template-columns:repeat(3,1fr)}}.emergency-number-item{background:var(--clr-bg-alt,#f8f5f0);padding:var(--space-3,.75rem);border-radius:var(--radius-md,8px);text-align:center}.emergency-number-item strong{font-size:var(--font-size-xs,.75rem);text-transform:uppercase;letter-spacing:.05em;color:var(--clr-text-secondary,#4b5563);margin-bottom:var(--space-1,.25rem);display:block}.emergency-number{font-size:var(--font-size-lg,1.125rem);color:var(--clr-primary,#1b4d7a);margin:0;font-weight:700}.english-service-note{color:var(--clr-success,#059669);margin-top:var(--space-3,.75rem);font-weight:500}.ehic-badge{color:var(--clr-success,#059669);font-weight:500}.insurance-note{margin-top:var(--space-2,.5rem);color:var(--clr-text-secondary,#4b5563)}.connectivity-grid{gap:var(--space-3,.75rem);grid-template-columns:1fr;display:grid}@media (min-width:768px){.connectivity-grid{grid-template-columns:1fr 1fr}}.connectivity-item{background:var(--clr-bg-alt,#f8f5f0);padding:var(--space-3,.75rem);border-radius:var(--radius-md,8px)}.connectivity-item strong{color:var(--clr-text-primary,#1f2937);margin-bottom:var(--space-1,.25rem);display:block}.connectivity-item p{color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);margin:0}.connectivity-tip{align-items:center;gap:var(--space-2,.5rem);margin-top:var(--space-3,.75rem);color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);display:flex}.luggage-tip{align-items:center;gap:var(--space-2,.5rem);color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);display:flex}.ship-time-warning-box{border-radius:var(--radius-md,8px);padding:var(--space-4,1rem)var(--space-5,1.25rem);background:#fef3c7;border:1px solid #f59e0b}.ship-time-warning-box h4{color:#92400e;margin:0 0 var(--space-3,.75rem)0}.ship-time-warning-box p{margin-bottom:var(--space-2,.5rem)}.ship-time-tips{margin:var(--space-3,.75rem)0 0 0;padding-left:var(--space-5,1.25rem)}.ship-time-tips li{margin-bottom:var(--space-2,.5rem);color:#92400e}.photography-spot{padding:var(--space-3,.75rem);background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);margin-bottom:var(--space-3,.75rem)}.photography-spot h4{margin:0 0 var(--space-2,.5rem)0;color:var(--clr-text-primary,#1f2937)}.photography-spot .spot-location{align-items:center;gap:var(--space-1,.25rem);color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-2,.5rem);display:flex}.photography-spot .spot-tip{align-items:center;gap:var(--space-1,.25rem);color:var(--clr-text-secondary,#4b5563);font-size:var(--font-size-sm,.875rem);font-style:italic;display:flex}.faq-section .section-intro{margin-bottom:var(--space-4,1rem)}.faq-list{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.faq-item{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem)var(--space-5,1.25rem);border-left:3px solid var(--clr-secondary,#d4b86a)}.faq-item h3{margin:0 0 var(--space-2,.5rem)0;font-size:var(--font-size-base,1rem);color:var(--clr-text-primary,#1f2937);font-weight:600}.faq-item p{color:var(--clr-text-body,#374151);line-height:var(--line-height-relaxed,1.7);font-size:var(--font-size-sm,.875rem);margin:0}.section-seasonal .section-intro{margin-bottom:var(--space-6,1.5rem)}.seasonal-overview{color:var(--clr-text-body,#374151);line-height:var(--line-height-relaxed,1.7)}.seasonal-overview p{margin-bottom:var(--space-3,.75rem)}.seasons-grid{gap:var(--space-4,1rem);grid-template-columns:1fr;display:grid}@media (min-width:768px){.seasons-grid{grid-template-columns:repeat(2,1fr)}}.season-card{border-left:4px solid var(--clr-secondary,#d4b86a)}.season-card h3{margin:0 0 var(--space-3,.75rem)0;font-family:var(--font-family-display,"Playfair Display",Georgia,serif);font-size:var(--font-size-lg,1.125rem);color:var(--clr-text-primary,#1f2937)}.season-temp{align-items:center;gap:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin-bottom:var(--space-2,.5rem);font-weight:500;display:flex}.season-crowds{align-items:center;gap:var(--space-2,.5rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-bottom:var(--space-3,.75rem);display:flex}.season-pros,.season-cons,.season-tips{margin-bottom:var(--space-2,.5rem)}.season-pros strong,.season-cons strong,.season-tips strong{font-size:var(--font-size-sm,.875rem);margin-bottom:var(--space-1,.25rem);display:block}.season-pros ul,.season-cons ul,.season-tips ul{margin:0;padding:0;list-style:none}.season-pros li,.season-cons li,.season-tips li{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);padding:2px 0;padding-left:var(--space-3,.75rem);position:relative}.season-pros li:before{content:"✓";color:#22c55e;font-size:var(--font-size-xs,.75rem);position:absolute;left:0}.season-cons li:before{content:"!";color:#f59e0b;font-weight:700;font-size:var(--font-size-xs,.75rem);position:absolute;left:0}.season-tips li:before{content:"•";color:var(--clr-secondary,#d4b86a);position:absolute;left:0}.season-best-for{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-2,.5rem);padding-top:var(--space-2,.5rem);border-top:1px solid var(--clr-border-light,#f2efe9)}.season-best-for strong{color:var(--clr-text-primary,#1f2937)}.event-period{align-items:center;gap:var(--space-1,.25rem);font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-bottom:var(--space-1,.25rem);display:flex}.event-impact{align-items:center;gap:var(--space-1,.25rem);font-size:var(--font-size-sm,.875rem);color:#b45309;margin-bottom:var(--space-1,.25rem);display:flex}.practical-notes-box{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-md,8px);padding:var(--space-4,1rem)var(--space-5,1.25rem)}.practical-notes-box h4{margin:0 0 var(--space-2,.5rem)0;color:var(--clr-text-primary,#1f2937)}.practical-notes-box p{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin-bottom:var(--space-1,.25rem)}.practical-info{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563)}.section-food-drink .section-intro{margin-bottom:var(--space-4,1rem)}.food-type{background:var(--clr-bg-alt,#f8f5f0);border-radius:var(--radius-full,9999px);font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#4b5563);margin-bottom:var(--space-2,.5rem);padding:2px 8px;display:inline-block}.itinerary-intro{color:var(--clr-text-body,#374151);line-height:var(--line-height-relaxed,1.7);margin-bottom:var(--space-4,1rem)}.navigation-tip{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-2,.5rem);font-style:italic}.port-map-description{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151);margin-bottom:var(--space-2,.5rem)}.booking-advice{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-body,#374151)}.tips{font-size:var(--font-size-sm,.875rem);color:var(--clr-text-muted,#4b5563)}.image-lightbox-overlay{z-index:1000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.terminals-list{gap:var(--space-3,.75rem);flex-direction:column;display:flex}.facility-notes{font-size:var(--font-size-xs,.75rem);color:var(--clr-text-muted,#4b5563);margin-top:var(--space-1,.25rem)}.section-overview,.section-stay-local,.section-go-further,.section-with-kids,.section-send{min-height:0}@media (prefers-reduced-motion:reduce){.port-section-tabs,.image-lightbox-overlay,.image-carousel-container,.port-section-tab,.section-sidebar,.section-sidebar-btn,.section-sidebar-item,.map-link,.map-link-subtle,.subsection-map-link,.scroll-anchor{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
:root{--tab-bar-height:48px;--sticky-offset:calc(var(--header-height,120px) + var(--tab-bar-height,48px))}@media (max-width:767px){:root{--sticky-offset:calc(var(--header-height,120px) + var(--tab-bar-height,48px))}}.detailed-port-guide{background:var(--clr-bg,#fafaf8)}.section-sidebar{top:var(--sticky-offset);max-height:calc(100vh - var(--sticky-offset));scrollbar-width:thin;border-right:1px solid var(--clr-border,#e8e4dc);flex-direction:column;align-self:start;gap:0;padding:.5rem 0;display:flex;position:sticky;overflow-y:auto}.section-sidebar-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.section-sidebar-item{flex-shrink:1}.section-sidebar-btn{text-align:left;width:100%;min-height:40px;font-family:var(--font-family-body,-apple-system,BlinkMacSystemFont,sans-serif);color:var(--clr-text-body,#4b5563);cursor:pointer;white-space:normal;word-break:break-word;background:0 0;border:none;border-left:3px solid #0000;border-radius:0;padding:.5rem .75rem .5rem .25rem;font-size:.875rem;font-weight:500;line-height:1.4;transition:background .1s;display:block}.section-sidebar-btn:hover{background:var(--clr-bg-alt,#f5f5f5)}.section-sidebar-btn:focus-visible{outline:2px solid var(--clr-secondary,#d4b86a);outline-offset:-2px}.section-sidebar-btn.active{border-left-color:var(--clr-secondary,#d4b86a);color:var(--clr-text-main,#2c344c);background:#d4b86a14;font-weight:600}@media (max-width:767px){.section-sidebar{border-right:none;border-bottom:1px solid var(--clr-border,#e8e4dc);-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;width:100%;max-height:none;padding:.25rem 0;position:static;top:auto;overflow:auto hidden}.section-sidebar-list{flex-direction:row;gap:0;padding:0 .5rem;overflow-x:auto}.section-sidebar-item{scroll-snap-align:start;flex-shrink:0}.section-sidebar-btn{white-space:nowrap;border-bottom:3px solid #0000;border-left:none;min-height:44px;padding:.5rem 1rem}.section-sidebar-btn.active{border-left-color:#0000;border-bottom-color:var(--clr-secondary,#d4b86a)}}.tab-panel-layout{grid-template-columns:220px 1fr;gap:0;max-width:1280px;margin:0 auto;padding:0;display:grid}@media (max-width:1023px){.tab-panel-layout{grid-template-columns:180px 1fr}}@media (max-width:767px){.tab-panel-layout{grid-template-columns:1fr}.tab-panel-content{padding:1rem}}.tab-panel-content{min-width:0;padding:1.5rem}.port-guide-section{scroll-margin-top:calc(var(--sticky-offset) + 1rem);margin-bottom:2rem}.port-guide-section:last-child{margin-bottom:0}.tab-subsection{scroll-margin-top:calc(var(--sticky-offset) + 1rem)}.section-heading,.subsection-heading,.section-intro h3{font-family:var(--font-family-display,Georgia,serif);color:var(--clr-text-main,#2c344c);border-bottom:2px solid var(--clr-secondary,#d4b86a);margin:0 0 .75rem;padding:0 0 .5rem;font-size:1.3rem;font-weight:600;line-height:1.3}.section-divider{background:0 0;border:none;height:0;margin:0;padding:0}.fact-card,.listing-card,.planner-card,.quick-fact-item,.attraction-info,.park-info,.info-list-box,.day-planner-row,.special-event,.season-card,.info-box{background:var(--clr-surface,#fff);border:1px solid var(--clr-border,#e8e4dc);border-radius:8px;padding:1rem}.family-card{background:var(--clr-surface,#fff);border:1px solid var(--clr-border,#e8e4dc);border-radius:8px;padding:0;overflow:hidden}a.listing-card:hover,.listing-card[href]:hover{border-color:var(--clr-secondary,#d4b86a)}.detailed-port-guide .attraction-block{background:var(--clr-surface,#fff);border:1px solid var(--clr-border,#e8e4dc);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.callout,.tip-box,.callout-box,.important-note,.port-hook{border-left:4px solid var(--clr-secondary,#d4b86a);background:#d4b86a14;border-radius:0 8px 8px 0;margin:1rem 0;padding:1rem 1.25rem}.callout p,.tip-box p,.callout-box p,.port-hook p{color:var(--clr-text-body,#374151);margin:0;font-size:.95rem;line-height:1.6}.tip-box strong,.callout-box strong{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-main,#2c344c);margin-bottom:.5rem;font-size:1rem;font-weight:600;display:block}.local-dish-card{border-left:4px solid var(--clr-secondary,#d4b86a);background:#d4b86a14;border-radius:0 8px 8px 0;padding:1rem 1.25rem}.info-list-box.warning-box{background:#fef3c7;border-color:#fde68a}.facts-grid,.quick-facts-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (max-width:639px){.facts-grid,.quick-facts-grid{grid-template-columns:1fr}}.weather-grid,.weather-track{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (min-width:640px){.weather-grid,.weather-track{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.weather-grid,.weather-track{grid-template-columns:repeat(4,1fr)}}.seasons-grid{grid-template-columns:1fr;gap:1rem;display:grid}.listings-stack,.family-cards-grid,.day-planner-rows{flex-direction:column;gap:1rem;display:flex}.access-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.access-grid{grid-template-columns:repeat(2,1fr)}}.tab-panel-content h4,.accordion-content h4,.sub-heading{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-main,#2c344c);margin:1.25rem 0 .5rem;font-size:1.05rem;font-weight:600;line-height:1.4}.tab-panel-content p,.accordion-content p{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-body,#374151);margin:0 0 .75rem;font-size:1rem;font-weight:400;line-height:1.7}.family-card-content h4,.attraction-info h4,.park-info h4,.special-event h4{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-main,#2c344c);margin:0 0 .25rem;font-size:1rem;font-weight:600}.family-card-content p,.attraction-info p,.park-info p,.special-event p{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-body,#374151);margin:.25rem 0;font-size:.9rem;font-weight:400;line-height:1.6}.badge,.terrain-badge,.distance-badge{font-family:var(--font-family-body,sans-serif);border-radius:100px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-terrain{color:var(--clr-primary,#2c344c);background:#2c344c14}.badge-accessibility{color:#b45309;background:#b4530914}.badge-highlight{color:var(--clr-secondary,#d4b86a);background:#d4b86a1a}.section-intro p{color:var(--clr-text-body,#374151);margin:0 0 .75rem;font-size:1rem;line-height:1.7}.section-intro p:last-child{margin-bottom:0}.subsection-card{background:0 0;border:none;border-radius:0;padding:0}.reading-time{display:none!important}.section-image{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%;max-width:600px;height:auto;margin:.75rem 0 1rem}.image-pair{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:.75rem 0 1rem;display:grid}.image-pair img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%;height:auto}@media (max-width:639px){.image-pair{grid-template-columns:1fr}}.image-caption{color:var(--clr-text-muted,#6b7280);margin-top:.25rem;font-size:.8rem}.port-section-tabs{top:calc(var(--header-height,120px) + 7px);z-index:9;background:var(--clr-surface,#fff);border-bottom:1px solid var(--clr-border,#e8e4dc);-webkit-overflow-scrolling:touch;justify-content:center;gap:0;padding:0;display:flex;position:sticky;overflow-x:auto}@media (max-width:767px){.port-section-tabs{top:var(--header-height,120px)}}.port-tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;gap:0;max-width:1280px;margin:0 auto;padding:0 1rem;display:flex;overflow-x:auto}.port-tabs-scroll::-webkit-scrollbar{display:none}.port-section-tab{font-family:var(--font-family-body,sans-serif);color:var(--clr-text-body,#4b5563);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:color .1s,border-color .1s;display:flex}.port-section-tab:hover{color:var(--clr-text-main,#2c344c)}.port-section-tab.active{color:var(--clr-text-main,#2c344c);border-bottom-color:var(--clr-secondary,#d4b86a);font-weight:600}.port-section-tab .tab-icon{flex-shrink:0}.port-section-content{background:var(--clr-surface,#fff);border:1px solid var(--clr-border,#e8e4dc);border-top:none;border-radius:0 0 12px 12px;max-width:1280px;margin:0 auto;box-shadow:0 1px 4px #0000000d}.port-section-panel:not(.active){display:none}.port-section-panel.active{display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.ship-loader{flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:3rem 1rem;display:flex}.ship-loader__container{width:120px;height:60px;position:relative}.ship-loader__ship{width:64px;height:40px;color:var(--clr-primary,#2c344c);z-index:2;animation:2s ease-in-out infinite shipBob;position:absolute;top:0;left:50%;transform:translate(-50%)}@keyframes shipBob{0%,to{transform:translate(-50%)translateY(0)rotate(-2deg)}50%{transform:translate(-50%)translateY(-4px)rotate(2deg)}}.smoke{animation:2s ease-out infinite smokePuff}.smoke-1{animation-delay:0s}.smoke-2{animation-delay:.5s}@keyframes smokePuff{0%{opacity:.6;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(1.5)}}.ship-loader__waves{height:20px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.ship-loader__waves svg{width:100%;height:100%}.wave{opacity:.3}.wave-1{color:var(--clr-primary,#2c344c);animation:3s ease-in-out infinite waveMove}.wave-2{color:var(--clr-accent,#c9a227);animation:3s ease-in-out -1.5s infinite reverse waveMove}@keyframes waveMove{0%,to{transform:translate(-5px)}50%{transform:translate(5px)}}.ship-loader__message{color:var(--clr-text-muted,#666);letter-spacing:.02em;margin-top:1.5rem;font-size:.9375rem;font-weight:500}@media (prefers-reduced-motion:reduce){.ship-loader__ship,.smoke,.wave-1,.wave-2{animation:none}.ship-loader__ship{transform:translate(-50%)}}
