/* HAR TRAVELS â€” components.css */

/* =========================================
   NAVBAR
   ========================================= */
.navbar {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 1000;
   padding: 1.5rem 0;
   transition: all .4s ease;
   background: transparent
}

.navbar:not(.scrolled) .navbar-logo span {
   color: rgba(255, 255, 255, 0.65)
}

.navbar:not(.scrolled) .logo-img {
   filter: brightness(0) invert(1);
}

.navbar:not(.scrolled) .navbar-nav a {
   color: rgba(255, 255, 255, 0.85)
}

.navbar:not(.scrolled) .navbar-nav a:hover,
.navbar:not(.scrolled) .navbar-nav a.active {
   color: #fff
}

.navbar:not(.scrolled) .navbar-nav a::after {
   background: #fff
}

.navbar:not(.scrolled) .hamburger span {
   background: #fff
}

/* Scrolled state â€” white background, black text */
.navbar.scrolled {
   background: #fff;
   border-bottom: 1px solid var(--color-border);
   padding: 1rem 0;
   box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08)
}

.navbar.scrolled .navbar-logo span {
   color: var(--color-text-muted)
}

.navbar.scrolled .logo-img {
   filter: grayscale(1) brightness(0);
}

.navbar.scrolled .navbar-nav a {
   color: var(--color-text-muted)
}

.navbar.scrolled .navbar-nav a:hover,
.navbar.scrolled .navbar-nav a.active {
   color: var(--color-primary)
}

.navbar-inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 2rem
}

.navbar-logo {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   transition: all .4s ease;
   text-decoration: none
}

.logo-img {
   height: 70px;
   width: auto;
   transition: all .4s ease;
   display: block;
}

.logo-black {
   filter: grayscale(1) brightness(0);
}

.logo-white {
   filter: brightness(0) invert(1);
}

.navbar-logo span {
   font-size: .55rem;
   letter-spacing: .35em;
   color: var(--color-text-muted);
   font-family: var(--font-body);
   font-weight: 400;
   text-transform: uppercase;
   margin-top: 3px;
   transition: color .4s ease
}

.navbar-nav {
   display: flex;
   align-items: center;
   gap: 2.5rem
}

.navbar-nav a {
   font-family: var(--font-body);
   font-size: .72rem;
   font-weight: 600;
   letter-spacing: .15em;
   text-transform: uppercase;
   color: var(--color-text-muted);
   transition: color .3s ease;
   position: relative;
   padding: .5rem 0
}

.navbar-nav a::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   width: 0;
   height: 1px;
   background: var(--color-primary);
   transition: all .3s ease;
   transform: translateX(-50%)
}

.navbar-nav a:hover,
.navbar-nav a.active {
   color: var(--color-primary)
}

.navbar-nav a:hover::after,
.navbar-nav a.active::after {
   width: 100%
}

.navbar-cta {
   display: flex;
   align-items: center;
   gap: 1rem
}

.hamburger {
   display: none;
   flex-direction: column;
   gap: 6px;
   cursor: pointer;
   padding: .5rem
}

.hamburger span {
   display: block;
   width: 24px;
   height: 1px;
   background: var(--color-dark);
   transition: all .3s ease
}

.hamburger.open span:nth-child(1) {
   transform: translateY(7px) rotate(45deg)
}

.hamburger.open span:nth-child(3) {
   transform: translateY(-7px) rotate(-45deg)
}

/* Mobile Nav */
.mobile-nav {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background: var(--color-bg);
   z-index: 999;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 2.5rem;
   transform: translateX(100%);
   transition: transform .45s cubic-bezier(.25, .46, .45, .94)
}

.mobile-nav.open {
   transform: translateX(0)
}

.mobile-nav a {
   font-family: var(--font-display);
   font-size: 2.25rem;
   font-weight: 600;
   color: var(--color-text);
   transition: color .3s ease
}

.mobile-nav a:hover {
   color: var(--color-primary)
}

