@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Roboto:wght@400;500;600;700&display=swap');

/* Homepage hero search: override the legacy 10px input height and inherited text-fill rules. */
body.temple-homepage .banner__search-shell {
    min-height: 58px;
    padding: 6px 7px 6px 16px;
    border-color: rgba(111, 68, 24, .24);
}

body.temple-homepage .banner__search-shell:focus-within {
    border-color: #9a642a;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08), 0 0 0 3px rgba(190, 128, 58, .2);
}

body.temple-homepage .banner__search-input {
    width: 100%;
    height: 44px;
    margin: 0 !important;
    padding: 0 8px;
    border-radius: 9px;
    color: #2a2018;
    caret-color: #8b5b27;
    font: 500 16px/1.4 Inter, Arial, sans-serif;
    -webkit-text-fill-color: #2a2018;
    opacity: 1;
}

body.temple-homepage .banner__search-input::placeholder {
    color: #74614e;
    -webkit-text-fill-color: #74614e;
    opacity: 1;
}

body.temple-homepage .banner__search-input:-webkit-autofill,
body.temple-homepage .banner__search-input:-webkit-autofill:hover,
body.temple-homepage .banner__search-input:-webkit-autofill:focus {
    border-radius: 9px;
    -webkit-box-shadow: 0 0 0 1000px #fffaf2 inset !important;
    box-shadow: 0 0 0 1000px #fffaf2 inset !important;
    caret-color: #8b5b27;
    -webkit-text-fill-color: #2a2018 !important;
}

body.temple-homepage .banner__search-btn {
    font-family: Inter, Arial, sans-serif;
}

/* Homepage-only brand lockup for hero, timing, section and subsection headings. */
body.temple-homepage .dm-heading-lockup {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

body.temple-homepage .dm-heading-lockup > h2,
body.temple-homepage .dm-heading-lockup > h3 {
    min-width: 0;
}

body.temple-homepage .dm-heading-lockup .dm-heading-mark {
    display: block;
    flex: 0 0 auto;
    object-fit: contain;
}

body.temple-homepage .dm-heading-lockup--hero {
    gap: 14px;
    margin-bottom: 20px;
}

body.temple-homepage .dm-heading-lockup--hero .dm-heading-mark {
    width: 46px;
    height: 46px;
    margin-top: 2px;
}

body.temple-homepage .banner__content .dm-heading-lockup--hero h2 {
    margin: 0;
}

body.temple-homepage .dm-heading-lockup--timings {
    gap: 10px;
}

body.temple-homepage .dm-heading-lockup--timings .dm-heading-mark {
    width: 34px;
    height: 34px;
    margin-top: 1px;
}

body.temple-homepage #homepage-content .dm-heading-lockup--section .dm-heading-mark {
    width: 34px;
    height: 34px;
    margin-top: 1px;
}

body.temple-homepage #homepage-content .dm-heading-lockup--subsection {
    gap: 10px;
}

body.temple-homepage #homepage-content .dm-heading-lockup--subsection .dm-heading-mark {
    width: 29px;
    height: 29px;
}

body.temple-homepage #homepage-content {
    --dm-paper: #fffdf8;
    --dm-cream: #fbf3e5;
    --dm-ink: #35291f;
    --dm-soft: #6f5d4b;
    --dm-gold: #a76b26;
    --dm-line: #e9dcc7;
    --dm-dark: #3c281a;
    color: var(--dm-ink);
    background: var(--dm-paper);
    font: 400 15px/1.5 Inter, Arial, sans-serif;
}

body.temple-homepage #homepage-content,
body.temple-homepage #homepage-content *,
body.temple-homepage #homepage-content *::before,
body.temple-homepage #homepage-content *::after {
    box-sizing: border-box;
}

body.temple-homepage #homepage-content .dm-section {
    margin: 0 !important;
    padding: 54px 0;
}

body.temple-homepage #homepage-content .dm-discover-section { padding-top: 41px; }

body.temple-homepage #homepage-content .dm-wrap {
    width: calc(100% - 72px);
    max-width: 1160px;
    margin-inline: auto;
}

body.temple-homepage #homepage-content h2,
body.temple-homepage #homepage-content h3,
body.temple-homepage #homepage-content strong {
    color: #4c3119;
    -webkit-text-fill-color: #4c3119;
    opacity: 1;
}

body.temple-homepage #homepage-content h2,
body.temple-homepage #homepage-content h3 {
    margin: 0 0 10px;
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

body.temple-homepage #homepage-content h2 { font-size: 28px; }
body.temple-homepage #homepage-content h3 { font-size: 21px; }
body.temple-homepage #homepage-content p { margin: 0 0 14px; }
body.temple-homepage #homepage-content a { text-decoration: none; }
body.temple-homepage #homepage-content img { max-width: 100%; }

body.temple-homepage #homepage-content .dm-eyebrow {
    margin: 0 0 10px !important;
    color: var(--dm-gold);
    font: 600 11px/1.5 Inter, Arial, sans-serif;
    letter-spacing: 1.8px;
}

body.temple-homepage #homepage-content .dm-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 25px;
}

body.temple-homepage #homepage-content .dm-section-head > div { max-width: 680px; }

body.temple-homepage #homepage-content .dm-lead {
    margin: 0 !important;
    color: var(--dm-soft);
    font-size: 14px;
}

body.temple-homepage #homepage-content .dm-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    gap: 8px;
    min-height: 40px;
    padding: 8px 0;
    border: 0;
    color: #86521e;
    background: transparent;
    font: 600 12px/1.5 Inter, Arial, sans-serif;
    text-align: left;
}

