/**
 * GHA Loyalty Program Styles
 */

/* Loyalty Hero */
.gha-page-banner {
    position: relative;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;    
    background-size: cover;
    background-position: center;
}

.gha-page-banner .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.gha-page-banner-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  padding: 0 20px;
}

.gha-page-banner h1 {
  font-size: 3.25rem;
  margin-bottom: 1rem;
}

.gha-page-banner p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

/* Loyalty Navigation */
.loyalty-navigation {
  /*background-color: #004742;*/
  color: #004742;
  padding: 0;
  text-align: center;
}

.loyalty-navigation .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.loyalty-navigation ul {
  justify-content: center;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-padding-left: 20px;
}

.loyalty-navigation li {
  flex: 0 0 auto;
}

.loyalty-navigation li:first-child {
  /* Ensure first item has proper spacing */
  margin-left: 0;
}

.loyalty-navigation a {
  display: block;
  padding: 1rem 1.5rem;
  color: #004742;
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.3s;
}

.loyalty-navigation a:hover {
  
  background-color: rgba(255, 255, 255, 0.1);
}

.loyalty-navigation a.active {
  color: #004742;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.15);
  border-bottom: 3px solid #004742;;
}

/* Mobile specific fixes */
@media screen and (max-width: 640px) {
  .loyalty-navigation .container {
    padding: 0 10px; /* Reduce padding on mobile */
  }
  
  .loyalty-navigation ul {
    justify-content: flex-start; /* Align to start on mobile */
  }
  
  .loyalty-navigation a {
    padding: 1rem 1rem; /* Slightly reduce padding on mobile */
  }
}

/* Loyalty Introduction */
.loyalty-intro {
  padding: 4rem 0;
  background-color: #f8f9fa;
  text-align: center;
}

.loyalty-intro h2 {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  color: #004742;
}

