/* Shared presentation layer. Content and application data remain unchanged. */
:root { --muted: #4d6064; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 5rem; }
body { font-family: 'Segoe UI', Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.55; }
h1, h2, h3, h4 { font-weight: 700 !important; text-wrap: balance; }
p { text-wrap: pretty; }
.tour-info h3, .service-info h3, .trust-features strong { font-weight: 700; line-height: 1.2; }
.tour-info > span, .service-info p, .trust-features p, .steps p,
.video-review-copy p, .review-card > p, .package-card li,
.booking-copy > span, .faq-intro > span, .trust-intro > span { font-size: 1rem; line-height: 1.6; }
.faq-list button { font-weight: 700 !important; }
.faq-list button + div { font-size: 1rem !important; }
button, input, select, textarea { font-family: inherit; }
input, select, textarea { font-size: 1rem !important; max-width: 100%; }
button, .button, .category-tabs a, .catalog-categories a { min-height: 44px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #0b9b96; outline-offset: 4px; }
.shell > *, .form-row > *, .tour-page-main > * { min-width: 0; }
.section-heading > p, .tour-copy > p, .package-card > p, .service-copy > p,
.trust-intro > p, .faq-intro > p, .booking-copy > p,
.catalog-tour-copy > p, .package-full-card > p, .service-full-copy > p,
.yacht-offer-copy > p, .tour-page-block p { font-size: 1rem; line-height: 1.65; }
.tour-copy h3, .service-copy h3, .catalog-tour-copy h3, .yacht-offer-copy h3,
.package-full-card h3, .section-heading h2, .hero h1 { font-weight: 700; line-height: 1.15; }
.booking-form label > span { color: #e1ebed; font-size: .875rem; letter-spacing: .025em; }
.booking-form input::placeholder { color: #bfced1; }
.booking-form input, .booking-form select { min-height: 52px; }
.catalog-controls { grid-template-columns: minmax(0, 1fr); }
.catalog-categories { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tour-page-main { margin-top: 2rem; }
.quick-nav { margin-top: 1.5rem; }
.footer-top, .footer-bottom { gap: 1rem; flex-wrap: wrap; }
.footer-bottom { padding-block: 1rem; letter-spacing: .025em; }
.mobile-menu { overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 720px) {
  .shell { width: calc(100% - 32px); }
  .section { padding-block: 3.5rem; }
  .nav-row { gap: 12px; min-height: 72px; height: auto; padding-block: 12px; }
  .brand-copy strong { font-size: .875rem; }
  .brand-copy small { font-size: .75rem; letter-spacing: .08em; }
  .hero h1 { font-size: clamp(2.5rem, 11vw, 3.75rem); line-height: 1.08; }
  .hero-copy > p { font-size: 1rem; }
  .hero-actions { flex-wrap: wrap; }
  .hero-actions .button { width: 100%; justify-content: center; }
  .hero-trust { flex-wrap: wrap; gap: 16px; }
  .hero-trust small { font-size: .875rem; }
  .quick-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 1rem auto 0; padding: 0; width: calc(100% - 32px); overflow: visible; }
  .quick-nav > a { min-width: 0; padding: 12px; gap: 8px; min-height: 86px; }
  .quick-nav > a:last-child { grid-column: 1 / -1; }
  .quick-nav > a > svg:last-child { display: none; }
  .quick-nav small { font-size: .75rem; letter-spacing: .02em; }
  .tour-grid, .package-grid, .service-grid { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; margin-inline: 0; padding-inline: 0; overflow: visible; gap: 20px; }
  .tour-card { min-width: 0; width: 100%; }
  .tour-copy, .package-card, .service-copy { padding: 22px; }
  .catalog-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-categories a:last-child { grid-column: 1 / -1; }
  .catalog-tour-card { display: block; }
  .catalog-tour-image { height: 230px; }
  .catalog-tour-copy { padding: 20px; }
  .catalog-tour-copy > p { font-size: 1rem; }
  .form-row { grid-template-columns: minmax(0, 1fr); }
  .booking-form { padding: 22px; }
  .mobile-bottom-nav { height: auto; min-height: 74px; padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); gap: 2px; }
  .mobile-bottom-nav a { min-width: 0; min-height: 56px; font-size: .75rem; font-weight: 700; line-height: 1.2; text-align: center; overflow-wrap: anywhere; }
  .mobile-bottom-nav svg { flex-shrink: 0; }
  .footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .floating-whatsapp { bottom: calc(92px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