body.temple-homepage #homepage-content .dm-section-head > .dm-text-link { margin-top: 15px; }
body.temple-homepage #homepage-content .dm-text-link:hover { color: #563012; text-decoration: underline; text-underline-offset: 4px; }
body.temple-homepage #homepage-content .dm-text-link i,
body.temple-homepage #homepage-content .dm-action i { flex-shrink: 0; font-size: 12px; }

body.temple-homepage #homepage-content .dm-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 11px 16px;
    border: 1px solid #956025;
    border-radius: 7px;
    color: #fff9ef;
    background: #956025;
    font: 600 12px/1.5 Inter, Arial, sans-serif;
    text-align: left;
}

body.temple-homepage #homepage-content .dm-action:hover { color: #fff9ef; background: #795020; }

body.temple-homepage #homepage-content #dm-home-ribbon {
    display: block;
    margin: 0 auto;
    padding: 0;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-stage {
    box-sizing: border-box;
    padding: 22px 0;
    color: #50371f;
    font-family: Inter, Arial, sans-serif;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-stage * { box-sizing: border-box; }

body.temple-homepage #homepage-content #dm-home-ribbon .dm-product {
    padding: 30px 0;
    overflow: visible;
    border-radius: 3px;
    background: #fffaf2;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-eyebrow {
    margin: 0 0 12px !important;
    color: #9a6b32;
    font-size: 11px;
    font-weight: 500;
    line-height: normal;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.temple-homepage #homepage-content #dm-home-ribbon h2 {
    margin: 0;
    color: #50371f;
    -webkit-text-fill-color: #50371f;
    font: 500 31px/1.2 'Playfair Display', Georgia, serif;
    letter-spacing: -.02em;
}

body.temple-homepage #homepage-content #dm-home-ribbon a[data-dm-ribbon-link] {
    box-sizing: border-box;
    font-family: Inter, Arial, sans-serif;
    font-weight: 500;
    text-decoration: none;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-detail {
    min-height: 39px;
    margin: 24px 0 0;
    color: #79634d;
    font-size: 13px;
    line-height: 1.5;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-detail strong {
    color: #50371f;
    -webkit-text-fill-color: #50371f;
    font-weight: 500;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon .dm-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon .dm-header-note {
    max-width: 140px;
    margin: 0;
    color: #79634d;
    font-size: 13px;
    line-height: 1.5;
    text-align: right;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    padding: 9px;
    border-radius: 20px;
    background: #50371f;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav .dm-indicator {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: calc((100% - 36px) / 4);
    height: 82px;
    border-radius: 12px;
    background: #f1cf94;
    box-shadow: 0 4px 9px #25120522;
    pointer-events: none;
    transform: translate(9px, 9px);
    transition: transform .25s, width .25s, height .25s;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    min-width: 0;
    min-height: 82px;
    padding: 13px 9px;
    border: 0;
    border-radius: 12px;
    color: #f9ead5;
    background: transparent;
    font-size: 15px;
    line-height: 1.4;
    text-align: left;
    transition: color .18s;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link] svg {
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    color: #eac48a;
    stroke-width: 1.6;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link].is-hovered { color: #50371f; }
body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link].is-hovered svg { color: #80511d; }

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link]:focus-visible {
    outline: 2px solid #bd8a40;
    outline-offset: 3px;
}

body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon .dm-ribbon-detail { padding-left: 2px; }

body.temple-homepage #homepage-content .dm-carousel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 23px 0 14px;
    color: #866033;
    font: 600 17px/1.4 Inter, Arial, sans-serif;
}

body.temple-homepage #homepage-content .dm-scroll-controls { display: flex; gap: 7px; }

body.temple-homepage #homepage-content .dm-scroll-controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #dfccb0;
    border-radius: 50%;
    color: #845b2c;
    background: #fffaf1;
}

body.temple-homepage #homepage-content .dm-scroll-controls button:not(:disabled):hover { border-color: #b68b50; background: #f4e5cc; }
body.temple-homepage #homepage-content .dm-scroll-controls button:disabled {
    cursor: default;
    opacity: .38;
}
body.temple-homepage #homepage-content .dm-scroll-controls button:focus-visible,
body.temple-homepage #homepage-content a:focus-visible { outline: 3px solid #d39a45; outline-offset: 3px; }

body.temple-homepage #homepage-content .dm-category-track {
    display: flex;
    gap: 18px;
    max-width: 100%;
    min-width: 0;
    padding: 5px 2px 15px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-color: #caa56b #f6ead6;
    scrollbar-width: thin;
}

body.temple-homepage #homepage-content .dm-category {
    position: relative;
    display: flex;
    flex: 0 0 166px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-height: 224px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #65451f;
    background: transparent;
    scroll-snap-align: start;
    text-align: center;
}

body.temple-homepage #homepage-content .dm-deity-art {
    position: relative;
    display: block;
    width: 142px;
    height: 142px;
    overflow: hidden;
    border: 3px solid #f1e0c1;
    border-radius: 50%;
    background-color: #f7ead0;
    background-image: url('../images/homepage-v6-reference/atlas.webp');
    background-position: var(--tile-x) var(--tile-y);
    background-repeat: no-repeat;
    background-size: 600% 400%;
}

body.temple-homepage #homepage-content .dm-deity-art::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: url('../images/homepage-v6-reference/atlas-colour-v1.webp');
    background-position: var(--tile-x) var(--tile-y);
    background-repeat: no-repeat;
    background-size: 600% 400%;
    content: '';
    opacity: 0;
    transition: opacity .24s ease;
}

body.temple-homepage #homepage-content .dm-category strong {
    max-width: 100%;
    padding-top: 12px;
    font: 600 19px/1.28 'Playfair Display', Georgia, serif;
    overflow-wrap: anywhere;
}

