/* =========================================================
   Umiyadham Sidsar — Shared chrome (header / info-strip / footer)
========================================================= */
:root{
  --ivory:        #FFF8EC;
  --ivory-deep:   #F7EFDD;
  --stone:        #EFE3C8;
  --maroon:       #7A1B1B;
  --maroon-dark:  #5A1212;
  --terracotta:   #C2410C;
  --gold:         #C8941A;
  --gold-light:   #E8C468;
  --ink:          #2D1B12;
  --ink-soft:     #5B4636;
  --white:        #FFFFFF;

  --font-display: "Lora", "Source Sans 3", Georgia, "Times New Roman", serif;
  --font-body:    "Source Sans 3", system-ui, "Segoe UI", sans-serif;

  --radius: 14px;
  --shadow-soft: 0 10px 30px -10px rgba(45,27,18,0.18);
  --shadow-card: 0 4px 18px rgba(45,27,18,0.10);
  --max-w: 1180px;

  --bs-body-font-family: var(--font-body);
  --bs-body-font-weight: 500;
  --bs-body-color: var(--ink);
  --bs-body-bg: var(--ivory);
  --bs-heading-font-weight: 700;
  --bs-primary: var(--maroon);
  --bs-primary-rgb: 122, 27, 27;
  --bs-link-color: inherit;
  --bs-link-hover-color: var(--maroon-dark);
  --bs-border-radius: var(--radius);
  --bs-border-color: var(--stone);
  --bs-font-sans-serif: var(--font-body);
}

*{ box-sizing: border-box; }
html{
  scroll-behavior: smooth;
  height: 100%;
}
body{
  margin:0;
  min-height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  font-family: var(--font-body);
  font-weight: 500;
  background: var(--ivory);
  color: var(--ink);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
h1,h2,h3,h4,h5,h6{
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--maroon-dark);
  margin:0 0 .5rem;
  line-height:1.25;
}
h1,h2{ font-weight: 700; }
h3,h4,h5,h6{ font-weight: 600; }
p{ margin:0 0 1rem; color: var(--ink-soft); font-weight: 400; }
strong, b{ font-weight: 700; }
ul{ list-style:none; margin:0; padding:0; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
}

:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
  border-radius: 4px;
}

.site-header .container,
.footer-inner.container,
.info-strip-inner.container{
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
}
.info-strip-inner.container,
.footer-inner.container{
  padding-left: 0;
  padding-right: 0;
}

.page-main{
  flex: 1 0 auto;
  background: var(--ivory);
}
.eyebrow{
  font-family: var(--font-body);
  font-weight:700;
  letter-spacing:.06em;
  color: var(--terracotta);
  text-transform: uppercase;
  font-size:.8rem;
  margin-bottom:.5rem;
}

/* ---------- decorative top thread ---------- */
.kumkum-thread{
  height:6px;
  background: repeating-linear-gradient(90deg, var(--maroon) 0 24px, var(--gold) 24px 48px);
}