@media(max-width:1024px) {
   .navbar-nav {
      display: none
   }

   .hamburger {
      display: flex
   }

   .navbar-cta .btn {
      display: none
   }
}

@media(max-width:480px) {
   .navbar-logo {
      font-size: 1.15rem
   }
}

@media(max-width:360px) {
   .navbar-logo {
      font-size: 1rem
   }

   .navbar-logo span {
      display: none
   }
}

/* =========================================
   FOOTER
   ========================================= */
/* Footer â€” Pure Black (A&K style) */
.footer {
   background: var(--color-dark);
   border-top: none;
   padding: 6rem 0 3rem
}

.footer-grid {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1.5fr;
   gap: 4rem;
   margin-bottom: 5rem
}

.footer-brand-name {
   font-family: var(--font-display);
   font-size: 1.6rem;
   font-weight: 700;
   color: #fff;
   letter-spacing: .15em;
   text-transform: uppercase;
   margin-bottom: .5rem
}

.footer-brand-tagline {
   font-size: .65rem;
   color: rgba(255, 255, 255, 0.4);
   letter-spacing: .35em;
   text-transform: uppercase;
   margin-bottom: .35rem;
   font-family: var(--font-body)
}

.footer-slogan {
   font-size: .65rem;
   color: var(--color-warm-sand);
   letter-spacing: .3em;
   text-transform: uppercase;
   margin-bottom: 2rem;
   font-family: var(--font-display);
   font-style: italic
}

.footer-desc {
   font-size: .875rem;
   color: rgba(255, 255, 255, 0.5);
   line-height: 1.8;
   max-width: 320px;
   margin-bottom: 2.5rem
}

.footer-socials {
   display: flex;
   gap: 1.25rem
}

.footer-social {
   width: 40px;
   height: 40px;
   background: rgba(255, 255, 255, 0.08);
   border: 1px solid rgba(255, 255, 255, 0.15);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: rgba(255, 255, 255, 0.6);
   font-size: 1rem;
   transition: all .3s ease
}

.footer-social:hover {
   background: var(--color-primary);
   color: #fff;
   border-color: var(--color-primary);
   transform: translateY(-3px)
}

.footer-col-title {
   font-family: var(--font-body);
   font-size: .65rem;
   font-weight: 700;
   letter-spacing: .3em;
   text-transform: uppercase;
   color: rgba(255, 255, 255, 0.35);
   margin-bottom: 1.5rem
}

.footer-links {
   display: flex;
   flex-direction: column;
   gap: 1rem
}

.footer-links a {
   font-size: .875rem;
   color: rgba(255, 255, 255, 0.55);
   transition: color .3s ease
}

.footer-links a:hover {
   color: #fff
}

.footer-contact-item {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
   margin-bottom: 1.25rem
}

.footer-contact-icon {
   color: var(--color-primary);
   font-size: 1rem;
   margin-top: .2rem;
   flex-shrink: 0
}

.footer-contact-text {
   font-size: .875rem;
   color: rgba(255, 255, 255, 0.55);
   line-height: 1.7
}

.footer-bottom {
   border-top: 1px solid rgba(255, 255, 255, 0.08);
   padding-top: 2.5rem;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 1.5rem
}

.footer-copy {
   font-size: .8rem;
   color: rgba(255, 255, 255, 0.3)
}

.footer-made {
   font-size: .8rem;
   color: rgba(255, 255, 255, 0.3)
}

@media(max-width:1024px) {
   .footer-grid {
      grid-template-columns: 1fr 1fr;
      gap: 2rem
   }
}

@media(max-width:600px) {
   .footer-grid {
      grid-template-columns: 1fr
   }

   .footer-bottom {
      flex-direction: column;
      text-align: center
   }
}

/* =========================================
   WHATSAPP FLOAT BUTTON
   ========================================= */