body.temple-homepage #homepage-content .dm-category small { margin-top: 0; color: #785f42; font: 500 13px/1.4 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-category:hover .dm-deity-art,
body.temple-homepage #homepage-content .dm-category:focus-visible .dm-deity-art { border-color: #b18544; }
body.temple-homepage #homepage-content .dm-category:hover .dm-deity-art::after,
body.temple-homepage #homepage-content .dm-category:focus-visible .dm-deity-art::after { opacity: 1; }
body.temple-homepage #homepage-content .dm-swipe-hint { margin: 8px 0 28px !important; color: #785f42; font-size: 13px; }

body.temple-homepage #homepage-content .dm-featured-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 8px 0 19px;
}

body.temple-homepage #homepage-content .dm-featured-heading h3 { margin: 0; font-size: 22px; }
body.temple-homepage #homepage-content .dm-featured-heading span { color: #715c43; font-size: 14px; }

body.temple-homepage #homepage-content .dm-temples {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

body.temple-homepage #homepage-content .dm-temple {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--dm-line);
    border-radius: 10px;
    background: #fffdfa;
    box-shadow: 0 4px 18px #7050210a;
}

body.temple-homepage #homepage-content .dm-temple-photo {
    position: relative;
    display: block;
    height: 180px;
    overflow: hidden;
    background: #ecdfc8;
}

body.temple-homepage #homepage-content .dm-temple-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

body.temple-homepage #homepage-content .dm-image-label {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 5px 8px;
    border: 1px solid #e9d8b8;
    border-radius: 4px;
    color: #4c3119;
    background: #fff9ec;
    font: 600 11px/1.5 Inter, Arial, sans-serif;
    letter-spacing: 1px;
    text-shadow: none;
}

body.temple-homepage #homepage-content .dm-temple-copy {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    padding: 22px 22px 20px;
}

body.temple-homepage #homepage-content .dm-temple-copy h3 { font-size: 24px; }
body.temple-homepage #homepage-content .dm-location { display: flex; align-items: flex-start; gap: 7px; margin-bottom: 18px !important; color: #59412c; font: 500 15px/1.5 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-location i { flex-shrink: 0; margin-top: 4px; font-size: 14px; }

body.temple-homepage #homepage-content .dm-temple-action.default-btn {
    align-self: flex-start;
    min-height: 48px;
    margin-top: auto;
    padding: 0 20px;
    font-family: Inter, Arial, sans-serif;
}

body.temple-homepage #homepage-content .dm-temple-action.default-btn span {
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
}

body.temple-homepage #homepage-content .dm-temple-action.default-btn span i {
    font-size: 12px;
}

body.temple-homepage #homepage-content .dm-worship-section { border-block: 1px solid #eee1cc; background: #fbf4e7; }

body.temple-homepage #homepage-content .dm-panchang-promo {
    padding: 28px 0;
    border-bottom: 1px solid #ead9bc;
    background: #fffaf0;
}

body.temple-homepage #homepage-content .dm-panchang-card {
    position: relative;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    min-width: 0;
    padding: 24px 28px;
    overflow: hidden;
    border: 1px solid #d9bd88;
    border-radius: 14px;
    background:
        radial-gradient(circle at 91% 8%, rgba(211, 154, 69, .17), transparent 28%),
        linear-gradient(135deg, #fffdf7 0%, #fbefd9 100%);
    box-shadow: 0 10px 30px rgba(104, 69, 32, .08);
}

body.temple-homepage #homepage-content .dm-panchang-card::after {
    position: absolute;
    top: -58px;
    right: -34px;
    width: 170px;
    height: 170px;
    border: 1px solid rgba(173, 118, 48, .16);
    border-radius: 50%;
    content: '';
    pointer-events: none;
}

body.temple-homepage #homepage-content .dm-panchang-visual {
    position: relative;
    width: 104px;
    height: 104px;
}

body.temple-homepage #homepage-content .dm-panchang-logo-frame {
    position: absolute;
    inset: 13px;
    z-index: 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 5px solid #fffdf7;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 6px 18px rgba(111, 68, 24, .18);
}

body.temple-homepage #homepage-content .dm-panchang-logo-frame img { display: block; width: 100%; height: 100%; object-fit: contain; }

body.temple-homepage #homepage-content .dm-panchang-orbit {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border: 1px solid #d6ae70;
    border-radius: 50%;
    color: #8b5b27;
    background: #fffaf0;
    box-shadow: 0 4px 10px rgba(111, 68, 24, .12);
    font-size: 13px;
}

body.temple-homepage #homepage-content .dm-panchang-orbit--calendar { top: 0; left: 4px; }
body.temple-homepage #homepage-content .dm-panchang-orbit--sun { top: 9px; right: 0; }
body.temple-homepage #homepage-content .dm-panchang-orbit--moon { right: 4px; bottom: 0; }
body.temple-homepage #homepage-content .dm-panchang-copy { position: relative; z-index: 1; min-width: 0; }
body.temple-homepage #homepage-content .dm-panchang-copy h2 { margin-bottom: 6px; font-size: 27px; }
body.temple-homepage #homepage-content .dm-panchang-copy > p:last-child { margin: 0; color: var(--dm-soft); font-size: 14px; }
body.temple-homepage #homepage-content .dm-panchang-action.default-btn { position: relative; z-index: 1; flex-shrink: 0; }

body.temple-homepage #homepage-content .dm-panchang-closing {
    padding: 16px 0 58px;
    border-top: 1px solid #ead9bc;
    background: linear-gradient(180deg, #fffdf8 0%, #f8ecda 100%);
}

