/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      2.0.199-cf7-only-forms
 Text Domain:  woodmart
*/


/* --------------------------------------------------------------------------
 * DTB Footer Cleanup + Editable Settings - v1.0.2
 * Scope: hide the generic Woodmart footer/prefooter and show the compact
 * app-style Doinik Taza Bazar footer printed by functions.php.
 * -------------------------------------------------------------------------- */

/* v1.0.37: Header/footer restore. Do not hide Woodmart header/footer globally.
 * Keep normal website structure visible on all pages, including /apphome/.
 * The DTB custom footer remains available from functions.php when enabled,
 * but the theme no longer suppresses Woodmart footer containers by CSS. */

.dtb-app-footer,
.dtb-app-footer * {
    box-sizing: border-box;
}

.dtb-app-footer {
    background: #ffffff;
    border-top: 1px solid #e4f0e6;
    color: #1f2d23;
    font-family: inherit;
    margin-top: 28px;
}

.dtb-footer-inner {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 24px 0 14px;
}

.dtb-footer-brand-row {
    display: grid;
    grid-template-columns: minmax(260px, 0.95fr) minmax(320px, 1.45fr);
    gap: 22px;
    align-items: stretch;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(135deg, #f5fff7 0%, #fff8ee 100%);
    border: 1px solid #dff0e2;
    box-shadow: 0 8px 22px rgba(16, 92, 44, 0.07);
}

.dtb-footer-logo {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    color: #173d23 !important;
    text-decoration: none !important;
    margin-bottom: 8px;
}

.dtb-logo-mark {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #198a43;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(25, 138, 67, 0.18);
}

.dtb-logo-text strong,
.dtb-logo-text small {
    display: block;
    line-height: 1.25;
}

.dtb-logo-text strong {
    font-size: 20px;
    letter-spacing: -0.02em;
}

.dtb-logo-text small {
    color: #f08a19;
    font-size: 13px;
    font-weight: 600;
}

.dtb-footer-brand p,
.dtb-footer-support p {
    margin: 0 0 8px;
    color: #57645a;
    font-size: 14px;
    line-height: 1.6;
}

.dtb-footer-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    align-content: center;
}

.dtb-footer-action {
    min-height: 58px;
    padding: 12px 10px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e4efe6;
    color: #173d23 !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 3px 10px rgba(13, 78, 34, 0.05);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dtb-footer-action:hover {
    transform: translateY(-1px);
    border-color: #b9dec0;
    box-shadow: 0 8px 18px rgba(13, 78, 34, 0.09);
}

.dtb-action-wa {
    background: #198a43;
    border-color: #198a43;
    color: #ffffff !important;
}

.dtb-action-app {
    background: #f08a19;
    border-color: #f08a19;
    color: #ffffff !important;
}

.dtb-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1.35fr 1fr;
    gap: 24px;
    padding: 24px 4px 18px;
}

.dtb-footer-col h3 {
    margin: 0 0 12px;
    font-size: 16px;
    color: #173d23;
    font-weight: 800;
}

.dtb-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 7px;
}

.dtb-footer-col a {
    color: #425146 !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.35;
}

.dtb-footer-col a:hover {
    color: #198a43 !important;
}

.dtb-footer-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dtb-footer-socials {
    display: flex;
    gap: 9px;
    margin-top: 12px;
}

.dtb-footer-socials a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f1f7f2;
    color: #198a43 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    border: 1px solid #d9eadd;
}

.dtb-footer-bottom {
    border-top: 1px solid #e4f0e6;
    padding: 14px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #657167;
    font-size: 13px;
}

.dtb-footer-bottom p {
    margin: 0;
}

.dtb-footer-bottom nav {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dtb-footer-bottom a {
    color: #425146 !important;
    text-decoration: none !important;
    font-size: 13px;
}

@media (max-width: 1024px) {
    .dtb-footer-brand-row {
        grid-template-columns: 1fr;
    }

    .dtb-footer-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dtb-footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .dtb-footer-support {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .dtb-footer-inner {
        width: min(100% - 22px, 1180px);
        padding-top: 18px;
    }

    .dtb-footer-brand-row {
        padding: 14px;
        border-radius: 18px;
    }

    .dtb-footer-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .dtb-footer-action {
        min-height: 52px;
        font-size: 12.5px;
        border-radius: 14px;
    }

    .dtb-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 12px;
        padding: 20px 2px 14px;
    }

    .dtb-footer-cats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 10px;
    }

    .dtb-footer-support {
        grid-column: 1 / -1;
    }

    .dtb-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .dtb-footer-bottom nav {
        justify-content: flex-start;
        gap: 10px;
    }
}


/* --------------------------------------------------------------------------
 * DTB AppHome Visual Upgrade - v1.0.4
 * Usage: [dtb_app_home]
 * -------------------------------------------------------------------------- */
.dtb-app-home,
.dtb-app-home * { box-sizing: border-box; }

.dtb-app-home {
    --dtb-green: #14833f;
    --dtb-green-dark: #0e6030;
    --dtb-orange: #f08a19;
    --dtb-soft-green: #f2fff6;
    --dtb-soft-orange: #fff6ea;
    --dtb-border: #dfeee3;
    background: #ffffff;
    color: #182b1e;
    font-family: inherit;
    margin: 0 auto 30px;
}

.dtb-home-wrap {
    width: min(1180px, calc(100% - 28px));
    margin: 0 auto;
    padding: 14px 0 8px;
}

.dtb-v104-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
    gap: 22px;
    align-items: center;
    min-height: 390px;
    padding: clamp(22px, 4vw, 44px);
    border-radius: 34px;
    background:
        radial-gradient(circle at 88% 14%, rgba(255,255,255,0.30), transparent 28%),
        radial-gradient(circle at 14% 100%, rgba(240,138,25,0.34), transparent 30%),
        linear-gradient(135deg, #0c7334 0%, #169346 48%, #f08a19 115%);
    color: #ffffff;
    box-shadow: 0 24px 50px rgba(13, 91, 43, 0.22);
}

.dtb-v104-hero::before {
    content: "";
    position: absolute;
    inset: auto -80px -135px auto;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(255,255,255,0.13);
}

.dtb-v104-hero-copy,
.dtb-v104-hero-visual { position: relative; z-index: 1; }

.dtb-v104-topline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.dtb-v104-topline span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #ffffff;
    font-weight: 800;
    font-size: 13px;
}

.dtb-v104-hero h1 {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(36px, 6vw, 68px);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: -0.05em;
    max-width: 780px;
}

.dtb-v104-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,0.94);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
    font-weight: 500;
}

.dtb-v104-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.dtb-v104-btn,
.dtb-v104-btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 999px;
    background: #ffffff;
    color: #14351f !important;
    text-decoration: none !important;
    font-weight: 900;
    box-shadow: 0 10px 18px rgba(4, 41, 18, 0.16);
}

.dtb-v104-btn-main,
.dtb-v104-btn-main:visited {
    background: var(--dtb-orange);
    color: #ffffff !important;
}

.dtb-v104-hero-visual {
    min-height: 300px;
    display: grid;
    place-items: center;
}

.dtb-v104-basket {
    width: min(260px, 72vw);
    height: min(260px, 72vw);
    border-radius: 44px;
    display: grid;
    place-items: center;
    font-size: 112px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: inset 0 0 0 10px rgba(255,255,255,0.06), 0 20px 38px rgba(7, 53, 24, 0.20);
}

.dtb-v104-float,
.dtb-v104-hero-note {
    position: absolute;
    padding: 10px 13px;
    border-radius: 16px;
    background: #ffffff;
    color: #14351f;
    box-shadow: 0 14px 28px rgba(6, 51, 22, 0.18);
    font-weight: 900;
    font-size: 13px;
}

.dtb-float-1 { left: 5%; top: 18%; }
.dtb-float-2 { right: 3%; top: 34%; }
.dtb-float-3 { left: 0; bottom: 20%; }
.dtb-v104-hero-note { right: 12%; bottom: 7%; background: #fff3df; color: #a65300; }

.dtb-v104-search-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    margin: -28px auto 14px;
    position: relative;
    z-index: 4;
    width: min(1080px, calc(100% - 22px));
    padding: 10px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid #e3f0e6;
    box-shadow: 0 16px 34px rgba(13, 78, 34, 0.12);
}

.dtb-v104-search,
.dtb-v104-mini,
.dtb-v104-search:visited,
.dtb-v104-mini:visited {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    border-radius: 16px;
    text-decoration: none !important;
    color: #173d23 !important;
    font-weight: 800;
    background: #f7fbf8;
    border: 1px solid #dfeee2;
}

