/*
 * Sky Worth Holidays - Final Typography System v3
 * Font: Inter
 *
 * IMPORTANT:
 * - No colors changed
 * - No backgrounds changed
 * - No borders changed
 * - No spacing/layout changed
 * - Only font family, font size, weight, line-height, letter-spacing and icon dimensions
 *
 * Minimum visible UI text: 14px
 */

:root{
  --swh-font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

/* =========================================================
   GLOBAL
========================================================= */
html,
body,
button,
input,
textarea,
select,
option,
optgroup{
  font-family:var(--swh-font)!important;
}

body{
  font-size:16px!important;
  line-height:1.65!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--swh-font)!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
}

p,
li{
  line-height:1.65!important;
}

/* =========================================================
   HEADER / NAVIGATION
========================================================= */
.topbar{
  font-size:14px!important;
  font-weight:500!important;
}

.site-brand{
  font-family:var(--swh-font)!important;
  font-weight:800!important;
}

.site-nav a{
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.2!important;
}

.header-actions .btn{
  font-size:14px!important;
  font-weight:700!important;
}

.breadcrumbs ol{
  font-size:14px!important;
  line-height:1.4!important;
}

.mobile-icon-btn svg{
  width:19px!important;
  height:19px!important;
}

.menu-toggle svg{
  width:20px!important;
  height:20px!important;
}

/* =========================================================
   SHARED SECTION TYPOGRAPHY
========================================================= */
.eyebrow,
.swhp-kicker{
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  line-height:1.3!important;
}

.section-title,
.swhp-heading h2{
  font-size:clamp(32px,3vw,42px)!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:-.03em!important;
}

.section-subtitle,
.swhp-heading p{
  font-size:16px!important;
  line-height:1.65!important;
}

.text-link{
  font-size:14px!important;
  font-weight:600!important;
}

.btn,
.swhp-btn{
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
}

/* =========================================================
   HERO
========================================================= */
.swh6-badge{
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
}

.swh6-hero h1{
  font-size:clamp(44px,4.6vw,60px)!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
}

.swh6-content>p{
  font-size:17px!important;
  line-height:1.7!important;
}

.swh6-search input{
  font-size:15px!important;
  font-weight:400!important;
}

.swh6-search button{
  font-size:14px!important;
  font-weight:700!important;
}

.swh6-search-icon svg{
  width:20px!important;
  height:20px!important;
}

.swh6-tags,
.swh6-tags a{
  font-size:14px!important;
  line-height:1.3!important;
}

.swh6-btn-primary,
.swh6-btn-secondary{
  font-size:14px!important;
  font-weight:700!important;
}

.swh6-arrow{
  font-size:22px!important;
}

/* Hero trust */
.swh6-trust-card strong,
.trust-item strong{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.3!important;
}

.swh6-trust-card>div>span,
.trust-item>div>span{
  font-size:14px!important;
  line-height:1.45!important;
}

.swh6-trust-icon,
.trust-icon{
  width:44px!important;
  height:44px!important;
  flex-basis:44px!important;
}

.swh6-trust-icon svg,
.trust-icon svg{
  width:21px!important;
  height:21px!important;
}

/* =========================================================
   HOME ABOUT / FEATURES
========================================================= */
.about-bullet span{
  font-size:16px!important;
}

.feature-card b{
  font-size:16px!important;
  font-weight:700!important;
}

.feature-card p{
  font-size:14px!important;
  line-height:1.6!important;
}

.feature-card .icon{
  font-size:19px!important;
}

/* =========================================================
   PACKAGE CARDS
========================================================= */
.package-badge{
  font-size:14px!important;
  font-weight:600!important;
}

.package-meta{
  font-size:14px!important;
  line-height:1.45!important;
}

.package-card h3,
.package-card h2{
  font-size:21px!important;
  line-height:1.3!important;
  font-weight:700!important;
  letter-spacing:-.02em!important;
}

