/* packages — ported from tch-website-181/pages/packages.hbs,
   scoped under .tch-page so it cannot reach the shared header, footer,
   booking widgets or commerce surfaces. */
.tch-page .custom-services-hero{
      background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%);
      padding: var(--space-64) var(--space-16) !important;
      text-align: center !important;
      color: var(--white) !important;
    }.tch-page .custom-services-hero h1{
      font-family: var(--font-heading) !important;
      font-size: 48px !important;
      font-weight: 400 !important;
      line-height: 52px !important;
      margin-bottom: var(--space-24) !important;
      text-transform: uppercase !important;
      letter-spacing: 2px !important;
    }.tch-page .custom-services-hero .custom-underline{
      width: 32px !important;
      height: 4px !important;
      background-color: var(--accent) !important;
      margin: var(--space-8) auto var(--space-24) auto !important;
    }.tch-page .custom-services-hero p{
      font-family: var(--font-body) !important;
      font-size: 18px !important;
      line-height: 28px !important;
      max-width: 800px !important;
      margin: 0 auto !important;
      opacity: 0.95 !important;
    }.tch-page .custom-packages-section{
      padding: var(--space-64) var(--space-16) !important;
      background: var(--white) !important;
    }.tch-page .custom-packages-grid{
      display: flex !important;
      flex-wrap: wrap !important;
      gap: var(--space-24) !important;
      justify-content: center !important;
      max-width: 1400px !important;
      margin: 0 auto !important;
    }.tch-page .custom-package-card{
      flex: 0 1 calc(25% - 18px) !important;
      min-width: 280px !important;
      max-width: 320px !important;
      height: auto !important;
      min-height: 600px !important;
      background: var(--white) !important;
      border: 1px solid var(--gray-light) !important;
      border-radius: var(--radius-medium) !important;
      box-shadow: var(--shadow-md) !important;
      transition: all var(--transition-fast) !important;
      overflow: hidden !important;
      position: relative !important;
      display: flex !important;
      flex-direction: column !important;
    }.tch-page .custom-package-card:hover{
      box-shadow: var(--shadow-lg) !important;
      transform: translateY(-2px) !important;
    }.tch-page .custom-package-card.custom-featured{
      border: 2px solid var(--brand-primary) !important;
      transform: scale(1.05) !important;
    }.tch-page .custom-package-card.custom-featured::before{
      content: "MOST POPULAR" !important;
      position: absolute !important;
      top: 0 !important;
      right: 0 !important;
      background: var(--brand-primary) !important;
      color: var(--white) !important;
      padding: var(--space-8) var(--space-16) !important;
      font-family: var(--font-heading) !important;
      font-size: 12px !important;
      letter-spacing: 1px !important;
      z-index: 2 !important;
    }.tch-page .custom-package-image-container{
      position: relative !important;
      width: 100% !important;
      height: 200px !important;
      min-height: 200px !important;
      overflow: hidden !important;
      border-bottom: 1px solid var(--gray-light) !important;
    }.tch-page .custom-package-image{
      width: 100% !important;
      height: 100% !important;
      min-height: 200px !important;
      object-fit: cover !important;
      transition: all var(--transition-fast) !important;
      display: block !important;
    }.tch-page .custom-package-video{
      cursor: pointer !important;
      opacity: 1 !important;
    }.tch-page .custom-package-card:hover .custom-package-video{
      opacity: 1 !important;
    }.tch-page .custom-package-icon-container{
      width: 100% !important;
      height: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-dark) 100%) !important;
    }.tch-page .custom-package-icon-container i{
      font-size: 80px !important;
      color: var(--white) !important;
    }.tch-page .custom-package-content{
      padding: var(--space-24) !important;
      flex: 1 !important;
      display: flex !important;
      flex-direction: column !important;
      min-height: 0 !important;
    }.tch-page .custom-package-tier{
      font-family: var(--font-heading) !important;
      font-size: 14px !important;
      color: var(--brand-primary) !important;
      text-transform: uppercase !important;
      letter-spacing: 1px !important;
      margin-bottom: var(--space-8) !important;
    }.tch-page .custom-package-title{
      font-family: var(--font-heading) !important;
      font-size: 28px !important;
      font-weight: 400 !important;
      color: var(--gray-dark) !important;
      margin-bottom: var(--space-16) !important;
      text-transform: uppercase !important;
      letter-spacing: 1px !important;
    }.tch-page .custom-package-price{
      font-family: var(--font-heading) !important;
      font-size: 36px !important;
      color: var(--brand-primary) !important;
      margin-bottom: var(--space-8) !important;
    }.tch-page .custom-package-price span{
      font-family: var(--font-body) !important;
      font-size: 14px !important;
      color: var(--neutral) !important;
    }.tch-page .custom-package-description{
      font-family: var(--font-body) !important;
      font-size: 14px !important;
      color: var(--neutral) !important;
      line-height: 20px !important;
      margin-bottom: var(--space-24) !important;
      flex-shrink: 0 !important;
    }.tch-page .custom-features-list{
      list-style: none !important;
      padding: 0 !important;
      margin: 0 0 var(--space-24) 0 !important;
      flex: 1 !important;
      min-height: 0 !important;
    }.tch-page .custom-features-list li{
      font-family: var(--font-body) !important;
      font-size: 14px !important;
      color: var(--gray-dark) !important;
      padding: var(--space-8) 0 !important;
      display: flex !important;
      align-items: center !important;
    }.tch-page .custom-features-list li i{
      color: var(--success) !important;
      margin-right: var(--space-8) !important;
      width: 16px !important;
    }.tch-page .custom-features-list li.custom-not-included{
      color: var(--neutral) !important;
      opacity: 0.6 !important;
    }.tch-page .custom-features-list li.custom-not-included i{
      color: var(--gray-medium) !important;
    }.tch-page .custom-package-button{
      width: 100% !important;
      background: var(--brand-primary) !important;
      color: var(--white) !important;
      border: none !important;
      padding: 12px 24px !important;
      border-radius: var(--radius-medium) !important;
      font-family: var(--font-heading) !important;
      font-size: 16px !important;
      text-transform: uppercase !important;
      letter-spacing: 1px !important;
      cursor: pointer !important;
      transition: all var(--transition-fast) !important;
      text-decoration: none !important;
      display: block !important;
      text-align: center !important;
    }.tch-page .custom-package-button:hover{
      background: var(--brand-dark) !important;
      transform: translateY(-1px) !important;
      color: var(--white) !important;
      text-decoration: none !important;
    }.tch-page .custom-package-button.custom-secondary{
      background: var(--accent) !important;
    }.tch-page .custom-package-button.custom-secondary:hover{
      background: #1db8a8 !important;
    }.tch-page .custom-cta-section{
      background: var(--gray-dark) !important;
      padding: var(--space-64) var(--space-16) !important;
      text-align: center !important;
      color: var(--white) !important;
    }.tch-page .custom-cta-section h2{
      font-family: var(--font-heading) !important;
      font-size: 36px !important;
      font-weight: 400 !important;
      margin-bottom: var(--space-24) !important;
      text-transform: uppercase !important;
      letter-spacing: 2px !important;
    }.tch-page .custom-cta-section p{
      font-family: var(--font-body) !important;
      font-size: 18px !important;
      line-height: 28px !important;
      max-width: 600px !important;
      margin: 0 auto var(--space-32) auto !important;
      opacity: 0.9 !important;
    }.tch-page .custom-cta-button{
      background: var(--brand-primary) !important;
      color: var(--white) !important;
      border: none !important;
      padding: 16px 32px !important;
      border-radius: var(--radius-medium) !important;
      font-family: var(--font-heading) !important;
      font-size: 18px !important;
      text-transform: uppercase !important;
      letter-spacing: 1px !important;
      cursor: pointer !important;
      transition: all var(--transition-fast) !important;
      text-decoration: none !important;
      display: inline-block !important;
    }.tch-page .custom-cta-button:hover{
      background: var(--brand-dark) !important;
      transform: translateY(-2px) !important;
      color: var(--white) !important;
      text-decoration: none !important;
    }@media (max-width: 991px){.tch-page .custom-package-card{
        flex: 0 1 calc(50% - 12px) !important;
        height: auto !important;
        min-height: 550px !important;
      }.tch-page .custom-services-hero h1{
        font-size: 36px !important;
        line-height: 40px !important;
      }.tch-page .custom-package-card.custom-featured{
        transform: none !important;
      }.tch-page .custom-package-image-container{
        height: 180px !important;
        min-height: 180px !important;
      }.tch-page .custom-package-image{
        min-height: 180px !important;
      }}@media (max-width: 767px){.tch-page .custom-package-card{
        flex: 0 1 100% !important;
        height: auto !important;
        min-height: 500px !important;
      }.tch-page .custom-services-hero h1{
        font-size: 32px !important;
        line-height: 36px !important;
      }.tch-page .custom-services-hero, .tch-page .custom-packages-section, .tch-page .custom-cta-section{
        padding: var(--space-48) var(--space-16) !important;
      }.tch-page .custom-package-image-container{
        height: 160px !important;
        min-height: 160px !important;
      }.tch-page .custom-package-image{
        min-height: 160px !important;
      }.tch-page .custom-package-content{
        padding: var(--space-16) !important;
      }}
