.frontend-site { background: #f7f8fc; }
.static-page-content { padding: clamp(1.25rem, 3vw, 2.5rem); background: white; border: 1px solid #e4e7ef; border-radius: 18px; color: #546176; line-height: 1.75; overflow-wrap: anywhere; overflow-x: auto; }
.static-page-image { width: 100%; max-height: 420px; object-fit: cover; border-radius: 12px; margin-bottom: 1.5rem; }
.static-page-content img { max-width: 100%; }
.static-page-content h2, .static-page-content h3 { color: #17233b; }
.frontend-site .header { background: #fffffff2; border-bottom: 1px solid #e4e7ef; box-shadow: 0 3px 18px #24365b04; }
.frontend-site .header .btn { border-radius: 10px; font-size: .8125rem; }
.frontend-site .header .btn-primary { background: linear-gradient(115deg, #b91d40, #dc4662); }
.frontend-site .nav-menu a { font-size: .8125rem; }
.frontend-site .footer { background: radial-gradient(ellipse at 100% 0, #3c304b, transparent 60%), #17233b; }
.frontend-site .footer h3 { color: #fff; font-size: .875rem; }
.frontend-site .footer p, .frontend-site .footer a { font-size: .8125rem; }
.frontend-site a:focus-visible, .frontend-site button:focus-visible { outline: 3px solid #b91d4080; outline-offset: 4px; }
.editorial-page main { background: #f7f8fc; }
.editorial-page .hero { padding: 2.5rem 0; background: radial-gradient(ellipse at 0 0, #fce9ee, transparent 60%), radial-gradient(ellipse at 100% 90%, #eaeefe, transparent 55%); }
.editorial-page .hero-grid { gap: 2.5rem; align-items: center; }
.editorial-page .hero h1 { color: #17233b; letter-spacing: -.04em; }
.editorial-page .hero p { color: #647086; margin: 1rem 0 1.5rem; }
.site-breadcrumb { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 1.5rem; font-size: .75rem; color: #748096; }
.site-breadcrumb a { color: inherit; text-decoration: none; }
.editorial-page .eyebrow { font-size: .6875rem; color: #9b2944; letter-spacing: .1em; margin-bottom: .65rem; }
.editorial-page .hero-visual { min-height: 0; height: auto; background: #fff; padding: .5rem; border: 1px solid #e4e7ef; border-radius: 24px; box-shadow: 0 18px 48px #24365b12; }
.editorial-page .hero-visual img { height: 350px; object-fit: cover; border-radius: 18px; }
.editorial-page .section { padding: 2.75rem 0; }
.editorial-page .section-heading h2, .editorial-page .about-copy h2 { color: #17233b; letter-spacing: -.025em; }
.editorial-page .section-heading p { color: #748096; }
.editorial-page .btn { border-radius: 10px; padding: .8rem 1.1rem; font-size: .8125rem; transition: transform .2s, box-shadow .2s; }
.editorial-page .btn-primary { background: linear-gradient(115deg, #b91d40, #dc4662); box-shadow: 0 5px 14px #b91d4020; }
.editorial-page .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px #24365b18; }
.editorial-page .btn-outline, .editorial-page .btn-secondary { border: 1px solid #dfe3ec; background: #fff; color: #47556b; }
.editorial-page .feature-card, .editorial-page .testimonial-card, .editorial-page .about-media, .editorial-page .tabs, .editorial-page .package-card, .editorial-page .hotel-card { border: 1px solid #e4e7ef; border-radius: 18px; box-shadow: 0 5px 20px #24365b05; background: #fff; }
.editorial-page .feature-card, .editorial-page .testimonial-card { padding: 1.5rem; }
.editorial-page .feature-card p, .editorial-page .testimonial-card p { font-size: .875rem; color: #647086; }
.editorial-page .feature-icon { border-radius: 12px; background: linear-gradient(135deg, #fbedf1, #f2efff); color: #a42d49; }
.editorial-page .about-media { padding: 1.75rem; }
.editorial-page .about-highlight { font-size: .75rem; color: #a42d49; background: #fbedf1; border-radius: 8px; }
.editorial-page .about-media li, .editorial-page .about-cards article { border-radius: 12px; background: #f8f9fc; border: 1px solid #e4e7ef; padding: 1rem; }
.editorial-page .about-cards article p { margin: .5rem 0 0; font-size: .875rem; }
.editorial-page .about-cards i, .editorial-page .about-media li i { color: #a42d49; margin-right: .4rem; }
.editorial-page .cta-banner { width: min(1180px, calc(100% - 2rem)); margin: 0 auto 2.75rem; border-radius: 20px; padding: 2rem; background: radial-gradient(ellipse at right top, #703957, transparent 65%), #1d2942; }
.editorial-page .cta-banner .container { width: 100%; }
.editorial-page .cta-banner .eyebrow { color: #efb7c6; }
.editorial-page .cta-banner h2 { font-size: 1.4rem; margin: .5rem 0; letter-spacing: -.03em; }
.editorial-page .cta-banner p { font-size: .875rem; color: #c2cadd; }
.editorial-page .cta-actions .btn { font-size: .8125rem; }
.editorial-page .cta-actions .btn-secondary { background: #ffffff08; border-color: #ffffff25; color: #fff; }
.editorial-page .hero-stats div { border-radius: 12px; padding: .85rem; background: #ffffffb0; border-color: #e4e7ef; }
.editorial-page .hero-stats span { font-size: .75rem; }
.editorial-page .card-flag { padding: .5rem 1rem; font-size: .75rem; background: #fbedf1; color: #a42d49; }
.editorial-page .card-content { padding: 1.25rem; }
.editorial-page .card-content p { font-size: .875rem; }
.editorial-page .tour-card { border-radius: 12px; background: #f8f9fc; padding: 1.25rem; }
.editorial-page .travel-form-section { background: radial-gradient(ellipse at 0 0, #fce9ee, transparent 40%), #f7f8fc; }
.enquiry-page .travel-form-container { max-width: 1180px; }
.enquiry-page .form-page-heading { margin: 0 0 1.75rem; }
.form-page-heading h1 { margin: .3rem 0 .6rem; letter-spacing: -.035em; color: #17233b; }
.enquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 1.5rem; align-items: start; }
.editorial-page .contact-form-wrapper, .editorial-page .contact-info-wrapper { min-width: 0; border-radius: 18px; border: 1px solid #e4e7ef; background: #fff; padding: 1.75rem; box-shadow: 0 12px 36px #24365b06; }
.editorial-page .contact-form-wrapper h2, .editorial-page .contact-info-wrapper h2 { margin-bottom: 1rem; color: #17233b; font-size: 1.2rem; }
.form-card-heading { display: flex; align-items: center; gap: .85rem; padding-bottom: 1.25rem; margin-bottom: 1rem; border-bottom: 1px solid #edf0f5; }
.form-card-heading h2 { margin: 0 0 .25rem !important; font-size: 1.125rem !important; }
.form-card-heading p { margin: 0; color: #748096; font-size: .8125rem; }
.form-heading-icon { width: 42px; height: 42px; display: grid; place-items: center; flex-shrink: 0; border-radius: 12px; background: #fbedf1; color: #a42d49; }
.enquiry-support { border: 1px solid #e4e7ef; border-radius: 18px; padding: 1.5rem; background: linear-gradient(145deg, #fff, #fff4f7); }
.enquiry-support h2 { font-size: 1.3rem; letter-spacing: -.03em; color: #17233b; margin: .4rem 0 .75rem; }
.enquiry-support > p { font-size: .875rem; color: #748096; }
.enquiry-next-steps { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: 1.25rem; }
.enquiry-next-steps li { display: flex; gap: .75rem; font-size: .8125rem; }
.enquiry-next-steps li > span { color: #a42d49; font-weight: 700; }
.enquiry-next-steps strong { color: #334158; }
.enquiry-next-steps p { color: #748096; margin: .3rem 0 0; }
.enquiry-help { padding-top: 1rem; border-top: 1px solid #e9dfe5; font-size: .8125rem; }
.enquiry-help span { display: block; color: #748096; margin-bottom: .4rem; }
.enquiry-help a { display: block; color: #a42d49; text-decoration: none; margin-top: .5rem; overflow-wrap: anywhere; }
.editorial-page .required-fields-note { text-align: left; color: #748096; font-size: .75rem; }
.form-group-heading { margin: .5rem 0 0; padding: .75rem 0 .5rem; border-bottom: 1px solid #edf0f5; }
.form-group-heading h3 { margin: 0; color: #334158; font-size: .875rem; }
.editorial-page .travel-form-grid { gap: .85rem 1rem; }
.editorial-page .travel-form .form-group { margin: 0; min-width: 0; }
.editorial-page .form-group label, .editorial-page .form-group legend { font-size: .8125rem; color: #47556b; }
.editorial-page .travel-form input:not([type="checkbox"]), .editorial-page .travel-form select, .editorial-page .travel-form textarea { background: #fafbfe; border: 1px solid #dfe3ec; border-radius: 9px; color: #27364e; transition: border-color .2s, box-shadow .2s; }
.editorial-page .travel-form input:focus, .editorial-page .travel-form select:focus, .editorial-page .travel-form textarea:focus { background: #fff; border-color: #b5294b; box-shadow: 0 0 0 3px #b5294b12; }
.editorial-page .travel-form input[readonly] { background: #f1f3f8; color: #657187; }
.editorial-page .service-options { gap: .5rem; }
.editorial-page .service-options label { background: #f8f9fc; padding: .65rem .8rem; border: 1px solid #e4e7ef; border-radius: 9px; cursor: pointer; }
.editorial-page .service-options label:has(input:checked) { background: #fbedf1; border-color: #d9a8b7; color: #a42d49; }
.editorial-page input[type="checkbox"] { accent-color: #b5294b; }
.editorial-page .security-code { border-radius: 9px; background: #fbedf1; color: #9b2944; border: 1px dashed #d9a8b7; }
.editorial-page .field-error { font-size: .75rem; }
.editorial-page .field-error:empty { display: none; }
.editorial-page .form-group:has(.field-error:not(:empty)) input, .editorial-page .form-group:has(.field-error:not(:empty)) select, .editorial-page .form-group:has(.field-error:not(:empty)) textarea { border-color: #ba2849; }
.editorial-page .form-errors { border: 1px solid #e8bac6; border-radius: 12px; background: #fff3f6; font-size: .8125rem; }
.form-submit-row { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; padding-top: 1.5rem; margin-top: 1rem; border-top: 1px solid #edf0f5; }
.form-submit-row p { flex: 1; min-width: 160px; color: #748096; font-size: .75rem; margin: 0; }
.contact-page .contact-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
#contact-enquiry { scroll-margin-top: 130px; }
.editorial-page .contact-info-card { padding: 1rem; gap: .8rem; border-radius: 12px; border-color: #edf0f5; }
.editorial-page .contact-info-card h3 { font-size: .875rem; }
.editorial-page .contact-info-card p { font-size: .8125rem; overflow-wrap: anywhere; }
.editorial-page .info-icon { width: 36px; height: 36px; font-size: .9375rem; border-radius: 10px; background: #fbedf1; color: #a42d49; }
.confirmation-icon { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 20px; background: #e8f4ee; color: #287b55; font-size: 1.5rem; }
.thanks-page .section-heading h1 { color: #17233b; margin: .4rem 0; }
.thanks-page .query-details { table-layout: fixed; font-size: .875rem; overflow-wrap: anywhere; }
.thanks-page .query-details th { color: #657187; font-weight: 500; }
@media (max-width: 1000px) { .enquiry-layout { grid-template-columns: minmax(0, 1fr) 260px; } .contact-page .contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .editorial-page .hero-grid, .enquiry-layout { grid-template-columns: 1fr; }
  .editorial-page .hero { padding: 1.75rem 0; }
  .editorial-page .hero-visual img { height: 260px; }
  .editorial-page .section { padding: 2rem 0; }
  .editorial-page .contact-form-wrapper, .editorial-page .contact-info-wrapper { padding: 1.25rem; }
  .editorial-page .cta-banner { padding: 1.5rem; }
  .editorial-page .cta-grid { grid-template-columns: 1fr; }
  .editorial-page .cta-actions .btn { width: 100%; justify-content: center; }
  .editorial-page .travel-form-grid { grid-template-columns: 1fr; }
  .editorial-page .form-submit-row button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .editorial-page * { transition: none !important; } .editorial-page .btn:hover { transform: none; } }

.frontend-site .card-meta a.price-request-button { display: inline-flex; justify-content: center; align-items: center; min-height: 34px; padding: .4rem .75rem; border: 1px solid #b91d40; border-radius: 8px; background: linear-gradient(115deg, #b91d40, #cf3052); color: #fff; font-size: .8125rem; font-weight: 700; line-height: 1.4; white-space: nowrap; text-decoration: none; box-shadow: 0 5px 14px #b91d4030; }
.frontend-site .card-meta a.price-request-button:hover { background: #9f1736; border-color: #9f1736; color: #fff; box-shadow: 0 7px 18px #b91d4040; }
.frontend-site .card-meta a.price-request-button:focus-visible { outline: 3px solid #b91d4080; outline-offset: 3px; }

.editorial-page.legal-page .hero-visual img { height: 250px; object-fit: cover; }

@media (min-width: 721px) {
  .editorial-page.legal-page .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 1.5rem; }
  .editorial-page.legal-page .hero-copy { min-width: 0; overflow-wrap: break-word; }
  .editorial-page.legal-page .hero-visual { min-width: 0; width: 100%; }
  .editorial-page.legal-page .hero-visual img { width: 100%; }
}

.home-category-controls { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 1.5rem; }
.home-category-tab { padding: .45rem .8rem; border: 1px solid #dce2ec; border-radius: 999px; background: #fff; color: #475569; font: inherit; font-size: .8rem; cursor: pointer; }
.home-category-tab[aria-selected="true"] { background: #b91d40; color: #fff; border-color: #b91d40; }
.home-category-tab:focus-visible { outline: 3px solid #b91d4080; outline-offset: 3px; }
.home-tour-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.editorial-page .home-tour-card { padding: 0; overflow: hidden; background: #fff; border: 1px solid #e4e7ef; }
.home-card-image { display: block; width: 100%; height: 210px; object-fit: cover; }
.home-card-placeholder { display: grid; place-items: center; height: 210px; background: #edf0f5; color: #8893a5; font-size: 2rem; }
.home-tour-copy { padding: 1.25rem; }
.home-tour-copy h3 a { color: inherit; text-decoration: none; }
.home-page .hotel-card .card-meta { margin-top: 1rem; }
.home-page .card-meta { flex-wrap: wrap; gap: .75rem; }
@media (max-width: 1100px) { .home-tour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .home-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .home-tour-grid { grid-template-columns: 1fr; } }