body.temple-homepage #homepage-content .dm-panchang-closing__card {
    position: relative;
    display: grid;
    grid-template-columns: 122px minmax(0, 1fr) auto;
    align-items: center;
    gap: 32px;
    min-width: 0;
    padding: 30px 34px;
    overflow: hidden;
    border: 1px solid #9d6b37;
    border-radius: 16px;
    background:
        radial-gradient(circle at 8% 112%, rgba(246, 206, 130, .19), transparent 32%),
        radial-gradient(circle at 94% -24%, rgba(246, 206, 130, .17), transparent 36%),
        linear-gradient(128deg, #5d3a20 0%, #3f291b 100%);
    box-shadow: 0 16px 34px rgba(76, 49, 25, .16);
}

body.temple-homepage #homepage-content .dm-panchang-closing__card::before {
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(232, 190, 109, .2);
    border-radius: 11px;
    content: '';
    pointer-events: none;
}

body.temple-homepage #homepage-content .dm-panchang-closing__brand {
    position: relative;
    z-index: 1;
    width: 122px;
    height: 104px;
}

body.temple-homepage #homepage-content .dm-panchang-closing__logo {
    position: absolute;
    inset: 8px 17px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 5px solid #fffaf0;
    border-radius: 50%;
    background: #fffaf0;
    box-shadow: 0 8px 22px rgba(28, 17, 10, .28);
}

body.temple-homepage #homepage-content .dm-panchang-closing__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.temple-homepage #homepage-content .dm-panchang-closing__orbit {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border: 1px solid #e1bd78;
    border-radius: 50%;
    color: #5e3a1f;
    background: #fff7e9;
    box-shadow: 0 5px 12px rgba(28, 17, 10, .2);
    font-size: 13px;
}

body.temple-homepage #homepage-content .dm-panchang-closing__orbit--calendar { top: 0; left: 0; }
body.temple-homepage #homepage-content .dm-panchang-closing__orbit--sun { top: 0; right: 0; }
body.temple-homepage #homepage-content .dm-panchang-closing__orbit--moon { right: 4px; bottom: 0; }

body.temple-homepage #homepage-content .dm-panchang-closing__copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

body.temple-homepage #homepage-content .dm-panchang-closing__copy .dm-eyebrow {
    color: #edc985;
}

body.temple-homepage #homepage-content .dm-panchang-closing__copy h2 {
    margin-bottom: 7px;
    color: #fff9ef;
    -webkit-text-fill-color: #fff9ef;
    font-size: 30px;
}

body.temple-homepage #homepage-content .dm-panchang-closing__copy > p:last-child {
    margin: 0;
    color: #f0e2ce;
    font-size: 14px;
}

body.temple-homepage #homepage-content .dm-panchang-closing__action.default-btn {
    position: relative;
    z-index: 1;
    align-self: center;
    min-width: 190px;
    margin-top: 0;
    border-color: #dca858;
    background: #b7792f;
}

body.temple-homepage #homepage-content .dm-panchang-closing__action.default-btn:hover {
    border-color: #efc47d;
    background: #925d24;
}

body.temple-homepage #homepage-content .dm-knowledge-layout {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
    gap: 34px;
}

body.temple-homepage #homepage-content .dm-knowledge-art { display: block; overflow: hidden; border-radius: 12px; background: #efdfc5; }
body.temple-homepage #homepage-content .dm-knowledge-art img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
body.temple-homepage #homepage-content .dm-knowledge-links { display: flex; flex-direction: column; justify-content: center; }

body.temple-homepage #homepage-content .dm-knowledge-link {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    padding: 20px 0;
    border-bottom: 1px solid #ddc6a4;
    color: #634524;
}

body.temple-homepage #homepage-content .dm-knowledge-link:last-child { border-bottom: 0; }
body.temple-homepage #homepage-content .dm-knowledge-link > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }

body.temple-homepage #homepage-content .dm-knowledge-symbol {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #986a32;
    background: #efdfc5;
}

body.temple-homepage #homepage-content .dm-knowledge-link small,
body.temple-homepage #homepage-content .dm-prayer-link small { color: #85623c; font-size: 11px; font-weight: 500; letter-spacing: .8px; }
body.temple-homepage #homepage-content .dm-knowledge-link strong { font: 600 25px/1.25 'Playfair Display', Georgia, serif; }
body.temple-homepage #homepage-content .dm-knowledge-link > span > span { color: #61482f; font-size: 12px; }
body.temple-homepage #homepage-content .dm-knowledge-link > i { flex-shrink: 0; font-size: 13px; }
body.temple-homepage #homepage-content .dm-knowledge-link:hover strong,
body.temple-homepage #homepage-content .dm-prayer-link:hover strong { text-decoration: underline; text-underline-offset: 4px; }

body.temple-homepage #homepage-content .dm-prayer-layout {
    display: grid;
    grid-template-columns: 1fr .95fr;
    align-items: center;
    gap: 40px;
    overflow: hidden;
    border-radius: 12px;
    background: #fbf5e9;
}

body.temple-homepage #homepage-content .dm-prayer-links { padding: 10px 0 10px 30px; }

body.temple-homepage #homepage-content .dm-prayer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 18px 0;
    border-bottom: 1px solid #e5d3b5;
    color: #6a4a26;
}

body.temple-homepage #homepage-content .dm-prayer-link:last-child { border-bottom: 0; }
body.temple-homepage #homepage-content .dm-prayer-link > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.temple-homepage #homepage-content .dm-prayer-link strong { font: 600 22px/1.3 'Playfair Display', Georgia, serif; }
body.temple-homepage #homepage-content .dm-prayer-link > span > span { color: #61482f; font-size: 12px; }
body.temple-homepage #homepage-content .dm-prayer-link > i { flex-shrink: 0; font-size: 13px; }
body.temple-homepage #homepage-content .dm-prayer-art { display: block; height: 100%; min-height: 330px; overflow: hidden; }
body.temple-homepage #homepage-content .dm-prayer-art img { display: block; width: 100%; height: 100%; min-height: 330px; object-fit: cover; }