.package-card p{
  font-size:15px!important;
  line-height:1.6!important;
}

.price small,
.package-bottom .price small{
  font-size:14px!important;
  line-height:1.3!important;
}

.price strong,
.package-bottom .price strong{
  font-size:21px!important;
  line-height:1.15!important;
  font-weight:700!important;
}

.package-bottom .btn{
  font-size:14px!important;
  font-weight:700!important;
}

/* =========================================================
   DESTINATION CARDS / STATS / PROCESS
========================================================= */
.destination-info h3{
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:700!important;
}

.destination-info p{
  font-size:14px!important;
}

.stat strong{
  font-size:28px!important;
  line-height:1.15!important;
  font-weight:700!important;
}

.stat span{
  font-size:14px!important;
  line-height:1.4!important;
}

.step-no{
  font-size:34px!important;
  font-weight:700!important;
}

.step h3{
  font-size:20px!important;
  font-weight:700!important;
}

.step p{
  font-size:15px!important;
  line-height:1.6!important;
}

/* =========================================================
   BLOG CARDS
========================================================= */
.blog-date{
  font-size:14px!important;
}

.blog-card h3,
.blog-card h2{
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

.blog-card p{
  font-size:15px!important;
  line-height:1.6!important;
}

/* =========================================================
   CTA
========================================================= */
.cta h2,
.swhp-cta h2{
  font-size:clamp(29px,2.7vw,38px)!important;
  line-height:1.2!important;
  font-weight:700!important;
}

.cta p,
.swhp-cta p{
  font-size:16px!important;
  line-height:1.65!important;
}

/* =========================================================
   PAGE HERO / ARCHIVE
========================================================= */
.page-hero .section-title{
  font-size:clamp(36px,3.5vw,46px)!important;
  line-height:1.1!important;
  font-weight:700!important;
}

.archive-tools input,
.archive-tools select,
.archive-tools button{
  font-size:14px!important;
}

.page-numbers{
  font-size:14px!important;
}

/* =========================================================
   TOUR PACKAGE DETAIL
========================================================= */
.package-hero h1{
  font-size:clamp(38px,3.8vw,50px)!important;
  line-height:1.08!important;
  font-weight:700!important;
}

.package-hero .lead{
  font-size:16px!important;
  line-height:1.7!important;
}

.price-box small{
  font-size:14px!important;
}

.price-box strong{
  font-size:30px!important;
  font-weight:700!important;
}

.tabs-nav a{
  font-size:14px!important;
  font-weight:600!important;
}

.content-box h2,
.guide-section h2{
  font-size:27px!important;
  line-height:1.25!important;
  font-weight:700!important;
}

.content-box h3,
.guide-section h3{
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:700!important;
}

.content-box p,
.content-box li,
.guide-section p{
  font-size:16px!important;
  line-height:1.7!important;
}

.basic-item span,
.destination-basic-info .row span{
  font-size:14px!important;
  font-weight:600!important;
}

.basic-item strong,
.destination-basic-info .row strong{
  font-size:15px!important;
  line-height:1.45!important;
  font-weight:600!important;
}

.itinerary summary,
.faq summary{
  font-size:15px!important;
  font-weight:600!important;
}

.day-body,
.faq p{
  font-size:15px!important;
  line-height:1.65!important;
}

/* =========================================================
   INQUIRY / FORMS
========================================================= */
.inquiry-card h2{
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:700!important;
}

.inquiry-card>p{
  font-size:15px!important;
  line-height:1.65!important;
}

.form-grid label{
  font-size:14px!important;
  font-weight:600!important;
}

.form-grid input,
.form-grid textarea,
.form-grid select{
  font-size:15px!important;
  line-height:1.5!important;
}

.form-note{
  font-size:14px!important;
}

/* =========================================================
   DESTINATION DETAIL
========================================================= */
.destination-detail-hero h1,
.destination-hero h1{
  font-size:clamp(40px,4.2vw,55px)!important;
  line-height:1.08!important;
  font-weight:700!important;
}

.destination-detail-hero p,
.destination-hero p{
  font-size:16px!important;
  line-height:1.7!important;
}

.destination-hero-meta span{
  font-size:14px!important;
}

.destination-quote{
  font-size:16px!important;
}

.good-item span:not(.good-icon){
  font-size:14px!important;
  font-weight:600!important;
}

.good-item strong{
  font-size:15px!important;
  line-height:1.4!important;
  font-weight:600!important;
}

.good-icon{
  width:34px!important;
  height:34px!important;
}

.good-icon svg{
  width:18px!important;
  height:18px!important;
}

.destination-list-card h3{
  font-size:19px!important;
  font-weight:700!important;
}

.destination-list-card li{
  font-size:15px!important;
}

.destination-popular-list strong{
  font-size:15px!important;
}

.destination-popular-list small{
  font-size:14px!important;
}

/* =========================================================
   ABOUT / CONTACT / TRAVEL GUIDES
========================================================= */
.swhp-hero h1{
  font-size:clamp(40px,4vw,54px)!important;
  line-height:1.08!important;
  font-weight:700!important;
}

.swhp-hero p{
  font-size:16px!important;
  line-height:1.7!important;
}

.swhp-about-copy h2,
.swhp-story-grid h2,
.swhp-contact-info>h2{
  font-size:clamp(31px,3vw,40px)!important;
  line-height:1.15!important;
  font-weight:700!important;
}

.swhp-richtext{
  font-size:16px!important;
  line-height:1.75!important;
}

.swhp-checks p{
  font-size:15px!important;
}

.swhp-feature-card h3{
  font-size:18px!important;
  font-weight:700!important;
}

.swhp-feature-card p{
  font-size:15px!important;
  line-height:1.6!important;
}

.swhp-stats-grid strong{
  font-size:30px!important;
  font-weight:700!important;
}

.swhp-stats-grid span{
  font-size:14px!important;
}

.swhp-contact-card small{
  font-size:14px!important;
}

.swhp-contact-card strong{
  font-size:15px!important;
  font-weight:600!important;
}

.swhp-contact-note p{
  font-size:15px!important;
}

.swhp-contact-form-card h2{
  font-size:26px!important;
  font-weight:700!important;
}

.swhp-contact-form-card>p{
  font-size:15px!important;
}

.swhp-link-grid strong{
  font-size:18px!important;
  font-weight:700!important;
}

.swhp-link-grid span{
  font-size:14px!important;
}

/* Travel Guides listing */
.swhp-guide-search input,
.swhp-guide-search button{
  font-size:15px!important;
}

.swhp-category-chips,
.swhp-category-chips a,
.swhp-guide-meta{
  font-size:14px!important;
}

.swhp-guide-body h2{
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:700!important;
}

.swhp-guide-body p{
  font-size:15px!important;
  line-height:1.65!important;
}

.swhp-read{
  font-size:14px!important;
  font-weight:600!important;
}

/* Travel Guide detail */
.swhp-article-tax,
.swhp-article-byline,
.swhp-article-tags{
  font-size:14px!important;
}

.swhp-article-header h1{
  font-size:clamp(38px,4vw,52px)!important;
  line-height:1.1!important;
  font-weight:700!important;
}

.swhp-article-header p{
  font-size:16px!important;
  line-height:1.7!important;
}

.swhp-article-content{
  font-size:16px!important;
  line-height:1.8!important;
}

.swhp-article-content h2{
  font-size:28px!important;
  font-weight:700!important;
}

.swhp-article-content h3{
  font-size:22px!important;
  font-weight:700!important;
}

.swhp-post-nav a{
  font-size:14px!important;
}

.swhp-side-card h3{
  font-size:19px!important;
  font-weight:700!important;
}

.swhp-side-card p{
  font-size:15px!important;
}

.swhp-recent-guides strong{
  font-size:14px!important;
}

.swhp-recent-guides small{
  font-size:14px!important;
}

/* =========================================================
   FOOTER
========================================================= */
.site-footer h3{
  font-size:22px!important;
  font-weight:700!important;
}

.site-footer h4{
  font-size:16px!important;
  font-weight:700!important;
}

.site-footer p,
.site-footer a{
  font-size:14px!important;
  line-height:1.65!important;
}

.footer-bottom{
  font-size:14px!important;
}

.float-actions svg{
  width:21px!important;
  height:21px!important;
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:900px){
  body{
    font-size:16px!important;
  }

  .site-nav a{
    font-size:15px!important;
  }

  .section-title,
  .swhp-heading h2{
    font-size:clamp(30px,5vw,39px)!important;
  }

  .swh6-hero h1{
    font-size:clamp(40px,6vw,50px)!important;
  }

  .package-hero h1{
    font-size:clamp(35px,5vw,44px)!important;
  }

  .destination-detail-hero h1,
  .destination-hero h1,
  .swhp-hero h1{
    font-size:clamp(36px,6vw,47px)!important;
  }
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:650px){
  body{
    font-size:16px!important;
  }

  .site-nav a{
    font-size:15px!important;
  }

  .breadcrumbs ol{
    font-size:14px!important;
  }

  .eyebrow,
  .swhp-kicker{
    font-size:14px!important;
  }

  .section-title,
  .swhp-heading h2{
    font-size:clamp(29px,8vw,36px)!important;
  }

  .section-subtitle,
  .swhp-heading p{
    font-size:15px!important;
  }

  .swh6-badge{
    font-size:14px!important;
  }

  .swh6-hero h1{
    font-size:clamp(35px,9vw,42px)!important;
  }

  .swh6-content>p{
    font-size:15px!important;
  }

  .swh6-search input{
    font-size:14px!important;
  }

  .swh6-search button{
    font-size:14px!important;
  }

  .swh6-tags,
  .swh6-tags a{
    font-size:14px!important;
  }

  .swh6-btn-primary,
  .swh6-btn-secondary{
    font-size:14px!important;
  }

  .swh6-trust-card strong,
  .trust-item strong{
    font-size:14px!important;
  }

  .swh6-trust-card>div>span,
  .trust-item>div>span{
    font-size:14px!important;
  }

  .package-card h3,
  .package-card h2{
    font-size:19px!important;
  }

  .package-card p{
    font-size:15px!important;
  }

  .package-bottom .btn{
    font-size:14px!important;
  }

  .page-hero .section-title{
    font-size:clamp(31px,8vw,39px)!important;
  }

  .package-hero h1{
    font-size:clamp(32px,8vw,40px)!important;
  }

  .package-hero .lead{
    font-size:15px!important;
  }

  .content-box h2,
  .guide-section h2{
    font-size:23px!important;
  }

  .content-box h3,
  .guide-section h3{
    font-size:19px!important;
  }

  .content-box p,
  .content-box li,
  .guide-section p{
    font-size:15px!important;
  }

  .destination-detail-hero h1,
  .destination-hero h1,
  .swhp-hero h1{
    font-size:clamp(33px,9vw,40px)!important;
  }

  .destination-detail-hero p,
  .destination-hero p,
  .swhp-hero p{
    font-size:15px!important;
  }

  .swhp-richtext,
  .swhp-article-content{
    font-size:15px!important;
  }

  .site-footer p,
  .site-footer a,
  .footer-bottom{
    font-size:14px!important;
  }

  .mobile-icon-btn svg{
    width:17px!important;
    height:17px!important;
  }

  .menu-toggle svg{
    width:18px!important;
    height:18px!important;
  }

  .float-actions svg{
    width:20px!important;
    height:20px!important;
  }
}