/* ---------- buttons (override Bootstrap .btn) ---------- */
.btn{
  --bs-btn-padding-y: .85rem;
  --bs-btn-padding-x: 1.6rem;
  --bs-btn-font-size: .95rem;
  --bs-btn-font-weight: 600;
  --bs-btn-border-width: 2px;
  --bs-btn-border-radius: 999px;
  --bs-btn-line-height: 1.5;
  display:inline-flex; align-items:center; justify-content:center;
  padding: .55rem 1.1rem;
  border-radius: 999px;
  font-weight:600;
  font-size: .95rem;
  line-height: 1.5;
  border: 2px solid transparent;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  cursor:pointer;
}
.btn-primary{
  --bs-btn-color: var(--ivory);
  --bs-btn-bg: var(--maroon);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--ivory);
  --bs-btn-hover-bg: var(--maroon-dark);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--ivory);
  --bs-btn-active-bg: var(--maroon-dark);
  --bs-btn-active-border-color: transparent;
  background: linear-gradient(135deg, var(--maroon), var(--maroon-dark));
  color: var(--ivory);
  border-color: transparent;
  box-shadow: var(--shadow-soft);
}
.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:active{
  background: linear-gradient(135deg, var(--maroon), var(--maroon-dark));
  color: var(--ivory);
  border-color: transparent;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -10px rgba(122,27,27,0.45);
}
.btn-ghost{
  --bs-btn-color: var(--maroon-dark);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--maroon-dark);
  --bs-btn-hover-color: var(--ivory);
  --bs-btn-hover-bg: var(--maroon-dark);
  --bs-btn-hover-border-color: var(--maroon-dark);
  background: transparent;
  color: var(--maroon-dark);
  border-color: var(--maroon-dark);
}
.btn-ghost:hover,
.btn-ghost:focus-visible,
.btn-ghost:active{
  background: var(--maroon-dark);
  color: var(--ivory);
  border-color: var(--maroon-dark);
}
.btn-small, .btn-sm{ padding:0.60rem 1rem; font-size:.85rem; line-height:1;}
.btn-large, .btn-lg{ padding:1rem 2rem; font-size:1.05rem; }

/* ---------- forms ---------- */
.form-label{
  font-size:.88rem; font-weight:600; color: var(--ink-soft); margin-bottom:.4rem;
}
.form-control{
  font-family: var(--font-body);
  font-size: .95rem;
  padding: .7rem .9rem;
  border: 1.5px solid var(--stone);
  border-radius: 8px;
  background: var(--ivory);
  color: var(--ink);
  box-shadow: none;
}
.form-control:focus{
  border-color: var(--terracotta);
  box-shadow: none;
  background: var(--ivory);
  color: var(--ink);
}
textarea.form-control{ resize: vertical; }
.form-select{
  font-family: var(--font-body);
  font-size: .95rem;
  padding: .7rem 2.4rem .7rem .9rem;
  border: 1.5px solid var(--stone);
  border-radius: 8px;
  background-color: var(--ivory);
  color: var(--ink);
  box-shadow: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%235B4636' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  background-size: 12px 10px;
}
.form-select:focus{
  border-color: var(--terracotta);
  box-shadow: none;
  background-color: var(--ivory);
  color: var(--ink);
}
.form-optional{
  font-weight: 500;
  color: #8a7460;
  font-size: .82rem;
}

/* ---------- header ---------- */
.site-header{
  z-index:50;
  background:
    linear-gradient(180deg, rgba(255,248,236,.97) 0%, rgba(247,239,221,.94) 100%);
  backdrop-filter: blur(12px) saturate(1.15);
  -webkit-backdrop-filter: blur(12px) saturate(1.15);
  border-bottom: none;
  box-shadow:
    0 1px 0 rgba(200,148,26,.28),
    0 8px 28px -18px rgba(45,27,18,.22);
}
@media (max-width: 991.98px){
  .site-header{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
.site-header::before{
  content:"";
  position:absolute;
  inset:0;
  background-size: 280px;
  background-repeat: repeat;
  opacity: .045;
  pointer-events:none;
  mix-blend-mode: multiply;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--gold) 12%,
    var(--maroon) 50%,
    var(--gold) 88%,
    transparent 100%);
  opacity: .85;
  pointer-events:none;
}
.site-header .navbar{
  position: relative;
  z-index: 1;
  padding-top: .55rem;
  padding-bottom: .55rem;
}
.site-header .header-bar{
  align-items: center;
}
.site-header .navbar-brand{
  padding:0;
  margin-right:1rem;
  transition: transform .25s ease;
}
.site-header .navbar-brand:hover{ transform: scale(1.03); }
.brand{ display:flex; align-items:center; gap:.6rem; }
.brand .logo{
  height:64px;
  width:auto;
  max-height:64px;
  filter: drop-shadow(0 2px 6px rgba(90,18,18,.12));
}
.site-header .header-actions{
  flex-shrink: 0;
}
.mobile-nav-footer{ display: none; }