body.temple-homepage #homepage-content #dm-collections { padding-top: 28px; }

body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d9be92;
    border-radius: 12px;
    color: #64411e;
    background: #fffaf0;
    transition: transform .18s ease;
}

body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-card:hover { transform: translateY(-3px); box-shadow: 0 5px 20px #7d4c1815; }
body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-photo {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: transparent;
}
body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-photo--shakti img { object-position: right center; }

body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-photo-caption {
    display: block;
    min-height: 42px;
    box-sizing: border-box;
    padding: 12px 18px;
    color: #4c3119;
    background: #fff9ec;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 1.5px;
}

body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-copy { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 22px; }
body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-copy > strong { font: 600 27px/1.2 'Playfair Display', Georgia, serif; }
body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-copy > span:not(.dm-card-action) { color: #61482f; font-size: 12px; }
body.temple-homepage #homepage-content #dm-collections .dm-card-action { margin-top: auto; padding-top: 9px; }

body.temple-homepage #homepage-content .dm-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 30px;
    margin-top: 9px;
    color: #976229;
    font-size: 12px;
    font-weight: 600;
}

body.temple-homepage #homepage-content .dm-state-image-copy .dm-card-action { margin-top: 5px; font-size: 11px; }

body.temple-homepage #homepage-content .dm-states-section { border-block: 1px solid var(--dm-line); background: #fcf6ec; }

body.temple-homepage #homepage-content .dm-state-image-grid {
    display: flex;
    gap: 20px;
    padding: 4px 0 13px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    scrollbar-color: #c4a46e #f5e8d1;
    scrollbar-width: thin;
}

body.temple-homepage #homepage-content .dm-state-image-card {
    display: flex;
    flex: 0 0 calc((100% - 40px) / 3);
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e4d0ae;
    border-radius: 10px;
    color: #604222;
    background: #fffdf7;
    scroll-snap-align: start;
    transition: transform .18s ease;
}

body.temple-homepage #homepage-content .dm-state-image-card:hover { transform: translateY(-3px); border-color: #b38749; }
body.temple-homepage #homepage-content .dm-state-photo { position: relative; display: block; height: 210px; overflow: hidden; background: #ecd9b4; }
body.temple-homepage #homepage-content .dm-state-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
body.temple-homepage #homepage-content .dm-state-image-card:hover .dm-state-photo img { transform: scale(1.025); }
body.temple-homepage #homepage-content .dm-state-image-copy { display: flex; flex: 1; flex-direction: column; gap: 5px; padding: 20px 18px 17px; }
body.temple-homepage #homepage-content .dm-state-image-copy > strong { font: 600 24px/1.3 'Playfair Display', Georgia, serif; }
body.temple-homepage #homepage-content .dm-state-image-copy > span:not(.dm-card-action):not(.dm-state-action) { color: #61482f; font-size: 12px; }
body.temple-homepage #homepage-content .dm-state-image-copy .dm-state-action.default-btn {
    align-self: flex-start;
    margin-top: 14px !important;
}

body.temple-homepage #homepage-content .dm-state-image-card:focus-visible .dm-state-action.default-btn {
    transform: translateY(-2px);
    box-shadow: var(--home-btn-primary-shadow-hover);
}

body.temple-homepage #homepage-content .dm-festival-section { padding: 49px 0; border-bottom: 1px solid #eee0c9; }

body.temple-homepage #homepage-content .dm-festival-feature {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--dm-line);
    border-radius: 12px;
    background: #fcf4e6;
}

body.temple-homepage #homepage-content .dm-festival-art { position: relative; display: block; min-height: 0; padding: 0; overflow: hidden; background: #f8ebd3; }
body.temple-homepage #homepage-content .dm-festival-art picture { display: block; }
body.temple-homepage #homepage-content .dm-festival-art img { display: block; width: 100%; height: auto; object-fit: contain; }
body.temple-homepage #homepage-content .dm-festival-copy { position: relative; align-self: center; padding: 25px 30px 29px; }
body.temple-homepage #homepage-content .dm-festival-copy h3 { font-size: 32px; }
body.temple-homepage #homepage-content .dm-festival-copy > p:not(.dm-eyebrow) { max-width: 680px; margin-bottom: 16px; color: var(--dm-soft); font-size: 13px; }
body.temple-homepage #homepage-content .dm-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0 18px; color: #795629; font-size: 11px; }
body.temple-homepage #homepage-content .dm-tags span { padding: 4px 8px; border: 1px solid #decca9; border-radius: 4px; }
body.temple-homepage #homepage-content .dm-festival-date { display: flex; align-items: center; gap: 8px; color: #795629 !important; font-size: 11px !important; }

body.temple-homepage #homepage-content .dm-festival-date {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.temple-homepage #homepage-content .dm-festival-more {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-top: 16px;
}

body.temple-homepage #homepage-content .dm-festival-more > a {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 13px 0;
    border-bottom: 1px solid var(--dm-line);
    color: var(--dm-ink);
    background: #fff9ec;
    text-align: left;
}

body.temple-homepage #homepage-content .dm-festival-more > a > i:first-child { flex-shrink: 0; width: 22px; color: #9d682a; font-size: 18px; text-align: center; }
body.temple-homepage #homepage-content .dm-festival-more > a > i:last-child { flex-shrink: 0; margin-left: auto; color: #9d682a; font-size: 12px; }
body.temple-homepage #homepage-content .dm-festival-more span { min-width: 0; }
body.temple-homepage #homepage-content .dm-festival-more strong { font: 600 14px/1.4 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-festival-more small { display: block; margin-top: 2px; color: var(--dm-soft); font-size: 11px; }