.section-description {
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Key Benefits */
.gha-page-section {
  padding: 5rem 0;
}

.gha-page-section-content { 
    display: flex;
    align-items: center;
    gap: 4rem;
}

.gha-page-section-content.reverse {
    flex-direction: row-reverse;
}

@media (max-width: 768px) {
   .gha-page-banner h1 {
        font-size: 2.5rem;
    }
    
    .gha-page-banner p {
        font-size: 1rem;
    }
    
    .gha-page-section-content,
    .gha-page-section-content.reverse {
        flex-direction: column;
        gap: 2rem;
    }
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.benefit-card {
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  padding: 2rem;
  text-align: center;
  transition: transform 0.3s;
}

.benefit-card:hover {
  transform: translateY(-5px);
}

.benefit-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1.5rem;
}

.benefit-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.benefit-title {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #004742;
}

.benefit-description {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #666;
}

/* Tiers Overview */
.tiers-overview {
  padding: 5rem 0;
  background-color: #f8f9fa;
}

.tiers-container {
  margin-top: 3rem;
}


.tier-panels {
  position: relative;
}

.tier-panel {
  display: none;
}

.tier-panel.is-active {
  display: block;
}

/* Tier Content */
.tier-content {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.tier-info {
  flex: 1;
  min-width: 250px;
}

.tier-card {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-bottom: 2rem;
}

.tier-card-header {
  padding: 2rem;
  color: white;
  background: linear-gradient(135deg, #004742 0%, #006b5d 100%);
}

.tier-card-header.silver {
  background: linear-gradient(135deg, #b7c8d5 0%, #d9e2e9 100%);
  color: #333;
}

.tier-card-header.gold {
  background: linear-gradient(135deg, #da9f59 0%, #f5d78e 100%);
  color: #333;
}

.tier-card-header.platinum {
  background: linear-gradient(135deg, #757c83 0%, #acb2b8 100%);
}

.tier-card-header.titanium {
  background: linear-gradient(135deg, #141432 0%, #323264 100%);
}

.tier-name {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.tier-qualification {
  opacity: 0.8;
  font-size: 0.95rem;
}

.tier-card-body {
  padding: 2rem;
  background-color: white;
}

.tier-benefits {
  flex: 2;
  min-width: 300px;
}

.benefits-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
}

.benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.benefit-icon-small {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.benefit-icon-small img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.benefit-content h4 {
  font-weight: 600;
  margin: 0 0 0.25rem;
  color: #004742;
}

.benefit-content p {
  margin: 0;
  color: #666;
  font-size: 0.9rem;
}

/* Join CTA */
.loyalty-cta {
  padding: 5rem 0;
  background-color: #004742;
  color: white;
  text-align: center;
}

.cta-content {
  max-width: 700px;
  margin: 0 auto;
}

.cta-content h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.cta-content p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
}

.btn-white {
  display: inline-block;
  background-color: white;
  color: #004742;
  padding: 12px 30px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s;
}

.btn-white:hover {
  background-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
}

/* Responsive styles */
@media (max-width: 768px) {
  
  .loyalty-intro h2,
  .tiers-overview h2,
  .cta-content h2 {
    font-size: 2rem;
  }
  
  
  .tier-content {
    flex-direction: column;
  }
  
  .benefits-list {
    grid-template-columns: 1fr;
  }
}


.card-offer .card-image {
    position: relative;
    background: #f2f4f3;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.card-offer .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display:block;
    transition: transform .5s ease;
}

.card-offer .card-image a:hover img {
    transform: scale(1.05);
}

.offer-image-fallback {
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.8rem;
    color:#777;
    background: repeating-linear-gradient(45deg,#e9eceb,#e9eceb 8px,#f5f6f5 8px,#f5f6f5 16px);
    width:100%;
    height:100%;
}

.card-offer .card-title {
    margin-top: 10px;
    margin-bottom: 6px;
}

.card-offer .card-title a {
    text-decoration:none;
    color:#222;
    font-weight:600;
}

.card-offer .card-title a:hover {
    color:#004742;
}

.card-offer ul.card-actions {
    display: flex;
    gap: 14px;
    padding: 0;
    margin-top: 8px;
}

.card-offer ul.card-actions li a {
    font-size: 0.8rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .07em;
}

        /* Blend Offer Cards with Suite Cards */
.collection-rooms.offers-collection {
    margin-top: 10px;
}

/* Distinguish categories subtly (reuse palette) */
.offer-category-line {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
    color: #004742;
    margin: 10px 0 4px;
}

.offer-location-line {
    font-size: 0.85rem;
    font-weight: 500;
    color: #666;
    margin: 0 0 4px;
}

.offer-time-line {
    font-size: 0.75rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #888;
    margin: 0 0 8px;
}

.offer-short-desc {
    font-size: 0.85rem;
    line-height: 1.4;
    color: #444;
    margin: 0 0 14px;
    min-height: 3.1em;
}


/* THREE PILLARS (Desktop vertical dividers, mobile stack) */
.lp-discovery-pillars {
    
    padding: 40px 20px 30px;
}
@media (min-width: 960px) {
    .lp-discovery-pillars {
        padding: 60px 20px 50px;
    }
}
.lp-discovery-pillars__container {
    max-width:1180px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:40px;
}
@media (min-width: 860px) {
    .lp-discovery-pillars__container {
        flex-direction:row;
        gap:70px;
        justify-content:space-between;
        align-items:stretch;
        position:relative;
    }
}
.lp-discovery-pillars__item {
    flex:1 1 0;
    position:relative;
    padding:0;
    text-align: center;
    
}
@media (min-width: 860px) {
    .lp-discovery-pillars__item {
        padding:0 20px;
    }
  
}
@media (max-width: 859.98px) {
    .lp-discovery-pillars__item:not(:last-child) {
        border-bottom:1px solid #e2e5e4;
        padding-bottom:34px;
    }
}
.lp-discovery-pillars__heading {
    font-size:1.15rem;
    line-height:1.3;
    margin:0 0 14px;
    text-align: center;
    font-weight:600;
    color: #004742;
    letter-spacing:0.3px;
}
@media (min-width: 860px) {
    .lp-discovery-pillars__heading {
        font-size:1.25rem;
    }
}
.lp-discovery-pillars__text {
    margin:0;
    font-size:0.95rem;
    line-height:1.55;
    color: #004742;
    max-width: 340px;
    text-align: center;
}
@media (max-width: 859.98px) {
    .lp-discovery-pillars__text {
        max-width: 100%;
    }
}
/* BENEFITS TWO-COL LAYOUT */
.benefits-overview--two-col {
    background:#fff;
    padding: clamp(50px,7vw,90px) 20px;
}
.benefits-overview--two-col .benefits-overview__inner {
    max-width: 1220px;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:50px;
}
@media (min-width: 960px) {
    .benefits-overview--two-col .benefits-overview__inner {
        flex-direction:row;
        align-items:stretch;
        gap:70px;
    }
}
.benefits-overview__col {
    position:relative;
}
.benefits-overview__col--left {
    flex:1 1 50%;
    display:flex;
    flex-direction:column;
    gap:28px;
}
.benefits-overview__col--right {
    content:none !important;

}
.benefits-overview__media {
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    background:none !important;
    border:0;
    display:inline-block;        /* shrink-wrap the image height */
    line-height:0;               /* avoid stray descender space */
}
@media (min-width: 1100px) {
    .benefits-overview__media {
        aspect-ratio: 5 / 4;
    }
}
.benefits-overview__media img {
    width:100%;
    height:110px;
    object-fit:contain; /* ensure no distortion */
}
.benefits-overview__media:hover img {
    transform:scale(1.035);
}
.benefits-overview--two-col .benefits-overview__col--left {
    display:flex;
    flex-direction:column;
    gap:0 !important;            /* remove spacing between image + headings */
}
.benefits-overview__headings {
    max-width: 640px;
}
.benefits-overview__title-line {
    margin:0 0 6px;
    font-size: clamp(25px,4.3vw,50px);
    line-height:1.08;
    font-weight:600;
    letter-spacing:.5px;
    color:#0f2e2a;
}
.benefits-overview__title-line--accent {
    color:#1d5c55;
}

.benefits-overview__textwrap {
    max-width: 620px;
    font-size:16px;
    line-height:1.6;
}
.benefits-overview__textwrap .section-description {
    margin:0 0 22px;
    color:#2d3131;
    text-align: left;
}


/* Optional subtle divider on large screens */
@media (min-width: 960px) {
    .benefits-overview__col--right {
        position:relative;
        padding-top:6px;
    }
   
}

/* Mobile stacking adjustments */
@media (max-width: 959.98px) {
    .benefits-overview__textwrap {
        max-width: 100%;
    }
    .benefits-overview__title-line {
        font-size: clamp(32px,8vw,44px);
    }
}
/* Left-align + indent + smaller sizes just for the DISCOVERY heading pair */
.benefits-overview--two-col .benefits-overview__headings {
    padding-left:14px;           /* indentation */
    margin:4px 0 0 0 !important; /* keep it tight to the logo */
    text-align:left;
}

/* First line: "Lanson Place DISCOVERY:" */
.benefits-overview--two-col .benefits-overview__title-line {
    font-size:clamp(1.35rem, 2.1vw, 1.9rem); /* smaller than previous ~2.5rem */
    line-height:1.15;
    font-weight:600;    
    margin:0 !important;
       color:#004742;
       text-align:left;
}

/* Second line: "Find Your Place in the World." */
.benefits-overview--two-col .benefits-overview__title-line--accent {
    font-size:clamp(1.35rem, 2.1vw, 1.9rem); /* smaller than previous ~2.5rem */
    line-height:1.15;
    font-weight:600;
    margin:0 !important;
       color:#004742;
       text-align:left;
}

/* Optional: remove the global center alignment for h2 inside the two-col block only */
.benefits-overview--two-col h2 {
    text-align:left;
}



/* Loyalty Page */

body.page-template-page-no-title .overlay {
	background-color: rgba(0, 0, 0, 0.2) !important;
}

body.page-template-page-no-title  .tiers-progression .container {
	max-width: 1000px;
	margin: 0 auto;
}

body.page-template-page-no-title  .tier-panel h3 {
	text-align: center;
}

body.page-template-page-no-title .content-block .rewards-image img {
	border-radius: 0;
}


/* End of Loyalty */

.post-5250 > h1, .post-5252 > h1, .post-5254 > h1 {
	display: none!important;
}

body.page-template-page-no-title .hentry h1 {
	margin-bottom: 0px;
	display: block;
}

body.page-template-page-no-title .hentry p.breadcrumbs {
	display: none;
}

@media (min-width: 1199px) {
  li.member-menu-item {
    float: right;
  }
}