@media (min-width: 992px){
  .site-header .offcanvas{
    flex-grow: 1;
    justify-content: center;
    border: none;
    background: transparent;
    visibility: visible !important;
    transform: none !important;
  }
  .site-header .offcanvas-header,
  .site-header .mobile-nav-footer{ display: none !important; }
  .site-header .offcanvas-body{
    display: flex;
    flex-grow: 1;
    padding: 0;
    overflow: visible;
  }
  .site-header .nav-link.dropdown-toggle.show:not(.active),
  .site-header .nav-item.dropdown:hover > .nav-link.dropdown-toggle:not(.active){
    color: var(--maroon-dark);
  }
  .site-header .nav-item.dropdown{
    position: relative;
  }
  .site-header .nav-item.dropdown > .dropdown-menu{
    margin-top: 0 !important;
  }
  .site-header .nav-item.dropdown::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:12px;
  }
}
.site-header .navbar-nav{
  --bs-nav-link-color: #5B4636;
  --bs-nav-link-hover-color: var(--maroon-dark);
  gap: .15rem .2rem;
}
.site-header .nav-link{
  font-family: var(--font-body);
  font-size:.9rem;
  font-weight:600;
  letter-spacing: .01em;
  position:relative;
  padding: .25rem .95rem !important;
  border-radius: 999px;
  color: #5B4636;
  outline: none;
  box-shadow: none;
  transition:
    color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}
.site-header .nav-link:not(.nav-cta){
  background: transparent;
}
.site-header .nav-link:focus,
.site-header .nav-link:focus-visible,
.site-header .nav-link.show,
.site-header .dropdown-toggle:focus,
.site-header .dropdown-toggle:focus-visible,
.site-header .dropdown-toggle.show{
  outline: none !important;
  box-shadow: none !important;
}
.site-header .nav-link:not(.nav-cta):hover,
.site-header .nav-link:not(.nav-cta):focus{
  color: var(--maroon-dark);
  background: #F0E6D4;
}
.site-header .nav-link.active:not(.nav-cta),
.site-header .nav-link.active:not(.nav-cta):hover,
.site-header .nav-link.active:not(.nav-cta):focus{
  color: var(--white) !important;
  font-weight: 700;
  background: var(--maroon-dark);
  box-shadow: none;
}