.wa-float {
   position: fixed;
   bottom: 2rem;
   right: 2rem;
   z-index: 900;
   width: 58px;
   height: 58px;
   border-radius: 50%;
   background: linear-gradient(135deg, #f28a21, #c97018);
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 1.6rem;
   box-shadow: 0 4px 20px rgba(37, 211, 102, .4);
   transition: all .3s ease;
   animation: wa-pulse 2.5s infinite
}

.wa-float:hover {
   transform: scale(1.12);
   box-shadow: 0 8px 30px rgba(37, 211, 102, .6)
}

@keyframes wa-pulse {

   0%,
   100% {
      box-shadow: 0 4px 20px rgba(37, 211, 102, .4)
   }

   50% {
      box-shadow: 0 4px 35px rgba(37, 211, 102, .7)
   }
}

/* =========================================
   MAP MODAL
   ========================================= */
.map-modal-backdrop {
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, .85);
   z-index: 2000;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 1.5rem;
   opacity: 0;
   visibility: hidden;
   transition: all .3s ease
}

.map-modal-backdrop.open {
   opacity: 1;
   visibility: visible
}

.map-modal {
   background: var(--color-bg);
   border: 1px solid var(--color-border);
   border-radius: var(--radius-lg);
   max-width: 800px;
   width: 100%;
   overflow: hidden;
   transform: translateY(30px) scale(.97);
   transition: transform .35s ease
}

.map-modal-backdrop.open .map-modal {
   transform: translateY(0) scale(1)
}

.map-modal-img {
   width: 100%;
   height: 300px;
   object-fit: cover
}

.map-modal-body {
   padding: 3rem
}

.map-modal-label {
   font-size: .7rem;
   letter-spacing: .3em;
   text-transform: uppercase;
   color: var(--color-primary);
   margin-bottom: .75rem;
   display: block
}

.map-modal-title {
   font-family: var(--font-display);
   font-size: 2.5rem;
   font-weight: 600;
   color: var(--color-text);
   margin-bottom: 1.5rem
}

.map-modal-text {
   font-size: 1rem;
   color: var(--color-text-muted);
   line-height: 1.8;
   margin-bottom: 2rem
}

.map-modal-close {
   position: absolute;
   top: 1.5rem;
   right: 1.5rem;
   width: 40px;
   height: 40px;
   background: var(--color-bg-2);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--color-text);
   font-size: 1.25rem;
   cursor: pointer;
   transition: all .3s ease;
   z-index: 10
}

.map-modal-close:hover {
   background: var(--color-primary);
   color: #fff
}

.map-modal-inner {
   position: relative
}

/* =========================================
   SWIPER GALLERY
   ========================================= */
.swiper {
   width: 100%;
   overflow: hidden;
   border-radius: 12px
}

.swiper-slide img {
   width: 100%;
   height: 380px;
   object-fit: cover
}

.swiper-pagination-bullet {
   background: rgba(242, 138, 33, .4) !important
}

.swiper-pagination-bullet-active {
   background: var(--color-primary) !important
}

.swiper-button-next,
.swiper-button-prev {
   color: var(--color-primary) !important
}

/* =========================================
   STEP PROCESS
   ========================================= */
.step-item {
   display: flex;
   gap: 1.5rem;
   position: relative
}