body.temple-homepage #homepage-content .fa-external-link-alt::before {
    display: inline-block;
    content: '\f062';
    transform: rotate(45deg);
}

body.temple-homepage #homepage-content .dm-journey-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
    gap: 24px;
}

body.temple-homepage #homepage-content .dm-journey {
    display: flex;
    min-height: 0;
    min-width: 0;
    color: var(--dm-ink);
    text-align: left;
}

body.temple-homepage #homepage-content .dm-journey--live {
    position: relative;
    align-items: center;
    gap: 28px;
    min-height: 294px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid #8c5c2b;
    border-radius: 14px;
    color: #fff9ef;
    background:
        radial-gradient(circle at 8% 100%, rgba(255, 221, 157, .18), transparent 37%),
        linear-gradient(135deg, #7a4b25 0%, #4b2f1c 100%);
    box-shadow: 0 14px 32px rgba(75, 47, 28, .16);
}

body.temple-homepage #homepage-content .dm-journey--live::after {
    position: absolute;
    top: -62px;
    right: -48px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255, 225, 174, .16);
    border-radius: 50%;
    content: '';
}

body.temple-homepage #homepage-content .dm-journey-live-icon {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 0 0 96px;
    place-items: center;
    width: 96px;
    height: 96px;
    border: 1px solid rgba(255, 240, 211, .54);
    border-radius: 50%;
    color: #6a4323;
    background: #f4d49a;
    box-shadow: 0 0 0 13px rgba(244, 212, 154, .1);
    font-size: 30px;
}

body.temple-homepage #homepage-content .dm-journey-live-icon i { margin-left: 4px; }
body.temple-homepage #homepage-content .dm-journey-copy { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; min-width: 0; }
body.temple-homepage #homepage-content .dm-journey--live .dm-eyebrow { color: #edc985; }
body.temple-homepage #homepage-content .dm-journey--live strong {
    color: #fff9ef;
    -webkit-text-fill-color: #fff9ef;
    font: 600 30px/1.23 'Playfair Display', Georgia, serif;
}
body.temple-homepage #homepage-content .dm-journey--live small { max-width: 480px; margin-top: 11px; color: #f1e4d1; font: 400 14px/1.65 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-journey-action { align-self: flex-start; margin-top: 22px; background: #b67b32; }

body.temple-homepage #homepage-content .dm-journey-support {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
}

body.temple-homepage #homepage-content .dm-journey--support {
    align-items: flex-start;
    gap: 18px;
    padding: 24px;
    border: 1px solid #dfc9a5;
    border-radius: 12px;
    background: #fffaf1;
    box-shadow: 0 6px 20px rgba(95, 62, 28, .06);
}

body.temple-homepage #homepage-content .dm-journey-icon {
    display: grid;
    flex: 0 0 48px;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #93612a;
    background: #f2e2c5;
    font-size: 20px;
}

body.temple-homepage #homepage-content .dm-journey--support strong { font: 600 22px/1.3 'Playfair Display', Georgia, serif; }
body.temple-homepage #homepage-content .dm-journey--support small { margin-top: 7px; color: var(--dm-soft); font: 400 13px/1.55 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-journey-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 13px; color: #8a5924; font: 600 12px/1.5 Inter, Arial, sans-serif; }
body.temple-homepage #homepage-content .dm-journey:hover .dm-journey-link { text-decoration: underline; text-underline-offset: 4px; }

body.temple-homepage .home-conditions { margin-top: 11px; }