.site-header .nav-link.dropdown-toggle{
  padding-right: .95rem !important;
}
.site-header .nav-link.dropdown-toggle::after{
  margin-left: .35rem;
  vertical-align: .15em;
  border-top-width: .32em;
  border-right-width: .32em;
  border-left-width: .32em;
  border-top-color: currentColor;
  opacity: .7;
  transition: transform .22s ease, opacity .22s ease;
}
.site-header .nav-item.dropdown:hover > .nav-link.dropdown-toggle::after,
.site-header .nav-link.dropdown-toggle.show::after{
  transform: rotate(180deg);
  opacity: 1;
}
.site-header .navbar-toggler{
  border: 1.5px solid rgba(90,18,18,.28);
  border-radius: 10px;
  padding: .45rem .6rem;
  background: var(--white);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-header .navbar-toggler:hover{
  border-color: var(--maroon-dark);
  background: #F0E6D4;
}
.site-header .navbar-toggler:focus{
  box-shadow: 0 0 0 .2rem rgba(242,163,60,.35);
}
.site-header .navbar-toggler[aria-expanded="true"]{
  border-color: var(--maroon-dark);
  background: #F0E6D4;
}

/* ---------- Mobile offcanvas drawer ---------- */
@media (max-width: 991.98px){
  .offcanvas-backdrop.show{
    background: rgba(90, 18, 18, .55);
    opacity: 1;
  }

  .site-header .offcanvas.offcanvas-end{
    width: min(86vw, 360px);
    border: none;
    border-left: 4px solid var(--maroon-dark);
    background: #FBF6EC;
    box-shadow: -18px 0 48px -16px rgba(45, 27, 18, .35);
  }

  .site-header .offcanvas-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem 1rem;
    border-bottom: 1px solid rgba(200, 148, 26, .28);
  }

  .site-header .offcanvas-brand{
    margin: 0;
  }

  .site-header .offcanvas-brand .logo{
    height: 52px;
    max-height: 52px;
  }

  .site-header .mobile-nav-close{
    width: 2rem;
    height: 2rem;
    padding: 0;
    margin: 0;
    opacity: .75;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232D1B12'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1rem auto no-repeat;
    border: none;
    box-shadow: none;
  }
  .site-header .mobile-nav-close:hover{
    opacity: 1;
  }
  .site-header .mobile-nav-close:focus{
    box-shadow: none;
    opacity: 1;
  }

  .site-header .offcanvas-body{
    display: flex;
    flex-direction: column;
    padding: 0.5rem 0 1.5rem;
    overflow-y: auto;
  }

  .site-header .navbar-nav{
    gap: .2rem;
    padding: .5rem 1rem 1rem;
    flex-grow: 1;
  }

  .site-header .nav-item{
    width: 100%;
  }

  .site-header .nav-link:not(.nav-cta){
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: .8rem 1.15rem !important;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #3d2a1f;
    background: transparent;
  }

  .site-header .nav-link:not(.nav-cta):hover,
  .site-header .nav-link:not(.nav-cta):focus{
    color: var(--maroon-dark);
    background: rgba(239, 227, 200, .45);
  }

  .site-header .nav-link.active:not(.nav-cta),
  .site-header .nav-link.active:not(.nav-cta):hover,
  .site-header .nav-link.active:not(.nav-cta):focus{
    color: #fff !important;
    font-weight: 700;
    background: var(--maroon-dark);
    box-shadow: none;
  }

  .site-header .nav-link.dropdown-toggle{
    padding-right: 1.15rem !important;
  }

  .site-header .nav-link.dropdown-toggle::after{
    margin-left: auto;
    border: none;
    width: .7rem;
    height: .7rem;
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233d2a1f'%3e%3cpath d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3e%3c/svg%3e") center/contain no-repeat;
    opacity: .7;
    transform: none;
    transition: transform .22s ease, opacity .22s ease;
  }

  .site-header .nav-link.dropdown-toggle.active::after,
  .site-header .nav-link.dropdown-toggle.active.show::after{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3e%3c/svg%3e");
    opacity: 1;
  }

  .site-header .nav-link.dropdown-toggle.show::after{
    transform: rotate(180deg);
    opacity: 1;
  }

  .site-header .dropdown-menu{
    position: static !important;
    transform: none !important;
    float: none;
    margin: .1rem 0 .2rem .9rem !important;
    padding: .2rem 0 .35rem 1.15rem;
    border: none;
    border-radius: 0;
    border-left: 2px solid rgba(200, 168, 100, .7);
    box-shadow: none;
    background: transparent;
    min-width: 0;
    overflow: visible;
  }

  .site-header .dropdown-menu::before{ display: none; }

  .site-header .dropdown-item{
    padding: .55rem .85rem .55rem .35rem;
    border-radius: 0;
    font-size: .95rem;
    font-weight: 500;
    color: #5B4636;
  }

  .site-header .dropdown-item:hover,
  .site-header .dropdown-item:focus{
    background: transparent;
    color: var(--maroon-dark);
    padding-left: .5rem;
  }

  .site-header .dropdown-item.active{
    background: transparent;
    color: var(--maroon);
    font-weight: 700;
  }

  .mobile-nav-footer{
    display: block;
    margin-top: auto;
    padding: .75rem 1.4rem 0;
  }

  .mobile-nav-cta,
  .site-header .mobile-nav-cta{
    display: flex !important;
    width: 100%;
    justify-content: center;
    padding: .85rem 1.25rem !important;
    border-radius: 14px;
    font-size: 1.05rem;
    margin: 0;
  }

  .mobile-nav-location{
    margin: 1rem 0 0;
    text-align: center;
    font-size: .88rem;
    font-weight: 500;
    color: #8a7360;
  }
}
.site-header .nav-cta,
.nav-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E8942A;
  color: var(--maroon-dark) !important;
  padding: .3rem 1.35rem !important;
  border-radius: 999px;
  text-align:center;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(194,118,20,.28);
  border: none;
  letter-spacing: .01em;
  white-space: nowrap;
}
.site-header .nav-cta:hover,
.site-header .nav-cta:focus,
.nav-cta:hover,
.nav-cta:focus{
  background: #D9841F;
  color: var(--maroon-dark) !important;
  box-shadow: 0 6px 16px rgba(194,118,20,.36);
  transform: translateY(-1px);
}
.site-header .nav-cta.active,
.nav-cta.active{
  background: #E8942A;
  box-shadow:
    0 4px 12px rgba(194,118,20,.28),
    0 0 0 2px rgba(90,18,18,.18);
}
.site-header .header-actions .nav-cta{
  margin-left: .35rem;
}