.step-number {
   flex-shrink: 0;
   width: 48px;
   height: 48px;
   background: linear-gradient(135deg, var(--color-primary), #a07c45);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 1.1rem;
   font-weight: 700;
   color: #080808;
   position: relative;
   z-index: 1
}

.step-line {
   position: absolute;
   left: 23px;
   top: 48px;
   width: 2px;
   height: calc(100% + 2rem);
   background: linear-gradient(to bottom, rgba(242, 138, 33, .3), transparent)
}

.step-item:last-child .step-line {
   display: none
}

.step-body {
   padding-bottom: 2.5rem
}

.step-title {
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 1.25rem;
   font-weight: 600;
   color: var(--color-text);
   margin-bottom: .5rem
}

.step-desc {
   font-size: .9rem;
   color: #8a8a7a;
   line-height: 1.7
}

/* =========================================
   BENEFIT CARD
   ========================================= */
/* Benefit Card */
.benefit-card {
   background: var(--color-surface);
   border: 1px solid var(--color-border);
   border-radius: var(--radius-md);
   padding: 2.5rem;
   transition: all .35s ease
}

.benefit-card:hover {
   border-color: var(--color-primary-light);
   transform: translateY(-5px);
   box-shadow: var(--shadow-card)
}

.benefit-icon {
   font-size: 2rem;
   color: var(--color-primary);
   margin-bottom: 1.5rem
}

.benefit-title {
   font-family: var(--font-display);
   font-size: 1.25rem;
   font-weight: 600;
   color: var(--color-text);
   margin-bottom: .75rem
}

.benefit-desc {
   font-size: .9rem;
   color: var(--color-text-muted);
   line-height: 1.7
}

/* =========================================
   FACILITATOR CARD
   ========================================= */
/* Facilitator Card */
.facilitator-card {
   background: var(--color-surface);
   border: 1px solid var(--color-border);
   border-radius: var(--radius-lg);
   padding: 2.5rem;
   text-align: center;
   transition: all .35s ease
}

.facilitator-card:hover {
   border-color: var(--color-primary-light);
   transform: translateY(-8px);
   box-shadow: var(--shadow-card)
}

.facilitator-avatar {
   width: 110px;
   height: 110px;
   border-radius: 50%;
   object-fit: cover;
   margin: 0 auto 1.5rem;
   border: 1px solid var(--color-border)
}

.facilitator-name {
   font-family: var(--font-display);
   font-size: 1.5rem;
   font-weight: 600;
   color: var(--color-text);
   margin-bottom: .5rem
}

.facilitator-handle {
   font-size: .85rem;
   color: var(--color-primary);
   letter-spacing: .1em;
   margin-bottom: 1rem;
   font-weight: 600
}

.facilitator-desc {
   font-size: .9rem;
   color: var(--color-text-muted);
   line-height: 1.7;
   margin-bottom: 1.5rem
}

.facilitator-ig {
   display: inline-flex;
   align-items: center;
   gap: .6rem;
   font-size: .8rem;
   color: var(--color-primary);
   border: 1px solid var(--color-border);
   padding: .5rem 1.25rem;
   border-radius: var(--radius-sm);
   transition: all .3s ease;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: .05em
}

.facilitator-ig:hover {
   background: var(--color-primary);
   color: #fff;
   border-color: var(--color-primary)
}

/* =========================================
   SERVICE CARD
   ========================================= */
.service-card {
   padding: 2rem;
   border: 1px solid var(--color-border);
   border-radius: 12px;
   background: var(--color-bg-3);
   transition: all .35s ease
}

.service-card:hover {
   border-color: rgba(242, 138, 33, .25);
   transform: translateY(-4px);
   box-shadow: 0 12px 40px rgba(0, 0, 0, .4)
}

.service-icon {
   font-size: 2.25rem;
   color: var(--color-primary);
   margin-bottom: 1.25rem
}

.service-title {
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 1.2rem;
   font-weight: 600;
   color: var(--color-text);
   margin-bottom: .5rem
}

.service-desc {
   font-size: .875rem;
   color: #8a8a7a;
   line-height: 1.7
}

/* =========================================
   TESTIMONIAL
   ========================================= */
.testimonial {
   background: var(--color-dark-surface);
   border: 1px solid rgba(242, 138, 33, .12);
   border-radius: 16px;
   padding: 2rem;
   position: relative
}

.testimonial::before {
   content: '\201C';
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 5rem;
   color: rgba(242, 138, 33, .15);
   position: absolute;
   top: -1rem;
   left: 1.5rem;
   line-height: 1
}

.testimonial-text {
   font-size: .95rem;
   color: #8a8a7a;
   line-height: 1.8;
   margin-bottom: 1.5rem;
   padding-top: 1.5rem;
   font-style: italic
}

.testimonial-author {
   display: flex;
   align-items: center;
   gap: 1rem
}

.testimonial-avatar {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: rgba(242, 138, 33, .15);
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--color-primary);
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 1rem;
   font-weight: 600
}