body.temple-homepage .home-conditions .dm-local-conditions {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.temple-homepage .home-conditions .dm-local-condition {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #ddc7a3;
    border-radius: 12px;
    color: #50351e;
    background: #fff9ed;
    font-family: Roboto, Arial, sans-serif;
}

body.temple-homepage .home-conditions .dm-condition-heading { display: flex; align-items: center; gap: 7px; color: #765331; font-size: 11px; line-height: 1.4; }
body.temple-homepage .home-conditions .dm-condition-heading i { flex-shrink: 0; color: #9a6c31; font-size: 17px; }
body.temple-homepage .home-conditions .dm-condition-value { color: #50351e; font-size: 24px; font-weight: 600; line-height: 1.2; -webkit-text-fill-color: #50351e; }
body.temple-homepage .home-conditions .dm-condition-detail { color: #61482f; font-size: 12px; line-height: 1.4; }

body.temple-homepage .home-conditions .dm-condition-level {
    padding: 2px 7px;
    border-radius: 5px;
    color: #735119;
    background: #f7e5b6;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}

body.temple-homepage .home-conditions .dm-condition-level[data-level='good'],
body.temple-homepage .home-conditions .dm-condition-level[data-level='satisfactory'] { color: #40552a; background: #e8eedc; }
body.temple-homepage .home-conditions .dm-condition-level[data-level='poor'] { color: #8b451e; background: #fbe2cf; }
body.temple-homepage .home-conditions .dm-condition-level[data-level='very-poor'],
body.temple-homepage .home-conditions .dm-condition-level[data-level='severe'] { color: #8d302e; background: #f2d9d8; }
body.temple-homepage .home-conditions .dm-condition-level[data-level='unavailable'] { color: #665744; background: #ebe4d8; }
body.temple-homepage .home-conditions .dm-condition-retry {
    margin-top: auto;
    padding: 4px 0 0;
    border: 0;
    color: #70491f;
    background: transparent;
    font: 700 11px/1.4 Inter, Arial, sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.temple-homepage .home-conditions .dm-condition-retry:hover { color: #4f2d10; }
body.temple-homepage .home-conditions .dm-condition-retry:focus-visible,
body.temple-homepage .home-conditions__consent:focus-visible { outline: 3px solid #d39a45; outline-offset: 2px; }
body.temple-homepage .home-conditions .dm-conditions-caption { position: relative; z-index: 1; margin: 8px 0 0; color: #6a523a; font: 11px/1.5 Roboto, Arial, sans-serif; }

body.temple-homepage .home-conditions__details {
    position: relative;
    z-index: 1;
    margin-top: 6px;
    color: #6a523a;
    font: 11px/1.5 Roboto, Arial, sans-serif;
}

body.temple-homepage .home-conditions__details summary { width: max-content; max-width: 100%; color: #684520; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
body.temple-homepage .home-conditions__details p { margin: 6px 0 0; }
body.temple-homepage .home-conditions__consent { position: relative; z-index: 1; width: 100%; margin-top: 8px; padding: 8px 10px; border: 1px solid #b58b52; border-radius: 8px; color: #5e3d1d; background: #fff9ed; font: 700 11px/1.4 Inter, Arial, sans-serif; }

@media (max-width: 850px) {
    body.temple-homepage #homepage-content .dm-state-image-card { flex-basis: calc((100% - 20px) / 2); }
}

@media (max-width: 800px) {
    body.temple-homepage #homepage-content .dm-wrap { width: calc(100% - 40px); }
    body.temple-homepage #homepage-content .dm-section-head { flex-wrap: wrap; gap: 8px; }
    body.temple-homepage #homepage-content .dm-section-head > .dm-text-link { margin: 0; }
    body.temple-homepage #homepage-content .dm-temples { gap: 13px; }
    body.temple-homepage #homepage-content .dm-temple-photo { height: 150px; }
    body.temple-homepage #homepage-content .dm-temple-copy { padding: 16px 14px 10px; }
    body.temple-homepage #homepage-content .dm-journey-grid { gap: 17px; }
    body.temple-homepage #homepage-content .dm-featured-heading { flex-wrap: wrap; gap: 5px; }
    body.temple-homepage #homepage-content .dm-panchang-card { grid-template-columns: 92px minmax(0, 1fr); gap: 20px; padding: 22px 24px; }
    body.temple-homepage #homepage-content .dm-panchang-visual { width: 92px; height: 92px; }
    body.temple-homepage #homepage-content .dm-panchang-action.default-btn { grid-column: 2; justify-self: start; }
    body.temple-homepage #homepage-content .dm-panchang-closing__card { grid-template-columns: 104px minmax(0, 1fr); gap: 22px; padding: 26px 28px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__brand { width: 104px; height: 94px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__action.default-btn { grid-column: 2; justify-self: start; }
}

@media (max-width: 700px) {
    body.temple-homepage #homepage-content .dm-knowledge-layout { grid-template-columns: 1fr; gap: 18px; }
    body.temple-homepage #homepage-content .dm-knowledge-art img { min-height: 0; max-height: 330px; aspect-ratio: 1.5; object-fit: cover; }
    body.temple-homepage #homepage-content .dm-knowledge-link { padding: 17px 0; }
    body.temple-homepage #homepage-content .dm-prayer-layout { grid-template-columns: 1fr; gap: 5px; }
    body.temple-homepage #homepage-content .dm-prayer-art { grid-row: 1; height: 230px; min-height: 0; }
    body.temple-homepage #homepage-content .dm-prayer-art img { height: 230px; min-height: 0; object-fit: cover; }
    body.temple-homepage #homepage-content .dm-prayer-links { padding: 8px 23px 14px; }
    body.temple-homepage #homepage-content .dm-festival-copy { padding: 23px 22px; }
    body.temple-homepage #homepage-content .dm-festival-copy h3 { font-size: 29px; }
    body.temple-homepage #homepage-content .dm-journey-grid { grid-template-columns: 1fr; }
    body.temple-homepage #homepage-content .dm-journey--live { min-height: 0; }
    body.temple-homepage #homepage-content .dm-category { flex-basis: 150px; min-height: 214px; }
    body.temple-homepage #homepage-content .dm-deity-art { width: 132px; height: 132px; }
    body.temple-homepage #homepage-content .dm-category strong { font-size: 18px; }
    body.temple-homepage #homepage-content .dm-state-photo { height: 220px; }
}

@media (max-width: 600px) {
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-stage { padding: 14px 0; }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-product { padding: 23px 0; }
    body.temple-homepage #homepage-content #dm-home-ribbon h2 { font-size: 28px; }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon .dm-header-note { display: none; }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 8px; }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav .dm-indicator {
        width: calc((100% - 21px) / 2);
        height: 76px;
        transform: translate(8px, 8px);
    }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav a[data-dm-ribbon-link] {
        min-height: 76px;
        padding: 11px 9px;
        font-size: 15px;
    }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon .dm-header { margin-bottom: 25px; }
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-detail { font-size: 12px; }
}

@media (max-width: 560px) {
    body.temple-homepage .dm-heading-lockup { gap: 10px; }
    body.temple-homepage .dm-heading-lockup--hero { margin-bottom: 18px; }
    body.temple-homepage .dm-heading-lockup--hero .dm-heading-mark { width: 34px; height: 34px; margin-top: 3px; }
    body.temple-homepage .dm-heading-lockup--timings .dm-heading-mark { width: 28px; height: 28px; }
    body.temple-homepage #homepage-content .dm-wrap { width: calc(100% - 32px); }
    body.temple-homepage #homepage-content .dm-section { padding: 36px 0; }
    body.temple-homepage #homepage-content .dm-section-head { margin-bottom: 21px; }
    body.temple-homepage #homepage-content h2 { font-size: 25px; }
    body.temple-homepage #homepage-content .dm-heading-lockup--section .dm-heading-mark { width: 27px; height: 27px; margin-top: 2px; }
    body.temple-homepage #homepage-content .dm-heading-lockup--subsection .dm-heading-mark { width: 24px; height: 24px; margin-top: 1px; }
    body.temple-homepage #homepage-content .dm-lead { font-size: 13px; }
    body.temple-homepage #homepage-content .dm-carousel-heading { margin-top: 17px; }
    body.temple-homepage #homepage-content .dm-scroll-controls button { width: 44px; height: 44px; }
    body.temple-homepage #homepage-content .dm-temples { display: flex; gap: 15px; max-width: 100%; padding-bottom: 15px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-color: #caa56b #f6ead6; scrollbar-width: thin; }
    body.temple-homepage #homepage-content .dm-temple { flex: 0 0 88%; scroll-snap-align: start; }
    body.temple-homepage #homepage-content .dm-temple-photo { height: 195px; }
    body.temple-homepage #homepage-content .dm-temple-copy { padding: 20px; }
    body.temple-homepage #homepage-content .dm-temple-copy h3 { font-size: 22px; }
    body.temple-homepage #homepage-content .dm-location { font-size: 14px; }
    body.temple-homepage #homepage-content .dm-temple-action.default-btn { width: 100%; }
    body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-grid { grid-template-columns: 1fr; gap: 20px; }
    body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-copy > strong { font-size: 27px; }
    body.temple-homepage #homepage-content .dm-state-image-grid { gap: 16px; }
    body.temple-homepage #homepage-content .dm-state-image-card { flex-basis: 82%; }
    body.temple-homepage #homepage-content .dm-state-image-copy > strong { font-size: 24px; }
    body.temple-homepage #homepage-content .dm-state-image-copy > span:not(.dm-card-action):not(.dm-state-action) { font-size: 12px; }
    body.temple-homepage #homepage-content .dm-festival-section { padding: 36px 0; }
    body.temple-homepage #homepage-content .dm-festival-more { grid-template-columns: 1fr; gap: 0; }
    body.temple-homepage #homepage-content .dm-journey-grid { grid-template-columns: 1fr; gap: 17px; }
    body.temple-homepage #homepage-content .dm-journey--live { align-items: flex-start; gap: 20px; padding: 25px 22px; }
    body.temple-homepage #homepage-content .dm-journey-live-icon { flex-basis: 66px; width: 66px; height: 66px; box-shadow: 0 0 0 9px rgba(244, 212, 154, .1); font-size: 22px; }
    body.temple-homepage #homepage-content .dm-journey--live strong { font-size: 25px; }
    body.temple-homepage #homepage-content .dm-journey--support { gap: 14px; padding: 21px 18px; }
    body.temple-homepage #homepage-content .dm-journey-action { width: 100%; }
    body.temple-homepage #homepage-content .dm-panchang-promo { padding: 22px 0; }
    body.temple-homepage #homepage-content .dm-panchang-card { grid-template-columns: 64px minmax(0, 1fr); gap: 16px; padding: 20px 18px; }
    body.temple-homepage #homepage-content .dm-panchang-visual { width: 64px; height: 64px; }
    body.temple-homepage #homepage-content .dm-panchang-logo-frame { inset: 8px; border-width: 3px; }
    body.temple-homepage #homepage-content .dm-panchang-orbit { width: 21px; height: 21px; font-size: 9px; }
    body.temple-homepage #homepage-content .dm-panchang-copy h2 { font-size: 23px; }
    body.temple-homepage #homepage-content .dm-panchang-action.default-btn { grid-column: 1 / -1; width: 100%; }
    body.temple-homepage #homepage-content .dm-panchang-closing { padding: 8px 0 42px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__card { grid-template-columns: 1fr; gap: 18px; padding: 26px 20px 22px; text-align: center; }
    body.temple-homepage #homepage-content .dm-panchang-closing__brand { justify-self: center; width: 106px; height: 88px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__logo { inset: 3px 18px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__copy h2 { font-size: 26px; }
    body.temple-homepage #homepage-content .dm-panchang-closing__action.default-btn { grid-column: 1; justify-self: stretch; width: 100%; min-width: 0; }
}

@media (max-width: 360px) {
    body.temple-homepage .banner__search-shell { padding-left: 10px; }
    body.temple-homepage .banner__search-btn { min-width: 80px; padding-inline: 10px; }
    body.temple-homepage .home-conditions .dm-local-condition { padding: 11px 10px; }
    body.temple-homepage .home-conditions .dm-condition-heading { gap: 5px; font-size: 11px; }
    body.temple-homepage #homepage-content .dm-journey--live { flex-direction: column; }
    body.temple-homepage #homepage-content .dm-journey-icon { flex-basis: 42px; width: 42px; height: 42px; }
}

@media (hover: none), (pointer: coarse) {
    body.temple-homepage #homepage-content .dm-deity-art::after { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    body.temple-homepage #homepage-content #dm-home-ribbon .dm-ribbon-nav .dm-indicator,
    body.temple-homepage #homepage-content #dm-home-ribbon a[data-dm-ribbon-link],
    body.temple-homepage #homepage-content #dm-home-ribbon a[data-dm-ribbon-link] svg { transition: none !important; }

    body.temple-homepage #homepage-content #dm-collections .dm-pilgrimage-card,
    body.temple-homepage #homepage-content .dm-state-image-card,
    body.temple-homepage #homepage-content .dm-state-photo img,
    body.temple-homepage #homepage-content .dm-deity-art::after { transition: none; transform: none !important; }
    body.temple-homepage #homepage-content .dm-state-image-card:focus-visible .dm-state-action.default-btn { transform: none; }
}