.dtb-v104-mini { justify-content: center; min-width: 105px; background: var(--dtb-soft-orange); border-color: #f4dfbf; }
.dtb-v104-wa { background: var(--dtb-green) !important; border-color: var(--dtb-green) !important; color: #ffffff !important; }

.dtb-v104-notice-row {
    display: grid;
    grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
    gap: 10px;
    margin: 12px 0;
}

.dtb-v104-prayer,
.dtb-v104-prayer:visited,
.dtb-v104-marquee {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 18px;
    background: var(--dtb-soft-green);
    border: 1px solid var(--dtb-border);
    color: #173d23 !important;
    text-decoration: none !important;
    overflow: hidden;
}

.dtb-v104-prayer strong { color: var(--dtb-orange); }
.dtb-v104-marquee { justify-content: flex-start; background: #fffdf8; }
.dtb-v104-marquee span { white-space: nowrap; font-weight: 800; color: #4c5d51; }

.dtb-v104-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 22px;
}

.dtb-v104-benefits div {
    min-height: 78px;
    padding: 13px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid var(--dtb-border);
    box-shadow: 0 6px 18px rgba(13, 78, 34, 0.05);
}

.dtb-v104-benefits strong,
.dtb-v104-benefits span { display: block; }
.dtb-v104-benefits strong { color: #173d23; font-weight: 900; margin-bottom: 4px; }
.dtb-v104-benefits span { color: #66746a; font-size: 13px; }

.dtb-v104-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin: 24px 0 12px;
}

.dtb-v104-section-head span {
    display: block;
    color: var(--dtb-orange);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dtb-v104-section-head h2 { margin: 2px 0 0; color: #173d23; font-size: 25px; font-weight: 950; }
.dtb-v104-section-head a,
.dtb-v104-section-head a:visited { color: var(--dtb-orange) !important; text-decoration: none !important; font-weight: 900; }

.dtb-v104-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dtb-v104-cat,
.dtb-v104-cat:visited {
    position: relative;
    overflow: hidden;
    min-height: 148px;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(145deg, #ffffff 0%, #f5fff8 100%);
    border: 1px solid var(--dtb-border);
    color: #173d23 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(13, 78, 34, 0.06);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform .15s ease, box-shadow .15s ease;
}

.dtb-v104-cat:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(13, 78, 34, 0.10); }
.dtb-v104-cat::after { content: ""; position: absolute; width: 86px; height: 86px; right: -24px; top: -24px; border-radius: 50%; background: rgba(240,138,25,0.10); }
.dtb-v104-cat-icon { font-size: 36px; line-height: 1; margin-bottom: 10px; }
.dtb-v104-cat strong { font-size: 17px; font-weight: 950; line-height: 1.25; }
.dtb-v104-cat small { color: #66746a; margin-top: 4px; line-height: 1.25; }

.dtb-v104-promo-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.dtb-v104-promo,
.dtb-v104-promo:visited {
    min-height: 142px;
    padding: 20px;
    border-radius: 26px;
    background: linear-gradient(135deg, #0f7a39 0%, #1aa04f 100%);
    color: #ffffff !important;
    text-decoration: none !important;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 14px 30px rgba(13, 78, 34, 0.15);
}

.dtb-v104-promo::after { content: ""; position: absolute; width: 160px; height: 160px; right: -54px; top: -54px; border-radius: 50%; background: rgba(255,255,255,0.14); }
.dtb-v104-promo-orange { background: linear-gradient(135deg, #f08a19 0%, #ffad3f 100%); }
.dtb-v104-promo span { font-size: 34px; margin-bottom: 8px; }
.dtb-v104-promo strong { color: #ffffff; font-size: 22px; font-weight: 950; }
.dtb-v104-promo small { color: rgba(255,255,255,.92); font-size: 14px; margin-top: 4px; }

.dtb-v104-market-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dtb-v104-market-card,
.dtb-v104-market-card:visited {
    min-height: 132px;
    padding: 15px;
    border-radius: 22px;
    background: #ffffff;
    border: 1px solid var(--dtb-border);
    color: #173d23 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(13, 78, 34, 0.05);
    display: grid;
    gap: 3px;
}

.dtb-v104-market-icon { font-size: 26px; }
.dtb-v104-market-card strong { font-size: 18px; font-weight: 950; }
.dtb-v104-market-card b { color: var(--dtb-green); font-size: 21px; font-weight: 950; }
.dtb-v104-market-card em { font-style: normal; color: #6b7a70; font-size: 12px; }
.dtb-v104-market-card small { color: #758179; }

.dtb-v104-offers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dtb-v104-offer,
.dtb-v104-offer:visited {
    min-height: 178px;
    padding: 18px;
    border-radius: 26px;
    background: linear-gradient(145deg, #fff8ef 0%, #ffffff 58%, #f3fff6 100%);
    border: 1px solid #eadfcf;
    color: #173d23 !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(13, 78, 34, 0.07);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.dtb-v104-offer span { font-size: 32px; }
.dtb-v104-offer strong { font-size: 20px; font-weight: 950; }
.dtb-v104-offer small { color: #68766b; line-height: 1.45; }
.dtb-v104-offer b { color: var(--dtb-orange); font-weight: 950; margin-top: 10px; }

.dtb-v104-quick-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0;
}

.dtb-v104-quick-actions a,
.dtb-v104-quick-actions a:visited {
    min-height: 76px;
    padding: 12px 8px;
    border-radius: 20px;
    background: #f7fbf8;
    border: 1px solid #dfeee2;
    color: #173d23 !important;
    text-decoration: none !important;
    font-weight: 900;
    text-align: center;
    display: grid;
    place-items: center;
    gap: 3px;
}

.dtb-v104-quick-actions span { display: block; font-size: 13px; }

.dtb-v104-wide-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border-radius: 30px;
    background: linear-gradient(135deg, #113d23 0%, #168a42 62%, #f08a19 120%);
    color: #ffffff;
    margin-top: 16px;
    box-shadow: 0 18px 36px rgba(13, 78, 34, 0.16);
}

.dtb-v104-wide-banner span,
.dtb-v104-wide-banner strong,
.dtb-v104-wide-banner small { display: block; }
.dtb-v104-wide-banner span { color: #ffdcae; font-weight: 900; text-transform: uppercase; font-size: 12px; letter-spacing: .06em; }
.dtb-v104-wide-banner strong { color: #ffffff; font-size: 26px; font-weight: 950; margin: 2px 0 3px; }
.dtb-v104-wide-banner small { color: rgba(255,255,255,.90); }
.dtb-v104-wide-banner a,
.dtb-v104-wide-banner a:visited { flex: 0 0 auto; padding: 12px 18px; border-radius: 999px; background: #ffffff; color: #173d23 !important; text-decoration: none !important; font-weight: 950; }

.dtb-apphome-old-block-hidden { display: initial !important; }
/* v1.0.37: AppHome cleanup disabled. Header/footer/newsletter/prefooter must remain visible. */

@media (max-width: 1024px) {
    .dtb-v104-hero,
    .dtb-v104-notice-row,
    .dtb-v104-promo-pair,
    .dtb-v104-offers { grid-template-columns: 1fr; }
    .dtb-v104-categories,
    .dtb-v104-market-grid,
    .dtb-v104-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dtb-v104-quick-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .dtb-home-wrap { width: min(100% - 18px, 1180px); padding-top: 10px; }
    .dtb-v104-hero { min-height: auto; padding: 20px; border-radius: 26px; }
    .dtb-v104-hero-visual { min-height: 230px; }
    .dtb-v104-basket { width: 190px; height: 190px; border-radius: 34px; font-size: 82px; }
    .dtb-v104-float, .dtb-v104-hero-note { font-size: 11.5px; padding: 8px 10px; }
    .dtb-v104-search-card { grid-template-columns: 1fr; width: min(100% - 10px, 1080px); margin-top: -18px; }
    .dtb-v104-benefits,
    .dtb-v104-categories,
    .dtb-v104-market-grid,
    .dtb-v104-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dtb-v104-cat { min-height: 130px; padding: 14px; }
    .dtb-v104-cat-icon { font-size: 31px; }
    .dtb-v104-wide-banner { align-items: stretch; flex-direction: column; }
    .dtb-v104-wide-banner a { width: 100%; text-align: center; }
}

@media (max-width: 420px) {
    .dtb-v104-benefits,
    .dtb-v104-categories,
    .dtb-v104-market-grid,
    .dtb-v104-quick-actions { grid-template-columns: 1fr; }
    .dtb-v104-hero h1 { font-size: 34px; }
}


/* --------------------------------------------------------------------------
 * DTB Mobile Footer Balance - v1.0.6
 * Make mobile footer sections compact: each link section is full width with
 * internal two-column lists, so Useful Links no longer becomes one long column.
 * -------------------------------------------------------------------------- */
@media (max-width: 680px) {
    .dtb-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 18px 2px 12px !important;
    }

    .dtb-footer-col {
        width: 100%;
    }

    .dtb-footer-col h3 {
        margin-bottom: 10px !important;
        font-size: 17px !important;
    }

    .dtb-footer-col ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px !important;
    }

    .dtb-footer-col li {
        min-width: 0;
    }

    .dtb-footer-col a {
        display: block;
        font-size: 14.5px !important;
        line-height: 1.35 !important;
        word-break: normal;
    }

    .dtb-footer-cats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 14px !important;
    }

    .dtb-footer-support {
        grid-column: auto !important;
        padding-top: 4px;
    }

    .dtb-footer-bottom {
        padding-bottom: 68px !important; /* avoid overlap with mobile bottom nav */
    }
}

@media (max-width: 380px) {
    .dtb-footer-col ul,
    .dtb-footer-cats {
        gap: 9px 10px !important;
    }

    .dtb-footer-col a {
        font-size: 13.5px !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB Footer Template Selector - v1.0.7
 * Five selectable footer templates from Appearance > DTB Footer.
 * Same content/settings, different approved presentation styles.
 * -------------------------------------------------------------------------- */
.dtb-footer-template-compact_clean .dtb-footer-brand-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 18px;
    background: #ffffff;
    box-shadow: none;
    border-radius: 18px;
}
.dtb-footer-template-compact_clean .dtb-footer-brand p { max-width: 760px; }
.dtb-footer-template-compact_clean .dtb-footer-actions {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.dtb-footer-template-compact_clean .dtb-footer-action {
    min-height: 44px;
    border-radius: 999px;
    padding: 9px 12px;
    box-shadow: none;
}
.dtb-footer-template-compact_clean .dtb-footer-grid {
    grid-template-columns: 1fr 1fr 1fr;
    padding-top: 18px;
}

.dtb-footer-template-green_brand {
    background: linear-gradient(135deg, #0d5f31 0%, #158342 100%);
    color: #ffffff;
    border-top: 0;
}
.dtb-footer-template-green_brand .dtb-footer-brand-row {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.16);
    box-shadow: 0 18px 40px rgba(0,0,0,0.10);
}
.dtb-footer-template-green_brand .dtb-footer-logo,
.dtb-footer-template-green_brand .dtb-footer-col h3,
.dtb-footer-template-green_brand .dtb-footer-col a,
.dtb-footer-template-green_brand .dtb-footer-bottom a,
.dtb-footer-template-green_brand .dtb-footer-bottom,
.dtb-footer-template-green_brand .dtb-footer-brand p,
.dtb-footer-template-green_brand .dtb-footer-support p {
    color: #ffffff !important;
}
.dtb-footer-template-green_brand .dtb-logo-mark { background: #f08a19; }
.dtb-footer-template-green_brand .dtb-logo-text small { color: #ffd6a5; }
.dtb-footer-template-green_brand .dtb-footer-action {
    background: rgba(255,255,255,0.11);
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.18);
}
.dtb-footer-template-green_brand .dtb-action-wa,
.dtb-footer-template-green_brand .dtb-action-app {
    background: #f08a19;
    border-color: #f08a19;
    color: #ffffff !important;
}
.dtb-footer-template-green_brand .dtb-footer-bottom { border-top-color: rgba(255,255,255,0.18); }
.dtb-footer-template-green_brand .dtb-footer-socials a {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.18);
    color: #ffffff !important;
}

.dtb-footer-template-order_focused .dtb-footer-brand-row {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.7fr);
    background: linear-gradient(135deg, #effff4 0%, #ffffff 55%, #fff3e3 100%);
}
.dtb-footer-template-order_focused .dtb-footer-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dtb-footer-template-order_focused .dtb-footer-action {
    min-height: 64px;
    font-size: 15px;
    border-radius: 18px;
}
.dtb-footer-template-order_focused .dtb-footer-action:nth-child(n+5) { display: none; }
.dtb-footer-template-order_focused .dtb-action-wa {
    background: #12843f;
    border-color: #12843f;
}
.dtb-footer-template-order_focused .dtb-footer-grid {
    grid-template-columns: 0.9fr 0.9fr 1.2fr;
}

.dtb-footer-template-category_grid .dtb-footer-brand-row {
    grid-template-columns: 1fr;
    background: #f8fff9;
}
.dtb-footer-template-category_grid .dtb-footer-actions {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.dtb-footer-template-category_grid .dtb-footer-grid {
    grid-template-columns: 0.8fr 1.6fr 0.9fr;
}
.dtb-footer-template-category_grid .dtb-footer-cats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.dtb-footer-template-category_grid .dtb-footer-cats a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 10px;
    border: 1px solid #dfeee3;
    border-radius: 16px;
    background: #ffffff;
    text-align: center;
    font-weight: 700;
}

@media (max-width: 900px) {
    .dtb-footer-template-compact_clean .dtb-footer-actions,
    .dtb-footer-template-category_grid .dtb-footer-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .dtb-footer-template-category_grid .dtb-footer-grid,
    .dtb-footer-template-order_focused .dtb-footer-grid,
    .dtb-footer-template-compact_clean .dtb-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .dtb-footer-template-category_grid .dtb-footer-support,
    .dtb-footer-template-order_focused .dtb-footer-support,
    .dtb-footer-template-compact_clean .dtb-footer-support {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .dtb-footer-template-compact_clean .dtb-footer-brand-row,
    .dtb-footer-template-category_grid .dtb-footer-brand-row,
    .dtb-footer-template-order_focused .dtb-footer-brand-row {
        grid-template-columns: 1fr !important;
    }
    .dtb-footer-template-compact_clean .dtb-footer-actions,
    .dtb-footer-template-category_grid .dtb-footer-actions,
    .dtb-footer-template-order_focused .dtb-footer-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .dtb-footer-template-compact_clean .dtb-footer-action {
        border-radius: 14px;
        min-height: 48px;
    }
    .dtb-footer-template-green_brand .dtb-footer-inner {
        padding-bottom: 0;
    }
    .dtb-footer-template-order_focused .dtb-footer-action {
        min-height: 58px;
        font-size: 13.5px;
    }
    .dtb-footer-template-category_grid .dtb-footer-grid,
    .dtb-footer-template-order_focused .dtb-footer-grid,
    .dtb-footer-template-compact_clean .dtb-footer-grid {
        grid-template-columns: 1fr !important;
    }
    .dtb-footer-template-category_grid .dtb-footer-cats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .dtb-footer-template-category_grid .dtb-footer-cats a {
        min-height: 50px;
        font-size: 13.5px !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB AppHome Editable Content Settings - v1.0.8
 * Fast-load: text/emoji/CSS only; no slider library and no remote image dependency.
 * -------------------------------------------------------------------------- */
.dtb-app-home-v108 .dtb-v104-market-card,
.dtb-app-home-v108 .dtb-v104-cat,
.dtb-app-home-v108 .dtb-v104-offer,
.dtb-app-home-v108 .dtb-v104-promo,
.dtb-app-home-v108 .dtb-v104-quick-actions a {
    will-change: auto;
}
.dtb-app-home-v108 .dtb-v104-market-card b,
.dtb-app-home-v108 .dtb-v104-offer b {
    white-space: nowrap;
}
@media (max-width: 480px) {
    .dtb-app-home-v108 .dtb-v104-hero-actions {
        grid-template-columns: 1fr;
    }
    .dtb-app-home-v108 .dtb-v104-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* --------------------------------------------------------------------------
 * DTB AppHome Custom Sections - v1.0.9
 * Lightweight: CSS/card layout only, no sliders, no remote libraries.
 * -------------------------------------------------------------------------- */
.dtb-v109-custom {
    margin: 18px 0;
}
.dtb-v109-custom-head {
    margin: 0 0 10px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}
.dtb-v109-custom-head h2 {
    margin: 0;
    color: #173d23;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.25;
}
.dtb-v109-custom-head p {
    margin: 0;
    color: #6b776e;
    font-size: 14px;
    line-height: 1.45;
    text-align: right;
}
.dtb-v109-items {
    display: grid;
    gap: 12px;
}
.dtb-v109-items-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dtb-v109-items-grid,
.dtb-v109-items-quick {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.dtb-v109-items a,
.dtb-v109-notice-list a,
.dtb-v109-banner {
    text-decoration: none !important;
    box-sizing: border-box;
}
.dtb-v109-items a {
    display: flex;
    flex-direction: column;
    min-height: 98px;
    padding: 16px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #e5f0e8;
    box-shadow: 0 8px 20px rgba(0,0,0,0.045);
    color: #1f2d23 !important;
}
.dtb-v109-items a strong {
    color: #0b7a3b;
    font-size: 16px;
    font-weight: 950;
    line-height: 1.35;
}
.dtb-v109-items a span {
    color: #69766d;
    font-size: 13px;
    line-height: 1.45;
    margin-top: 6px;
}
.dtb-v109-items-quick a {
    min-height: 74px;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #f6fff8;
}
.dtb-v109-items-grid a {
    text-align: center;
    align-items: center;
    justify-content: center;
}
.dtb-v109-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 118px;
    padding: 22px;
    border-radius: 24px;
    background: linear-gradient(135deg, #0b7a3b 0%, #128f49 62%, #f28c22 100%);
    box-shadow: 0 14px 28px rgba(9, 105, 50, 0.14);
    color: #ffffff !important;
    overflow: hidden;
    position: relative;
}
.dtb-v109-banner:after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -50px;
    top: -60px;
    border-radius: 50%;
    background: rgba(255,255,255,0.16);
}
.dtb-v109-banner strong,
.dtb-v109-banner span {
    position: relative;
    z-index: 1;
}
.dtb-v109-banner strong {
    font-size: 23px;
    font-weight: 950;
    line-height: 1.3;
}
.dtb-v109-banner span {
    font-size: 14px;
    color: rgba(255,255,255,.92);
    text-align: right;
}
.dtb-v109-notice-list {
    display: grid;
    gap: 10px;
}
.dtb-v109-notice-list a {
    display: block;
    padding: 14px 16px;
    border-radius: 18px;
    background: #fff8ef;
    border: 1px solid #ffe0ba;
    border-left: 5px solid #f28c22;
    color: #684313 !important;
}
.dtb-v109-notice-list strong,
.dtb-v109-notice-list span {
    display: block;
}
.dtb-v109-notice-list strong {
    font-weight: 950;
    color: #9a5100;
}
.dtb-v109-notice-list span {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.5;
}
@media (max-width: 768px) {
    .dtb-v109-custom-head {
        display: block;
    }
    .dtb-v109-custom-head h2 {
        font-size: 20px;
    }
    .dtb-v109-custom-head p {
        text-align: left;
        margin-top: 4px;
    }
    .dtb-v109-items-cards,
    .dtb-v109-items-grid,
    .dtb-v109-items-quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .dtb-v109-items a {
        min-height: 82px;
        padding: 13px;
        border-radius: 16px;
    }
    .dtb-v109-items a strong {
        font-size: 14px;
    }
    .dtb-v109-items a span {
        font-size: 12px;
    }
    .dtb-v109-banner {
        display: block;
        min-height: auto;
        padding: 18px;
        border-radius: 20px;
    }
    .dtb-v109-banner strong,
    .dtb-v109-banner span {
        display: block;
        text-align: left;
    }
    .dtb-v109-banner strong {
        font-size: 20px;
    }
    .dtb-v109-banner span {
        margin-top: 6px;
    }
}


/* DTB v1.0.11: real action-link setup only. No heavy frontend assets added. */

/* v1.0.13: Common JSON connector uses existing AppHome styles; no extra frontend weight. */


/* --------------------------------------------------------------------------
 * DTB AppHome v1.0.14 exact app JSON renderer polish
 * Lightweight image support: lazy images only, no slider or external library.
 * -------------------------------------------------------------------------- */
.dtb-app-home-v114 .dtb-json-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.dtb-app-home-v114 .dtb-v104-basket .dtb-json-img {
    width: 110px;
    height: 110px;
    border-radius: 28px;
}
.dtb-app-home-v114 .dtb-v104-cat-icon.dtb-json-img,
.dtb-app-home-v114 .dtb-v104-market-icon.dtb-json-img,
.dtb-app-home-v114 .dtb-v114-offer-visual.dtb-json-img,
.dtb-app-home-v114 .dtb-v114-promo-visual.dtb-json-img,
.dtb-app-home-v114 .dtb-v114-quick-visual.dtb-json-img {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #f4fbf6;
    border: 1px solid #e1f0e5;
    object-fit: cover;
}
.dtb-v114-featured-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 14px 0 22px;
}
.dtb-v114-featured-card {
    background: #fff;
    border: 1px solid #dcefe3;
    border-radius: 20px;
    padding: 14px;
    text-decoration: none !important;
    color: #10351e !important;
    box-shadow: 0 8px 24px rgba(12, 89, 43, 0.05);
    min-height: 170px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.dtb-v114-featured-card strong {
    font-size: 17px;
    line-height: 1.35;
    color: #10351e;
}
.dtb-v114-featured-card small {
    color: #65736a;
    font-size: 13px;
    line-height: 1.45;
}
.dtb-v114-featured-card b {
    margin-top: auto;
    color: #f28c22;
    font-size: 13px;
}
.dtb-v114-featured-img {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: #f4fbf6;
    border: 1px solid #e1f0e5;
    object-fit: cover;
}
.dtb-v114-featured-img.dtb-json-img {
    display: block;
}
@media (max-width: 768px) {
    .dtb-v114-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .dtb-v114-featured-card {
        min-height: 150px;
        padding: 12px;
        border-radius: 18px;
    }
    .dtb-v114-featured-card strong {
        font-size: 15px;
    }
    .dtb-v114-featured-img,
    .dtb-v114-featured-card .dtb-json-img {
        width: 50px;
        height: 50px;
    }
}


/* --------------------------------------------------------------------------
 * DTB AppHome v1.0.15 Mobile Compact Layout
 * Goal: faster-feeling mobile page with less scrolling. CSS only; no JS/library.
 * -------------------------------------------------------------------------- */
@media (max-width: 680px) {
    .dtb-app-home-v114 {
        margin-bottom: 86px;
    }
    .dtb-app-home-v114 .dtb-home-wrap {
        width: min(100% - 16px, 1180px) !important;
        padding-top: 6px !important;
    }
    .dtb-app-home-v114 .dtb-v104-hero {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        padding: 18px 16px !important;
        border-radius: 24px !important;
        gap: 12px !important;
    }
    .dtb-app-home-v114 .dtb-v104-topline {
        margin-bottom: 9px !important;
        gap: 6px !important;
    }
    .dtb-app-home-v114 .dtb-v104-topline span {
        min-height: 26px !important;
        padding: 5px 9px !important;
        font-size: 11.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-hero h1 {
        font-size: 31px !important;
        line-height: 1.12 !important;
        letter-spacing: -0.035em !important;
        margin-bottom: 8px !important;
    }
    .dtb-app-home-v114 .dtb-v104-hero p {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }
    .dtb-app-home-v114 .dtb-v104-hero-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin-top: 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-btn {
        min-height: 42px !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-hero-visual {
        min-height: 132px !important;
        display: none !important;
    }
    .dtb-app-home-v114 .dtb-v104-search-card {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 8px !important;
        margin: -10px auto 8px !important;
        border-radius: 18px !important;
        width: min(100% - 4px, 1080px) !important;
    }
    .dtb-app-home-v114 .dtb-v104-search {
        grid-column: 1 / -1;
        min-height: 42px !important;
        font-size: 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-mini {
        min-height: 40px !important;
        min-width: 0 !important;
        justify-content: center;
        font-size: 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-notice-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 8px 0 !important;
    }
    .dtb-app-home-v114 .dtb-v104-prayer,
    .dtb-app-home-v114 .dtb-v104-marquee {
        min-height: 42px !important;
        padding: 9px 12px !important;
        border-radius: 16px !important;
        font-size: 13px !important;
    }
    .dtb-app-home-v114 .dtb-v104-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 10px 0 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-benefits div {
        min-height: 58px !important;
        padding: 10px !important;
        border-radius: 14px !important;
    }
    .dtb-app-home-v114 .dtb-v104-benefits strong {
        font-size: 13px !important;
    }
    .dtb-app-home-v114 .dtb-v104-benefits span {
        font-size: 11.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-section-head {
        margin: 16px 0 9px !important;
        align-items: center !important;
    }
    .dtb-app-home-v114 .dtb-v104-section-head span {
        font-size: 10.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-section-head h2 {
        font-size: 23px !important;
        line-height: 1.15 !important;
    }
    .dtb-app-home-v114 .dtb-v104-section-head a {
        font-size: 13px !important;
        white-space: nowrap;
    }
    .dtb-app-home-v114 .dtb-v104-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }
    .dtb-app-home-v114 .dtb-v104-cat {
        min-height: 94px !important;
        padding: 11px !important;
        border-radius: 17px !important;
        justify-content: center !important;
    }
    .dtb-app-home-v114 .dtb-v104-cat::after {
        width: 54px !important;
        height: 54px !important;
        right: -18px !important;
        top: -18px !important;
    }
    .dtb-app-home-v114 .dtb-v104-cat-icon,
    .dtb-app-home-v114 .dtb-v104-cat-icon.dtb-json-img {
        width: 32px !important;
        height: 32px !important;
        font-size: 26px !important;
        margin-bottom: 6px !important;
        border-radius: 10px !important;
    }
    .dtb-app-home-v114 .dtb-v104-cat strong {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }
    .dtb-app-home-v114 .dtb-v104-cat small {
        font-size: 11.5px !important;
        margin-top: 2px !important;
    }
    .dtb-app-home-v114 .dtb-v104-promo-pair {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        margin-top: 12px !important;
    }
    .dtb-app-home-v114 .dtb-v104-promo {
        min-height: 102px !important;
        padding: 15px !important;
        border-radius: 20px !important;
    }
    .dtb-app-home-v114 .dtb-v104-promo span,
    .dtb-app-home-v114 .dtb-v114-promo-visual.dtb-json-img {
        width: 34px !important;
        height: 34px !important;
        font-size: 28px !important;
        margin-bottom: 5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-promo strong {
        font-size: 19px !important;
    }
    .dtb-app-home-v114 .dtb-v104-promo small {
        font-size: 12.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-card {
        min-height: 116px !important;
        padding: 12px !important;
        border-radius: 18px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-icon,
    .dtb-app-home-v114 .dtb-v104-market-icon.dtb-json-img {
        width: 32px !important;
        height: 32px !important;
        font-size: 26px !important;
        border-radius: 10px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-card strong {
        font-size: 16px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-card b {
        font-size: 18px !important;
    }
    .dtb-app-home-v114 .dtb-v104-market-card small {
        font-size: 11.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-offers {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }
    .dtb-app-home-v114 .dtb-v104-offer {
        min-height: 116px !important;
        padding: 14px !important;
        border-radius: 20px !important;
    }
    .dtb-app-home-v114 .dtb-v104-offer span,
    .dtb-app-home-v114 .dtb-v114-offer-visual.dtb-json-img {
        width: 34px !important;
        height: 34px !important;
        font-size: 28px !important;
    }
    .dtb-app-home-v114 .dtb-v104-offer strong {
        font-size: 18px !important;
    }
    .dtb-app-home-v114 .dtb-v104-offer small {
        font-size: 12.5px !important;
    }
    .dtb-app-home-v114 .dtb-v104-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        margin: 14px 0 !important;
    }
    .dtb-app-home-v114 .dtb-v104-quick-actions a {
        min-height: 58px !important;
        padding: 9px 8px !important;
        border-radius: 17px !important;
        font-size: 18px !important;
    }
    .dtb-app-home-v114 .dtb-v104-quick-actions span {
        font-size: 12.5px !important;
    }
    .dtb-app-home-v114 .dtb-v114-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
        margin: 10px 0 16px !important;
    }
    .dtb-app-home-v114 .dtb-v114-featured-card {
        min-height: 128px !important;
        padding: 11px !important;
        border-radius: 16px !important;
    }
    .dtb-app-home-v114 .dtb-v104-wide-banner {
        padding: 18px !important;
        border-radius: 22px !important;
        margin-top: 12px !important;
    }
    .dtb-app-home-v114 .dtb-v104-wide-banner strong {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 420px) {
    .dtb-app-home-v114 .dtb-v104-benefits,
    .dtb-app-home-v114 .dtb-v104-categories,
    .dtb-app-home-v114 .dtb-v104-market-grid,
    .dtb-app-home-v114 .dtb-v104-quick-actions,
    .dtb-app-home-v114 .dtb-v114-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* DTB v1.0.16 exact app JSON renderer polish */
.dtb-app-home-v116 .dtb-v116-imgwrap{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#f4fbf6;border-radius:16px}
.dtb-app-home-v116 .dtb-v116-imgwrap img{width:100%;height:100%;object-fit:cover;display:block}
.dtb-app-home-v116 .dtb-v116-imgfallback{display:none;align-items:center;justify-content:center;font-size:26px;line-height:1}
.dtb-app-home-v116 .dtb-v104-cat-icon.dtb-v116-imgwrap{width:46px;height:46px;margin-bottom:10px}
.dtb-app-home-v116 .dtb-v104-market-icon.dtb-v116-imgwrap{width:58px;height:58px;margin-bottom:12px;background:#fff8ef}
.dtb-app-home-v116 .dtb-v116-banner-img{display:block;border-radius:24px;overflow:hidden;margin:12px 0;box-shadow:0 12px 32px rgba(0,0,0,.06)}
.dtb-app-home-v116 .dtb-v116-banner-img img{width:100%;height:auto;display:block}
.dtb-app-home-v116 .dtb-v116-offer-price{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.dtb-app-home-v116 .dtb-v116-old{color:#8a9690;text-decoration:line-through;font-weight:700}.dtb-app-home-v116 .dtb-v116-new{color:#07833f;font-weight:900}.dtb-app-home-v116 .dtb-v116-badge{display:inline-flex;background:#fff3e6;color:#e87912;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;margin-bottom:8px}.dtb-app-home-v116 .dtb-v104-market-card small{min-height:auto}.dtb-app-home-v116 .dtb-v116-price-change{color:#69766f!important}.dtb-app-home-v116 .dtb-v116-featured-card .dtb-v116-imgwrap,.dtb-app-home-v116 .dtb-v116-offer-img{width:62px;height:62px;margin-bottom:12px}
@media(max-width:768px){.dtb-app-home-v116 .dtb-home-wrap{padding-left:14px;padding-right:14px}.dtb-app-home-v116 .dtb-v104-cat{min-height:128px;padding:16px}.dtb-app-home-v116 .dtb-v104-cat strong{font-size:18px}.dtb-app-home-v116 .dtb-v104-cat small{font-size:13px}.dtb-app-home-v116 .dtb-v104-market-card{min-height:168px;padding:16px}.dtb-app-home-v116 .dtb-v104-market-card strong{font-size:20px}.dtb-app-home-v116 .dtb-v104-market-card b{font-size:20px}.dtb-app-home-v116 .dtb-v104-offers{grid-template-columns:1fr!important}.dtb-app-home-v116 .dtb-v104-offer{min-height:150px}.dtb-app-home-v116 .dtb-v116-banner-img{border-radius:20px;margin:10px 0 14px}.dtb-app-home-v116 .dtb-v104-quick-actions{grid-template-columns:repeat(2,1fr)!important}.dtb-app-home-v116 .dtb-v104-quick-actions a{min-height:94px}}


/* DTB v1.0.17 mobile polish + offer text overlap guard */
.dtb-app-home-v116 .dtb-v104-offer{
    position:relative!important;
    overflow:hidden!important;
    gap:7px!important;
    justify-content:flex-start!important;
}
.dtb-app-home-v116 .dtb-v104-offer .dtb-v116-badge{
    width:max-content!important;
    max-width:100%!important;
    height:auto!important;
    font-size:12px!important;
    line-height:1.15!important;
    padding:5px 9px!important;
    margin:0 0 4px!important;
    white-space:normal!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
}
.dtb-app-home-v116 .dtb-v104-offer .dtb-v116-offer-price{
    font-size:inherit!important;
    line-height:1.1!important;
    margin-top:4px!important;
    min-height:24px!important;
}
.dtb-app-home-v116 .dtb-v104-offer .dtb-v116-new{
    font-size:21px!important;
    line-height:1.15!important;
    display:inline-block!important;
    margin:0!important;
    color:#07833f!important;
}
.dtb-app-home-v116 .dtb-v104-offer .dtb-v116-old{
    font-size:13px!important;
    line-height:1.1!important;
    display:inline-block!important;
    color:#81908a!important;
    text-decoration:line-through!important;
}
.dtb-app-home-v116 .dtb-v104-offer > strong{
    line-height:1.25!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}
.dtb-app-home-v116 .dtb-v104-offer > small{
    line-height:1.35!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}
.dtb-app-home-v116 .dtb-v104-offer > b{
    font-size:14px!important;
    line-height:1.2!important;
    margin-top:4px!important;
    display:inline-block!important;
}
.dtb-app-home-v116 .dtb-v116-offer-img{
    flex:0 0 auto!important;
}
.dtb-app-home-v116 .dtb-v116-offer-img img{
    object-fit:contain!important;
    background:#fff!important;
}
.dtb-app-home-v116 .dtb-v116-banner-img{
    background:#fff!important;
}
.dtb-app-home-v116 .dtb-v116-banner-img img{
    max-height:360px!important;
    object-fit:cover!important;
}
@media(max-width:768px){
    .dtb-app-home-v116 .dtb-home-wrap{padding-left:12px!important;padding-right:12px!important;}
    .dtb-app-home-v116 .dtb-v104-section-head{margin:14px 0 9px!important;}
    .dtb-app-home-v116 .dtb-v104-section-head h2{font-size:28px!important;line-height:1.15!important;}
    .dtb-app-home-v116 .dtb-v104-categories{gap:10px!important;}
    .dtb-app-home-v116 .dtb-v104-cat{min-height:112px!important;padding:13px!important;border-radius:18px!important;}
    .dtb-app-home-v116 .dtb-v104-cat-icon.dtb-v116-imgwrap{width:38px!important;height:38px!important;margin-bottom:6px!important;}
    .dtb-app-home-v116 .dtb-v104-cat strong{font-size:16px!important;line-height:1.25!important;}
    .dtb-app-home-v116 .dtb-v104-cat small{font-size:12px!important;line-height:1.2!important;}
    .dtb-app-home-v116 .dtb-v104-market-grid{gap:10px!important;}
    .dtb-app-home-v116 .dtb-v104-market-card{min-height:142px!important;padding:13px!important;border-radius:18px!important;}
    .dtb-app-home-v116 .dtb-v104-market-icon.dtb-v116-imgwrap{width:42px!important;height:42px!important;margin-bottom:7px!important;}
    .dtb-app-home-v116 .dtb-v104-market-card strong{font-size:18px!important;line-height:1.25!important;}
    .dtb-app-home-v116 .dtb-v104-market-card b{font-size:18px!important;line-height:1.25!important;}
    .dtb-app-home-v116 .dtb-v104-market-card small{font-size:11px!important;line-height:1.25!important;}
    .dtb-app-home-v116 .dtb-v104-offers{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
    .dtb-app-home-v116 .dtb-v104-offer{min-height:174px!important;padding:13px!important;border-radius:18px!important;}
    .dtb-app-home-v116 .dtb-v116-offer-img{width:42px!important;height:42px!important;margin-bottom:4px!important;}
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-badge{font-size:11px!important;padding:4px 7px!important;}
    .dtb-app-home-v116 .dtb-v104-offer > strong{font-size:16px!important;line-height:1.22!important;}
    .dtb-app-home-v116 .dtb-v104-offer > small{font-size:11.5px!important;}
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-new{font-size:18px!important;}
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-old{font-size:11.5px!important;}
    .dtb-app-home-v116 .dtb-v104-quick-actions{gap:9px!important;margin:12px 0!important;}
    .dtb-app-home-v116 .dtb-v104-quick-actions a{min-height:68px!important;padding:10px 8px!important;border-radius:17px!important;}
    .dtb-app-home-v116 .dtb-v104-wide-banner{margin-top:10px!important;}
    .dtb-app-home-v116 .dtb-v116-banner-img{margin:8px 0 12px!important;border-radius:18px!important;}
    .dtb-app-home-v116 .dtb-v116-banner-img img{max-height:260px!important;object-fit:cover!important;}
    .dtb-app-home-v116 .dtb-v114-featured-card{min-height:142px!important;}
    .dtb-app-home-v116 .dtb-v116-featured-card .dtb-v116-imgwrap{width:46px!important;height:46px!important;margin-bottom:8px!important;}
}
@media(max-width:380px){
    .dtb-app-home-v116 .dtb-v104-offer{min-height:164px!important;padding:11px!important;}
    .dtb-app-home-v116 .dtb-v104-offer > strong{font-size:15px!important;}
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-new{font-size:17px!important;}
    .dtb-app-home-v116 .dtb-v104-section-head h2{font-size:25px!important;}
}


/* --------------------------------------------------------------------------
 * DTB v1.0.18 top banner edge-to-edge mobile gap fix
 * Scope: tighten only the AppHome top/hero JSON banner so it does not show
 * unnecessary left, right, or top blank space on mobile. Keeps other sections
 * padded and readable.
 * -------------------------------------------------------------------------- */
.dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child,
.dtb-app-home-v116 .dtb-v116-hero-banner {
    line-height: 0 !important;
}

@media (max-width: 768px) {
    .dtb-app-home-v116 {
        margin-top: 0 !important;
    }

    .dtb-app-home-v116 .dtb-home-wrap {
        padding-top: 0 !important;
    }

    /* First JSON banner/hero: remove outside gutter while keeping content sections padded. */
    .dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child {
        width: calc(100% + 24px) !important;
        max-width: none !important;
        margin: 0 -12px 8px !important;
        border-radius: 0 0 18px 18px !important;
        box-shadow: none !important;
        background: transparent !important;
        overflow: hidden !important;
    }

    .dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child img {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        border: 0 !important;
        object-fit: cover !important;
        object-position: center center !important;
        transform: scale(1.018);
        transform-origin: center center;
    }

    /* If the first banner is rendered after an empty/hidden block, also tighten the first visible banner. */
    .dtb-app-home-v116 .dtb-v116-banner-img:first-of-type {
        line-height: 0 !important;
    }
}

@media (max-width: 430px) {
    .dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child {
        width: calc(100% + 28px) !important;
        margin-left: -14px !important;
        margin-right: -14px !important;
        margin-top: 0 !important;
        margin-bottom: 7px !important;
        border-radius: 0 0 16px 16px !important;
    }

    .dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child img {
        transform: scale(1.025);
    }
}


/* --------------------------------------------------------------------------
 * DTB v1.0.19 Mobile Footer Compact + Button Card Size Fix
 * Scope: mobile-only compacting for AppHome action cards and DTB footer.
 * Keeps JSON rendering and WooCommerce logic unchanged.
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    /* Remove large white gap before custom DTB footer when AppHome ends. */
    .dtb-app-home-v116 {
        padding-bottom: 10px !important;
        margin-bottom: 0 !important;
    }
    .dtb-app-home-v116 .dtb-home-wrap {
        padding-bottom: 6px !important;
    }
    .dtb-app-home-v116 .dtb-home-wrap > *:last-child {
        margin-bottom: 8px !important;
    }

    /* Compact hero/action buttons and search card buttons. */
    .dtb-app-home-v116 .dtb-v104-hero-actions {
        gap: 8px !important;
        margin-top: 12px !important;
    }
    .dtb-app-home-v116 .dtb-v104-hero-actions a,
    .dtb-app-home-v116 .dtb-v104-search-card a,
    .dtb-app-home-v116 .dtb-v104-mini {
        min-height: 42px !important;
        padding: 9px 12px !important;
        border-radius: 16px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
    .dtb-app-home-v116 .dtb-v104-search-card {
        padding: 10px !important;
        gap: 8px !important;
        border-radius: 18px !important;
    }

    /* Quick cards: small, neat, 2-column. */
    .dtb-app-home-v116 .dtb-v104-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 10px 0 12px !important;
    }
    .dtb-app-home-v116 .dtb-v104-quick-actions a {
        min-height: 54px !important;
        padding: 8px 8px !important;
        border-radius: 15px !important;
        font-size: 13px !important;
        gap: 2px !important;
    }
    .dtb-app-home-v116 .dtb-v104-quick-actions a span:first-child,
    .dtb-app-home-v116 .dtb-v114-quick-visual {
        font-size: 17px !important;
        line-height: 1 !important;
    }
    .dtb-app-home-v116 .dtb-v104-quick-actions a span:last-child {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    /* Category / market / offer cards: keep compact mobile height. */
    .dtb-app-home-v116 .dtb-v104-cat {
        min-height: 104px !important;
        padding: 11px !important;
        border-radius: 16px !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-card {
        min-height: 132px !important;
        padding: 11px !important;
        border-radius: 16px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer {
        min-height: 138px !important;
        padding: 11px !important;
        border-radius: 16px !important;
        gap: 4px !important;
        overflow: hidden !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer > strong {
        font-size: 15px !important;
        line-height: 1.18 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer > small {
        font-size: 11px !important;
        line-height: 1.2 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-new,
    .dtb-app-home-v116 .dtb-v104-offer b {
        font-size: 16px !important;
        line-height: 1.15 !important;
        margin-top: 2px !important;
    }

    /* Banners: less bottom gap before next section/footer. */
    .dtb-app-home-v116 .dtb-v116-banner-img,
    .dtb-app-home-v116 .dtb-v104-wide-banner {
        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }

    /* Footer compact mode on mobile, regardless of selected footer template. */
    .dtb-app-footer {
        margin-top: 8px !important;
    }
    .dtb-footer-inner {
        padding: 14px 16px 96px !important;
    }
    .dtb-footer-brand-row {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 14px !important;
        border-radius: 18px !important;
    }
    .dtb-footer-logo {
        gap: 9px !important;
    }
    .dtb-logo-mark {
        width: 40px !important;
        height: 40px !important;
        border-radius: 13px !important;
        font-size: 18px !important;
    }
    .dtb-logo-text strong {
        font-size: 20px !important;
        line-height: 1.15 !important;
    }
    .dtb-logo-text small,
    .dtb-footer-brand p,
    .dtb-footer-support p {
        font-size: 13px !important;
        line-height: 1.42 !important;
    }
    .dtb-footer-brand p {
        margin-top: 6px !important;
    }
    .dtb-footer-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin-top: 10px !important;
    }
    .dtb-footer-action {
        min-height: 42px !important;
        padding: 8px 9px !important;
        border-radius: 14px !important;
        font-size: 12.5px !important;
        line-height: 1.15 !important;
    }
    /* On mobile keep footer action block short; the main page already has order buttons. */
    .dtb-footer-actions .dtb-footer-action:nth-child(n+5) {
        display: none !important;
    }
    .dtb-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 14px 2px 10px !important;
    }
    .dtb-footer-col h3 {
        font-size: 18px !important;
        margin-bottom: 8px !important;
    }
    .dtb-footer-col ul,
    .dtb-footer-cats {
        gap: 7px 16px !important;
    }
    .dtb-footer-col a,
    .dtb-footer-cats a {
        font-size: 13.5px !important;
        line-height: 1.25 !important;
    }
    .dtb-footer-support {
        padding-top: 4px !important;
    }
    .dtb-footer-socials {
        gap: 8px !important;
        margin-top: 8px !important;
    }
    .dtb-footer-socials a {
        width: 34px !important;
        height: 34px !important;
        font-size: 13px !important;
    }
    .dtb-footer-bottom {
        gap: 8px !important;
        padding-top: 10px !important;
    }
    .dtb-footer-bottom p,
    .dtb-footer-bottom a {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
}

@media (max-width: 420px) {
    .dtb-app-home-v116 .dtb-v104-quick-actions a {
        min-height: 50px !important;
        font-size: 12.5px !important;
    }
    .dtb-app-home-v116 .dtb-v104-hero-actions a,
    .dtb-app-home-v116 .dtb-v104-search-card a,
    .dtb-app-home-v116 .dtb-v104-mini {
        min-height: 40px !important;
        font-size: 13px !important;
        padding: 8px 10px !important;
    }
    .dtb-footer-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB v1.0.20 Mobile Ultra Compact Polish
 * Scope: mobile-only card sizing, offer overlap prevention, footer gap cleanup.
 * Keeps JSON source, WooCommerce, checkout/cart and app content logic unchanged.
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .dtb-app-home-v116 .dtb-home-wrap {
        width: min(100%, 100% - 16px) !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        gap: 8px !important;
    }

    .dtb-app-home-v116 .dtb-v104-section-head {
        margin: 12px 0 8px !important;
        gap: 8px !important;
    }
    .dtb-app-home-v116 .dtb-v104-section-head span {
        font-size: 11px !important;
        letter-spacing: .04em !important;
    }
    .dtb-app-home-v116 .dtb-v104-section-head h2 {
        font-size: clamp(23px, 7vw, 31px) !important;
        line-height: 1.08 !important;
        margin: 0 !important;
    }
    .dtb-app-home-v116 .dtb-v104-section-head a {
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    /* Hero/banner: edge-to-edge but not tall. */
    .dtb-app-home-v116 .dtb-home-wrap > .dtb-v116-banner-img:first-child {
        width: calc(100% + 16px) !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
        margin-bottom: 6px !important;
    }
    .dtb-app-home-v116 .dtb-v116-banner-img {
        margin: 6px 0 8px !important;
        border-radius: 16px !important;
    }

    /* Benefits/prayer: short chips. */
    .dtb-app-home-v116 .dtb-v104-notice-row,
    .dtb-app-home-v116 .dtb-v104-benefits {
        gap: 7px !important;
        margin: 7px 0 !important;
    }
    .dtb-app-home-v116 .dtb-v104-benefits > div {
        min-height: 48px !important;
        padding: 9px 10px !important;
        border-radius: 14px !important;
    }
    .dtb-app-home-v116 .dtb-v104-benefits strong {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
    .dtb-app-home-v116 .dtb-v104-benefits span,
    .dtb-app-home-v116 .dtb-v104-marquee,
    .dtb-app-home-v116 .dtb-v104-prayer {
        font-size: 12px !important;
        line-height: 1.25 !important;
    }

    /* Categories: denser 2-column app grid. */
    .dtb-app-home-v116 .dtb-v104-categories {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .dtb-app-home-v116 .dtb-v104-cat {
        min-height: 92px !important;
        padding: 9px !important;
        border-radius: 15px !important;
    }
    .dtb-app-home-v116 .dtb-v104-cat-icon,
    .dtb-app-home-v116 .dtb-v104-cat .dtb-json-img,
    .dtb-app-home-v116 .dtb-v104-cat img {
        width: 34px !important;
        height: 34px !important;
        border-radius: 12px !important;
        object-fit: contain !important;
    }
    .dtb-app-home-v116 .dtb-v104-cat strong {
        font-size: 15px !important;
        line-height: 1.18 !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .dtb-app-home-v116 .dtb-v104-cat small {
        font-size: 11px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    /* Market price: compact cards with real JSON prices. */
    .dtb-app-home-v116 .dtb-v104-market-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-card {
        min-height: 116px !important;
        padding: 9px !important;
        border-radius: 15px !important;
        gap: 4px !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-icon,
    .dtb-app-home-v116 .dtb-v104-market-card .dtb-json-img,
    .dtb-app-home-v116 .dtb-v104-market-card img {
        width: 34px !important;
        height: 34px !important;
        font-size: 22px !important;
        object-fit: contain !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-card strong {
        font-size: 15.5px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-card b {
        font-size: 16px !important;
        line-height: 1.15 !important;
    }
    .dtb-app-home-v116 .dtb-v104-market-card em,
    .dtb-app-home-v116 .dtb-v104-market-card small {
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    /* Offer cards: prevent badge/title/price overlap by simplifying mobile view. */
    .dtb-app-home-v116 .dtb-v104-offers {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer {
        min-height: 128px !important;
        padding: 9px !important;
        border-radius: 15px !important;
        gap: 3px !important;
        justify-content: flex-start !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-offer-img,
    .dtb-app-home-v116 .dtb-v104-offer img,
    .dtb-app-home-v116 .dtb-v104-offer .dtb-json-img {
        width: 32px !important;
        height: 32px !important;
        object-fit: contain !important;
        border-radius: 12px !important;
        margin-bottom: 1px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-badge {
        display: block !important;
        width: max-content !important;
        max-width: 100% !important;
        font-size: 10px !important;
        line-height: 1.05 !important;
        padding: 2px 5px !important;
        margin: 0 !important;
        border-radius: 8px !important;
        color: #e87912 !important;
        background: #fff5e8 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer > strong {
        font-size: 14px !important;
        line-height: 1.16 !important;
        -webkit-line-clamp: 2 !important;
        min-height: 32px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer > small {
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        -webkit-line-clamp: 1 !important;
        min-height: 12px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-offer-price {
        min-height: 18px !important;
        margin-top: 1px !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-new {
        font-size: 16px !important;
        line-height: 1 !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer .dtb-v116-old {
        display: none !important;
    }
    .dtb-app-home-v116 .dtb-v104-offer > b:last-child {
        font-size: 11px !important;
        line-height: 1 !important;
        margin-top: 1px !important;
    }

    /* Quick actions: keep only the 4 practical actions on mobile. */
    .dtb-app-home-v116 .dtb-v104-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 8px 0 10px !important;
    }
    .dtb-app-home-v116 .dtb-v104-quick-actions a {
        min-height: 44px !important;
        padding: 7px 8px !important;
        border-radius: 14px !important;
    }
    .dtb-app-home-v116 .dtb-v104-quick-actions a:nth-child(n+5) {
        display: none !important;
    }

    /* Featured: JSON may still contain demo items; keep it small until content is cleaned. */
    .dtb-app-home-v116 .dtb-v114-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .dtb-app-home-v116 .dtb-v114-featured-card {
        min-height: 108px !important;
        padding: 9px !important;
        border-radius: 15px !important;
        gap: 3px !important;
    }
    .dtb-app-home-v116 .dtb-v114-featured-img,
    .dtb-app-home-v116 .dtb-v114-featured-card img {
        width: 34px !important;
        height: 34px !important;
        object-fit: contain !important;
    }
    .dtb-app-home-v116 .dtb-v114-featured-card strong {
        font-size: 13.5px !important;
        line-height: 1.15 !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    .dtb-app-home-v116 .dtb-v114-featured-card small,
    .dtb-app-home-v116 .dtb-v114-featured-card b {
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }

    /* Footer: remove final excess height on AppHome. */
    .dtb-app-footer { margin-top: 4px !important; }
    .dtb-footer-inner { padding-top: 10px !important; padding-bottom: 84px !important; }
    .dtb-footer-brand-row { padding: 11px !important; gap: 8px !important; }
    .dtb-footer-action { min-height: 38px !important; padding: 7px 8px !important; }
    .dtb-footer-grid { padding-top: 10px !important; gap: 10px !important; }
    .dtb-footer-support { margin-top: 0 !important; }
}

@media (max-width: 380px) {
    .dtb-app-home-v116 .dtb-v104-market-card { min-height: 108px !important; }
    .dtb-app-home-v116 .dtb-v104-offer { min-height: 120px !important; }
    .dtb-app-home-v116 .dtb-v104-cat { min-height: 86px !important; }
    .dtb-app-home-v116 .dtb-v104-section-head h2 { font-size: 24px !important; }
}


/* --------------------------------------------------------------------------
 * DTB v1.0.21 - AppHome Isolation + App Safety Mode
 * Keep AppHome cleanup scoped to the shortcode page only and reduce WebView load.
 * -------------------------------------------------------------------------- */
body:not(.dtb-apphome-cleanup) .dtb-apphome-old-block-hidden {
    display: initial !important;
}
body.dtb-apphome-cleanup .dtb-apphome-old-block-hidden {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.dtb-apphome-safe-mode .dtb-app-home {
    contain: layout paint;
}
body.dtb-apphome-safe-mode .dtb-app-home img {
    content-visibility: auto;
}
@media (max-width: 768px) {
    body.dtb-apphome-safe-mode .dtb-app-home {
        margin-top: 0 !important;
    }
}

/* --------------------------------------------------------------------------
 * DTB v1.0.24 - Market/Offer compact rollback safety
 * Reverts the v1.0.22/v1.0.23 card tap-guard direction by using v1.0.21 base,
 * then adds only safe CSS sizing for market/offer/deal pages. No JS toast.
 * -------------------------------------------------------------------------- */
body.dtb-market-offer-compact-page .site-content,
body.dtb-market-offer-compact-page main,
body.dtb-market-offer-compact-page .entry-content {
    overflow-x: hidden;
}

@media (max-width: 768px) {
    body.dtb-market-offer-compact-page .products,
    body.dtb-market-offer-compact-page ul.products,
    body.dtb-market-offer-compact-page .wd-products,
    body.dtb-market-offer-compact-page .dtb-market-grid,
    body.dtb-market-offer-compact-page .market-price-grid,
    body.dtb-market-offer-compact-page .offer-grid,
    body.dtb-market-offer-compact-page .deals-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        align-items: stretch !important;
    }

    body.dtb-market-offer-compact-page .product-grid-item,
    body.dtb-market-offer-compact-page .wd-product,
    body.dtb-market-offer-compact-page .product,
    body.dtb-market-offer-compact-page .products .type-product,
    body.dtb-market-offer-compact-page .dtb-market-card,
    body.dtb-market-offer-compact-page .dtb-price-card,
    body.dtb-market-offer-compact-page .market-price-card,
    body.dtb-market-offer-compact-page .price-card,
    body.dtb-market-offer-compact-page .dtb-offer-card,
    body.dtb-market-offer-compact-page .offer-card,
    body.dtb-market-offer-compact-page .deal-card,
    body.dtb-market-offer-compact-page .promo-card {
        min-height: 104px !important;
        height: auto !important;
        padding: 9px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.dtb-market-offer-compact-page .product-grid-item img,
    body.dtb-market-offer-compact-page .wd-product img,
    body.dtb-market-offer-compact-page .product img,
    body.dtb-market-offer-compact-page .dtb-market-card img,
    body.dtb-market-offer-compact-page .dtb-price-card img,
    body.dtb-market-offer-compact-page .market-price-card img,
    body.dtb-market-offer-compact-page .price-card img,
    body.dtb-market-offer-compact-page .dtb-offer-card img,
    body.dtb-market-offer-compact-page .offer-card img,
    body.dtb-market-offer-compact-page .deal-card img {
        max-height: 42px !important;
        width: auto !important;
        object-fit: contain !important;
        margin: 0 auto 4px !important;
    }

    body.dtb-market-offer-compact-page .wd-entities-title,
    body.dtb-market-offer-compact-page .woocommerce-loop-product__title,
    body.dtb-market-offer-compact-page .product-title,
    body.dtb-market-offer-compact-page .entry-title,
    body.dtb-market-offer-compact-page .dtb-market-card strong,
    body.dtb-market-offer-compact-page .dtb-price-card strong,
    body.dtb-market-offer-compact-page .market-price-card strong,
    body.dtb-market-offer-compact-page .price-card strong,
    body.dtb-market-offer-compact-page .dtb-offer-card strong,
    body.dtb-market-offer-compact-page .offer-card strong,
    body.dtb-market-offer-compact-page .deal-card strong {
        font-size: 13px !important;
        line-height: 1.18 !important;
        max-height: 32px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        margin: 0 0 4px !important;
    }

    body.dtb-market-offer-compact-page .price,
    body.dtb-market-offer-compact-page .amount,
    body.dtb-market-offer-compact-page .dtb-price,
    body.dtb-market-offer-compact-page .market-price,
    body.dtb-market-offer-compact-page .offer-price {
        font-size: 14px !important;
        line-height: 1.15 !important;
        margin: 2px 0 !important;
    }

    body.dtb-market-offer-compact-page .dtb-change,
    body.dtb-market-offer-compact-page .price-change,
    body.dtb-market-offer-compact-page small,
    body.dtb-market-offer-compact-page .meta,
    body.dtb-market-offer-compact-page .unit {
        font-size: 10.5px !important;
        line-height: 1.15 !important;
        margin: 2px 0 0 !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB v1.0.36 - Clean AppHome rebuild guard
 * Base: v1.0.24. Header and DTB website footer are kept globally, including
 * /apphome/. This block controls only the shortcode middle content.
 * -------------------------------------------------------------------------- */
body.dtb-apphome-shortcode-page .dtb-app-home,
body.dtb-apphome-shortcode-page .dtb-app-home * {
    box-sizing: border-box;
}

body.dtb-apphome-shortcode-page .dtb-app-home {
    width: 100%;
    margin: 0 auto;
    background: #f6f7f6;
}

body.dtb-apphome-shortcode-page .dtb-home-wrap {
    width: min(100%, 1120px);
    margin: 0 auto;
}

body.dtb-apphome-shortcode-page .dtb-v116-banner-img {
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 14px;
    background: transparent;
}

body.dtb-apphome-shortcode-page .dtb-v116-banner-img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: inherit;
}

@media (max-width: 768px) {
    body.dtb-apphome-shortcode-page .dtb-app-home {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-home-wrap {
        width: 100% !important;
        max-width: 430px !important;
        padding: 8px 8px 14px !important;
        margin: 0 auto !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head {
        margin: 10px 0 7px !important;
        padding: 0 2px !important;
        align-items: center !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head span {
        font-size: 9px !important;
        line-height: 1.1 !important;
        letter-spacing: .06em !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head h2 {
        font-size: 17px !important;
        line-height: 1.15 !important;
        margin: 2px 0 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head a {
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-search-card,
    body.dtb-apphome-shortcode-page .dtb-v104-notice-row,
    body.dtb-apphome-shortcode-page .dtb-v104-benefits,
    body.dtb-apphome-shortcode-page .dtb-v104-promo-pair,
    body.dtb-apphome-shortcode-page .dtb-v104-market-grid,
    body.dtb-apphome-shortcode-page .dtb-v104-offers,
    body.dtb-apphome-shortcode-page .dtb-v104-quick-actions,
    body.dtb-apphome-shortcode-page .dtb-v114-featured-grid,
    body.dtb-apphome-shortcode-page .dtb-v104-wide-banner,
    body.dtb-apphome-shortcode-page .dtb-v116-banner-img {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v116-banner-img {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
        border-radius: 12px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-wide-banner {
        min-height: 74px !important;
        padding: 11px 12px !important;
        margin-top: 8px !important;
        margin-bottom: 8px !important;
        border-radius: 14px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-categories {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat {
        min-height: 102px !important;
        height: auto !important;
        padding: 8px 5px 7px !important;
        border-radius: 13px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 3px !important;
        overflow: hidden !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat-icon,
    body.dtb-apphome-shortcode-page .dtb-v104-cat img,
    body.dtb-apphome-shortcode-page .dtb-v104-cat picture,
    body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-v116-media {
        width: 50px !important;
        height: 50px !important;
        max-width: 50px !important;
        max-height: 50px !important;
        object-fit: contain !important;
        margin: 0 auto 3px !important;
        flex: 0 0 auto !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat strong {
        font-size: 11.2px !important;
        line-height: 1.12 !important;
        min-height: 24px !important;
        max-height: 25px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        text-align: center !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat small {
        font-size: 8.7px !important;
        line-height: 1.05 !important;
        max-height: 11px !important;
        overflow: hidden !important;
        text-align: center !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card {
        min-height: 108px !important;
        height: auto !important;
        padding: 7px 3px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        gap: 2px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-icon,
    body.dtb-apphome-shortcode-page .dtb-v104-market-card img {
        width: 30px !important;
        height: 30px !important;
        max-width: 30px !important;
        max-height: 30px !important;
        object-fit: contain !important;
        margin: 0 auto 2px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card strong {
        font-size: 10.2px !important;
        line-height: 1.1 !important;
        min-height: 23px !important;
        max-height: 23px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card b {
        font-size: 11.1px !important;
        line-height: 1.1 !important;
        white-space: normal !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card em,
    body.dtb-apphome-shortcode-page .dtb-v104-market-card small {
        font-size: 8.5px !important;
        line-height: 1.05 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-promo-pair {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-promo-pair .dtb-v116-banner-img {
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        min-height: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-offers {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-offer {
        min-height: 142px !important;
        height: auto !important;
        padding: 8px !important;
        border-radius: 13px !important;
        overflow: hidden !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-offer img,
    body.dtb-apphome-shortcode-page .dtb-v116-offer-img {
        width: 42px !important;
        height: 42px !important;
        max-height: 42px !important;
        object-fit: contain !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-quick-actions {
        gap: 7px !important;
        margin-top: 9px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-bottom: 8px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-card {
        min-height: 114px !important;
        padding: 7px 5px !important;
        border-radius: 13px !important;
        overflow: hidden !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-img,
    body.dtb-apphome-shortcode-page .dtb-v114-featured-card img {
        width: 38px !important;
        height: 38px !important;
        object-fit: contain !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-card strong {
        font-size: 10.7px !important;
        line-height: 1.12 !important;
        -webkit-line-clamp: 2 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB v1.0.38 - Single Footer Restore Guard
 * --------------------------------------------------------------------------
 * Keep the website header visible, but prevent duplicate footer output.
 * Woodmart/native footer containers are hidden because the DTB custom website
 * footer is printed by this child theme through wp_footer.
 */
body .whb-header,
body .site-header,
body header.whb-header,
body.dtb-apphome-cleanup .whb-header,
body.dtb-apphome-cleanup .site-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body .woodmart-prefooter,
body .wd-prefooter,
body .footer-container,
body .wd-footer,
body .copyrights-wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

body .dtb-app-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.dtb-apphome-old-block-hidden {
    display: revert !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* --------------------------------------------------------------------------
 * DTB v1.0.39 - AppHome middle content polish only
 * --------------------------------------------------------------------------
 * Locked rule: do not change website header/footer. Header remains visible and
 * the single DTB footer from v1.0.38 remains visible. This block only adjusts
 * the shortcode content area between header and footer on /apphome/.
 * -------------------------------------------------------------------------- */
body.dtb-apphome-shortcode-page .main-page-wrapper,
body.dtb-apphome-shortcode-page .site-content,
body.dtb-apphome-shortcode-page .content-area,
body.dtb-apphome-shortcode-page .entry-content,
body.dtb-apphome-shortcode-page .wpb-content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.dtb-apphome-shortcode-page .page-title,
body.dtb-apphome-shortcode-page .breadcrumbs,
body.dtb-apphome-shortcode-page .woocommerce-breadcrumb {
    display: none !important;
}

body.dtb-apphome-shortcode-page .dtb-app-home {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background: #f6f8f6 !important;
}

body.dtb-apphome-shortcode-page .dtb-home-wrap {
    padding-top: 8px !important;
}

@media (max-width: 768px) {
    body.dtb-apphome-shortcode-page .dtb-home-wrap {
        max-width: 430px !important;
        width: 100% !important;
        padding: 6px 8px 14px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.dtb-apphome-shortcode-page .dtb-home-wrap > .dtb-v116-banner-img:first-child {
        margin-top: 0 !important;
        margin-bottom: 7px !important;
        border-radius: 0 0 14px 14px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-search-card {
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
        padding: 7px !important;
        margin: 0 0 7px !important;
        border-radius: 14px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-search-card .dtb-v104-search {
        grid-column: 1 / -1 !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        border-radius: 11px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-search-card .dtb-v104-mini {
        min-width: 0 !important;
        min-height: 36px !important;
        padding: 7px 8px !important;
        border-radius: 11px !important;
        font-size: 12px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-notice-row {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        margin: 6px 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-prayer,
    body.dtb-apphome-shortcode-page .dtb-v104-marquee {
        min-height: 34px !important;
        padding: 8px 10px !important;
        border-radius: 12px !important;
        font-size: 11.5px !important;
        line-height: 1.2 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin: 7px 0 9px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-benefits > div {
        min-height: 38px !important;
        padding: 8px 9px !important;
        border-radius: 11px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-benefits strong {
        font-size: 12px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-benefits span {
        display: none !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head {
        margin: 9px 0 6px !important;
        padding: 0 1px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head h2 {
        font-size: 18px !important;
        line-height: 1.12 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head span {
        font-size: 8.5px !important;
        line-height: 1 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-section-head a {
        font-size: 11px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-wide-banner,
    body.dtb-apphome-shortcode-page .dtb-v116-banner-img {
        margin-top: 6px !important;
        margin-bottom: 8px !important;
        border-radius: 12px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-categories {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat {
        min-height: 114px !important;
        padding: 8px 5px 7px !important;
        border-radius: 13px !important;
        justify-content: flex-start !important;
        align-items: center !important;
        text-align: center !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat-icon,
    body.dtb-apphome-shortcode-page .dtb-v104-cat img,
    body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-json-img,
    body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-v116-media {
        width: 54px !important;
        height: 54px !important;
        max-width: 54px !important;
        max-height: 54px !important;
        object-fit: contain !important;
        margin: 0 auto 4px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat strong {
        font-size: 11.5px !important;
        line-height: 1.12 !important;
        min-height: 25px !important;
        max-height: 26px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-cat small {
        font-size: 8.7px !important;
        line-height: 1.05 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-promo-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-top: 8px !important;
        margin-bottom: 9px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-promo-pair .dtb-v116-banner-img {
        margin: 0 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card {
        min-height: 116px !important;
        padding: 7px 3px 6px !important;
        border-radius: 12px !important;
        text-align: center !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-icon,
    body.dtb-apphome-shortcode-page .dtb-v104-market-card img,
    body.dtb-apphome-shortcode-page .dtb-v104-market-card .dtb-json-img {
        width: 36px !important;
        height: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
        object-fit: contain !important;
        margin: 0 auto 2px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card strong {
        font-size: 10.4px !important;
        line-height: 1.1 !important;
        min-height: 23px !important;
        max-height: 24px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card b {
        font-size: 11.4px !important;
        line-height: 1.08 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-market-card em,
    body.dtb-apphome-shortcode-page .dtb-v104-market-card small {
        font-size: 8.3px !important;
        line-height: 1.05 !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-offers {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-offer {
        min-height: 154px !important;
        padding: 9px !important;
        border-radius: 13px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-quick-actions {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 6px !important;
        margin: 8px 0 9px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-quick-actions a {
        min-height: 38px !important;
        padding: 5px 4px !important;
        border-radius: 10px !important;
        font-size: 11px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v104-quick-actions a:nth-child(n+5) {
        display: none !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    body.dtb-apphome-shortcode-page .dtb-v114-featured-card {
        min-height: 126px !important;
        padding: 7px 5px !important;
        border-radius: 13px !important;
    }
}

/* --------------------------------------------------------------------------
 * DTB v1.0.40 - Website-only AppHome hero slider + working action row
 * Header/footer locked from v1.0.38. Android/app JSON untouched.
 * -------------------------------------------------------------------------- */
body.dtb-apphome-shortcode-page .dtb-v140-hero-slider,
body.dtb-apphome-shortcode-page .dtb-v140-hero-single {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #f4fbf6;
    border: 1px solid rgba(21,128,61,.10);
    box-shadow: 0 8px 20px rgba(15, 93, 52, .08);
    margin: 0 0 10px;
}
body.dtb-apphome-shortcode-page .dtb-v140-hero-slider { aspect-ratio: 2.85 / 1; }
body.dtb-apphome-shortcode-page .dtb-v140-hero-single img,
body.dtb-apphome-shortcode-page .dtb-v140-hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.dtb-apphome-shortcode-page .dtb-v140-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .45s ease;
}
body.dtb-apphome-shortcode-page .dtb-v140-hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
}
body.dtb-apphome-shortcode-page .dtb-v140-slider-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6px;
    display: flex;
    justify-content: center;
    gap: 5px;
    z-index: 2;
}
body.dtb-apphome-shortcode-page .dtb-v140-slider-dots button {
    width: 6px;
    height: 6px;
    min-height: 0;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 1px 4px rgba(0,0,0,.15);
}
body.dtb-apphome-shortcode-page .dtb-v140-slider-dots button.is-active {
    width: 14px;
    background: #15803d;
}
body.dtb-apphome-shortcode-page .dtb-v140-search-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
    margin: 0 0 8px !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid #e1efe6 !important;
    box-shadow: 0 8px 18px rgba(15, 93, 52, .07) !important;
}
body.dtb-apphome-shortcode-page .dtb-v140-search-form {
    height: 46px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 7px;
    padding: 0 9px 0 13px;
    border: 1px solid #dceee4;
    border-radius: 14px;
    background: #f8fffb;
}
body.dtb-apphome-shortcode-page .dtb-v140-search-form input[type="search"] {
    width: 100%;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    font-weight: 700;
    color: #17412e;
    font-size: 14px;
}
body.dtb-apphome-shortcode-page .dtb-v140-search-form input::placeholder { color: #315c49; opacity: .92; }
body.dtb-apphome-shortcode-page .dtb-v140-search-form button {
    width: 36px;
    height: 36px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #e9f8ef;
    color: #15803d;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.dtb-apphome-shortcode-page .dtb-v140-support-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
body.dtb-apphome-shortcode-page .dtb-v140-support-row .dtb-v104-mini {
    height: 42px !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links a {
    text-decoration: none !important;
    color: inherit !important;
}
body.dtb-apphome-shortcode-page .dtb-v140-notice-link {
    text-decoration: none !important;
    color: inherit !important;
}
@media (max-width: 767px) {
    body.dtb-apphome-shortcode-page .dtb-home-wrap {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v140-hero-slider,
    body.dtb-apphome-shortcode-page .dtb-v140-hero-single {
        border-radius: 14px;
        margin-bottom: 8px;
    }
    body.dtb-apphome-shortcode-page .dtb-v140-hero-slider { aspect-ratio: 2.45 / 1; }
    body.dtb-apphome-shortcode-page .dtb-v140-search-card { margin-bottom: 7px !important; }
}


/* DTB v1.0.45 — AppHome no blank image placeholder cleanup.
   Scope: AppHome content only. Header/footer/Android/JSON untouched. */
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) .dtb-v104-cat-icon,
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) .dtb-v104-market-icon {
    display: none !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) {
    justify-content: center !important;
    min-height: 92px !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) {
    justify-content: center !important;
    min-height: 86px !important;
    padding-top: 7px !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) strong {
    margin-top: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-promo-pair:empty,
body.dtb-apphome-shortcode-page .dtb-v104-promo-pair:not(:has(a)) {
    display: none !important;
}
body.dtb-apphome-shortcode-page .dtb-v116-banner-img.is-dtb-broken,
body.dtb-apphome-shortcode-page .dtb-v116-banner-img:empty {
    display: none !important;
}
@media (max-width: 768px) {
    body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) {
        min-height: 84px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) {
        min-height: 78px !important;
    }
}


/* DTB v1.0.47 — AppHome functional cleanup only.
   Header/footer/hero slider/Android/JSON untouched. */
body.dtb-apphome-shortcode-page .dtb-v114-featured-grid,
body.dtb-apphome-shortcode-page .dtb-v116-featured-card,
body.dtb-apphome-shortcode-page .dtb-v104-section-head:has(+ .dtb-v114-featured-grid) {
    display: none !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefits {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 8px 0 10px !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card {
    min-height: 62px !important;
    padding: 9px 8px !important;
    border: 1px solid #dceee4 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f6fff9 100%) !important;
    border-radius: 14px !important;
    box-shadow: 0 7px 16px rgba(15, 93, 52, .055) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    color: #17412e !important;
    overflow: hidden !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card i {
    font-style: normal !important;
    line-height: 1 !important;
    font-size: 16px !important;
    margin-bottom: 3px !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: #17412e !important;
    margin: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card span {
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    color: #607469 !important;
    margin-top: 2px !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) .dtb-v104-cat-icon,
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) .dtb-v116-media,
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) .dtb-v104-market-icon,
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) .dtb-v116-media {
    display: none !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img))::before,
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img))::after,
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img))::before,
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img))::after {
    display: none !important;
    content: none !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(img)) {
    min-height: 82px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
body.dtb-apphome-shortcode-page .dtb-v104-market-card:not(:has(img)) {
    min-height: 82px !important;
    padding: 8px 5px !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-smart-bazar a,
body.dtb-apphome-shortcode-page .dtb-v104-promo-pair a[href*="upload-order"] {
    cursor: pointer !important;
}
@media (max-width: 767px) {
    body.dtb-apphome-shortcode-page .dtb-v147-benefits {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card {
        min-height: 48px !important;
        padding: 7px 8px !important;
        border-radius: 12px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card i { font-size: 13px !important; }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card strong { font-size: 12px !important; }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card span { display: none !important; }
}


/* DTB v1.0.49 — AppHome duplicate under-hero search removed from active section order.
 * Header/footer/hero slider remain untouched.
 */


/* DTB v1.0.50 — AppHome prayer card app-match. Header/footer/hero unchanged. */
.dtb-app-home .dtb-v150-prayer-wrap{display:grid;gap:10px;margin:10px 0 12px;}
.dtb-app-home .dtb-v150-prayer-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(145px,.55fr);align-items:center;gap:14px;background:#fff;border:1px solid rgba(20,120,73,.13);border-radius:18px;padding:14px 16px;color:#183c2b;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.08);overflow:hidden;}
.dtb-app-home .dtb-v150-prayer-icon{width:46px;height:46px;border-radius:16px;background:#f2fff7;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:inset 0 0 0 1px rgba(20,120,73,.08);}
.dtb-app-home .dtb-v150-prayer-left{display:flex;flex-direction:column;gap:3px;min-width:0;}
.dtb-app-home .dtb-v150-prayer-left small{font-size:13px;font-weight:800;color:#2f3f39;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dtb-app-home .dtb-v150-prayer-left strong{font-size:17px;font-weight:900;color:#0f8c46;line-height:1.25;}
.dtb-app-home .dtb-v150-prayer-left em{font-style:normal;font-size:14px;font-weight:900;color:#e98522;line-height:1.2;}
.dtb-app-home .dtb-v150-prayer-right{border-left:1px solid rgba(20,120,73,.16);padding-left:16px;display:flex;flex-direction:column;gap:4px;text-align:left;}
.dtb-app-home .dtb-v150-prayer-right b{font-size:14px;line-height:1.25;color:#25372f;font-weight:900;}
.dtb-app-home .dtb-v150-prayer-right i{font-style:normal;font-size:13px;font-weight:900;color:#14904c;line-height:1.2;}
.dtb-app-home .dtb-v150-notice-link{min-height:42px;border-radius:15px;background:#fff;border:1px solid rgba(20,120,73,.10);box-shadow:0 4px 14px rgba(0,0,0,.04);}
@media (max-width: 767px){
  .dtb-app-home .dtb-v150-prayer-wrap{gap:8px;margin:8px 0 10px;}
  .dtb-app-home .dtb-v150-prayer-card{grid-template-columns:36px 1fr .72fr;gap:8px;border-radius:13px;padding:10px 9px;box-shadow:0 3px 10px rgba(0,0,0,.08);}
  .dtb-app-home .dtb-v150-prayer-icon{width:34px;height:34px;border-radius:11px;font-size:19px;}
  .dtb-app-home .dtb-v150-prayer-left small{font-size:11px;white-space:normal;}
  .dtb-app-home .dtb-v150-prayer-left strong{font-size:12.8px;line-height:1.25;}
  .dtb-app-home .dtb-v150-prayer-left em{font-size:11.5px;}
  .dtb-app-home .dtb-v150-prayer-right{padding-left:8px;gap:2px;}
  .dtb-app-home .dtb-v150-prayer-right b{font-size:11.5px;}
  .dtb-app-home .dtb-v150-prayer-right i{font-size:10.8px;}
  .dtb-app-home .dtb-v150-notice-link{min-height:36px;font-size:12px;}
}
@media (max-width: 390px){
  .dtb-app-home .dtb-v150-prayer-card{grid-template-columns:32px 1fr .68fr;padding:9px 8px;gap:7px;}
  .dtb-app-home .dtb-v150-prayer-icon{width:31px;height:31px;font-size:17px;}
  .dtb-app-home .dtb-v150-prayer-left strong{font-size:12px;}
  .dtb-app-home .dtb-v150-prayer-left small,.dtb-app-home .dtb-v150-prayer-left em,.dtb-app-home .dtb-v150-prayer-right b,.dtb-app-home .dtb-v150-prayer-right i{font-size:10.5px;}
}


/* DTB v1.0.51 — Benefits cards UI polish */
body.dtb-apphome-shortcode-page .dtb-v104-benefits,
.dtb-app-home-v116 .dtb-v104-benefits {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:12px;
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div,
.dtb-app-home-v116 .dtb-v104-benefits > div {
    position:relative;
    min-height:92px;
    padding:14px 12px 14px 56px;
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fcf9 100%);
    border:1px solid #dfeee2;
    box-shadow:0 8px 20px rgba(17,88,39,.08);
    overflow:hidden;
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:before,
.dtb-app-home-v116 .dtb-v104-benefits > div:before {
    content:"";
    position:absolute;
    left:14px;
    top:14px;
    width:32px;
    height:32px;
    border-radius:12px;
    background:linear-gradient(135deg,#1c9b49 0%,#0f6d31 100%);
    box-shadow:0 6px 14px rgba(28,155,73,.22);
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:after,
.dtb-app-home-v116 .dtb-v104-benefits > div:after {
    position:absolute;
    left:22px;
    top:20px;
    font-size:15px;
    line-height:1;
    color:#fff;
    font-weight:700;
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:nth-child(1):after,
.dtb-app-home-v116 .dtb-v104-benefits > div:nth-child(1):after { content:"🥬"; }
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:nth-child(2):after,
.dtb-app-home-v116 .dtb-v104-benefits > div:nth-child(2):after { content:"💳"; }
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:nth-child(3):after,
.dtb-app-home-v116 .dtb-v104-benefits > div:nth-child(3):after { content:"🚚"; }
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:nth-child(4):after,
.dtb-app-home-v116 .dtb-v104-benefits > div:nth-child(4):after { content:"💬"; }
body.dtb-apphome-shortcode-page .dtb-v104-benefits strong,
.dtb-app-home-v116 .dtb-v104-benefits strong {
    display:block;
    color:#143b22;
    font-size:14px;
    line-height:1.25;
    font-weight:800;
    margin-bottom:5px;
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits span,
.dtb-app-home-v116 .dtb-v104-benefits span {
    display:block;
    color:#637567;
    font-size:12px;
    line-height:1.4;
}
body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:hover,
.dtb-app-home-v116 .dtb-v104-benefits > div:hover {
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(17,88,39,.12);
}
@media (max-width: 480px){
    body.dtb-apphome-shortcode-page .dtb-v104-benefits > div,
    .dtb-app-home-v116 .dtb-v104-benefits > div {
        min-height:86px;
        padding:12px 10px 12px 50px;
        border-radius:16px;
    }
    body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:before,
    .dtb-app-home-v116 .dtb-v104-benefits > div:before {
        width:30px; height:30px; left:12px; top:12px; border-radius:10px;
    }
    body.dtb-apphome-shortcode-page .dtb-v104-benefits > div:after,
    .dtb-app-home-v116 .dtb-v104-benefits > div:after {
        left:19px; top:18px; font-size:14px;
    }
}


/* DTB v1.0.52 — Benefits icons applied to the active renderer.
 * v1.0.51 targeted older <div> markup; active AppHome uses <a class="dtb-v147-benefit-card">.
 */
body.dtb-apphome-shortcode-page .dtb-v147-benefits,
.dtb-app-home-v116 .dtb-v147-benefits,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links,
.dtb-app-home-v116 .dtb-v140-benefit-links {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
    margin:10px 0 12px !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card,
.dtb-app-home-v116 .dtb-v147-benefit-card,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a,
.dtb-app-home-v116 .dtb-v140-benefit-links > a {
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:74px !important;
    padding:10px 7px 9px !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,#ffffff 0%,#f4fbf6 100%) !important;
    border:1px solid #dcefe3 !important;
    box-shadow:0 7px 18px rgba(18,95,45,.08) !important;
    text-decoration:none !important;
    overflow:hidden !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:before,
.dtb-app-home-v116 .dtb-v147-benefit-card:before,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:before,
.dtb-app-home-v116 .dtb-v140-benefit-links > a:before {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:34px !important;
    height:34px !important;
    margin-bottom:6px !important;
    border-radius:50% !important;
    background:#eaf9ef !important;
    color:#138342 !important;
    border:1px solid #cfeedd !important;
    font-size:18px !important;
    line-height:1 !important;
    box-shadow:0 3px 10px rgba(19,131,66,.10) !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:nth-child(1):before,
.dtb-app-home-v116 .dtb-v147-benefit-card:nth-child(1):before,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:nth-child(1):before,
.dtb-app-home-v116 .dtb-v140-benefit-links > a:nth-child(1):before { content:"🥬"; }
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:nth-child(2):before,
.dtb-app-home-v116 .dtb-v147-benefit-card:nth-child(2):before,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:nth-child(2):before,
.dtb-app-home-v116 .dtb-v140-benefit-links > a:nth-child(2):before { content:"🛡️"; }
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:nth-child(3):before,
.dtb-app-home-v116 .dtb-v147-benefit-card:nth-child(3):before,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:nth-child(3):before,
.dtb-app-home-v116 .dtb-v140-benefit-links > a:nth-child(3):before { content:"🚚"; }
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:nth-child(4):before,
.dtb-app-home-v116 .dtb-v147-benefit-card:nth-child(4):before,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:nth-child(4):before,
.dtb-app-home-v116 .dtb-v140-benefit-links > a:nth-child(4):before { content:"💵"; }

body.dtb-apphome-shortcode-page .dtb-v147-benefit-card > i,
.dtb-app-home-v116 .dtb-v147-benefit-card > i,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a > i,
.dtb-app-home-v116 .dtb-v140-benefit-links > a > i {
    display:none !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card strong,
.dtb-app-home-v116 .dtb-v147-benefit-card strong,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a strong,
.dtb-app-home-v116 .dtb-v140-benefit-links > a strong {
    display:block !important;
    color:#173d23 !important;
    font-size:13px !important;
    line-height:1.18 !important;
    font-weight:900 !important;
    text-align:center !important;
    margin:0 !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
body.dtb-apphome-shortcode-page .dtb-v147-benefit-card span,
.dtb-app-home-v116 .dtb-v147-benefit-card span,
body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a span,
.dtb-app-home-v116 .dtb-v140-benefit-links > a span {
    display:none !important;
}
@media (max-width: 480px){
    body.dtb-apphome-shortcode-page .dtb-v147-benefits,
    .dtb-app-home-v116 .dtb-v147-benefits,
    body.dtb-apphome-shortcode-page .dtb-v140-benefit-links,
    .dtb-app-home-v116 .dtb-v140-benefit-links {
        gap:8px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card,
    .dtb-app-home-v116 .dtb-v147-benefit-card,
    body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a,
    .dtb-app-home-v116 .dtb-v140-benefit-links > a {
        min-height:68px !important;
        padding:8px 5px !important;
        border-radius:14px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card:before,
    .dtb-app-home-v116 .dtb-v147-benefit-card:before,
    body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a:before,
    .dtb-app-home-v116 .dtb-v140-benefit-links > a:before {
        width:30px !important;
        height:30px !important;
        font-size:16px !important;
        margin-bottom:5px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v147-benefit-card strong,
    .dtb-app-home-v116 .dtb-v147-benefit-card strong,
    body.dtb-apphome-shortcode-page .dtb-v140-benefit-links > a strong,
    .dtb-app-home-v116 .dtb-v140-benefit-links > a strong {
        font-size:11.5px !important;
    }
}


/* DTB v1.0.53 — Website AppHome Smart Bazar card matches app's "আজ কী রান্না করবেন?" card */
.dtb-app-home .dtb-v153-smart-ranna-card {
    display:flex;
    align-items:center;
    gap:14px;
    width:100%;
    margin:12px 0;
    padding:15px 16px;
    border-radius:18px;
    background:linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(244,252,238,.82) 58%, rgba(238,248,225,.94) 100%);
    border:1px solid #dfeee2;
    box-shadow:0 8px 22px rgba(17, 88, 39, .08);
    text-decoration:none !important;
    color:#173d23 !important;
    overflow:hidden;
    position:relative;
}
.dtb-app-home .dtb-v153-smart-ranna-card:after {
    content:"›";
    margin-left:auto;
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#173d23;
    background:#fff;
    border:1px solid #e6efe8;
    font-size:34px;
    line-height:1;
    box-shadow:0 4px 14px rgba(17,88,39,.08);
}
.dtb-app-home .dtb-v153-smart-ranna-icon {
    flex:0 0 58px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#eaf9ef;
    border:1px solid #ceefdd;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    box-shadow:0 6px 18px rgba(17,88,39,.08);
}
.dtb-app-home .dtb-v153-smart-ranna-text {
    min-width:0;
    flex:1 1 auto;
}
.dtb-app-home .dtb-v153-smart-ranna-text strong {
    display:block;
    font-size:24px;
    line-height:1.15;
    font-weight:900;
    color:#173d23;
    letter-spacing:-.02em;
    margin-bottom:4px;
}
.dtb-app-home .dtb-v153-smart-ranna-text b {
    display:block;
    font-size:17px;
    line-height:1.2;
    color:#188b47;
    font-weight:900;
    margin-bottom:5px;
}
.dtb-app-home .dtb-v153-smart-ranna-text span {
    display:block;
    font-size:15px;
    line-height:1.42;
    color:#66746a;
}
@media (max-width: 480px) {
    .dtb-app-home .dtb-v153-smart-ranna-card {
        margin:10px 0;
        padding:12px 12px;
        gap:10px;
        border-radius:16px;
    }
    .dtb-app-home .dtb-v153-smart-ranna-icon {
        width:48px;
        height:48px;
        flex-basis:48px;
        font-size:25px;
    }
    .dtb-app-home .dtb-v153-smart-ranna-text strong { font-size:20px; }
    .dtb-app-home .dtb-v153-smart-ranna-text b { font-size:14px; margin-bottom:3px; }
    .dtb-app-home .dtb-v153-smart-ranna-text span { font-size:12.5px; line-height:1.35; }
    .dtb-app-home .dtb-v153-smart-ranna-card:after { width:30px; height:30px; font-size:28px; }
}


/* DTB v1.0.54 — Quick actions corrected and Smart Bazar bottom gap cleanup */
.dtb-app-home .dtb-v154-quick-actions,
.dtb-app-home .dtb-v104-quick-actions {
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.dtb-app-home .dtb-v154-quick-actions a {
    min-width:0 !important;
}
.dtb-app-home .dtb-v153-smart-ranna-card {
    margin-bottom:10px !important;
}
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v109-custom:empty,
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v104-wide-banner:empty,
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v116-banner-img:empty {
    display:none !important;
}
.dtb-app-home .dtb-v109-custom:empty,
.dtb-app-home .dtb-v109-items:empty,
.dtb-app-home .dtb-v104-wide-banner:empty,
.dtb-app-home .dtb-v116-banner-img:empty,
.dtb-app-home .dtb-v104-promo-pair:empty {
    display:none !important;
    margin:0 !important;
    padding:0 !important;
    min-height:0 !important;
}
.dtb-app-home .dtb-v104-quick-actions + .dtb-v153-smart-ranna-card {
    margin-top:12px !important;
}
@media (max-width:480px){
    .dtb-app-home .dtb-v154-quick-actions,
    .dtb-app-home .dtb-v104-quick-actions {
        gap:8px !important;
    }
    .dtb-app-home .dtb-v154-quick-actions a,
    .dtb-app-home .dtb-v104-quick-actions a {
        min-height:50px !important;
        padding:8px 4px !important;
        font-size:12px !important;
    }
}


/* DTB v1.0.55 — Quick options visible polish + Smart Bazar bottom gap fix */
.dtb-app-home .dtb-v154-quick-actions,
.dtb-app-home .dtb-v104-quick-actions {
    gap: 10px !important;
    margin: 14px 0 12px !important;
}
.dtb-app-home .dtb-v154-quick-actions a,
.dtb-app-home .dtb-v104-quick-actions a {
    position: relative;
    min-height: 66px !important;
    padding: 10px 8px 9px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg,#ffffff 0%,#f6fbf7 100%) !important;
    border: 1px solid #d8eadc !important;
    box-shadow: 0 8px 18px rgba(17,88,39,.08) !important;
    text-decoration: none !important;
    overflow: hidden;
}
.dtb-app-home .dtb-v154-quick-actions a::before,
.dtb-app-home .dtb-v104-quick-actions a::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 4px;
    background: linear-gradient(90deg,#1c9c4a 0%, #f0b24f 100%);
    opacity: .95;
}
.dtb-app-home .dtb-v154-quick-actions a:hover,
.dtb-app-home .dtb-v104-quick-actions a:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(17,88,39,.10) !important;
}
.dtb-app-home .dtb-v154-quick-actions a span:first-child,
.dtb-app-home .dtb-v104-quick-actions a span:first-child {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 auto 6px !important;
    border-radius: 999px;
    background: #eef8f0;
    border: 1px solid #d7ebdc;
    font-size: 17px !important;
    line-height: 1 !important;
}
.dtb-app-home .dtb-v154-quick-actions a span:last-child,
.dtb-app-home .dtb-v104-quick-actions a span:last-child {
    display: block;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: #173d23 !important;
    letter-spacing: -.01em;
}
.dtb-app-home .dtb-v154-quick-actions a:nth-child(1) span:first-child,
.dtb-app-home .dtb-v104-quick-actions a:nth-child(1) span:first-child { background:#eaf8ef; color:#0f8f3f; }
.dtb-app-home .dtb-v154-quick-actions a:nth-child(2) span:first-child,
.dtb-app-home .dtb-v104-quick-actions a:nth-child(2) span:first-child { background:#fff4e8; color:#cd7a10; }
.dtb-app-home .dtb-v154-quick-actions a:nth-child(3) span:first-child,
.dtb-app-home .dtb-v104-quick-actions a:nth-child(3) span:first-child { background:#eef3ff; color:#5167c8; }
.dtb-app-home .dtb-v154-quick-actions a:nth-child(4) span:first-child,
.dtb-app-home .dtb-v104-quick-actions a:nth-child(4) span:first-child { background:#f6eefc; color:#7d48b8; }

/* Remove leftover blank space under Smart Bazar card when it is the last AppHome block */
.dtb-app-home {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
.dtb-app-home .dtb-home-wrap {
    padding-bottom: 0 !important;
}
.dtb-app-home .dtb-home-wrap > *:last-child,
.dtb-app-home .dtb-v153-smart-ranna-card:last-child {
    margin-bottom: 0 !important;
}
.dtb-app-home .dtb-v153-smart-ranna-card {
    margin-bottom: 0 !important;
}
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v109-custom,
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v104-wide-banner,
.dtb-app-home .dtb-v153-smart-ranna-card + .dtb-v116-banner-img,
.dtb-app-home .dtb-v153-smart-ranna-card + div:empty,
.dtb-app-home .dtb-v153-smart-ranna-card + section:empty {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}
@media (max-width: 480px) {
    .dtb-app-home .dtb-v154-quick-actions,
    .dtb-app-home .dtb-v104-quick-actions {
        gap: 8px !important;
        margin: 12px 0 10px !important;
    }
    .dtb-app-home .dtb-v154-quick-actions a,
    .dtb-app-home .dtb-v104-quick-actions a {
        min-height: 60px !important;
        padding: 8px 6px !important;
        border-radius: 16px !important;
    }
    .dtb-app-home .dtb-v154-quick-actions a span:first-child,
    .dtb-app-home .dtb-v104-quick-actions a span:first-child {
        width: 28px; height: 28px; margin-bottom: 5px !important; font-size: 15px !important;
    }
    .dtb-app-home .dtb-v154-quick-actions a span:last-child,
    .dtb-app-home .dtb-v104-quick-actions a span:last-child {
        font-size: 12.5px !important;
    }
}


/* DTB v1.0.56 — Prayer details page /prayer-time/ */
.dtb-v156-prayer-page,
.dtb-v156-prayer-page * {
    box-sizing: border-box;
}
.dtb-v156-prayer-page {
    --dtb-green:#11863f;
    --dtb-dark:#173d23;
    --dtb-orange:#e98923;
    --dtb-soft:#f4fbf6;
    width:min(100% - 28px, 980px);
    margin:18px auto 34px;
    color:var(--dtb-dark);
}
.dtb-v156-prayer-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}
.dtb-v156-prayer-brand {
    display:flex;
    align-items:center;
    gap:12px;
}
.dtb-v156-prayer-back {
    width:36px;
    height:36px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f2fbf5;
    color:var(--dtb-green) !important;
    text-decoration:none !important;
    font-size:24px;
    font-weight:900;
}
.dtb-v156-prayer-logo {
    width:48px;
    height:48px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eefaf2;
    border:1px solid #d8f0df;
    font-size:24px;
}
.dtb-v156-prayer-brand h1 {
    margin:0;
    font-size:26px;
    line-height:1.1;
    font-weight:950;
    color:var(--dtb-green);
}
.dtb-v156-prayer-brand p {
    margin:3px 0 0;
    font-size:15px;
    font-weight:800;
    color:#29333a;
}
.dtb-v156-lang {
    padding:8px 18px;
    border-radius:14px;
    border:1px solid #f1c994;
    color:var(--dtb-green);
    background:#fff;
    font-weight:900;
}
.dtb-v156-location {
    margin:8px 0 14px;
    font-size:18px;
    font-weight:900;
    color:var(--dtb-green);
}
.dtb-v156-main-card,
.dtb-v156-panel {
    background:linear-gradient(180deg,#ffffff 0%,#f8fcf8 100%);
    border:1px solid #dfeee2;
    border-radius:18px;
    box-shadow:0 10px 26px rgba(18,95,45,.08);
}
.dtb-v156-main-card {
    padding:18px;
    overflow:hidden;
    position:relative;
}
.dtb-v156-date-row {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}
.dtb-v156-date-icon {
    width:50px;
    height:50px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eefaf2;
    border:1px solid #d5efdc;
    font-size:23px;
}
.dtb-v156-date-row strong {
    display:block;
    font-size:31px;
    line-height:1.15;
    color:var(--dtb-green);
    font-weight:950;
}
.dtb-v156-date-row small {
    display:block;
    color:#68746e;
    font-size:17px;
    font-weight:700;
}
.dtb-v156-summary-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.dtb-v156-next-box,
.dtb-v156-sun-box {
    background:#fff;
    border:1px solid #e2e9e6;
    border-radius:14px;
    padding:14px;
}
.dtb-v156-next-box {
    display:flex;
    align-items:center;
    gap:12px;
}
.dtb-v156-next-icon {
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#eefaf2;
    border:1px solid #d5efdc;
    font-size:24px;
}
.dtb-v156-next-box small {
    display:block;
    color:var(--dtb-green);
    font-size:16px;
    font-weight:900;
}
.dtb-v156-next-box strong {
    display:block;
    font-size:28px;
    line-height:1.15;
    color:var(--dtb-dark);
    font-weight:950;
}
.dtb-v156-next-box em {
    display:block;
    margin-top:8px;
    padding-top:8px;
    border-top:4px solid #8ed7a8;
    color:var(--dtb-green);
    font-style:normal;
    font-size:15px;
    font-weight:900;
}
.dtb-v156-sun-line {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 0;
    border-bottom:1px solid #edf1ee;
}
.dtb-v156-sun-line:last-child {
    border-bottom:0;
}
.dtb-v156-sun-line span {
    font-size:17px;
    font-weight:900;
    color:#33413a;
}
.dtb-v156-sun-line b {
    font-size:20px;
    font-weight:950;
    color:var(--dtb-green);
}
.dtb-v156-times {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:0;
    margin-top:14px;
    background:#f2fbf5;
    border-radius:14px;
    overflow:hidden;
    border:1px solid #dbeee1;
}
.dtb-v156-time-pill {
    padding:12px 8px;
    text-align:center;
    border-right:1px solid #dbeee1;
}
.dtb-v156-time-pill:last-child {
    border-right:0;
}
.dtb-v156-time-pill.is-next {
    background:#fff7ed;
    border:1px solid #efd7b6;
    border-radius:14px;
    transform:scale(1.02);
}
.dtb-v156-time-pill span,
.dtb-v156-time-pill b {
    display:block;
}
.dtb-v156-time-pill span {
    font-size:14px;
    color:#65746a;
    font-weight:900;
}
.dtb-v156-time-pill b {
    margin-top:4px;
    color:var(--dtb-green);
    font-size:20px;
    font-weight:950;
}
.dtb-v156-panel {
    margin-top:18px;
    padding:16px;
}
.dtb-v156-panel-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.dtb-v156-panel-head h2 {
    margin:0;
    color:var(--dtb-green);
    font-size:25px;
    font-weight:950;
}
.dtb-v156-prayer-table {
    width:100%;
    border-collapse:collapse;
    overflow:hidden;
}
.dtb-v156-prayer-table th,
.dtb-v156-prayer-table td {
    padding:12px 10px;
    border-bottom:1px solid #eef1ee;
    text-align:left;
    font-size:16px;
}
.dtb-v156-prayer-table th {
    background:#fff4e9;
    color:#235131;
    font-weight:950;
}
.dtb-v156-prayer-table td {
    color:#303b35;
    font-weight:750;
}
.dtb-v156-prayer-table tr.is-today td {
    background:#fff8ee;
    color:#d56f18;
    font-weight:950;
}
.dtb-v156-note {
    margin:12px 0 0;
    color:#68746e;
    font-size:14px;
}
@media (max-width: 720px) {
    .dtb-v156-prayer-page {
        width:min(100% - 20px, 720px);
        margin-top:12px;
    }
    .dtb-v156-prayer-brand h1 {
        font-size:22px;
    }
    .dtb-v156-prayer-brand p {
        font-size:14px;
    }
    .dtb-v156-summary-grid {
        grid-template-columns:1fr;
        gap:10px;
    }
    .dtb-v156-times {
        grid-template-columns:repeat(5,minmax(0,1fr));
    }
    .dtb-v156-date-row strong {
        font-size:26px;
    }
    .dtb-v156-date-row small {
        font-size:15px;
    }
    .dtb-v156-next-box strong {
        font-size:24px;
    }
    .dtb-v156-sun-line b {
        font-size:18px;
    }
    .dtb-v156-time-pill {
        padding:10px 4px;
    }
    .dtb-v156-time-pill span {
        font-size:12.5px;
    }
    .dtb-v156-time-pill b {
        font-size:17px;
    }
    .dtb-v156-prayer-table th,
    .dtb-v156-prayer-table td {
        padding:10px 7px;
        font-size:13.5px;
    }
}


/* DTB v1.0.57 — Prayer details page mobile UI polish + Ramadan empty hidden */
.dtb-v156-prayer-page {
    margin-top: 10px !important;
    margin-bottom: 22px !important;
}
.dtb-v156-prayer-top {
    padding: 4px 0 2px !important;
    margin-bottom: 10px !important;
}
.dtb-v156-prayer-brand {
    gap: 10px !important;
}
.dtb-v156-prayer-back {
    width: 34px !important;
    height: 34px !important;
    background: #eefaf2 !important;
    color: #0f7e39 !important;
    box-shadow: 0 4px 12px rgba(17,88,39,.08) !important;
}
.dtb-v156-prayer-logo {
    width: 44px !important;
    height: 44px !important;
    font-size: 22px !important;
}
.dtb-v156-prayer-brand h1 {
    font-size: 24px !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
}
.dtb-v156-prayer-brand p {
    font-size: 14px !important;
    line-height: 1.2 !important;
}
.dtb-v156-lang {
    padding: 8px 15px !important;
    min-width: 58px !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(232,137,35,.08) !important;
}
.dtb-v156-location {
    margin: 8px 0 10px !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
    background: #f4fbf6 !important;
    border: 1px solid #dfeee2 !important;
    font-size: 17px !important;
}
.dtb-v156-main-card {
    padding: 14px !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 24px rgba(18,95,45,.07) !important;
}
.dtb-v156-date-row {
    margin-bottom: 10px !important;
}
.dtb-v156-date-icon {
    width: 44px !important;
    height: 44px !important;
    font-size: 20px !important;
}
.dtb-v156-date-row strong {
    font-size: 26px !important;
}
.dtb-v156-date-row small {
    font-size: 15px !important;
}
.dtb-v156-summary-grid {
    gap: 10px !important;
}
.dtb-v156-next-box,
.dtb-v156-sun-box {
    border-radius: 16px !important;
    padding: 13px !important;
    box-shadow: 0 5px 14px rgba(17,88,39,.04) !important;
}
.dtb-v156-next-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    font-size: 22px !important;
}
.dtb-v156-next-box small {
    font-size: 14px !important;
}
.dtb-v156-next-box strong {
    font-size: 24px !important;
}
.dtb-v156-next-box em {
    margin-top: 7px !important;
    padding-top: 7px !important;
    border-top-width: 3px !important;
    font-size: 14px !important;
}
.dtb-v156-sun-line {
    padding: 8px 0 !important;
}
.dtb-v156-sun-line span {
    font-size: 15px !important;
}
.dtb-v156-sun-line b {
    font-size: 18px !important;
}
.dtb-v156-times {
    margin-top: 10px !important;
    border-radius: 16px !important;
    box-shadow: inset 0 0 0 1px rgba(216,238,224,.3) !important;
}
.dtb-v156-time-pill {
    padding: 10px 5px !important;
}
.dtb-v156-time-pill span {
    font-size: 13px !important;
}
.dtb-v156-time-pill b {
    font-size: 18px !important;
}
.dtb-v156-panel {
    margin-top: 14px !important;
    padding: 14px !important;
    border-radius: 18px !important;
}
.dtb-v156-panel-head h2 {
    font-size: 23px !important;
    line-height: 1.15 !important;
}
.dtb-v156-prayer-table th,
.dtb-v156-prayer-table td {
    padding: 10px 8px !important;
}
@media (max-width: 720px) {
    .dtb-v156-prayer-page {
        width: min(100% - 18px, 720px) !important;
        margin-top: 8px !important;
        padding-bottom: 78px !important;
    }
    .dtb-v156-prayer-top {
        align-items: center !important;
    }
    .dtb-v156-prayer-brand h1 {
        font-size: 21px !important;
        max-width: 170px !important;
    }
    .dtb-v156-prayer-brand p {
        font-size: 13px !important;
    }
    .dtb-v156-location {
        font-size: 16px !important;
        margin-bottom: 9px !important;
    }
    .dtb-v156-main-card {
        padding: 12px !important;
        border-radius: 18px !important;
    }
    .dtb-v156-date-row {
        gap: 10px !important;
    }
    .dtb-v156-date-row strong {
        font-size: 24px !important;
    }
    .dtb-v156-next-box {
        gap: 10px !important;
    }
    .dtb-v156-next-box strong {
        font-size: 22px !important;
    }
    .dtb-v156-sun-box {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    .dtb-v156-sun-line {
        display: block !important;
        border: 1px solid #edf1ee !important;
        border-radius: 14px !important;
        padding: 9px 10px !important;
        background: #fff !important;
    }
    .dtb-v156-sun-line span,
    .dtb-v156-sun-line b {
        display: block !important;
        text-align: center !important;
    }
    .dtb-v156-sun-line span {
        font-size: 13px !important;
        margin-bottom: 3px !important;
    }
    .dtb-v156-sun-line b {
        font-size: 17px !important;
    }
    .dtb-v156-times {
        display: flex !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }
    .dtb-v156-times::-webkit-scrollbar {
        display: none !important;
    }
    .dtb-v156-time-pill {
        min-width: 92px !important;
        border-right: 1px solid #dbeee1 !important;
    }
    .dtb-v156-time-pill span {
        font-size: 13px !important;
    }
    .dtb-v156-time-pill b {
        font-size: 18px !important;
    }
    .dtb-v156-panel {
        margin-top: 12px !important;
        padding: 13px !important;
    }
    .dtb-v156-panel-head h2 {
        font-size: 21px !important;
    }
}


/* DTB v1.0.58 — Prayer next time is calculated dynamically from today's prayer times. */


/* DTB v1.0.59 — Prayer page current date fix; avoid stale calendar emoji date. */
.dtb-v156-date-icon {
    font-size: 13px !important;
    font-weight: 950 !important;
    color: #11863f !important;
}


/* DTB v1.0.60 — Multiple Hadith cards */
.dtb-v160-hadith-panel {
    background: linear-gradient(180deg,#ffffff 0%,#fbfffc 100%) !important;
}
.dtb-v160-hadith-list {
    display: grid;
    gap: 10px;
}
.dtb-v160-hadith-card {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 12px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e2eee5;
    box-shadow: 0 5px 14px rgba(17,88,39,.05);
}
.dtb-v160-hadith-number {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eefaf2;
    border: 1px solid #d5efdc;
    color: #11863f;
    font-weight: 950;
}
.dtb-v160-hadith-card strong {
    display: block;
    margin-bottom: 5px;
    color: #173d23;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 950;
}
.dtb-v160-hadith-card p {
    margin: 0;
    color: #34423a;
    font-size: 15px;
    line-height: 1.62;
    font-weight: 650;
}
.dtb-v160-hadith-card small {
    display: block;
    margin-top: 7px;
    color: #e07f1f;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 850;
}
@media (max-width: 720px) {
    .dtb-v160-hadith-card {
        grid-template-columns: 32px 1fr;
        gap: 8px;
        padding: 11px;
        border-radius: 15px;
    }
    .dtb-v160-hadith-number {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }
    .dtb-v160-hadith-card strong {
        font-size: 15px;
    }
    .dtb-v160-hadith-card p {
        font-size: 14px;
        line-height: 1.55;
    }
}


/* DTB v1.0.61 — Prayer page compact UI refinement */
.dtb-v156-prayer-page {
    width: min(100% - 24px, 920px) !important;
    margin-top: 8px !important;
}
.dtb-v156-prayer-top {
    margin-bottom: 8px !important;
}
.dtb-v156-prayer-brand h1 {
    font-size: 22px !important;
    line-height: 1.04 !important;
}
.dtb-v156-prayer-brand p {
    font-size: 13px !important;
    line-height: 1.18 !important;
}
.dtb-v156-lang {
    padding: 7px 14px !important;
    min-width: 54px !important;
    border-radius: 13px !important;
    font-size: 15px !important;
}
.dtb-v156-location {
    font-size: 16px !important;
    margin: 6px 0 10px !important;
    padding: 10px 12px !important;
}
.dtb-v156-main-card {
    padding: 14px !important;
    border-radius: 18px !important;
}
.dtb-v156-date-row {
    gap: 10px !important;
    margin-bottom: 10px !important;
}
.dtb-v156-date-icon {
    width: 42px !important;
    height: 42px !important;
}
.dtb-v156-date-row strong {
    font-size: 21px !important;
    line-height: 1.12 !important;
}
.dtb-v156-date-row small {
    font-size: 14px !important;
}
.dtb-v156-next-box,
.dtb-v156-sun-box {
    padding: 12px !important;
    border-radius: 15px !important;
}
.dtb-v156-next-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    font-size: 20px !important;
}
.dtb-v156-next-box small {
    font-size: 13px !important;
}
.dtb-v156-next-box strong {
    font-size: 20px !important;
    line-height: 1.12 !important;
}
.dtb-v156-next-box em {
    font-size: 13px !important;
    margin-top: 6px !important;
    padding-top: 6px !important;
}
.dtb-v156-sun-line span {
    font-size: 14px !important;
}
.dtb-v156-sun-line b {
    font-size: 17px !important;
}
.dtb-v156-times {
    margin-top: 10px !important;
}
.dtb-v156-time-pill {
    padding: 9px 5px !important;
}
.dtb-v156-time-pill span {
    font-size: 12px !important;
}
.dtb-v156-time-pill b {
    font-size: 16px !important;
    margin-top: 3px !important;
}
.dtb-v156-panel {
    margin-top: 14px !important;
    padding: 14px !important;
}
.dtb-v156-panel-head {
    margin-bottom: 10px !important;
}
.dtb-v156-panel-head h2 {
    font-size: 20px !important;
    line-height: 1.12 !important;
}
.dtb-v156-prayer-table th,
.dtb-v156-prayer-table td {
    font-size: 14px !important;
    padding: 10px 8px !important;
}
.dtb-v156-note {
    font-size: 13px !important;
}
.dtb-v160-hadith-list {
    gap: 8px !important;
}
.dtb-v160-hadith-card {
    padding: 11px !important;
    border-radius: 14px !important;
}
.dtb-v160-hadith-card strong {
    font-size: 14px !important;
}
.dtb-v160-hadith-card p {
    font-size: 14px !important;
    line-height: 1.52 !important;
}
.dtb-v160-hadith-card small {
    font-size: 12px !important;
}
@media (max-width: 720px) {
    .dtb-v156-prayer-page {
        width: min(100% - 16px, 720px) !important;
        margin-top: 6px !important;
        margin-bottom: 18px !important;
        padding-bottom: 78px !important;
    }
    .dtb-v156-prayer-top {
        gap: 10px !important;
        margin-bottom: 8px !important;
    }
    .dtb-v156-prayer-brand {
        gap: 8px !important;
        min-width: 0 !important;
    }
    .dtb-v156-prayer-back {
        width: 32px !important;
        height: 32px !important;
        font-size: 21px !important;
    }
    .dtb-v156-prayer-logo {
        width: 40px !important;
        height: 40px !important;
        font-size: 19px !important;
    }
    .dtb-v156-prayer-brand h1 {
        font-size: 18px !important;
        max-width: 128px !important;
        letter-spacing: -0.01em !important;
    }
    .dtb-v156-prayer-brand p {
        font-size: 11.5px !important;
    }
    .dtb-v156-lang {
        padding: 6px 12px !important;
        min-width: 50px !important;
        font-size: 14px !important;
    }
    .dtb-v156-location {
        font-size: 15px !important;
        padding: 9px 10px !important;
        border-radius: 14px !important;
    }
    .dtb-v156-main-card {
        padding: 12px !important;
        border-radius: 16px !important;
    }
    .dtb-v156-date-row strong {
        font-size: 18px !important;
    }
    .dtb-v156-date-row small {
        font-size: 13px !important;
    }
    .dtb-v156-next-box,
    .dtb-v156-sun-box {
        padding: 11px !important;
        border-radius: 14px !important;
    }
    .dtb-v156-next-box {
        gap: 9px !important;
    }
    .dtb-v156-next-icon {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px !important;
        font-size: 18px !important;
    }
    .dtb-v156-next-box small {
        font-size: 12px !important;
    }
    .dtb-v156-next-box strong {
        font-size: 18px !important;
    }
    .dtb-v156-next-box em {
        font-size: 12px !important;
    }
    .dtb-v156-sun-box {
        gap: 7px !important;
    }
    .dtb-v156-sun-line {
        padding: 8px 8px !important;
        border-radius: 12px !important;
    }
    .dtb-v156-sun-line span {
        font-size: 12px !important;
    }
    .dtb-v156-sun-line b {
        font-size: 16px !important;
    }
    .dtb-v156-times {
        border-radius: 14px !important;
    }
    .dtb-v156-time-pill {
        min-width: 80px !important;
        padding: 8px 5px !important;
    }
    .dtb-v156-time-pill span {
        font-size: 11.5px !important;
    }
    .dtb-v156-time-pill b {
        font-size: 14px !important;
    }
    .dtb-v156-panel {
        margin-top: 12px !important;
        padding: 12px !important;
        border-radius: 16px !important;
    }
    .dtb-v156-panel-head h2 {
        font-size: 18px !important;
    }
    .dtb-v156-prayer-table th,
    .dtb-v156-prayer-table td {
        font-size: 12px !important;
        padding: 9px 6px !important;
    }
    .dtb-v160-hadith-card {
        grid-template-columns: 28px 1fr !important;
        gap: 7px !important;
        padding: 10px !important;
    }
    .dtb-v160-hadith-number {
        width: 26px !important;
        height: 26px !important;
        font-size: 12px !important;
    }
    .dtb-v160-hadith-card strong {
        font-size: 13px !important;
    }
    .dtb-v160-hadith-card p {
        font-size: 13px !important;
        line-height: 1.48 !important;
    }
    .dtb-v160-hadith-card small {
        font-size: 11.5px !important;
    }
}


/* DTB v1.0.62 — AppHome final visual cleanup */
body.dtb-apphome-shortcode-page .wd-prefooter,
body.dtb-apphome-shortcode-page .prefooter,
body.dtb-apphome-shortcode-page .woodmart-prefooter,
body.dtb-apphome-shortcode-page .site-content + .footer-container:not(.dtb-app-footer),
body.dtb-apphome-shortcode-page .footer-container:not(.dtb-app-footer) .wd-footer,
body.dtb-apphome-shortcode-page .footer-container:not(.dtb-app-footer) .footer-sidebar,
body.dtb-apphome-shortcode-page .footer-container:not(.dtb-app-footer) .footer-column,
body.dtb-apphome-shortcode-page .footer-container:not(.dtb-app-footer) .main-footer {
    display: none !important;
}

/* Never show cart fallback icon for category/market image failures. */
body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-v116-imgfallback:empty,
body.dtb-apphome-shortcode-page .dtb-v104-market-card .dtb-v116-imgfallback:empty,
body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-v116-imgwrap:empty,
body.dtb-apphome-shortcode-page .dtb-v104-market-card .dtb-v116-imgwrap:empty {
    display: none !important;
}

/* If market/category image is missing, keep a clean text-only card without a blank box. */
body.dtb-apphome-shortcode-page .dtb-v104-cat:not(:has(.dtb-v116-imgwrap img)) {
    justify-content: center !important;
}
body.dtb-apphome-shortcode-page .dtb-v162-market-card {
    justify-content: center !important;
}
body.dtb-apphome-shortcode-page .dtb-v162-market-card .dtb-v116-price-change:empty {
    display: none !important;
}

/* Make market cards compact when no image/change line exists. */
body.dtb-apphome-shortcode-page .dtb-v162-market-card {
    min-height: 112px !important;
    padding: 12px !important;
}
body.dtb-apphome-shortcode-page .dtb-v162-market-card strong {
    margin-top: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-v162-market-card b {
    margin-top: 4px !important;
}
body.dtb-apphome-shortcode-page .dtb-app-home {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-app-home .dtb-home-wrap {
    padding-bottom: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-app-home .dtb-home-wrap > *:last-child {
    margin-bottom: 0 !important;
}
body.dtb-apphome-shortcode-page .dtb-app-footer {
    margin-top: 10px !important;
}

/* Safer fallback for browsers without :has(). */
@supports not selector(:has(*)) {
    body.dtb-apphome-shortcode-page .dtb-v104-cat .dtb-v116-imgwrap[style*="display: none"],
    body.dtb-apphome-shortcode-page .dtb-v104-market-card .dtb-v116-imgwrap[style*="display: none"] {
        display: none !important;
    }
}

@media (max-width: 480px) {
    body.dtb-apphome-shortcode-page .dtb-v162-market-card {
        min-height: 98px !important;
        padding: 10px !important;
        border-radius: 15px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v162-market-card strong {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v162-market-card b {
        font-size: 15px !important;
        line-height: 1.15 !important;
    }
    body.dtb-apphome-shortcode-page .dtb-v162-market-card em {
        font-size: 11px !important;
    }
    body.dtb-apphome-shortcode-page .dtb-app-footer {
        margin-top: 8px !important;
    }
}


/* DTB v1.0.63 — Root Homepage + AppHome Unified Cleanup */

/* Same cleanup scope for both / and /apphome/. */
body.dtb-root-apphome-page .woodmart-prefooter,
body.dtb-root-apphome-page .wd-prefooter,
body.dtb-root-apphome-page .prefooter,
body.dtb-root-apphome-page .footer-container:not(.dtb-app-footer),
body.dtb-root-apphome-page .footer-container:not(.dtb-app-footer) .wd-footer,
body.dtb-root-apphome-page .footer-container:not(.dtb-app-footer) .footer-sidebar,
body.dtb-root-apphome-page .footer-container:not(.dtb-app-footer) .footer-column,
body.dtb-root-apphome-page .main-footer,
body.dtb-root-apphome-page footer:not(.dtb-app-footer):not(.dtb-v156-prayer-page footer),
body.dtb-apphome-unified-cleanup .woodmart-prefooter,
body.dtb-apphome-unified-cleanup .wd-prefooter,
body.dtb-apphome-unified-cleanup .prefooter,
body.dtb-apphome-unified-cleanup .footer-container:not(.dtb-app-footer),
body.dtb-apphome-unified-cleanup footer:not(.dtb-app-footer):not(.dtb-v156-prayer-page footer) {
    display: none !important;
}

/* Hide old Woodmart/demo product grids on root homepage only. AppHome uses dtb-v104 sections, not Woo product grids. */
body.dtb-root-apphome-page .site-content ul.products,
body.dtb-root-apphome-page .site-content .products,
body.dtb-root-apphome-page .site-content .wd-products,
body.dtb-root-apphome-page .site-content .product-grid-item,
body.dtb-root-apphome-page .site-content .wd-product,
body.dtb-root-apphome-page .site-content .type-product {
    display: none !important;
}

/* But never hide our AppHome sections if they contain product-looking cards. */
body.dtb-root-apphome-page .dtb-app-home .dtb-v104-categories,
body.dtb-root-apphome-page .dtb-app-home .dtb-v104-market-grid,
body.dtb-root-apphome-page .dtb-app-home .dtb-v104-offers,
body.dtb-root-apphome-page .dtb-app-home .dtb-v104-quick-actions,
body.dtb-root-apphome-page .dtb-app-home .dtb-v153-smart-ranna-card,
body.dtb-root-apphome-page .dtb-app-home .dtb-v140-hero-slider,
body.dtb-root-apphome-page .dtb-app-home .dtb-v150-prayer-wrap {
    display: grid;
}
body.dtb-root-apphome-page .dtb-app-home .dtb-v153-smart-ranna-card {
    display: flex !important;
}

/* Apply visual cleanup to both URLs. */
body.dtb-apphome-unified-cleanup .dtb-v104-cat-icon,
body.dtb-apphome-unified-cleanup .dtb-v104-market-icon {
    margin-bottom: 0 !important;
}
body.dtb-apphome-unified-cleanup .dtb-v104-cat-icon:empty,
body.dtb-apphome-unified-cleanup .dtb-v104-market-icon:empty,
body.dtb-apphome-unified-cleanup .dtb-v104-cat-icon .dtb-v116-imgfallback:empty,
body.dtb-apphome-unified-cleanup .dtb-v104-market-icon .dtb-v116-imgfallback:empty {
    display: none !important;
}

body.dtb-apphome-unified-cleanup .dtb-v116-price-change:empty,
body.dtb-apphome-unified-cleanup .dtb-v104-market-card small:empty {
    display: none !important;
}

body.dtb-apphome-unified-cleanup .dtb-v104-market-card {
    min-height: 104px !important;
}
body.dtb-apphome-unified-cleanup .dtb-app-home {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body.dtb-apphome-unified-cleanup .dtb-app-home .dtb-home-wrap {
    padding-bottom: 0 !important;
}
body.dtb-apphome-unified-cleanup .dtb-app-home .dtb-home-wrap > *:last-child {
    margin-bottom: 0 !important;
}
body.dtb-apphome-unified-cleanup .dtb-app-footer {
    display: block !important;
    margin-top: 8px !important;
}

@media (max-width: 480px) {
    body.dtb-apphome-unified-cleanup .dtb-v104-market-card {
        min-height: 96px !important;
        padding: 10px !important;
    }
    body.dtb-apphome-unified-cleanup .dtb-v104-market-card strong {
        font-size: 13px !important;
    }
    body.dtb-apphome-unified-cleanup .dtb-v104-market-card b {
        font-size: 15px !important;
    }
}


/* DTB v1.0.64 — Root Homepage Server-Side AppHome Isolation */

/* Root homepage is now AppHome-only; keep only DTB sections/footer visible. */
body.dtb-root-apphome-isolated .site-content ul.products,
body.dtb-root-apphome-isolated .site-content .products,
body.dtb-root-apphome-isolated .site-content .wd-products,
body.dtb-root-apphome-isolated .site-content .product-grid-item,
body.dtb-root-apphome-isolated .site-content .wd-product,
body.dtb-root-apphome-isolated .site-content .type-product,
body.dtb-root-apphome-isolated .woodmart-prefooter,
body.dtb-root-apphome-isolated .wd-prefooter,
body.dtb-root-apphome-isolated .prefooter,
body.dtb-root-apphome-isolated .footer-container:not(.dtb-app-footer),
body.dtb-root-apphome-isolated footer:not(.dtb-app-footer) {
    display: none !important;
}

body.dtb-root-apphome-isolated .dtb-app-home,
body.dtb-root-apphome-isolated .dtb-app-home *,
body.dtb-root-apphome-isolated .dtb-app-footer,
body.dtb-root-apphome-isolated .dtb-app-footer * {
    visibility: visible !important;
}

body.dtb-root-apphome-isolated .dtb-app-home {
    display: block !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body.dtb-root-apphome-isolated .dtb-app-footer {
    display: block !important;
    margin-top: 8px !important;
}


/* DTB v1.0.65 — Root Homepage Hard AppHome Template */
body.dtb-root-apphome-isolated .main-page-wrapper,
body.dtb-root-apphome-isolated .website-wrapper,
body.dtb-root-apphome-isolated .site-content {
    background: #ffffff !important;
}
#dtb-root-apphome-main {
    width: 100%;
    margin: 0;
    padding: 0;
}
#dtb-root-apphome-main .dtb-app-home {
    margin-bottom: 0 !important;
}


/* DTB v1.0.66 — Root Homepage Full Output Buffer Cleanup */
body.dtb-root-apphome-isolated ul.products,
body.dtb-root-apphome-isolated .products:not(.dtb-v104-categories):not(.dtb-v104-market-grid):not(.dtb-v104-offers),
body.dtb-root-apphome-isolated .wd-products,
body.dtb-root-apphome-isolated .product-grid-item,
body.dtb-root-apphome-isolated .wd-product,
body.dtb-root-apphome-isolated .type-product,
body.dtb-root-apphome-isolated .product-wrapper,
body.dtb-root-apphome-isolated .wp-block-woocommerce,
body.dtb-root-apphome-isolated .wc-block-grid,
body.dtb-root-apphome-isolated footer:not(.dtb-app-footer),
body.dtb-root-apphome-isolated .footer-container:not(.dtb-app-footer),
body.dtb-root-apphome-isolated .main-footer,
body.dtb-root-apphome-isolated .woodmart-prefooter,
body.dtb-root-apphome-isolated .wd-prefooter,
body.dtb-root-apphome-isolated .prefooter {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

body.dtb-root-apphome-isolated #dtb-root-apphome-main,
body.dtb-root-apphome-isolated #dtb-root-apphome-main .dtb-app-home,
body.dtb-root-apphome-isolated .dtb-app-footer {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}


/* DTB v1.0.67 — Elementor editor preview bypass.
   Public root isolation is unchanged; editor/preview gets normal content area. */


/* DTB v1.0.68 — Root Homepage Template Include Override */
body.dtb-v168-root-template #dtb-root-apphome-main {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
}
body.dtb-v168-root-template .dtb-app-home {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
body.dtb-v168-root-template .dtb-app-footer {
    display: block !important;
    margin-top: 8px !important;
}


/* DTB v1.0.69 — Mobile WebView AppHome Bottom Gap + App Shell Layout Fix
   Applies only inside Android/WebView-like app requests. Chrome/mobile website header + footer remain unchanged. */
.dtb-v169-webview-topbar,
.dtb-v169-webview-quickstrip,
.dtb-v169-webview-endcap {
    display: none;
}

body.dtb-app-webview.dtb-root-apphome-page,
body.dtb-app-webview.dtb-apphome-shortcode-page {
    background: #ffffff !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-x: hidden !important;
}

body.dtb-app-webview.dtb-root-apphome-page .website-wrapper,
body.dtb-app-webview.dtb-root-apphome-page .main-page-wrapper,
body.dtb-app-webview.dtb-root-apphome-page .site-content,
body.dtb-app-webview.dtb-root-apphome-page #dtb-root-apphome-main,
body.dtb-app-webview.dtb-root-apphome-page .dtb-app-home,
body.dtb-app-webview.dtb-root-apphome-page .dtb-home-wrap,
body.dtb-app-webview.dtb-apphome-shortcode-page .website-wrapper,
body.dtb-app-webview.dtb-apphome-shortcode-page .main-page-wrapper,
body.dtb-app-webview.dtb-apphome-shortcode-page .site-content,
body.dtb-app-webview.dtb-apphome-shortcode-page #dtb-root-apphome-main,
body.dtb-app-webview.dtb-apphome-shortcode-page .dtb-app-home,
body.dtb-app-webview.dtb-apphome-shortcode-page .dtb-home-wrap {
    min-height: 0 !important;
    height: auto !important;
    margin-bottom: 0 !important;
}

body.dtb-app-webview.dtb-root-apphome-page .dtb-app-footer,
body.dtb-app-webview.dtb-apphome-shortcode-page .dtb-app-footer,
body.dtb-v169-webview-shell.dtb-root-apphome-page .dtb-app-footer,
body.dtb-v169-webview-shell.dtb-apphome-shortcode-page .dtb-app-footer {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.dtb-app-webview.dtb-root-apphome-page .dtb-app-home,
body.dtb-app-webview.dtb-apphome-shortcode-page .dtb-app-home,
body.dtb-v169-webview-shell.dtb-root-apphome-page .dtb-app-home,
body.dtb-v169-webview-shell.dtb-apphome-shortcode-page .dtb-app-home {
    margin: 0 !important;
    padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)) !important;
}

body.dtb-app-webview.dtb-root-apphome-page .dtb-home-wrap,
body.dtb-app-webview.dtb-apphome-shortcode-page .dtb-home-wrap,
body.dtb-v169-webview-shell.dtb-root-apphome-page .dtb-home-wrap,
body.dtb-v169-webview-shell.dtb-apphome-shortcode-page .dtb-home-wrap {
    width: min(100% - 14px, 1180px) !important;
    padding-bottom: 6px !important;
}

body.dtb-app-webview .dtb-v169-webview-topbar,
body.dtb-v169-webview-shell .dtb-v169-webview-topbar {
    display: grid !important;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 8px;
    position: sticky;
    top: 0;
    z-index: 60;
    margin: 0 0 8px;
    padding: 8px 8px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #edf3ef;
    box-shadow: 0 4px 14px rgba(14,96,48,.06);
    backdrop-filter: blur(8px);
}

body.dtb-app-webview .dtb-v169-webview-brand,
body.dtb-v169-webview-shell .dtb-v169-webview-brand {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #123d24 !important;
    text-decoration: none !important;
}

body.dtb-app-webview .dtb-v169-webview-logo,
body.dtb-v169-webview-shell .dtb-v169-webview-logo {
    width: 32px;
    height: 32px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f0fbf4;
    color: #128441;
    border: 1px solid #d8efe0;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: -.02em;
    flex: 0 0 auto;
}

body.dtb-app-webview .dtb-v169-webview-brand strong,
body.dtb-v169-webview-shell .dtb-v169-webview-brand strong {
    display: block;
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #11863f;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 950;
}

body.dtb-app-webview .dtb-v169-webview-brand small,
body.dtb-v169-webview-shell .dtb-v169-webview-brand small {
    display: block;
    color: #6a766f;
    font-size: 9.5px;
    line-height: 1.1;
    font-weight: 700;
    white-space: nowrap;
}

body.dtb-app-webview .dtb-v169-webview-search,
body.dtb-v169-webview-shell .dtb-v169-webview-search {
    display: grid;
    grid-template-columns: 18px 1fr;
    align-items: center;
    min-width: 0;
    height: 36px;
    padding: 0 9px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e1ebe5;
    box-shadow: inset 0 0 0 1px rgba(17,134,63,.02);
}

body.dtb-app-webview .dtb-v169-webview-search span,
body.dtb-v169-webview-shell .dtb-v169-webview-search span {
    color: #738079;
    font-size: 16px;
    line-height: 1;
}

body.dtb-app-webview .dtb-v169-webview-search input,
body.dtb-v169-webview-shell .dtb-v169-webview-search input {
    width: 100%;
    min-width: 0;
    height: 34px;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
    color: #16281d;
    font-size: 12px;
    font-weight: 750;
}

body.dtb-app-webview .dtb-v169-webview-call,
body.dtb-v169-webview-shell .dtb-v169-webview-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff7ee;
    border: 1px solid #f3dfc6;
    color: #c65f11 !important;
    font-size: 12px;
    font-weight: 950;
    text-decoration: none !important;
    white-space: nowrap;
}

body.dtb-app-webview .dtb-v169-webview-quickstrip,
body.dtb-v169-webview-shell .dtb-v169-webview-quickstrip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    width: min(100% - 14px, 1180px);
    margin: 0 auto 9px;
}

body.dtb-app-webview .dtb-v169-webview-quickstrip a,
body.dtb-v169-webview-shell .dtb-v169-webview-quickstrip a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid #e0eee5;
    color: #164326 !important;
    font-size: 11px;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(17,88,39,.05);
}

body.dtb-app-webview .dtb-v169-webview-endcap,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap {
    display: block !important;
    width: min(100% - 14px, 1180px);
    margin: 2px auto 0;
    padding: 12px;
    border-radius: 18px;
    background: linear-gradient(135deg,#f4fff7 0%,#fffaf0 100%);
    border: 1px solid #dff0e4;
    box-shadow: 0 7px 20px rgba(17,88,39,.06);
}

body.dtb-app-webview .dtb-v169-webview-endcap strong,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap strong {
    display: block;
    color: #128441;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 950;
}

body.dtb-app-webview .dtb-v169-webview-endcap p,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap p {
    margin: 5px 0 9px;
    color: #4f5f56;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 650;
}

body.dtb-app-webview .dtb-v169-webview-endcap div,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap div {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

body.dtb-app-webview .dtb-v169-webview-endcap a,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border-radius: 999px;
    background: #128441;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none !important;
}

body.dtb-app-webview .dtb-v169-webview-endcap a + a,
body.dtb-v169-webview-shell .dtb-v169-webview-endcap a + a {
    background: #fff7ee;
    color: #c65f11 !important;
    border: 1px solid #f3dfc6;
}

@media (max-width: 380px) {
    body.dtb-app-webview .dtb-v169-webview-brand strong,
    body.dtb-v169-webview-shell .dtb-v169-webview-brand strong {
        max-width: 74px;
        font-size: 11px;
    }
    body.dtb-app-webview .dtb-v169-webview-search input,
    body.dtb-v169-webview-shell .dtb-v169-webview-search input {
        font-size: 11px;
    }
    body.dtb-app-webview .dtb-v169-webview-call,
    body.dtb-v169-webview-shell .dtb-v169-webview-call {
        padding: 0 8px;
        font-size: 11px;
    }
}


/* DTB v1.0.80 — Rebase from scroll-stable v1.0.69.
   Chrome/mobile website visual alignment only. WebView v1.0.69 shell + scroll behavior protected. */
@media (max-width: 767px) {
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell),
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) {
        background: #f3fbf6 !important;
        overflow-x: hidden !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .website-wrapper,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .main-page-wrapper,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .site-content,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .website-wrapper,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .main-page-wrapper,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .site-content {
        background: #f3fbf6 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) #dtb-root-apphome-main,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) #dtb-root-apphome-main {
        margin: 0 !important;
        padding: 0 !important;
        background: #f3fbf6 !important;
    }

    /* Chrome/mobile gets the same small app-like side margin that was stable in v1.0.69 WebView. */
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-home,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-home {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 0 4px !important;
        background: #f3fbf6 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-home-wrap,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-home-wrap {
        width: min(96vw, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 4px 0 6px !important;
    }

    /* Reduce Chrome top air before the first banner without touching Woodmart's own header. */
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-home-wrap > :first-child,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-home-wrap > :first-child {
        margin-top: 0 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slider,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-single,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slider,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-single {
        margin: 0 0 7px !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        box-shadow: 0 6px 16px rgba(17,88,39,.07) !important;
    }

    /* Chrome prayer card: natural height, no vertical stacking, no clipped bottom. WebView untouched. */
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap {
        display: grid !important;
        gap: 6px !important;
        margin: 6px 0 8px !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-card,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-card {
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        grid-template-areas: "icon main" "side side" !important;
        align-items: center !important;
        gap: 5px 8px !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px 9px !important;
        margin: 0 !important;
        border-radius: 14px !important;
        overflow: visible !important;
        background: #ffffff !important;
        box-shadow: 0 4px 14px rgba(17,88,39,.06) !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-icon,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-icon {
        grid-area: icon !important;
        width: 30px !important;
        height: 30px !important;
        border-radius: 10px !important;
        font-size: 17px !important;
        flex: 0 0 auto !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left {
        grid-area: main !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 1px !important;
        overflow: hidden !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left small,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left small {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 10.5px !important;
        line-height: 1.12 !important;
        font-weight: 850 !important;
        color: #4e5d55 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left strong,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left strong {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 12px !important;
        line-height: 1.16 !important;
        font-weight: 950 !important;
        color: #138641 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left em,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left em {
        display: block !important;
        font-size: 10.6px !important;
        line-height: 1.14 !important;
        font-weight: 950 !important;
        color: #e28524 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right {
        grid-area: side !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 5px !important;
        padding: 5px 0 0 !important;
        margin: 2px 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(20,120,73,.12) !important;
        text-align: left !important;
        overflow: visible !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right b,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right b,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i {
        display: inline-block !important;
        min-width: 0 !important;
        max-width: 34% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 10.4px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i {
        max-width: 30% !important;
        color: #138641 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-notice-link,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-notice-link {
        min-height: 32px !important;
        padding: 7px 9px !important;
        border-radius: 12px !important;
        font-size: 11.5px !important;
        margin: 0 !important;
    }

    /* Chrome footer compacting only; WebView continues using v1.0.69 hidden footer/endcap. */
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-footer,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-footer {
        margin-top: 8px !important;
        background: #ffffff !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-inner,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-inner {
        width: min(96vw, 430px) !important;
        max-width: 430px !important;
        padding-top: 12px !important;
        padding-bottom: 74px !important;
    }
}

@media (max-width: 380px) {
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left strong,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-left strong {
        font-size: 11.2px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right b,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right b,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-right i {
        font-size: 9.8px !important;
    }
}


/* DTB v1.0.81 — Chrome mobile active prayer-card renderer fix.
   New class avoids old v150 mobile CSS. WebView still receives the v1.0.69 prayer card. */
.dtb-v181-prayer-card {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(128px, .58fr);
    align-items: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    margin: 0;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(20,120,73,.12);
    box-shadow: 0 5px 16px rgba(17,88,39,.07);
    color: #173d23;
    text-decoration: none;
    overflow: visible;
    height: auto;
    min-height: 0;
    max-height: none;
}
.dtb-v181-prayer-icon {
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: #f2fff7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(20,120,73,.08);
}
.dtb-v181-prayer-main,
.dtb-v181-prayer-meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.dtb-v181-prayer-main small {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #52635a;
    font-size: 12px;
    line-height: 1.18;
    font-weight: 850;
}
.dtb-v181-prayer-main strong {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #108444;
    font-size: 14px;
    line-height: 1.22;
    font-weight: 950;
}
.dtb-v181-prayer-main em {
    color: #e28524;
    font-style: normal;
    font-size: 12px;
    line-height: 1.18;
    font-weight: 950;
}
.dtb-v181-prayer-meta {
    padding-left: 10px;
    border-left: 1px solid rgba(20,120,73,.13);
}
.dtb-v181-prayer-meta b,
.dtb-v181-prayer-meta i {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11.5px;
    line-height: 1.2;
    font-weight: 900;
    color: #25372f;
    font-style: normal;
}
.dtb-v181-prayer-meta i {
    color: #108444;
}
@media (max-width: 767px) {
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap {
        display: grid !important;
        gap: 6px !important;
        margin: 6px 0 8px !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-card {
        grid-template-columns: 34px minmax(0, 1fr) !important;
        grid-template-areas: "icon main" "meta meta" !important;
        gap: 5px 8px !important;
        padding: 8px 9px !important;
        border-radius: 14px !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-icon {
        grid-area: icon !important;
        width: 32px !important;
        height: 32px !important;
        border-radius: 11px !important;
        font-size: 18px !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main {
        grid-area: main !important;
        gap: 1px !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main small {
        font-size: 10.6px !important;
        line-height: 1.12 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main strong {
        font-size: 12.2px !important;
        line-height: 1.16 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main em {
        font-size: 10.8px !important;
        line-height: 1.14 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta {
        grid-area: meta !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr auto !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 5px 0 0 !important;
        margin: 2px 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(20,120,73,.12) !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta b,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta i {
        font-size: 10.2px !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
    }
}
@media (max-width: 380px) {
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main strong {
        font-size: 11.4px !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta b,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta i {
        font-size: 9.6px !important;
    }
}


/* DTB v1.0.82 — Real mobile Chrome prayer compact + footer trim.
   Scoped away from v1.0.69 WebView shell to protect stable app scrolling. */
@media (max-width: 767px) {
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap {
        gap: 4px !important;
        margin: 4px 0 6px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-card,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-card {
        display: grid !important;
        grid-template-columns: 28px minmax(0, 1fr) !important;
        grid-template-areas: "icon main" "meta meta" !important;
        align-items: center !important;
        gap: 2px 7px !important;
        padding: 6px 8px !important;
        border-radius: 13px !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        box-shadow: 0 4px 12px rgba(17,88,39,.055) !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-icon,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-icon {
        grid-area: icon !important;
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        border-radius: 10px !important;
        font-size: 16px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main {
        grid-area: main !important;
        gap: 0 !important;
        min-width: 0 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main small,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main small {
        font-size: 9.8px !important;
        line-height: 1.08 !important;
        margin: 0 !important;
        color: #69776f !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main strong,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main strong {
        font-size: 11.6px !important;
        line-height: 1.12 !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main em,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-main em {
        font-size: 10px !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta {
        grid-area: meta !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 5px !important;
        padding: 3px 0 0 !important;
        margin: 2px 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid rgba(20,120,73,.10) !important;
        min-width: 0 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta b,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta b,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta i,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-meta i {
        font-size: 9.4px !important;
        line-height: 1.05 !important;
        white-space: nowrap !important;
        min-width: 0 !important;
    }

    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-footer,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-footer {
        margin-top: 14px !important;
        padding: 0 0 58px !important;
        background: transparent !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-inner,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-inner {
        width: min(96%, 430px) !important;
        padding: 12px 12px 13px !important;
        border-radius: 16px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-brand-row,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-brand-row {
        gap: 8px !important;
        margin-bottom: 8px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-brand p,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-brand p,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-support p,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-support p {
        font-size: 10.8px !important;
        line-height: 1.34 !important;
        margin: 3px 0 0 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-actions,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-actions {
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
        margin-top: 8px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-action,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-action {
        min-height: 29px !important;
        padding: 6px 8px !important;
        font-size: 10.8px !important;
        border-radius: 10px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-grid,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px 14px !important;
        margin-top: 11px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col h3,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col h3 {
        font-size: 12.4px !important;
        margin: 0 0 5px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col ul,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col ul,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-cats,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-cats {
        gap: 3px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col a,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-col a {
        font-size: 10.8px !important;
        line-height: 1.35 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-support,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-support {
        grid-column: 1 / -1 !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom {
        margin-top: 8px !important;
        padding-top: 8px !important;
        gap: 4px !important;
    }
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom p,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom p,
    body.dtb-apphome-unified-cleanup:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom a,
    body.dtb-root-apphome-page:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-footer-bottom a {
        font-size: 9.7px !important;
        line-height: 1.25 !important;
    }
}


/* DTB v1.0.83 — Real mobile prayer-card height kill-switch.
   Scope: Chrome/mobile website only. WebView v1.0.69 shell is excluded. */
@media (max-width: 767px) {
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 4px 0 6px !important;
        padding: 0 !important;
        gap: 0 !important;
        line-height: normal !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-strip,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-strip * {
        box-sizing: border-box !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-strip {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        contain: layout paint !important;
        padding: 7px 8px !important;
        margin: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-top,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-main,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-meta {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-strip + .dtb-v104-marquee,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v183-prayer-strip + .dtb-v150-notice-link {
        margin-top: 6px !important;
    }
    /* If cached HTML still serves old classes, kill their reserved height too without altering WebView. */
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v181-prayer-card,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
}


/* DTB v1.0.84 — Real Chrome mobile banner/order + final prayer compacting.
   WebView shell is excluded to protect v1.0.69 stable scroll behavior. */
@media (max-width: 767px) {
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-home,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-home-v116 {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-app-home .dtb-home-wrap {
        width: min(96%, 430px) !important;
        max-width: 430px !important;
        padding: 4px 0 0 !important;
        margin: 0 auto !important;
        display: block !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-hero-static {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        margin: 4px 0 7px !important;
        padding: 0 !important;
        box-shadow: 0 5px 15px rgba(17,88,39,.06) !important;
        line-height: 0 !important;
        background: #f4fbf6 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-hero-static img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: contain !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    /* Cache fallback: if old slider HTML is still served in Chrome mobile, make it static and visible. */
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slider {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        border-radius: 14px !important;
        margin: 4px 0 7px !important;
        padding: 0 !important;
        background: #f4fbf6 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-track {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slide {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        opacity: 1 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        display: none !important;
        pointer-events: auto !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slide:first-child {
        display: block !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-hero-slide img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v140-slider-dots {
        display: none !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v150-prayer-wrap {
        display: block !important;
        margin: 0 0 6px !important;
        padding: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mini,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mini * {
        box-sizing: border-box !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mini {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        text-decoration: none !important;
        color: #173d23 !important;
        background: #fff !important;
        border: 1px solid rgba(20,120,73,.12) !important;
        border-radius: 12px !important;
        padding: 6px 8px !important;
        margin: 0 !important;
        box-shadow: 0 4px 12px rgba(17,88,39,.05) !important;
    }


/* --------------------------------------------------------------------------
 * DTB v2.0.45 — Single Product Page: compact rating summary.
 * Replaces Woodmart's full Customer Reviews block (breakdown bars + write
 * form + list) with just the star rating and review count.
 * -------------------------------------------------------------------------- */
body.single-product .dtb-rating-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
}
body.single-product .dtb-rating-summary .star-rating {
    font-size: 16px;
}
body.single-product .dtb-rating-summary-count {
    font-size: 13px;
    color: var(--dtb-pp-muted, #6B7280);
}
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mainrow {
        display: flex !important;
        align-items: center !important;
        gap: 7px !important;
        min-height: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;
        border-radius: 10px !important;
        background: #f2fff7 !important;
        font-size: 15px !important;
        line-height: 1 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text {
        display: block !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        line-height: 1.1 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text small,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text strong,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text em {
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text small {
        font-size: 9.5px !important;
        line-height: 1.05 !important;
        font-weight: 850 !important;
        color: #69776f !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text strong {
        font-size: 11.4px !important;
        line-height: 1.12 !important;
        font-weight: 950 !important;
        color: #138641 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-text em {
        font-style: normal !important;
        font-size: 9.8px !important;
        line-height: 1.08 !important;
        font-weight: 950 !important;
        color: #e28524 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-subrow {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto !important;
        gap: 4px !important;
        align-items: center !important;
        margin: 4px 0 0 !important;
        padding: 4px 0 0 !important;
        border-top: 1px solid rgba(20,120,73,.10) !important;
        min-height: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-subrow b,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-subrow i {
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 9px !important;
        line-height: 1.05 !important;
        font-weight: 900 !important;
        font-style: normal !important;
        color: #25372f !important;
        margin: 0 !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-subrow i {
        color: #138641 !important;
        text-align: right !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mini + .dtb-v104-marquee,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v184-prayer-mini + .dtb-v150-notice-link {
        margin-top: 5px !important;
    }
}


/* DTB v1.0.85 — Chrome mobile native compact prayer rewrite only. WebView v1.0.69 shell untouched. */
@media (max-width: 767px) {
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-wrap,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-wrap * {
        box-sizing: border-box !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-wrap {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 4px 0 6px !important;
        padding: 0 !important;
        line-height: normal !important;
        contain: none !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-native {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 7px 9px !important;
        border-radius: 12px !important;
        contain: none !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-line1,
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-line2 {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
    body:not(.dtb-app-webview):not(.dtb-v169-webview-shell) .dtb-v185-prayer-wrap .dtb-v150-notice-link {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-top: 5px !important;
        padding: 7px 9px !important;
    }
}


/* DTB v2.0.18 — V2 menu opens CSS-only website drawer, not categories link. */


/* --------------------------------------------------------------------------
 * DTB v2.0.35 — Today Market movement indicator restore.
 * Presentation only: uses existing JSON change + direction fields.
 * -------------------------------------------------------------------------- */
.dtb-apphome-v2 .dtb-v2-price .dtb-v235-market-change,
.dtb-apphome-v2-canonical .dtb-v2-price .dtb-v235-market-change {
    display: block;
    margin-top: 3px;
    font-size: 9px;
    line-height: 1.05;
    font-weight: 900;
    white-space: nowrap;
}
.dtb-apphome-v2 .dtb-v2-price .dtb-v235-market-change--down,
.dtb-apphome-v2-canonical .dtb-v2-price .dtb-v235-market-change--down {
    color: #159447;
}
.dtb-apphome-v2 .dtb-v2-price .dtb-v235-market-change--up,
.dtb-apphome-v2-canonical .dtb-v2-price .dtb-v235-market-change--up {
    color: #d46a2a;
}
.dtb-apphome-v2 .dtb-v2-price .dtb-v235-market-change--same,
.dtb-apphome-v2-canonical .dtb-v2-price .dtb-v235-market-change--same {
    color: #677b70;
}


/* DTB v2.0.36: homepage Offers cap expanded to 12; /todays-offers/ live Offer grid styles are emitted with the renderer. */

/* DTB v2.0.37: /todays-offers/ dynamic main-category cards/count filter consumes additive ACM Offer category metadata. */

/* DTB v2.0.38: robust rendered-page suppression of the legacy Today's Offers gateway; dynamic browser remains authoritative. */


/* DTB v2.0.39: Today's Offers page UI polish — full-width browser, compact category filters, category thumbnails/SVG fallbacks, note removal, 4-column desktop and 2-column mobile offer grid. */

/* DTB v2.0.40: Offers page browser alignment fix — preserve v2.0.39 UI, center breakout container without clipping. */


/* DTB v2.0.41: Offers page browser normal-flow alignment — remove breakout positioning and use parent-container width to prevent clipping. */


/* --------------------------------------------------------------------------
 * DTB v2.0.42 - Today's Offers real page-container width alignment
 * Scope: large desktop /todays-offers/ only. Widen the actual Woodmart content
 * container instead of breaking the Offers browser out of its parent.
 * -------------------------------------------------------------------------- */
@media (min-width: 1201px) {
    body.dtb-todays-offers-page .site-content {
        width: calc(100% - 40px) !important;
        max-width: 1780px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.dtb-todays-offers-page .site-content .content-area,
    body.dtb-todays-offers-page .site-content .entry-content,
    body.dtb-todays-offers-page .site-content main {
        width: 100% !important;
        max-width: none !important;
    }

    body.dtb-todays-offers-page .dtb-v237-offers-browser {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        left: auto !important;
        transform: none !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB v2.0.43 - Today's Offers wide browser after verified overflow audit
 * Scope: exact /todays-offers/ page, large desktop only.
 * Release the legacy horizontal clipping ancestors, then widen only the
 * dynamic Offers browser. All surrounding page content remains unchanged.
 * -------------------------------------------------------------------------- */
@media (min-width: 1201px) {
    body.dtb-todays-offers-page.dtb-market-offer-compact-page .site-content,
    body.dtb-todays-offers-page.dtb-market-offer-compact-page main,
    body.dtb-todays-offers-page.dtb-market-offer-compact-page .entry-content,
    body.dtb-todays-offers-page .content-area {
        overflow-x: visible !important;
    }

    body.dtb-todays-offers-page .dtb-v237-offers-browser {
        position: relative !important;
        width: calc(100vw - 40px) !important;
        max-width: 1780px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 1200px) {
    body.dtb-todays-offers-page .dtb-v237-offers-browser {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        transform: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* --------------------------------------------------------------------------
 * DTB v2.0.44 — Single Product Page: layout, Buy Now, You May Also Like /
 * Top Selling product cards.
 * Scope: body.single-product only. Colors match the page's own existing
 * WooCommerce elements (price/Add to Cart green #8CBC67) and the theme's
 * established accent orange (#f08a19, already used across AppHome/footer).
 * -------------------------------------------------------------------------- */
body.single-product {
    --dtb-pp-green: #8CBC67;
    --dtb-pp-green-dark: #6FA34E;
    --dtb-pp-orange: #f08a19;
    --dtb-pp-ink: #2B2B2B;
    --dtb-pp-muted: #6B7280;
    --dtb-pp-border: #E3E8DE;
}

/* Gallery column was sized to fit a real photo (~58%); with only the
 * WooCommerce placeholder icon inside it, that left roughly half the page
 * looking empty on desktop. Rebalance to 40/60 and let the details column
 * fill the rest. Desktop only — the columns already stack fine on mobile. */
@media (min-width: 1025px) {
    body.single-product .e-con.e-child:has(> .elementor-widget-wd_single_product_gallery) {
        flex: 0 0 40% !important;
        max-width: 40% !important;
    }
    body.single-product .e-con.e-child:has(> .elementor-widget-wd_single_product_gallery) ~ .e-con.e-child {
        flex: 1 1 auto !important;
        max-width: none !important;
    }
}

/* No-photo placeholder: give it a branded card treatment instead of a bare
 * icon floating in empty space. Harmless no-op if the selector doesn't match
 * (e.g. a real photo is present, which never matches "placeholder" in the src). */
body.single-product .wd-single-gallery img[src*="woocommerce-placeholder"],
body.single-product .woocommerce-product-gallery img[src*="woocommerce-placeholder"],
body.single-product .wd-single-gallery img[src*="placeholder"] {
    background: linear-gradient(160deg, #F0F6EC, #E7F1E0);
    border: 1px solid var(--dtb-pp-border);
    border-radius: 14px;
    padding: 32px;
    max-width: 320px;
    margin: 0 auto;
    display: block;
}

/* --------------------------------------------------------------------------
 * DTB v2.0.45 — Add to Cart + Buy Now as two compact buttons side by side
 * (was two full-width stacked buttons, reading as oversized). Quantity
 * stepper gets its own row above them so neither button has to shrink to
 * make room for it.
 * -------------------------------------------------------------------------- */
body.single-product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}
body.single-product form.cart > .quantity {
    flex: 1 1 100% !important;
    margin: 0 !important;
}
body.single-product form.cart .single_add_to_cart_button,
body.single-product .dtb-buy-now-btn {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Woodmart's own floating mobile "sticky add to cart" bar duplicates a
 * button we already show directly in the page (compact, always visible,
 * no scrolling needed) — and it sat fixed at the bottom of the screen,
 * overlapping/covering that same row on shorter pages. Redundant either
 * way, so it's hidden on the single-product page. */
body.single-product .wd-sticky-btn {
    display: none !important;
}

/* Add to Cart used Woodmart's own (much larger) default button padding/
 * font-size, so next to the now-compact Buy Now it still read as oversized.
 * Match it to the same compact scale as Buy Now / WhatsApp / wishlist. */
body.single-product form.cart .single_add_to_cart_button {
    min-height: 36px !important;
    padding: 0 14px !important;
    font-size: 12.5px !important;
    line-height: 36px !important;
}

/* Buy Now — sits beside Add to Cart, skips the cart, goes straight to checkout. */
body.single-product .dtb-buy-now-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 14px;
    border: 1.5px solid var(--dtb-pp-orange);
    border-radius: 5px;
    background: #ffffff;
    color: var(--dtb-pp-orange) !important;
    font-weight: 700;
    font-size: 12.5px;
    text-decoration: none !important;
    vertical-align: middle;
    transition: background-color .15s ease, color .15s ease;
}
body.single-product .dtb-buy-now-btn:hover {
    background: var(--dtb-pp-orange);
    color: #ffffff !important;
}
/* Variable products: disabled look until a variation is actually picked. */
body.single-product .dtb-buy-now-btn--pending {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
}

/* WooCommerce's per-variation description is generic catalog boilerplate
 * ("Check the current package for ingredients, storage instructions...")
 * repeated near-verbatim across products — it just added clutter between
 * the size picker and Add to Cart, so it's hidden by default. */
body.single-product .woocommerce-variation-description {
    display: none !important;
}

/* --------------------------------------------------------------------------
 * DTB v2.0.46 — WhatsApp Order + Add to wishlist as one compact row.
 * These come from two different Elementor widgets (a Shortcode widget and
 * Woodmart's native wishlist widget), moved into a shared "row" Container in
 * the editor — this CSS makes that container lay them out side by side and
 * shrinks both to a compact size instead of a full-width bar / plain link.
 * -------------------------------------------------------------------------- */
body.single-product .dtb-secondary-actions-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}
body.single-product .dtb-secondary-actions-row > .elementor-widget {
    flex: 0 0 auto !important;
    width: auto !important;
}

/* Stretching the WhatsApp button to fill the row (v2.0.48) made it look
 * like an oversized bar relative to its short text. Back to a natural,
 * compact size — the row being narrower than Add to Cart / Buy Now above
 * it reads better than one button being disproportionately wide. */
body.single-product .elementor-element-0dbac39,
body.single-product .elementor-element-6f199c7 {
    flex: 0 0 auto !important;
}

body.single-product .dtb-whatsapp-order-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    margin: 0;
    padding: 0 14px;
    border-radius: 5px;
    background: #25D366;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 12.5px;
    text-decoration: none !important;
    box-sizing: border-box;
    white-space: nowrap;
    transition: background-color .15s ease;
}
body.single-product .dtb-whatsapp-order-btn:hover {
    background: #1EBE5A;
}
body.single-product .dtb-whatsapp-order-icon {
    font-size: 14px;
    line-height: 1;
}

/* The native wishlist link/button, pulled into the same compact row. */
body.single-product .dtb-secondary-actions-row .wd-add-to-wishlist,
body.single-product .dtb-secondary-actions-row .wd-wishlist-btn,
body.single-product .dtb-secondary-actions-row a[href*="wishlist"] {
    margin: 0 !important;
    font-size: 12.5px !important;
}

/* You May Also Like / Top Selling Products — shared mini product-card grid. */
body.single-product .dtb-pp-section {
    margin: 32px 0;
}
body.single-product .dtb-pp-heading {
    font-size: 19px;
    font-weight: 800;
    color: var(--dtb-pp-ink);
    margin: 0 0 14px;
}
body.single-product .dtb-pp-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
body.single-product .dtb-pp-card {
    display: flex;
    flex-direction: column;
    padding: 10px;
    border: 1px solid var(--dtb-pp-border);
    border-radius: 12px;
    background: #ffffff;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(20, 40, 10, .04);
    transition: transform .15s ease, box-shadow .15s ease;
}
body.single-product .dtb-pp-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(20, 40, 10, .08);
}
body.single-product .dtb-pp-card-img {
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(160deg, #F0F6EC, #E7F1E0);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
body.single-product .dtb-pp-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body.single-product .dtb-pp-card-noimg {
    font-size: 28px;
    opacity: .75;
}
body.single-product .dtb-pp-card-name {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--dtb-pp-ink);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
body.single-product .dtb-pp-card-price {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--dtb-pp-green-dark);
    margin-top: 4px;
}
@media (max-width: 680px) {
    body.single-product .dtb-pp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* v2.0.181 (dtb2181): reserve the 22px bulk-price note row (added later by quantity-price.js) so product cards do not grow and push the page down after loading. When the note is present the rule no longer matches (price + note + actions). */
.dtb77-card:not(.dtb129-row) .dtb77-body>.dtb77-price+.dtb77-actions{padding-top:30px!important}

/* v2.0.182 (dtb2182): desktop column count per section from Product Manager (web_layout cols). */
@media (min-width:1024px){.dtb77-section[data-dtb-cols] .dtb77-list--grid{grid-template-columns:repeat(var(--dtb-cols),minmax(0,1fr))!important}}