.site-header .dropdown-menu{
  border: 1px solid rgba(200,148,26,.28);
  border-radius: 14px;
  box-shadow:
    0 14px 36px -16px rgba(45,27,18,.28),
    0 1px 0 rgba(255,248,236,.8) inset;
  padding: .5rem;
  margin-top: .55rem !important;
  background:
    linear-gradient(180deg, #FFFBF2 0%, var(--ivory) 100%);
  --bs-dropdown-link-active-bg: rgba(122,27,27,.08);
  --bs-dropdown-link-active-color: var(--maroon-dark);
  --bs-dropdown-link-hover-bg: rgba(200,148,26,.12);
  --bs-dropdown-link-hover-color: var(--maroon-dark);
  --bs-dropdown-min-width: 11.5rem;
  overflow: hidden;
}
.site-header .dropdown-menu::before{
  content:"";
  display:block;
  height: 3px;
  margin: -.5rem -.5rem .45rem;
  background: linear-gradient(90deg, var(--maroon), var(--gold), var(--maroon));
}
.site-header .dropdown-item{
  font-weight:600;
  font-size:.88rem;
  border-radius: 10px;
  padding: .6rem .9rem;
  color: var(--ink-soft);
  transition: background .18s ease, color .18s ease, padding-left .18s ease;
}
.site-header .dropdown-item:hover{
  padding-left: 1.05rem;
}
.site-header .dropdown-item.active{
  color: var(--maroon);
  font-weight: 700;
  background: rgba(200,148,26,.12);
}

/* ---------- hero slider ---------- */
.hero-slider{
  position:relative;
  overflow:hidden;
  background: var(--maroon-dark);
  line-height:0;
}
.slider-track{ position:relative; }
.slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition: opacity .6s ease, visibility .6s ease;
}
.slide.active{
  position:relative;
  inset:auto;
  opacity:1; visibility:visible; z-index:2;
}
.slide-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.hero-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 280px;
  padding: 2.5rem 1.5rem;
  text-align:center;
  background:
    radial-gradient(ellipse at top, rgba(232,196,104,.18), transparent 55%),
    linear-gradient(180deg, var(--maroon) 0%, var(--maroon-dark) 100%);
  line-height: 1.5;
}
.hero-fallback h2{ color: var(--ivory); margin:0; }
.slider-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:10; width:44px; height:44px;
  border:none; border-radius:50%;
  background: rgba(255,248,236,0.3);
  color: var(--maroon-dark);
  font-size:1.6rem; line-height:1;
  cursor:pointer;
  box-shadow: var(--shadow-card);
  transition: background .2s ease;
}
.slider-btn:hover{ background: var(--ivory); }
.slider-prev{ left:1rem; }
.slider-next{ right:1rem; }
.slider-dots{
  position:absolute; bottom:1.2rem; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; gap:.5rem;
}
.slider-dot{
  width:10px; height:10px; border-radius:50%;
  border:2px solid var(--ivory);
  background: transparent; cursor:pointer; padding:0;
}
.slider-dot.active{ background: var(--ivory); }
.slider-counter{
  position:absolute; bottom:1.2rem; right:1.2rem; z-index:10;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:48px;
  height:26px;
  text-align:center;
  color: var(--ivory);
  font-size:.85rem;
  font-weight:700;
  line-height:normal;
  background: rgba(45,27,18,.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding:0 .75rem;
  border-radius:999px;
}

/* ---------- info strip ---------- */
.info-strip{ background: var(--maroon-dark); padding: 1.05rem 0; }
.info-strip-inner{
  max-width: var(--max-w); margin:0 auto;
}
.info-strip-track{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  padding: 0 1.5rem;
}
.info-pill{
  display:flex; align-items:center; gap:.7rem;
  color: var(--ivory);
  min-width: 0;
}
.info-icon{
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
  font-size:1.35rem;
  color: var(--gold-light);
  width:1.75rem;
}
.info-icon .bi{ line-height:1; }
.info-pill strong{ display:block; font-size:.88rem; font-weight:700; }
.info-pill small{ display:block; font-size:.78rem; color: #E8C9C9; }

/* ---------- footer ---------- */
.site-footer{
  --footer-muted: #C9B89A;
  --footer-dim: #9C8B70;
  --footer-line: rgba(232, 196, 104, 0.22);
  margin-top: auto;
  flex-shrink: 0;
  background:
    radial-gradient(ellipse 70% 55% at 12% 0%, rgba(122, 27, 27, 0.35), transparent 55%),
    radial-gradient(ellipse 50% 40% at 88% 100%, rgba(200, 148, 26, 0.12), transparent 50%),
    var(--ink);
  color: #E8DCC8;
  padding: 3.25rem 1.5rem 0;
  border-top: 3px solid var(--gold);
}
.footer-inner{
  max-width: var(--max-w);
  margin: 0 auto;
}
.footer-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
  gap: 2.5rem 3.5rem;
  align-items: end;
  padding-bottom: 2.25rem;
}
.footer-brand{
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.footer-logo{
  display: inline-block;
  margin-bottom: 1.1rem;
  line-height: 0;
}
.footer-logo img{
  display: block;
  width: min(200px, 55vw);
  height: auto;
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}
.footer-about{
  margin: 0 0 1.35rem;
  max-width: 28rem;
  font-size: .9rem;
  line-height: 1.65;
  color: var(--footer-muted);
}
.footer-brand .footer-social{
  margin: 0;
  justify-content: flex-start;
}
.footer-contact{
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: grid;
  gap: .5rem;
  justify-items: stretch;
}
.footer-contact li{
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  text-align: left;
}
.footer-contact li > .bi{
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(232, 196, 104, 0.12);
  border: 1px solid var(--footer-line);
  color: var(--gold-light);
  font-size: .95rem;
  flex-shrink: 0;
}
.footer-contact p{
  margin: 0;
  font-size: .9rem;
  line-height: 1.5;
  color: var(--footer-muted);
}
.footer-contact a{
  color: #E8DCC8;
  text-decoration: none;
  font-size: .9rem;
  line-height: 1.5;
}
.footer-contact a:hover{ color: var(--gold-light); }
.footer-bottom{
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.05rem 0 1.35rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 1.25rem;
}
.footer-copy{
  margin: 0;
  font-size: .78rem;
  color: var(--footer-dim);
}

.footer-social{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}
.social-btn{
  box-sizing: border-box;
  border: 1.5px solid rgba(232,220,200,.35);
  color: #D9CBB0;
  width: 2.4rem;
  height: 2.4rem;
  min-width: 2.4rem;
  min-height: 2.4rem;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  text-decoration: none;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.social-btn i{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  font-size: 1.05rem;
  line-height: 1;
  margin: 0;
}
.social-btn i::before{
  display: block;
  line-height: 1;
}
.social-btn:hover{
  color: var(--ivory);
  border-color: var(--gold-light);
  background: rgba(232,220,200,.12);
}

/* ---------- Floating actions ---------- */
.floating-actions{
  position: fixed;
  right: 1.1rem;
  bottom: 1.25rem;
  z-index: 1040;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .75rem;
  pointer-events: none;
}
.floating-actions > *{
  pointer-events: auto;
}
.floating-top{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: var(--maroon-dark);
  font-size: 1.2rem;
  line-height: 1;
  box-shadow: 0 6px 18px rgba(45, 27, 18, .18);
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
  visibility: hidden;
  transition:
    opacity .22s ease,
    transform .22s ease,
    visibility .22s ease,
    background .2s ease,
    box-shadow .2s ease;
}
.floating-top.is-visible{
  opacity: 1;
  transform: none;
  visibility: visible;
}
.floating-top:hover{
  background: #FFF8EC;
  box-shadow: 0 8px 22px rgba(45, 27, 18, .22);
}
.floating-top:focus-visible{
  outline: 3px solid var(--gold);
  outline-offset: 2px;
}
/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1100px){
  .site-header .navbar-nav{ gap: .08rem .12rem; }
  .site-header .nav-link{ font-size:.82rem; padding: .45rem .7rem !important; }
  .brand .logo{ height:48px; max-height:48px; }
  .nav-cta{ padding: .48rem 1.05rem !important; font-size: .82rem; }
}

@media (min-width: 992px) and (max-width: 1199.98px){
  .site-header .navbar-nav{ gap: .05rem .1rem; }
  .site-header .nav-link{ font-size:.8rem; padding: .45rem .6rem !important; }
  .nav-cta{ padding:.48rem .95rem !important; font-size:.8rem; }
  .brand .logo{ height:46px; max-height:46px; }
}

@media (max-width: 991.98px){
  .info-strip-track{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid{
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 640px){
  .slider-btn{ width:36px; height:36px; font-size:1.3rem; }
  .slider-dots{ bottom:.8rem; }
  .slider-counter{ bottom:.8rem; right:.8rem; }
  .hero-fallback{ min-height: 220px; }
  .info-strip{ padding: .65rem 0; }
  .info-strip-track{
    display:flex;
    grid-template-columns: none;
    gap: .55rem;
    padding: 0 1rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .info-strip-track::-webkit-scrollbar{ display:none; }
  .info-pill{
    flex: 0 0 auto;
    scroll-snap-align: start;
    gap: .45rem;
    padding: .35rem .7rem .35rem .55rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(232,201,201,.18);
    border-radius: 999px;
    white-space: nowrap;
  }
  .info-icon{ font-size:1rem; width:1.15rem; }
  .info-pill strong{ font-size:.72rem; line-height:1.2; }
  .info-pill small{ font-size:.68rem; line-height:1.2; }
  .site-footer{ padding: 2.4rem 1.2rem 0; }
  .footer-grid{ padding-bottom: 1.75rem; }
  .footer-bottom{
    flex-direction: column;
    align-items: flex-start;
    padding: .95rem 0 1.15rem;
  }
  .floating-actions{
    right: .85rem;
    bottom: 1rem;
    gap: .65rem;
  }
  .floating-top{
    width: 2.55rem;
    height: 2.55rem;
    font-size: 1.1rem;
  }
}


.tab-content .form-group {
    margin-bottom: 15px;
}
.tab-content h4 {
    margin: 20px 0;
}