.testimonial-name {
   font-weight: 600;
   color: var(--color-text);
   font-size: .9rem
}

.testimonial-role {
   font-size: .78rem;
   color: #555548
}

/* =========================================
   CTA SECTION
   ========================================= */
.cta-section {
   background: linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark-surface) 100%);
   border: 1px solid rgba(242, 138, 33, .12);
   border-radius: 24px;
   padding: 5rem 3rem;
   text-align: center;
   position: relative;
   overflow: hidden
}

.cta-section::before {
   content: '';
   position: absolute;
   top: -50%;
   left: -50%;
   width: 200%;
   height: 200%;
   background: radial-gradient(ellipse at center, rgba(242, 138, 33, .06) 0%, transparent 60%);
   pointer-events: none
}

.cta-title {
   font-family: 'Playfair Display', Georgia, serif;
   font-size: clamp(2rem, 4vw, 3rem);
   font-weight: 600;
   color: var(--color-text-on-dark);
   margin-bottom: 1rem;
   line-height: 1.2
}

.cta-sub {
   font-size: 1rem;
   color: rgba(255, 255, 255, 0.7);
   margin-bottom: 2.5rem;
   line-height: 1.7
}

/* =========================================
   MAP SECTION
   ========================================= */
#map,
#map-preview {
   border-radius: 16px;
   border: 1px solid rgba(242, 138, 33, .15);
   overflow: hidden
}

.leaflet-container {
   background: var(--color-dark) !important
}

/* =========================================
   CONTACT FORM
   ========================================= */
.form-group {
   margin-bottom: 1.5rem
}

.form-label {
   display: block;
   font-size: .78rem;
   font-weight: 600;
   letter-spacing: .15em;
   text-transform: uppercase;
   color: #8a8a7a;
   margin-bottom: .6rem
}

.form-input {
   width: 100%;
   background: var(--color-surface);
   border: 1px solid var(--color-border);
   border-radius: 8px;
   padding: .9rem 1.25rem;
   font-family: 'Inter', sans-serif;
   font-size: .95rem;
   color: var(--color-text);
   transition: border-color .3s ease;
   outline: none
}

.form-input:focus {
   border-color: rgba(242, 138, 33, .45);
   background: #141414
}

.form-input::placeholder {
   color: #444
}

textarea.form-input {
   resize: vertical;
   min-height: 140px
}

select.form-input option {
   background: var(--color-dark-surface);
   color: #f0ebe0
}

/* =========================================
   BRAND STRIP (Logos)
   ========================================= */
.brand-strip {
   background: var(--color-bg-2);
   border-top: 1px solid var(--color-border);
   border-bottom: 1px solid var(--color-border);
   padding: 2.5rem 0
}

/* =========================================
   PROFILE SECTION
   ========================================= */
.profile-image-wrapper {
   position: relative;
   display: inline-block
}

.profile-image {
   width: 100%;
   max-width: 480px;
   border-radius: 16px;
   object-fit: cover;
   aspect-ratio: 3/4
}

.profile-image-frame {
   position: absolute;
   inset: -12px;
   border: 1px solid rgba(242, 138, 33, .2);
   border-radius: 20px;
   pointer-events: none
}

/* =========================================
   RETREAT CARD
   ========================================= */
/* Retreat Card */
.retreat-card {
   position: relative;
   border-radius: var(--radius-lg);
   overflow: hidden;
   border: 1px solid var(--color-border);
   transition: all .4s ease;
   background: var(--color-surface)
}

.retreat-card:hover {
   transform: translateY(-10px);
   box-shadow: var(--shadow-card);
   border-color: var(--color-primary-light)
}

.retreat-img {
   width: 100%;
   height: 320px;
   object-fit: cover;
   transition: transform .6s ease
}

.retreat-card:hover .retreat-img {
   transform: scale(1.05)
}

