/* ============================================================
   Divine Astro — Puja Pages CSS
   File: static/css/puja_pages.css
   Add in base.html: <link rel="stylesheet" href="{{ url_for('static', filename='css/puja_pages.css') }}">
   ============================================================ */

/* ===== Hero / Page Header ===== */
.puja-hero {
  background: linear-gradient(135deg, #7a1f1f 0%, #c97000 100%);
  color: #fff;
  padding: 50px 0 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.puja-hero::before {
  content: "ॐ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 22rem;
  opacity: 0.05;
  font-family: 'Cinzel', serif;
  pointer-events: none;
}
.puja-hero__title {
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  margin: 12px 0 6px;
  text-shadow: 0 2px 10px rgba(0,0,0,.3);
}
.puja-hero__sub {
  font-size: 1.05rem;
  opacity: 0.92;
  margin: 0 0 4px;
}
.puja-hero__en {
  font-size: 0.85rem;
  opacity: 0.7;
  font-style: italic;
  letter-spacing: 1px;
  margin: 0;
}

/* ===== Breadcrumb ===== */
.breadcrumb {
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 0.85rem;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.breadcrumb a {
  color: #ffe9c2;
  transition: color .2s;
}
.breadcrumb a:hover { color: #fff; text-decoration: underline; }
.breadcrumb span { color: rgba(255,255,255,.5); }
.breadcrumb .current { color: #fff; font-weight: 500; }

/* ===== Page Layout (content + sidebar) ===== */
.puja-section {
  padding: 40px 0 60px;
  background: #fffaf2;
}
.puja-section .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 24px;
  align-items: start;
}
.blog-detail-section .container {
  width: min(100% - 24px, 1760px);
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 36px;
}

/* ===== Content Block ===== */
.puja-content {
  background: #fff;
  border-radius: 14px;
  padding: 30px 32px;
  box-shadow: 0 6px 24px rgba(122, 31, 31, 0.08);
  border-top: 4px solid #f08a00;
  min-width: 0;
}
.puja-content p {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
  margin: 0 0 16px;
}
.puja-content h3 {
  color: #7a1f1f;
  font-size: 1.35rem;
  margin: 28px 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px dashed #e8d8c2;
  position: relative;
  padding-left: 26px;
}
.puja-content h3::before {
  content: "✦";
  position: absolute;
  left: 0;
  color: #f08a00;
  font-size: 1.2rem;
}
.puja-content ul,
.puja-content ol {
  padding-left: 22px;
  margin: 12px 0 20px;
}
.puja-content ul li,
.puja-content ol li {
  margin: 8px 0;
  line-height: 1.7;
  color: #444;
}
.puja-content ul li::marker { color: #f08a00; }
.puja-content ol li::marker { color: #f08a00; font-weight: 700; }
.puja-content strong { color: #7a1f1f; }
.puja-content em { color: #6b5c54; font-style: italic; }
.puja-content blockquote.puja-mantra {
  background: linear-gradient(135deg, #fff7e8, #ffe9c2);
  border-left: 4px solid #c9a227;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  font-family: 'Cinzel', serif;
  color: #7a1f1f;
  font-size: 1.05rem;
  text-align: center;
  font-style: italic;
  box-shadow: 0 4px 12px rgba(201, 162, 39, 0.15);
}

.puja-photo {
  margin: 0 0 24px;
  border-radius: 14px;
  overflow: hidden;
  background: #fff7e8;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 500px;
  box-shadow: 0 8px 24px rgba(122, 31, 31, 0.12);
}

.puja-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ===== FAQ ===== */
.puja-faq {
  margin: 18px 0;
}
.puja-faq dt {
  background: #fff7e8;
  color: #7a1f1f;
  font-weight: 600;
  padding: 12px 16px;
  border-radius: 8px;
  margin-top: 12px;
  cursor: pointer;
  position: relative;
  border-left: 3px solid #f08a00;
}
.puja-faq dt::before {
  content: "Q. ";
  color: #f08a00;
  font-weight: 700;
}
.puja-faq dd {
  padding: 10px 16px 14px 32px;
  margin: 0;
  color: #444;
  line-height: 1.7;
  border-left: 1px dashed #e8d8c2;
  margin-left: 8px;
}

/* ===== CTA Block (har page ke neeche) ===== */
.puja-cta {
  margin-top: 32px;
  padding: 24px;
  background: linear-gradient(135deg, #fff7e8, #ffe9c2);
  border-radius: 14px;
  text-align: center;
  border: 2px dashed #f08a00;
}
.puja-cta p {
  margin: 6px 0;
  color: #7a1f1f;
  font-size: 1rem;
}
.puja-cta strong { color: #c97000; }
.puja-phone {
  font-size: 1.4rem;
  font-weight: 700;
  color: #f08a00;
  letter-spacing: 1px;
  text-decoration: none;
  display: inline-block;
  margin: 4px 0 12px;
}
.puja-phone:hover { color: #c97000; text-decoration: underline; }
.btn-lg {
  padding: 14px 32px;
  font-size: 1.05rem;
  background: #f08a00;
  color: #fff;
  border-radius: 50px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  box-shadow: 0 6px 18px rgba(240, 138, 0, 0.4);
  transition: all .25s;
}
.btn-lg:hover {
  background: #c97000;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(240, 138, 0, 0.55);
  color: #fff;
}

/* ===== Sidebar ===== */
.puja-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 80px;
}
.puja-sidebar__card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  border-top: 3px solid #c9a227;
}
.puja-sidebar__card h4 {
  color: #7a1f1f;
  font-family: 'Cinzel', serif;
  margin: 0 0 14px;
  font-size: 1.1rem;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8d8c2;
}
.puja-sidebar__card p {
  color: #6b5c54;
  font-size: 0.9rem;
  margin: 0 0 12px;
}
.puja-sidebar__card .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 0.92rem;
}

.puja-sidebar__related ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.puja-sidebar__related li {
  border-bottom: 1px dashed #f0e6d6;
}
.puja-sidebar__related li:last-child { border-bottom: none; }
.puja-sidebar__related a {
  display: block;
  padding: 9px 4px 9px 18px;
  color: #555;
  font-size: 0.9rem;
  position: relative;
  transition: all .2s;
}
.puja-sidebar__related a::before {
  content: "›";
  position: absolute;
  left: 4px;
  color: #f08a00;
  font-weight: 700;
}
.puja-sidebar__related a:hover {
  color: #7a1f1f;
  background: #fff7e8;
  padding-left: 22px;
  border-radius: 4px;
}
.sidebar-blog-list {
  display: grid;
  gap: 10px;
}
.sidebar-blog-card {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 12px !important;
  border: 1px solid #f0e2cd;
  border-radius: 8px !important;
  background: #fffaf2;
  color: #3f3329 !important;
}
.sidebar-blog-card::before {
  content: none !important;
}
.sidebar-blog-card:hover {
  padding-left: 12px !important;
  background: #fff4dd !important;
  border-color: #e4c79d;
}
.sidebar-blog-card__media {
  display: block;
  width: 82px;
  height: 70px;
  border-radius: 7px;
  overflow: hidden;
  background: #f5ead7;
}
.sidebar-blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sidebar-blog-card__body {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.sidebar-blog-card em {
  color: #c97000;
  font-size: 0.68rem;
  font-weight: 800;
  font-style: normal;
  text-transform: uppercase;
}
.sidebar-blog-card strong {
  color: #651818;
  font-size: 0.86rem;
  line-height: 1.32;
}
.sidebar-blog-card small {
  color: #6b5c54;
  font-size: 0.74rem;
  line-height: 1.45;
}
.blog-sidebar-more {
  margin-top: 14px;
}
.blog-sidebar-enquiry-card {
  margin-top: 16px;
  background: linear-gradient(135deg, #fff7e8, #fff);
  border-color: rgba(240, 138, 0, 0.25);
}
.blog-sidebar-enquiry-card p {
  margin-bottom: 14px;
}
.blog-sidebar-enquiry {
  margin-top: 0;
}
.blog-detail-sidebar {
  position: sticky;
}
.blog-sidebar-dismiss,
.puja-sidebar-dismiss {
  align-self: flex-end;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(122, 31, 31, 0.18);
  border-radius: 50%;
  background: #fff;
  color: #7a1f1f;
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.blog-sidebar-dismiss:hover,
.puja-sidebar-dismiss:hover {
  background: #fff7e8;
  border-color: rgba(122, 31, 31, 0.35);
}
.blog-detail-section.is-sidebar-below .container {
  grid-template-columns: minmax(0, 1fr);
}
.blog-detail-section.is-sidebar-below .blog-detail-sidebar {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: 18px;
}
.blog-detail-section.is-sidebar-below .blog-sidebar-dismiss {
  display: none;
}
.blog-detail-section.is-sidebar-below .blog-sidebar-enquiry-card {
  margin-top: 0;
}
.puja-detail-section.is-sidebar-below .container {
  grid-template-columns: minmax(0, 1fr);
}
.puja-detail-section.is-sidebar-below .puja-sidebar {
  position: static;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
  gap: 18px;
}
.puja-detail-section.is-sidebar-below .puja-sidebar-dismiss {
  display: none;
}

/* ===== Modern FAQ Block ===== */
.puja-modern-faq {
  margin-top: 34px;
  padding: 24px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fffaf2, #fff2d8);
  border: 1px solid #ecd4ad;
}

.puja-modern-faq__head {
  text-align: center;
  margin-bottom: 18px;
}

.puja-modern-faq__head span {
  display: inline-flex;
  padding: 5px 12px;
  border-radius: 999px;
  background: #fff;
  color: #c97000;
  font-size: 0.76rem;
  font-weight: 800;
}

.puja-modern-faq__head h2 {
  margin: 10px 0 6px;
  color: #7a1f1f;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
}

.puja-modern-faq__head p {
  max-width: 620px;
  margin: 0 auto;
  color: #6b5c54;
}

.puja-modern-faq__items {
  display: grid;
  gap: 10px;
}

.puja-modern-faq details {
  background: #fff;
  border: 1px solid #f0e2cc;
  border-radius: 10px;
  overflow: hidden;
}

.puja-modern-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 15px 48px 15px 16px;
  font-weight: 700;
  color: #7a1f1f;
  position: relative;
}

.puja-modern-faq summary::-webkit-details-marker {
  display: none;
}

.puja-modern-faq summary::after {
  content: "+";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff7e8;
  color: #c97000;
}

.puja-modern-faq details[open] summary::after {
  content: "-";
  background: #f08a00;
  color: #fff;
}

.puja-modern-faq p {
  margin: 0;
  padding: 0 16px 16px;
  color: #444;
  line-height: 1.75;
}

.puja-enquiry-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.puja-enquiry-modal:target {
  display: flex;
}

.puja-enquiry-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(22, 18, 14, 0.62);
  backdrop-filter: blur(4px);
}

.puja-enquiry-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: min(92vh, 760px);
  overflow: auto;
  background: #fffdf8;
  border: 1px solid rgba(180, 122, 48, 0.24);
  border-radius: 12px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.24);
  padding: 26px;
}

.puja-enquiry-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff3df;
  color: #7a1f1f;
  font-size: 1.5rem;
  line-height: 1;
  text-decoration: none;
}

.puja-enquiry-modal__head {
  padding-right: 34px;
  margin-bottom: 18px;
}

.puja-enquiry-modal__head span {
  display: inline-block;
  margin-bottom: 6px;
  color: #a55b0c;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.puja-enquiry-modal__head h2 {
  margin: 0 0 8px;
  color: #7a1f1f;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.2;
}

.puja-enquiry-modal__head p {
  margin: 0;
  color: #5b5147;
  line-height: 1.55;
}

.puja-enquiry-form {
  display: grid;
  gap: 12px;
}

.puja-enquiry-form label {
  color: #3f2b1c;
  font-weight: 700;
  font-size: 0.94rem;
}

.puja-enquiry-form input,
.puja-enquiry-form textarea {
  width: 100%;
  border: 1px solid #ead8bd;
  border-radius: 8px;
  background: #fff;
  color: #2c241d;
  padding: 12px 13px;
  font: inherit;
  outline: none;
}

.puja-enquiry-form input:focus,
.puja-enquiry-form textarea:focus {
  border-color: #c77919;
  box-shadow: 0 0 0 3px rgba(199, 121, 25, 0.14);
}

/* ============================================================
   📱 RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .puja-section .container {
    grid-template-columns: 1fr;
  }
  .puja-sidebar {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 14px;
  }
  .puja-sidebar__card {
    flex: 1 1 280px;
  }
  .puja-detail-section.is-sidebar-below .puja-sidebar {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1200px) {
  .puja-section .container {
    grid-template-columns: 1fr;
  }

  .puja-sidebar {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .puja-content {
    padding: 26px 24px;
  }
}

@media (min-width: 1201px) and (max-width: 1400px) {
  .puja-section .container {
    width: min(100% - 28px, 1240px);
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 20px;
  }

  .puja-content {
    padding: 26px 24px;
  }
}

@media (max-width: 600px) {
  .puja-hero { padding: 36px 0 28px; }
  .puja-hero::before { font-size: 14rem; }

  .puja-content {
    padding: 20px 16px;
    border-radius: 10px;
  }

  .puja-photo {
    aspect-ratio: 4 / 3;
    max-height: 340px;
    border-radius: 10px;
    margin-bottom: 18px;
  }

  .puja-section {
    padding: 30px 0 42px;
  }

  .puja-section .container {
    gap: 20px;
  }
  .puja-content h3 {
    font-size: 1.15rem;
    padding-left: 22px;
  }
  .puja-content p,
  .puja-content li { font-size: 0.94rem; }

  .puja-cta {
    padding: 18px 14px;
  }
  .puja-phone { font-size: 1.2rem; }
  .btn-lg {
    padding: 12px 22px;
    font-size: 0.95rem;
    width: 100%;
    justify-content: center;
  }

  .puja-faq dt { font-size: 0.92rem; padding: 10px 12px; }
  .puja-faq dd { padding: 8px 12px 12px 24px; font-size: 0.9rem; }

  .puja-sidebar {
    display: flex;
    flex-direction: column;
  }

  .puja-modern-faq {
    padding: 18px 12px;
  }

  .puja-modern-faq summary {
    padding: 13px 42px 13px 12px;
    font-size: 0.93rem;
  }

  .puja-modern-faq p {
    padding: 0 12px 14px;
    font-size: 0.9rem;
  }

  .puja-enquiry-modal {
    align-items: flex-end;
    padding: 10px;
  }

  .puja-enquiry-modal__dialog {
    max-height: 94vh;
    padding: 22px 16px;
    border-radius: 12px 12px 10px 10px;
  }
}

/* Phone "Desktop site" mode for puja/contact/admin page-specific layout only. */
@media (pointer: coarse) and (min-width: 700px) and (max-width: 1200px),
       (min-width: 700px) and (max-width: 1180px) {
  .contact-list {
    font-size: 0.82rem !important;
    line-height: 1.55 !important;
    padding: 18px !important;
    margin: 0 !important;
  }

  .contact-form.glass-form {
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 !important;
    padding: 18px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .contact-form.glass-form label {
    font-size: 0.78rem !important;
    margin-bottom: 3px !important;
  }

  .contact-form.glass-form input,
  .contact-form.glass-form textarea {
    padding: 8px 9px !important;
    margin-bottom: 8px !important;
    font-size: 0.8rem !important;
  }

  .contact-form .btn-submit {
    padding: 9px 12px !important;
    font-size: 0.82rem !important;
  }

  .nav__burger {
    display: none !important;
  }

  .nav,
  .nav__row,
  .nav__item {
    overflow: visible !important;
  }

  .nav__row {
    padding: 9px 0 !important;
    gap: 8px !important;
  }

  .brand img {
    width: 185px !important;
    height: 56px !important;
  }

  .nav__menu {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    border-top: 0 !important;
  }

  .nav__menu.is-open {
    display: flex !important;
  }

  .nav__menu > a,
  .nav__item > a {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    font-size: 0.58rem !important;
    padding: 5px 6px !important;
    white-space: nowrap !important;
    border-bottom: 0 !important;
    border-radius: 999px !important;
  }

  .nav__item {
    width: auto !important;
    position: relative !important;
  }

  .nav__item > a .caret {
    display: inline-block !important;
    margin-left: 2px !important;
    transition: transform .2s ease !important;
  }

  .dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 220px !important;
    max-height: 70vh !important;
    display: none !important;
    overflow-y: auto !important;
    padding: 8px 0 !important;
    margin-top: 0 !important;
    border-top: 3px solid var(--saffron) !important;
    border-radius: 0 0 10px 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(122, 31, 31, .15) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(8px) !important;
    pointer-events: none !important;
  }

  .nav__item:hover > .dropdown,
  .nav__item:focus-within > .dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .nav__item:hover > a .caret,
  .nav__item:focus-within > a .caret {
    transform: rotate(180deg) !important;
  }

  .dropdown a {
    display: block !important;
    font-size: 0.68rem !important;
    padding: 9px 14px !important;
    white-space: nowrap !important;
  }

  .nav__item:hover .dropdown,
  .nav__item:focus-within .dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .admin {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    min-height: 100vh !important;
  }

  .admin__sidebar {
    display: block !important;
    overflow-x: visible !important;
    padding: 14px 0 !important;
  }

  .admin__sidebar h3 {
    padding: 0 12px !important;
    font-size: 0.9rem !important;
  }

  .admin__nav {
    display: flex !important;
    flex-direction: column !important;
  }

  .admin__nav a {
    padding: 8px 12px !important;
    border-left: 3px solid transparent !important;
    border-bottom: 0 !important;
    font-size: 0.72rem !important;
    white-space: nowrap !important;
  }

  .admin__nav a.is-active {
    border-left-color: var(--saffron) !important;
    border-bottom: 0 !important;
  }

  .admin__main {
    padding: 14px !important;
    overflow-x: auto !important;
  }

  .admin__head {
    flex-direction: row !important;
    align-items: center !important;
    margin-bottom: 12px !important;
  }

  .admin__head h2 {
    font-size: 1.1rem !important;
  }

  .admin .grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .admin .card__body {
    padding: 12px !important;
  }

  .admin .trust__num {
    font-size: 1.1rem !important;
  }

  .admin .trust__label,
  .admin .table,
  .admin-inline-form,
  .admin .btn,
  .admin .badge {
    font-size: 0.72rem !important;
  }

  .admin .table {
    min-width: 620px !important;
  }

  .admin .table th,
  .admin .table td {
    padding: 6px 7px !important;
  }

  .admin-inline-form {
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
    gap: 8px !important;
  }

  .admin-inline-form input {
    padding: 7px 8px !important;
  }
}

/* Blog detail: keep wider desktop-style layout on phone desktop mode. */
@media (pointer: coarse) and (min-width: 700px) and (max-width: 1200px),
       (min-width: 700px) and (max-width: 1200px) {
  .blog-detail-section .container {
    width: min(100% - 14px, 1760px) !important;
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 20px !important;
    align-items: start !important;
  }

  .blog-detail-section .puja-sidebar {
    position: static !important;
    display: block !important;
  }

  .blog-detail-section .puja-content {
    padding: 24px 22px !important;
  }
}

/* Final contact-page override for phone "Desktop site" mode.
   Kept at the actual end so it wins over all earlier responsive rules. */
@media (min-width: 700px) and (max-width: 1200px) {
  .contact-page-grid {
    display: grid !important;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr) !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .contact-page-grid > div,
  .contact-page-grid > form {
    min-width: 0 !important;
  }

  .contact-list {
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    padding: 18px !important;
    margin: 0 !important;
  }

  .contact-list li {
    margin-bottom: 10px !important;
  }

  .contact-form.glass-form {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 !important;
    padding: 18px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .contact-form.glass-form label {
    font-size: 0.78rem !important;
    margin-bottom: 3px !important;
  }

  .contact-form.glass-form input,
  .contact-form.glass-form textarea {
    padding: 8px 9px !important;
    margin-bottom: 8px !important;
    font-size: 0.8rem !important;
  }

  .contact-form .btn-submit {
    padding: 9px 12px !important;
    font-size: 0.82rem !important;
  }

}

/* Final blog sidebar close behavior override. */
.blog-detail-section.is-sidebar-below .container {
  grid-template-columns: minmax(0, 1fr) !important;
}
.blog-detail-section.is-sidebar-below .blog-detail-sidebar {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr) !important;
  gap: 18px !important;
}
.blog-detail-section.is-sidebar-below .blog-sidebar-dismiss {
  display: none !important;
}
.blog-detail-section.is-sidebar-below .blog-sidebar-enquiry-card {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  .blog-detail-section.is-sidebar-below .blog-detail-sidebar {
    grid-template-columns: 1fr !important;
  }
}

/* Final puja sidebar close behavior override. */
.puja-detail-section.is-sidebar-below .container {
  grid-template-columns: minmax(0, 1fr) !important;
}
.puja-detail-section.is-sidebar-below .puja-sidebar {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr) !important;
  gap: 18px !important;
  margin-top: 0 !important;
}
.puja-detail-section.is-sidebar-below .puja-sidebar-dismiss {
  display: none !important;
}
@media (max-width: 760px) {
  .puja-detail-section.is-sidebar-below .puja-sidebar {
    grid-template-columns: 1fr !important;
  }
}

/* Final compact side spacing for Blog and Puja pages */
.blog-hero .container,
.puja-hero .container,
.blog-section .container,
.blog-detail-section .container,
.puja-section .container {
  width: min(100% - 10px, 1760px) !important;
}

.blog-section {
  padding-top: 38px !important;
}

.puja-section {
  padding-top: 30px !important;
}

.puja-section .container {
  gap: 18px !important;
}

.blog-detail-section .container {
  gap: 24px !important;
}

.puja-content,
.blog-detail {
  padding-left: clamp(10px, 1.4vw, 22px) !important;
  padding-right: clamp(10px, 1.4vw, 22px) !important;
}

.blog-search {
  padding-left: clamp(10px, 1.2vw, 16px) !important;
  padding-right: clamp(10px, 1.2vw, 16px) !important;
}

.blog-card {
  gap: 20px !important;
}

.blog-card__body {
  padding: 22px 20px 22px 0 !important;
}

@media (max-width: 760px) {
  .blog-hero .container,
  .puja-hero .container,
  .blog-section .container,
  .blog-detail-section .container,
  .puja-section .container {
    width: min(100% - 8px, 1760px) !important;
  }

  .blog-section,
  .puja-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .puja-content,
  .blog-detail,
  .blog-card__body,
  .blog-search {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .blog-card {
    gap: 0 !important;
  }
}

/* Final header guard for page-specific CSS: mobile drawer only at 768px and below. */
@media (max-width: 768px) {
  .nav,
  .nav__row,
  .nav__item {
    overflow: visible !important;
  }

  .nav__row {
    width: min(100% - 24px, 1480px) !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    position: relative !important;
  }

  .brand {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 54px) !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .brand img {
    width: min(60vw, 270px) !important;
    height: auto !important;
    max-height: 64px !important;
  }

  .nav__burger {
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    margin-left: auto !important;
    position: relative !important;
    z-index: 4 !important;
  }

  .nav__menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 12px 14px !important;
    border-top: 2px solid var(--saffron) !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
    box-shadow: 0 16px 34px rgba(122, 31, 31, .16) !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 82px) !important;
    z-index: 150 !important;
  }

  .nav__menu.is-open {
    display: flex !important;
  }

  .nav__menu > a,
  .nav__item > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 12px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    font-size: 1rem !important;
    font-weight: 650 !important;
    line-height: 1.28 !important;
    white-space: normal !important;
    transform: none !important;
  }

  .nav__menu > a {
    justify-content: flex-start !important;
  }

  .nav__item > a {
    justify-content: space-between !important;
  }

  .nav__item {
    width: 100% !important;
    position: relative !important;
  }

  .nav__menu > a::before,
  .nav__menu > a::after,
  .nav__item > a::before,
  .nav__item > a::after {
    content: none !important;
  }

  .dropdown {
    position: static !important;
    display: none !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 4px 0 6px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .nav__item.is-dropdown-open > .dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .dropdown a {
    display: block !important;
    padding: 9px 12px !important;
    font-size: 0.94rem !important;
    white-space: normal !important;
  }
}

@media (min-width: 769px) {
  .nav__burger {
    display: none !important;
  }

  .nav__menu > a,
  .nav__item > a {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-color: transparent !important;
  }

  .nav__menu > a::before,
  .nav__item > a::before {
    content: "" !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: inherit !important;
    background:
      radial-gradient(circle at 18% 50%, rgba(255, 255, 255, 0.55) 0 7px, transparent 8px),
      radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.42) 0 6px, transparent 7px),
      radial-gradient(circle at 82% 55%, rgba(255, 255, 255, 0.38) 0 7px, transparent 8px),
      rgba(255, 255, 255, 0.16) !important;
    background-size: 180% 180%, 160% 160%, 190% 190%, 100% 100% !important;
    animation: navBubbleGlow 3.2s ease-in-out infinite !important;
    z-index: -2 !important;
  }

  .nav__menu > a::after,
  .nav__item > a::after {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    border-radius: inherit !important;
    background: rgba(255, 255, 255, 0.92) !important;
    z-index: -1 !important;
  }
}

/* Mobile nav dropdown full-width open */
@media (max-width: 768px) {
  .nav__item.is-dropdown-open {
    background: #fff7e8 !important;
    border-bottom: 1px solid var(--line) !important;
  }

  .nav__item.is-dropdown-open > .nav__dropdown-toggle {
    border-bottom-color: rgba(122, 31, 31, 0.12) !important;
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  .nav__item.is-dropdown-open > .nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }

  .nav__item.is-dropdown-open > .dropdown {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fffaf2 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nav__item.is-dropdown-open > .dropdown li {
    width: 100% !important;
  }

  .nav__item.is-dropdown-open > .dropdown a {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 11px 12px 11px 34px !important;
    border-bottom: 1px solid rgba(232, 216, 194, 0.78) !important;
    color: var(--ink) !important;
    font-size: 0.95rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
}

@media (max-width: 480px) {
  .nav__item.is-dropdown-open > .dropdown a {
    padding-left: 24px !important;
    font-size: 0.92rem !important;
  }
}

/* Phone top header language select fix */
@media (max-width: 720px) {
  .topbar {
    font-size: 0.72rem !important;
    padding: 5px 0 !important;
    overflow: visible !important;
  }

  .topbar__row {
    width: min(100% - 14px, 1480px) !important;
    align-items: center !important;
    gap: 5px 8px !important;
  }

  .topbar__left {
    flex: 1 1 120px !important;
    min-width: 0 !important;
  }

  .topbar__right {
    flex: 0 0 auto !important;
    gap: 5px !important;
  }

  .topbar__tagline {
    max-width: min(48vw, 180px) !important;
    line-height: 1.25 !important;
  }

  .google-translate-wrap {
    max-width: none !important;
    min-width: 118px !important;
    margin-right: 0 !important;
    gap: 4px !important;
  }

  #google_translate_element,
  #google_translate_element .goog-te-gadget {
    max-width: none !important;
  }

  .goog-te-combo,
  #google_translate_element .goog-te-gadget .goog-te-combo {
    width: 108px !important;
    max-width: 108px !important;
    min-width: 108px !important;
    height: 27px !important;
    min-height: 27px !important;
    padding: 3px 5px !important;
    font-size: 0.68rem !important;
    line-height: 1.15 !important;
    border-radius: 6px !important;
  }
}

@media (max-width: 380px) {
  .topbar__tagline {
    max-width: 112px !important;
  }

  .google-translate-wrap {
    min-width: 104px !important;
  }

  .goog-te-combo,
  #google_translate_element .goog-te-gadget .goog-te-combo {
    width: 98px !important;
    max-width: 98px !important;
    min-width: 98px !important;
    height: 25px !important;
    min-height: 25px !important;
    font-size: 0.62rem !important;
  }
}

/* Phone blog/puja pages: tighter side gutters */
@media (max-width: 720px) {
  .puja-hero .container,
  .blog-hero .container,
  .puja-section .container,
  .blog-section .container,
  .blog-detail-section .container {
    width: min(100% - 4px, 1760px) !important;
  }

  .puja-section,
  .blog-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .puja-content,
  .blog-detail,
  .blog-card__body,
  .blog-search,
  .puja-sidebar__card,
  .puja-modern-faq {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .puja-content,
  .blog-detail {
    border-radius: 8px !important;
  }

  .blog-card {
    border-radius: 8px !important;
  }
}

@media (max-width: 380px) {
  .puja-hero .container,
  .blog-hero .container,
  .puja-section .container,
  .blog-section .container,
  .blog-detail-section .container {
    width: min(100% - 2px, 1760px) !important;
  }

  .puja-content,
  .blog-detail,
  .blog-card__body,
  .blog-search,
  .puja-sidebar__card,
  .puja-modern-faq {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* Final blog hero text polish only. */
.blog-hero .container {
  width: min(100% - 28px, 1180px) !important;
  text-align: center !important;
}

.blog-hero h1 {
  color: #fff7e8 !important;
  font-size: clamp(2.15rem, 5vw, 3.35rem) !important;
  line-height: 1.06 !important;
  margin-bottom: 12px !important;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.18) !important;
}

.blog-hero p {
  max-width: 760px !important;
  margin: 0 auto 22px !important;
  color: #fff2d8 !important;
  font-size: clamp(0.98rem, 2vw, 1.16rem) !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.14) !important;
}

.blog-search--hero {
  width: 100% !important;
  max-width: 980px !important;
  margin: 24px auto 0 !important;
  padding: 13px !important;
  border: 1px solid rgba(255, 242, 216, 0.22) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 16px 34px rgba(39, 13, 13, 0.18) !important;
  backdrop-filter: blur(10px) !important;
}

.blog-search--hero label {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border: 0 !important;
  color: rgba(255, 247, 232, 0.96) !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.blog-search--hero .blog-search__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 10px !important;
  align-items: center !important;
}

.blog-search--hero input {
  min-height: 48px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #3f3329 !important;
  box-shadow: inset 0 0 0 1px rgba(122, 31, 31, 0.10) !important;
  font-size: 0.96rem !important;
}

.blog-search--hero input::placeholder {
  color: #8c7a6a !important;
}

.blog-search--hero .btn {
  min-height: 48px !important;
  padding: 10px 18px !important;
  border-radius: 11px !important;
  font-size: 0.94rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.blog-search--hero .btn-primary,
.blog-search--sidebar .btn-primary {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #fff7e8 !important;
}

.blog-search--hero .btn-primary:hover,
.blog-search--sidebar .btn-primary:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}

.blog-search--sidebar .btn-primary {
  color: var(--maroon) !important;
}

.blog-search--sidebar .btn-primary:hover {
  background: rgba(122, 31, 31, 0.08) !important;
  color: var(--maroon) !important;
}

@media (max-width: 560px) {
  .blog-hero p {
    max-width: 92% !important;
  }

  .blog-search--hero {
    width: min(100%, 94%) !important;
    padding: 10px !important;
  }

  .blog-search--hero .blog-search__row {
    grid-template-columns: 1fr !important;
  }

  .blog-search--hero .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Final blog image sizing: consistent thumbnails and detail photo frame. */
.blog-list .blog-card {
  align-items: stretch !important;
}

.blog-list .blog-card__media {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  background: #f5ead7 !important;
}

.blog-list .blog-card__media img,
.blog-detail__photo img,
.sidebar-blog-card__media img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
}

.blog-detail__photo {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 8.5 !important;
  margin-bottom: 24px !important;
}

.sidebar-blog-card__media {
  width: 84px !important;
  height: 68px !important;
  aspect-ratio: 21 / 17 !important;
  flex: 0 0 84px !important;
}

@media (min-width: 901px) {
  .blog-list .blog-card {
    grid-template-columns: minmax(280px, 34%) minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  .blog-list .blog-card {
    grid-template-columns: 1fr !important;
  }

  .blog-list .blog-card__media {
    aspect-ratio: 16 / 9 !important;
  }

  .blog-detail__photo {
    aspect-ratio: 16 / 9 !important;
  }
}

@media (max-width: 600px) {
  .blog-list .blog-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  .blog-detail__photo {
    aspect-ratio: 4 / 3 !important;
  }
}

/* Page-specific final guard: keep hamburger navigation at 768px and below. */
@media (max-width: 768px) {
  .nav__row {
    width: min(100% - 14px, 1480px) !important;
    min-height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    position: relative !important;
  }

  .brand {
    flex: 1 1 auto !important;
    max-width: calc(100% - 54px) !important;
    position: relative !important;
    z-index: 3 !important;
  }

  .brand img {
    width: min(62vw, 250px) !important;
    height: auto !important;
    max-height: 60px !important;
  }

  .nav__burger {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .nav__menu {
    position: absolute !important;
    top: 100% !important;
    left: calc(-1 * ((100vw - 100%) / 2)) !important;
    right: calc(-1 * ((100vw - 100%) / 2)) !important;
    width: 100vw !important;
    max-height: calc(100vh - 72px) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 12px 14px 16px !important;
    border-top: 2px solid var(--saffron) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 16px 34px rgba(122, 31, 31, .16) !important;
    overflow-y: auto !important;
    z-index: 150 !important;
  }

  .nav__menu.is-open {
    display: flex !important;
  }

  .nav__menu > a,
  .nav__item > a {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: flex-start !important;
    padding: 12px 10px !important;
    border-bottom: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    font-size: 1rem !important;
    line-height: 1.28 !important;
    text-align: left !important;
    white-space: normal !important;
  }
}

/* Final mobile drawer/dropdown lock: full width and visible submenu links. */
@media (max-width: 768px) {
  .nav,
  .nav__row {
    overflow: visible !important;
  }

  .nav__row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nav__menu,
  #navMenu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
    background: #fffdf8 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .nav__menu.is-open,
  #navMenu.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .nav__menu.is-open > a,
  .nav__menu.is-open .nav__item,
  .nav__menu.is-open .nav__item > a {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .nav__menu.is-open .nav__item > a,
  .nav__menu.is-open > a {
    min-height: 56px !important;
    padding: 14px 20px !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(232, 216, 194, 0.9) !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: var(--ink) !important;
    font-size: 1rem !important;
    font-weight: 750 !important;
  }

  .nav__menu.is-open .nav__dropdown-toggle {
    justify-content: space-between !important;
  }

  .nav__menu.is-open .nav__item > .dropdown {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .nav__menu.is-open .nav__item.is-dropdown-open > .dropdown {
    display: block !important;
  }

  .nav__menu.is-open .dropdown li,
  .nav__menu.is-open .dropdown a {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nav__menu.is-open .dropdown a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 11px 20px 11px 44px !important;
    border-bottom: 1px solid rgba(232, 216, 194, 0.75) !important;
    color: #3f3329 !important;
    background: transparent !important;
    font-size: 0.93rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .nav__item.is-dropdown-open > .nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  .nav__item.is-dropdown-open > .nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }
}

/* Compact phone drawer: below 768px keep menu lighter in width and height. */
@media (max-width: 768px) {
  .nav__menu,
  #navMenu {
    left: 50% !important;
    right: auto !important;
    width: min(calc(100vw - 22px), 430px) !important;
    max-width: min(calc(100vw - 22px), 430px) !important;
    transform: translateX(-50%) !important;
    border-radius: 0 0 10px 10px !important;
    max-height: calc(100dvh - 86px) !important;
  }

  .nav__menu.is-open .nav__item > a,
  .nav__menu.is-open > a {
    min-height: 46px !important;
    padding: 10px 16px !important;
    font-size: 0.9rem !important;
    line-height: 1.2 !important;
  }

  .nav__menu.is-open .dropdown a {
    min-height: 38px !important;
    padding: 9px 16px 9px 36px !important;
    font-size: 0.84rem !important;
  }
}

@media (max-width: 420px) {
  .nav__menu,
  #navMenu {
    width: min(calc(100vw - 18px), 360px) !important;
    max-width: min(calc(100vw - 18px), 360px) !important;
  }

  .nav__menu.is-open .nav__item > a,
  .nav__menu.is-open > a {
    min-height: 42px !important;
    padding: 9px 14px !important;
    font-size: 0.86rem !important;
  }

  .nav__menu.is-open .dropdown a {
    min-height: 36px !important;
    padding: 8px 14px 8px 30px !important;
    font-size: 0.8rem !important;
  }
}

/* Final About photo mobile/tablet portrait size: not full-width, 3.5 / 4.5 frame. */
@media (min-width: 769px) and (max-width: 1024px) {
  .home-about-section .home-about-media,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-media {
    width: min(34vw, 300px) !important;
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 52px !important;
  }

  .home-about-section .home-about-photo,
  body:has(.hero) .home-about-section .home-about-photo,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3.5 / 4.5 !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .home-about-section .home-about-photo-badge,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge {
    width: min(235px, 86%) !important;
    right: 50% !important;
    bottom: 0 !important;
    transform: translateX(50%) !important;
    padding: 12px 14px !important;
  }
}

@media (max-width: 768px) {
  .home-about-section .home-about-media,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-media {
    width: min(48vw, 220px) !important;
    max-width: 220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-bottom: 46px !important;
    overflow: visible !important;
  }

  .home-about-section .home-about-photo,
  body:has(.hero) .home-about-section .home-about-photo,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3.5 / 4.5 !important;
    object-fit: cover !important;
    object-position: top center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .home-about-section .home-about-photo-badge,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge {
    width: min(190px, 86%) !important;
    right: 50% !important;
    bottom: 0 !important;
    transform: translateX(50%) !important;
    padding: 11px 13px !important;
  }
}

@media (max-width: 420px) {
  .home-about-section .home-about-media,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-media {
    width: min(58vw, 190px) !important;
    max-width: 190px !important;
    padding-bottom: 42px !important;
  }

  .home-about-section .home-about-photo-badge,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge {
    width: min(170px, 88%) !important;
    padding: 9px 11px !important;
  }
}

/* Final hamburger correction: full-width drawer with visible Puja/Other dropdowns. */
@media (max-width: 768px) {
  .nav__menu,
  #navMenu,
  .nav__menu.is-open,
  #navMenu.is-open {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border-radius: 0 !important;
  }

  .nav__menu.is-open,
  #navMenu.is-open {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    background: #fffdf8 !important;
    box-shadow: 0 16px 34px rgba(122, 31, 31, .16) !important;
    max-height: calc(100dvh - 72px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .nav__menu.is-open > a,
  .nav__menu.is-open .nav__item,
  .nav__menu.is-open .nav__item > a {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .nav__menu.is-open > a,
  .nav__menu.is-open .nav__item > a {
    min-height: 50px !important;
    padding: 12px 20px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid rgba(232, 216, 194, 0.9) !important;
    color: var(--ink) !important;
    font-size: 0.96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
  }

  .nav__menu.is-open .nav__dropdown-toggle {
    justify-content: space-between !important;
  }

  .nav__menu.is-open .nav__item > .dropdown,
  .nav__item.is-dropdown-open > .dropdown {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .nav__menu.is-open .nav__item > .dropdown {
    display: none !important;
  }

  .nav__menu.is-open .nav__item.is-dropdown-open > .dropdown {
    display: block !important;
  }

  .nav__menu.is-open .dropdown li,
  .nav__menu.is-open .dropdown a {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nav__menu.is-open .dropdown a {
    display: flex !important;
    align-items: center !important;
    min-height: 42px !important;
    padding: 10px 20px 10px 42px !important;
    border-bottom: 1px solid rgba(232, 216, 194, 0.75) !important;
    background: transparent !important;
    color: #3f3329 !important;
    font-size: 0.88rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  .nav__menu.is-open .nav__item.is-dropdown-open > .nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  .nav__menu.is-open .nav__item.is-dropdown-open > .nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }
}

/* Mobile drawer final safety: dropdown parent visible, submenu only on tap. */
@media (max-width: 768px) {
  #navMenu.is-open .nav__item.has-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown > .nav__dropdown-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(232, 216, 194, .9) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--ink) !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown > .dropdown {
    display: none !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff7e8 !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown > li,
  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown > li > a,
  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown > li > a {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 10px 18px 10px 42px !important;
    border-bottom: 1px solid rgba(232, 216, 194, .8) !important;
    background: #fff7e8 !important;
    color: #2b211b !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-indent: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  #navMenu.is-open .nav__item.has-dropdown:focus-within > .nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }

  #navMenu.is-open .nav__item.has-dropdown:focus-within > .nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }
}

/* Phone home About final size: bigger portrait and one-line name plate. */
@media (max-width: 768px) {
  .home-about-section .home-about-media,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-media {
    width: min(68vw, 270px) !important;
    max-width: 270px !important;
    padding-bottom: 48px !important;
  }

  .home-about-section .home-about-photo,
  body:has(.hero) .home-about-section .home-about-photo,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo {
    width: 100% !important;
    height: auto !important;
    max-height: 345px !important;
    aspect-ratio: 3.5 / 4.5 !important;
  }

  .home-about-section .home-about-photo-badge,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge {
    width: min(255px, 96%) !important;
    padding: 9px 12px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .home-about-section .home-about-photo-badge span,
  .home-about-section .home-about-photo-badge strong,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge span,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge strong {
    display: inline !important;
    white-space: nowrap !important;
  }

  .home-about-section .home-about-photo-badge span,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge span {
    margin-right: 5px !important;
    font-size: .68rem !important;
  }

  .home-about-section .home-about-photo-badge strong,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge strong {
    font-size: clamp(.64rem, 2.7vw, .82rem) !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 420px) {
  .home-about-section .home-about-media,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-media {
    width: min(72vw, 245px) !important;
    max-width: 245px !important;
    padding-bottom: 44px !important;
  }

  .home-about-section .home-about-photo,
  body:has(.hero) .home-about-section .home-about-photo,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo {
    max-height: 315px !important;
  }

  .home-about-section .home-about-photo-badge,
  body:has(.hero) > main > .section--alt:first-of-type .home-about-photo-badge {
    width: min(236px, 98%) !important;
    padding: 8px 10px !important;
  }
}

/* Sub-700 phone drawer: keep dropdown headings visible and open only after tap. */
@media (max-width: 699px) {
  #navMenu.is-open .nav__item.has-dropdown {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    order: initial !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown > .nav__dropdown-toggle,
  #navMenu.is-open .nav__item.has-dropdown > a.nav__dropdown-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(232, 216, 194, .9) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--ink) !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  #navMenu.is-open .nav__item.has-dropdown > .dropdown {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown,
  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown li,
  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navMenu.is-open .nav__item.has-dropdown.is-dropdown-open > .dropdown a,
  #navMenu.is-open .nav__item.has-dropdown:focus-within > .dropdown a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 18px 10px 42px !important;
    background: #fff7e8 !important;
    color: #2b211b !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
    white-space: normal !important;
  }

  #navMenu .nav__item.has-dropdown.is-dropdown-open > .dropdown {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
  }

  #navMenu .nav__item.has-dropdown.is-dropdown-open > .dropdown li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navMenu .nav__item.has-dropdown.is-dropdown-open > .dropdown a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 18px 10px 42px !important;
    background: #fff7e8 !important;
    color: #2b211b !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
    white-space: normal !important;
  }
}

/* Dropdown toggles are buttons now: make them behave like nav links. */
.nav__item > button.nav__dropdown-toggle {
  font: inherit !important;
  font-family: inherit !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  text-decoration: none !important;
}

@media (min-width: 769px) {
  .nav__item > button.nav__dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 32px !important;
    padding: 6px 3px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #1d1410 !important;
    box-shadow: none !important;
    font-size: clamp(.43rem, .73vw, .64rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 768px) {
  #navMenu.is-open .nav__item > button.nav__dropdown-toggle,
  #navMenu .nav__item > button.nav__dropdown-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(232, 216, 194, .9) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--ink) !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    pointer-events: auto !important;
  }

  #navMenu .nav__item.has-dropdown.is-dropdown-open > button.nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  #navMenu .nav__item.has-dropdown.is-dropdown-open > button.nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }
}

/* Native details dropdown: reliable mobile hamburger submenus. */
.nav__details > summary.nav__dropdown-toggle {
  list-style: none !important;
}

.nav__details > summary.nav__dropdown-toggle::-webkit-details-marker {
  display: none !important;
}

@media (max-width: 768px) {
  #navMenu.is-open details.nav__details,
  #navMenu details.nav__details {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #navMenu.is-open details.nav__details > summary.nav__dropdown-toggle,
  #navMenu details.nav__details > summary.nav__dropdown-toggle {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(232, 216, 194, .9) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--ink) !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  #navMenu details.nav__details > .dropdown {
    display: none !important;
    position: static !important;
    width: 100% !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: #fff7e8 !important;
    box-shadow: none !important;
  }

  #navMenu details.nav__details[open] > .dropdown {
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #navMenu details.nav__details[open] > summary.nav__dropdown-toggle {
    background: #fff7e8 !important;
    color: var(--maroon) !important;
  }

  #navMenu details.nav__details[open] > summary.nav__dropdown-toggle .caret {
    transform: rotate(180deg) !important;
  }

  #navMenu details.nav__details[open] > .dropdown li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #navMenu details.nav__details[open] > .dropdown a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 18px 10px 42px !important;
    background: #fff7e8 !important;
    color: #2b211b !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
    white-space: normal !important;
  }
}

/* Final phone blog listing: keep the desktop-style split card on mobile. */
@media (max-width: 900px) {
  .blog-list {
    gap: 12px !important;
  }

  .blog-section .container {
    width: min(100% - 8px, 1760px) !important;
  }

  .blog-list .blog-card,
  .blog-card {
    display: grid !important;
    grid-template-columns: minmax(132px, 40%) minmax(0, 1fr) !important;
    gap: 0 !important;
    align-items: stretch !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .blog-list .blog-card__media,
  .blog-card__media {
    width: 100% !important;
    height: 100% !important;
    min-height: 132px !important;
    aspect-ratio: auto !important;
  }

  .blog-card__body {
    padding: 10px 10px 10px 12px !important;
  }

  .blog-meta {
    gap: 4px 7px !important;
    font-size: .58rem !important;
    line-height: 1.25 !important;
  }

  .blog-card h2 {
    margin: 6px 0 5px !important;
    font-size: clamp(.86rem, 3.3vw, 1rem) !important;
    line-height: 1.2 !important;
  }

  .blog-card p {
    margin-bottom: 7px !important;
    font-size: .66rem !important;
    line-height: 1.34 !important;
  }

  .blog-card .btn-sm {
    min-height: 28px !important;
    padding: 5px 9px !important;
    font-size: .62rem !important;
  }
}

@media (max-width: 420px) {
  .blog-list .blog-card,
  .blog-card {
    grid-template-columns: minmax(118px, 38%) minmax(0, 1fr) !important;
  }

  .blog-list .blog-card__media,
  .blog-card__media {
    min-height: 118px !important;
  }

  .blog-card__body {
    padding: 8px 8px 8px 10px !important;
  }

  .blog-meta {
    font-size: .52rem !important;
  }

  .blog-card h2 {
    font-size: .82rem !important;
  }

  .blog-card p {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: .62rem !important;
  }
}