.retreat-overlay {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: linear-gradient(to top, rgba(28, 27, 31, 0.9) 0%, rgba(28, 27, 31, 0.2) 70%, transparent 100%);
   padding: 2.5rem
}

.retreat-label {
   font-size: .7rem;
   letter-spacing: .3em;
   text-transform: uppercase;
   color: var(--color-primary-light);
   margin-bottom: .75rem;
   display: block;
   font-weight: 700
}

.retreat-title {
   font-family: var(--font-display);
   font-size: 1.75rem;
   font-weight: 600;
   color: #fff;
   margin-bottom: .75rem
}

.retreat-date {
   font-size: .85rem;
   color: rgba(255, 255, 255, 0.7);
   display: flex;
   align-items: center;
   gap: .6rem
}

/* =========================================
   UPCOMING RETREAT CARD
   ========================================= */
.upcoming-card {
   background: var(--color-dark-surface);
   border: 1px solid rgba(242, 138, 33, .15);
   border-radius: 16px;
   overflow: hidden;
   transition: all .35s ease;
   display: flex;
   flex-direction: column
}

.upcoming-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 20px 50px rgba(0, 0, 0, .6), 0 0 20px rgba(242, 138, 33, .08);
   border-color: rgba(242, 138, 33, .3)
}

.upcoming-img {
   width: 100%;
   height: 220px;
   object-fit: cover
}

.upcoming-body {
   padding: 1.75rem;
   flex: 1;
   display: flex;
   flex-direction: column
}

.upcoming-tag {
   font-size: .7rem;
   letter-spacing: .2em;
   text-transform: uppercase;
   color: var(--color-primary);
   margin-bottom: .75rem;
   display: inline-block
}

.upcoming-title {
   font-family: 'Playfair Display', Georgia, serif;
   font-size: 1.4rem;
   font-weight: 600;
   color: var(--color-text-on-dark);
   margin-bottom: .75rem;
   line-height: 1.3
}

.upcoming-desc {
   font-size: .875rem;
   color: rgba(255, 255, 255, 0.7);
   line-height: 1.7;
   margin-bottom: 1.5rem;
   flex: 1
}

.upcoming-meta {
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: .75rem;
   padding-top: 1.25rem;
   border-top: 1px solid rgba(242, 138, 33, .1);
   margin-bottom: 1.25rem
}

.upcoming-date {
   font-size: .8rem;
   color: var(--color-primary);
   display: flex;
   align-items: center;
   gap: .4rem
}

.upcoming-spots {
   font-size: .75rem;
   color: rgba(255, 255, 255, 0.5)
}

/* =========================================
   RESPONSIVE GRIDS
   ========================================= */
.grid-3 {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 1.5rem
}

.grid-4 {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 1.5rem
}

.grid-2 {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 1.5rem
}

@media(max-width:1024px) {
   .grid-4 {
      grid-template-columns: repeat(2, 1fr)
   }

   .grid-3 {
      grid-template-columns: repeat(2, 1fr)
   }
}

@media(max-width:640px) {

   .grid-3,
   .grid-4,
   .grid-2 {
      grid-template-columns: 1fr
   }

   .cta-section {
      padding: 3rem 1.5rem
   }
}

/* =========================================
   THEME TOGGLE BUTTON
   ========================================= */
.theme-toggle {
   width: 40px;
   height: 40px;
   background: rgba(201, 169, 110, 0.1);
   border: 1px solid rgba(201, 169, 110, 0.2);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--color-gold);
   font-size: 1rem;
   transition: all 0.3s ease;
   cursor: pointer;
   margin-right: 0.5rem;
}

.theme-toggle:hover {
   background: rgba(201, 169, 110, 0.2);
   transform: scale(1.05);
}

.theme-toggle .fa-sun {
   display: none;
}

.theme-toggle .fa-moon {
   display: block;
}

[data-theme="vibrant"] .theme-toggle .fa-sun {
   display: block;
}

[data-theme="vibrant"] .theme-toggle .fa-moon {
   display: none;
}