:root{--bg:#0b0e14;--surface:#141923;--surface2:#1c2330;--text:#f6f7fb;--muted:#9aa4b5;--line:#2a3242;--accent:#ff7a1a;--danger:#e2525c;--success:#35b779;--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Arial,sans-serif;line-height:1.5}a{text-decoration:none;color:inherit}img,video{max-width:100%;display:block}
.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 5vw;background:#0b0e14e8;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-weight:900;font-size:1.3rem;letter-spacing:.08em;color:var(--accent)}nav{display:flex;gap:18px;align-items:center}nav form{margin:0}.link-button{border:0;background:none;color:var(--text);cursor:pointer}.nav-toggle{display:none}
.layout{width:min(1900px,98vw);margin:20px auto 70px;display:grid;grid-template-columns:clamp(240px,19vw,350px) minmax(0,1fr) clamp(240px,19vw,350px);gap:18px}main{min-width:0}.ads{position:sticky;top:82px;height:calc(100vh - 102px);min-height:520px;display:flex;align-items:stretch}.ad-slot{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#080a0f;box-shadow:0 18px 50px #0008;transition:opacity .3s ease}.ad-size-full{height:100%}.ad-size-large{height:75%;align-self:center}.ad-size-medium{height:55%;align-self:center}.ad-size-small{height:35%;align-self:center}.ad-size-custom{height:min(var(--ad-custom-height),100%);align-self:center}.ad-media{width:100%;height:100%;display:block}.ad-fit-cover{object-fit:cover}.ad-fit-contain{object-fit:contain;background:#05070a}
.hero,.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px #0005}.hero{padding:60px;min-height:430px;display:grid;align-items:center}.hero h1{font-size:clamp(2.4rem,6vw,5rem);line-height:1;margin:.2em 0}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.14em}.heading{margin-bottom:22px}.row{display:flex;justify-content:space-between;align-items:center;gap:20px}.panel{padding:24px;margin-bottom:22px}.narrow{max-width:620px;margin:50px auto}.center{text-align:center}
.grid{display:grid;gap:16px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.five{grid-template-columns:repeat(5,minmax(0,1fr))}.card{padding:20px}.card strong{font-size:1.8rem;display:block}.avatar{width:52px;height:52px;border-radius:14px;background:#ff7a1a22;color:var(--accent);display:grid;place-items:center;font-size:1.4rem;font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface2);color:var(--text);padding:10px 15px;border-radius:10px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:#1a1008;border-color:transparent}.danger{background:#e2525c22;color:#ff8088}.small{padding:7px 9px;font-size:.82rem}.full{width:100%}.actions{display:flex;gap:8px;flex-wrap:wrap}.inline-form{display:inline}.form{display:grid;gap:14px}.form.inline{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}label{display:grid;gap:6px;font-weight:700}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0f131b;color:var(--text)}textarea{min-height:90px}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.cart{position:sticky;top:90px}.product-card{background:var(--surface2);border:1px solid var(--line);border-radius:14px;padding:14px}.product-card img,.placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}.placeholder{display:grid;place-items:center;background:#0f131b;color:var(--muted)}.cart-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.cart-row button{margin:0 5px}.muted,small{display:block;color:var(--muted)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.status{padding:5px 8px;border-radius:999px;font-size:.78rem;font-weight:800}.pending{color:#f2b94b}.accepted{color:#61c9ff}.rejected{color:#ff8088}.completed{color:#58d99a}.disabled{opacity:.5}
.flash-stack{position:fixed;right:20px;top:80px;z-index:50}.flash{background:var(--surface2);border:1px solid var(--line);border-left:4px solid var(--accent);padding:12px 15px;border-radius:10px;margin-bottom:8px}.error{border-left-color:var(--danger)}.success{border-left-color:var(--success)}.popup{position:fixed;right:20px;bottom:20px;background:var(--surface2);border:1px solid var(--accent);padding:18px;border-radius:12px}footer{text-align:center;padding:28px;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.ads{display:none}.five{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){nav{display:none;position:absolute;top:64px;right:15px;flex-direction:column;background:var(--surface);padding:15px;border:1px solid var(--line);border-radius:12px}nav.open{display:flex}.nav-toggle{display:block}.three,.five{grid-template-columns:1fr 1fr}.order-layout{grid-template-columns:1fr}.cart{position:static}.hero{padding:30px}}@media(max-width:520px){.three,.five{grid-template-columns:1fr}.row{align-items:flex-start;flex-direction:column}}

.register-panel{max-width:760px}.form-section-title{display:flex;align-items:center;gap:14px;margin:14px 0 2px}.form-section-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ff7a1a22;color:var(--accent);font-weight:900}.form-section-title h2,.form-section-title p{margin:0}.form-section-title p{color:var(--muted);font-size:.9rem}.form-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox-label{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;font-weight:500}.checkbox-label input{width:auto;margin-top:5px}.trial-notice,.trial-banner{padding:16px;border:1px solid #ff7a1a66;border-radius:12px;background:#ff7a1a12}.trial-notice strong,.trial-notice span,.trial-banner strong,.trial-banner span{display:block}.trial-notice span,.trial-banner span{color:var(--muted);margin-top:4px}.form-footer-text{text-align:center;color:var(--muted)}.form-footer-text a{color:var(--accent);font-weight:700}.danger-banner{border-color:#e2525c88;background:#e2525c18}.status.trial{color:#f2b94b}.status.active{color:#58d99a}.status.expired,.status.suspended{color:#ff8088}
@media(max-width:650px){.form-two-columns{grid-template-columns:1fr}}


/* Public homepage partner statistics */
.public-stats-grid{
    display:grid;
    grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);
    gap:18px;
    margin:20px 0;
}

.public-stat-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:28px;
    box-shadow:0 18px 50px #0005;
}

.public-stat-label{
    display:block;
    color:var(--accent);
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.14em;
}

.public-stat-number{
    display:block;
    margin:10px 0 2px;
    font-size:clamp(4rem,10vw,7rem);
    line-height:1;
    color:var(--text);
}

.public-stat-card>p{
    color:var(--muted);
    margin:8px 0 20px;
}

.public-stat-link{
    color:var(--accent);
    font-weight:800;
}

.city-stat-list{
    display:grid;
    gap:10px;
    margin-top:18px;
    max-height:330px;
    overflow:auto;
    padding-right:4px;
}

.city-stat-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:13px 14px;
    background:var(--surface2);
    border:1px solid var(--line);
    border-radius:11px;
}

.city-stat-row strong{
    letter-spacing:.04em;
}

.city-stat-row span{
    color:var(--muted);
    text-align:right;
}

.cities-empty-state{
    margin-top:18px;
    padding:22px;
    border:1px dashed var(--line);
    border-radius:12px;
}

.cities-empty-state strong{
    display:block;
    font-size:1.2rem;
}

.cities-empty-state p{
    color:var(--muted);
    margin-bottom:0;
}

.store-location{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 15px;
    color:var(--muted);
    font-size:.88rem;
}

.store-location span{
    padding:5px 8px;
    background:var(--surface2);
    border:1px solid var(--line);
    border-radius:999px;
}

.home-benefits{
    margin-top:18px;
}

@media(max-width:800px){
    .public-stats-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .city-stat-row{
        align-items:flex-start;
        flex-direction:column;
        gap:4px;
    }

    .city-stat-row span{
        text-align:left;
    }
}

.dashboard-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.happy-hour-banner{padding:17px 20px;margin-bottom:18px;border:1px solid #ff7a1a88;border-radius:14px;background:linear-gradient(90deg,#ff7a1a25,#f2b94b18)}.happy-hour-banner strong,.happy-hour-banner span{display:block}.happy-hour-banner span{color:var(--muted)}.discount-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e2525c22;color:#ff8088;font-weight:900}.backup-ok{color:#58d99a;font-weight:800}.backup-failed{color:#ff8088;font-weight:800}.period-links,.period-tabs{display:flex;gap:8px;flex-wrap:wrap}.area-filter{padding:18px}.checkbox-label.compact{display:flex;align-items:center}.checkbox-label.compact input{width:auto}.product-card{position:relative}.product-card .discount-badge{position:absolute;top:22px;right:22px}@media(max-width:800px){.dashboard-tools-grid{grid-template-columns:1fr}}


/* Admin advertising controls */
.ad-management-panel{overflow:hidden}.ad-heading p{color:var(--muted);max-width:760px}.ad-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.ad-spec-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.ad-spec-card strong,.ad-spec-card span,.ad-spec-card small{display:block}.ad-spec-card span{font-size:1.35rem;color:var(--accent);font-weight:900;margin:5px 0}.ad-spec-card.recommended{border-color:#ff7a1a88;background:#ff7a1a10}.ad-guidance{padding:14px 16px;border-left:4px solid var(--accent);background:#ff7a1a0d;border-radius:10px;margin-bottom:20px}.ad-upload-form{max-width:900px}.input-with-suffix{display:flex;align-items:center}.input-with-suffix input{border-radius:10px 0 0 10px}.input-with-suffix span{padding:11px;background:var(--surface2);border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;color:var(--muted)}.admin-ad-preview-section{margin:24px 0}.admin-ad-preview-shell{width:240px;height:430px;background:#07090d;border:1px solid var(--line);border-radius:18px;padding:10px;display:flex;align-items:center;justify-content:center}.admin-ad-preview{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:12px;background:linear-gradient(160deg,#ff7a1a22,#1c2330);text-align:center}.admin-ad-preview span{font-size:2rem;font-weight:900;color:var(--accent)}.admin-ad-preview strong{margin-top:10px}.admin-ad-preview small{margin-top:4px}.preview-large{height:75%}.preview-medium{height:55%}.preview-small{height:35%}.preview-custom{height:min(var(--preview-custom-height),100%)}.ad-admin-card{display:flex;flex-direction:column;gap:12px}.admin-media-frame{height:300px;border-radius:12px;overflow:hidden;background:#07090d;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.admin-media-frame.size-large{height:240px}.admin-media-frame.size-medium{height:190px}.admin-media-frame.size-small{height:130px}.admin-media-frame.size-custom{height:min(var(--admin-custom-height),320px)}.media-preview{width:100%;height:100%}.fit-cover{object-fit:cover}.fit-contain{object-fit:contain}.ad-admin-meta{display:flex;flex-wrap:wrap;gap:6px}.ad-admin-meta span{padding:5px 8px;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.78rem}
@media(max-width:1300px){.layout{grid-template-columns:220px minmax(0,1fr) 220px}}
@media(max-width:1100px){.layout{grid-template-columns:1fr}.ads{display:none}.five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ad-spec-grid{grid-template-columns:1fr}.admin-ad-preview-shell{width:190px;height:338px}}


.wait-time-banner,.wait-time-large{padding:16px;border:1px solid #61c9ff66;border-radius:12px;background:#61c9ff12;margin-bottom:16px}.wait-time-banner strong,.wait-time-banner span{display:block}.wait-time-banner span{color:var(--muted);margin-top:4px}.confirmation-check{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 16px;border-radius:50%;background:#35b77922;color:#58d99a;font-size:2.4rem;font-weight:900}.confirmation-number{display:block;font-size:clamp(4rem,12vw,7rem);color:var(--accent);line-height:1;margin:12px 0 20px}.confirmation-card{padding:42px}.wait-time-large strong{display:block;font-size:2rem;color:#61c9ff}.status.running{color:#f2b94b}.status.ok{color:#58d99a}.status.failed{color:#ff8088}
/* =========================================================
   DUDOFO PUBLIC HOME V2
   ========================================================= */

.home-layout{
    width:min(1480px,94vw);
    grid-template-columns:1fr;
    margin-top:38px;
}

.home-layout > main{
    width:100%;
}

.home-layout > .ads{
    display:none;
}


/* HERO */

.home-hero{
    position:relative;
    min-height:620px;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);
    gap:70px;
    align-items:center;
    padding:70px 72px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:28px;
    background:
        radial-gradient(circle at 80% 20%,#ff7a1a18,transparent 32%),
        linear-gradient(145deg,#141923,#0d1119);
    box-shadow:0 28px 80px #0008;
}

.home-hero:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    left:-180px;
    bottom:-250px;
    background:#ff7a1a12;
    filter:blur(20px);
}

.home-hero-copy{
    position:relative;
    z-index:2;
}

.home-hero h1{
    margin:12px 0 24px;
    max-width:800px;
    font-size:clamp(3.3rem,5.7vw,6.4rem);
    line-height:.94;
    letter-spacing:-.055em;
}

.home-hero h1 span{
    color:var(--accent);
}

.home-lead{
    max-width:680px;
    margin:0 0 24px;
    color:#c0c7d2;
    font-size:clamp(1.05rem,1.45vw,1.35rem);
    line-height:1.7;
}

.home-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:25px 0 30px;
}

.home-tags span{
    padding:9px 13px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#0b0e1488;
    color:#d8dce4;
    font-size:.9rem;
}

.home-actions{
    gap:12px;
}

.home-main-btn{
    min-height:50px;
    padding:0 22px;
    font-size:.96rem;
}

.home-small-note{
    margin-top:18px;
    color:var(--muted);
    font-size:.9rem;
}

.home-small-note a{
    color:var(--accent);
    font-weight:800;
}


/* DEMO DASHBOARD */

.home-hero-visual{
    position:relative;
    z-index:2;
}

.home-dashboard-demo{
    padding:22px;
    border:1px solid #333d50;
    border-radius:22px;
    background:#0b0f16;
    box-shadow:
        0 35px 80px #0009,
        inset 0 1px 0 #ffffff0c;
    transform:rotate(1.5deg);
}

.demo-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
    color:var(--accent);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
}

.demo-live{
    color:#58d99a;
}

.demo-title{
    padding:26px 4px 20px;
}

.demo-title small{
    color:var(--muted);
    letter-spacing:.14em;
}

.demo-title strong{
    display:block;
    margin-top:6px;
    font-size:2rem;
}

.demo-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:14px;
}

.demo-stats div{
    padding:15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
}

.demo-stats span{
    display:block;
    color:var(--muted);
    font-size:.75rem;
}

.demo-stats strong{
    display:block;
    margin-top:5px;
    font-size:1.55rem;
}

.demo-order{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:16px;
    margin-top:9px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface2);
}

.demo-order strong,
.demo-order span{
    display:block;
}

.demo-order div > span{
    margin-top:4px;
    color:var(--muted);
    font-size:.82rem;
}

.demo-status{
    padding:6px 9px;
    border-radius:999px;
    background:#ff7a1a1c;
    color:var(--accent);
    font-size:.7rem;
    font-weight:900;
}

.demo-status.appointment{
    background:#61c9ff18;
    color:#61c9ff;
}


/* GENERIC HOME SECTION */

.home-section{
    padding:100px 0 30px;
}

.home-section-heading{
    max-width:720px;
    margin-bottom:38px;
}

.home-section-heading h2,
.home-discovery h2,
.home-business-cta h2{
    margin:8px 0 12px;
    font-size:clamp(2rem,4vw,3.5rem);
    line-height:1.05;
}

.home-section-heading p,
.home-discovery p,
.home-business-cta p{
    color:var(--muted);
    font-size:1.05rem;
}


/* CATEGORIES */

.home-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.home-category-card{
    min-height:310px;
    display:flex;
    flex-direction:column;
    padding:30px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.home-category-card:hover{
    transform:translateY(-4px);
    border-color:#ff7a1a77;
    background:#171d28;
}

.home-category-icon{
    width:60px;
    height:60px;
    display:grid;
    place-items:center;
    margin-bottom:25px;
    border-radius:17px;
    background:#ff7a1a14;
    font-size:1.8rem;
}

.home-category-card h3{
    margin:0 0 10px;
    font-size:1.4rem;
}

.home-category-card p{
    flex:1;
    color:var(--muted);
}

.home-category-card a{
    color:var(--accent);
    font-weight:800;
}


/* DISCOVERY */

.home-discovery{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    margin:80px 0;
    padding:48px 52px;
    border:1px solid #ff7a1a55;
    border-radius:24px;
    background:
        linear-gradient(110deg,#ff7a1a10,var(--surface));
}

.home-discovery > div{
    max-width:850px;
}

.home-discovery-btn{
    flex:none;
    min-height:50px;
    padding-left:22px;
    padding-right:22px;
}


/* NUMBERS */

.home-numbers{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:18px;
    margin:40px 0 90px;
}

.home-numbers article{
    min-height:245px;
    padding:32px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
}

.home-numbers article > span{
    color:var(--accent);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.13em;
}

.home-numbers article > strong{
    display:block;
    margin:16px 0 8px;
    font-size:clamp(4rem,8vw,7rem);
    line-height:.85;
}

.home-numbers p{
    color:var(--muted);
}

.home-city-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
}

.home-city-list span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 12px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface2);
}

.home-city-list b{
    color:var(--accent);
}


/* BUSINESS CTA */

.home-business-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
    margin-bottom:70px;
    padding:55px;
    border-radius:25px;
    background:#f5f6fa;
    color:#11151d;
}

.home-business-cta > div{
    max-width:900px;
}

.home-business-cta .eyebrow{
    color:#d95c00;
}

.home-business-cta p{
    color:#525b6c;
}

.home-business-cta .btn.primary{
    flex:none;
}


/* RESPONSIVE */

@media(max-width:1100px){

    .home-hero{
        grid-template-columns:1fr;
        gap:50px;
    }

    .home-hero-visual{
        max-width:720px;
    }

}

@media(max-width:800px){

    .home-layout{
        width:min(94vw,720px);
        margin-top:20px;
    }

    .home-hero{
        min-height:auto;
        padding:42px 28px;
        border-radius:20px;
    }

    .home-hero h1{
        font-size:clamp(2.8rem,14vw,4.8rem);
    }

    .home-category-grid{
        grid-template-columns:1fr;
    }

    .home-category-card{
        min-height:auto;
    }

    .home-discovery,
    .home-business-cta{
        align-items:flex-start;
        flex-direction:column;
        padding:34px 28px;
    }

    .home-numbers{
        grid-template-columns:1fr;
    }

}

@media(max-width:520px){

    .home-hero{
        padding:34px 21px;
    }

    .home-tags{
        gap:6px;
    }

    .home-tags span{
        font-size:.78rem;
    }

    .home-main-btn{
        width:100%;
    }

    .demo-stats{
        grid-template-columns:1fr;
    }

    .demo-order{
        align-items:flex-start;
        flex-direction:column;
    }

    .home-section{
        padding-top:65px;
    }

    .home-business-cta{
        margin-bottom:35px;
    }

}

/* =========================================================
   DUDOFO FOOTER V2
   ========================================================= */

.site-footer{
    margin-top:80px;
    padding:72px 5vw 24px;
    border-top:1px solid var(--line);
    background:#070a11;
    color:var(--text);
    text-align:left;
}

.footer-grid{
    width:min(1400px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.4fr .8fr 1fr 1fr;
    gap:65px;
}

.footer-column{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
}

.footer-column h3{
    margin:0 0 14px;
    color:#e1e5ed;
    font-size:.77rem;
    font-weight:900;
    letter-spacing:.17em;
}

.footer-column > a{
    color:var(--muted);
    transition:
        color .2s ease,
        transform .2s ease;
}

.footer-column > a:hover{
    color:var(--accent);
    transform:translateX(2px);
}


/* BRAND */

.footer-logo{
    color:var(--text) !important;
    font-size:2rem;
    font-weight:950;
    letter-spacing:.09em;
}

.footer-slogan{
    margin-top:-3px;
    color:var(--accent);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.19em;
}

.footer-brand p{
    max-width:390px;
    margin:10px 0 0;
    color:var(--muted);
    line-height:1.8;
}


/* PARTNERS */

.footer-partners-list{
    width:100%;
    max-height:190px;
    display:flex;
    flex-direction:column;
    gap:9px;
    overflow-y:auto;
    padding-right:8px;
}

.footer-partners-list::-webkit-scrollbar{
    width:5px;
}

.footer-partners-list::-webkit-scrollbar-track{
    background:#0b0e14;
}

.footer-partners-list::-webkit-scrollbar-thumb{
    background:#2a3242;
    border-radius:999px;
}

.footer-partners-list a{
    color:var(--muted);
    transition:color .2s ease;
}

.footer-partners-list a:hover{
    color:var(--accent);
}

.footer-more-link{
    margin-top:8px;
    color:var(--accent) !important;
    font-weight:800;
}


/* CONTACT */

.footer-email{
    color:#f5f7fb !important;
    font-weight:850;
}

.footer-muted{
    color:var(--muted);
}


/* SOCIALS */

.footer-socials{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:13px;
}

.footer-socials a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#10151e;
    color:var(--muted);
    font-size:.8rem;
    font-weight:750;
    transition:
        border-color .2s ease,
        color .2s ease,
        background .2s ease;
}

.footer-socials a:hover{
    border-color:#ff7a1a88;
    background:#ff7a1a0d;
    color:var(--accent);
}


/* FOOTER BOTTOM */

.footer-bottom{
    width:min(1400px,100%);
    margin:58px auto 0;
    padding-top:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    border-top:1px solid var(--line);
    color:#697386;
    font-size:.8rem;
}

.footer-legal{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}

.footer-legal a{
    color:#778194;
    transition:color .2s ease;
}

.footer-legal a:hover{
    color:var(--accent);
}


/* TABLET */

@media(max-width:1000px){

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:48px;
    }

}


/* MOBILE */

@media(max-width:620px){

    .site-footer{
        margin-top:50px;
        padding:52px 7vw 22px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .footer-bottom{
        margin-top:42px;
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
    }

    .footer-legal{
        flex-direction:column;
        gap:9px;
    }

}


/* =========================================================
   DUDOFO FOOTER COMPACT FIX
   ========================================================= */

.site-footer{
    margin-top:50px;
    padding:44px 5vw 18px;
    background:#080b12;
    border-top:1px solid var(--line);
    text-align:left;
}

.footer-grid{
    width:min(1320px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.4fr .75fr 1fr 1fr;
    gap:42px;
    align-items:start;
}

.footer-column{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
}

.footer-column h3{
    margin:0 0 10px;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.15em;
    color:#cfd5df;
}

.footer-logo{
    font-size:1.55rem !important;
    line-height:1;
}

.footer-slogan{
    font-size:.64rem;
    letter-spacing:.17em;
}

.footer-brand p{
    max-width:330px;
    margin:7px 0 0;
    font-size:.82rem;
    line-height:1.65;
    color:var(--muted);
}

.footer-column > a,
.footer-partners-list a,
.footer-muted{
    font-size:.82rem;
    line-height:1.45;
}

.footer-partners-list{
    max-height:120px;
    gap:5px;
}

.footer-more-link{
    margin-top:5px;
    font-size:.78rem !important;
}

.footer-email{
    font-size:.88rem !important;
}

.footer-socials{
    margin-top:8px;
    gap:6px;
}

.footer-socials a{
    padding:5px 8px;
    border-radius:7px;
    font-size:.72rem;
}

.footer-bottom{
    width:min(1320px,100%);
    margin:32px auto 0;
    padding-top:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-size:.72rem;
}

.footer-legal{
    gap:14px;
}

.footer-legal a{
    font-size:.72rem;
}

/* TABLET */

@media(max-width:950px){

    .footer-grid{
        grid-template-columns:1fr 1fr;
        gap:30px 36px;
    }

}

/* MOBILE */

@media(max-width:620px){

    .site-footer{
        padding:38px 7vw 18px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:28px;
    }

    .footer-bottom{
        margin-top:30px;
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .footer-legal{
        flex-direction:row;
        gap:12px;
    }

}

/* =========================================================
   DUDOFO MOBILE HOMEPAGE FIX
   ========================================================= */

@media (max-width: 800px) {

    /* PAGE */
    .home-layout{
        width:100%;
        max-width:none;
        margin:0 auto 40px;
        padding:0 16px;
    }

    /* HERO */
    .home-hero{
        width:100%;
        min-height:auto;
        grid-template-columns:1fr;
        gap:34px;
        padding:38px 22px;
        border-radius:18px;
    }

    .home-hero-copy{
        width:100%;
        min-width:0;
    }

    .home-hero .eyebrow{
        font-size:.82rem;
        line-height:1.45;
        letter-spacing:.12em;
        word-break:normal;
    }

    .home-hero h1{
        max-width:100%;
        margin:14px 0 20px;
        font-size:clamp(2.3rem,10vw,3.6rem);
        line-height:1.07;
        letter-spacing:-.035em;
    }

    .home-lead{
        max-width:100%;
        font-size:1rem;
        line-height:1.65;
    }

    /* TAGS */
    .home-tags{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin:22px 0 26px;
    }

    .home-tags span{
        width:100%;
        padding:9px 10px;
        text-align:center;
        font-size:.82rem;
    }

    /* ACTION BUTTONS */
    .home-actions{
        width:100%;
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    .home-actions .btn,
    .home-main-btn{
        width:100%;
        min-height:52px;
        padding:12px 16px;
        font-size:1rem;
        text-align:center;
    }

    .home-small-note{
        margin-top:16px;
        font-size:.9rem;
        line-height:1.5;
    }

    /* DASHBOARD PREVIEW */
    .home-hero-visual{
        width:100%;
        max-width:100%;
        min-width:0;
    }

    .home-dashboard-demo{
        width:100%;
        padding:17px;
        border-radius:18px;
        transform:none;
        overflow:hidden;
    }

    .demo-topbar{
        gap:12px;
        font-size:.68rem;
        letter-spacing:.08em;
    }

    .demo-title{
        padding:20px 2px 16px;
    }

    .demo-title strong{
        font-size:1.5rem;
    }

    .demo-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
    }

    .demo-stats div{
        min-width:0;
        padding:11px 8px;
    }

    .demo-stats span{
        font-size:.65rem;
    }

    .demo-stats strong{
        font-size:1.15rem;
    }

    .demo-order{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        padding:13px;
    }

    /* SECTIONS */
    .home-section{
        padding-top:60px;
    }

    .home-section-heading{
        margin-bottom:26px;
    }

    .home-section-heading h2,
    .home-discovery h2,
    .home-business-cta h2{
        font-size:2rem;
        line-height:1.1;
    }

    .home-category-grid{
        grid-template-columns:1fr;
    }

    .home-category-card{
        min-height:auto;
        padding:24px;
    }

    .home-discovery,
    .home-business-cta{
        width:100%;
        margin:45px 0;
        padding:30px 22px;
        align-items:stretch;
        flex-direction:column;
        gap:24px;
    }

    .home-discovery-btn,
    .home-business-cta .btn{
        width:100%;
    }

    .home-numbers{
        grid-template-columns:1fr;
        margin:35px 0 55px;
    }

    .home-numbers article{
        min-height:auto;
        padding:25px 22px;
    }

    /* HEADER */
    .header{
        padding:14px 18px;
    }

    .brand{
        font-size:1.25rem;
    }
}


@media (max-width: 520px) {

    .home-layout{
        padding:0 10px;
    }

    .home-hero{
        padding:30px 18px;
    }

    .home-hero .eyebrow{
        font-size:.72rem;
        letter-spacing:.1em;
    }

    .home-hero h1{
        font-size:clamp(2.15rem,10vw,3rem);
        line-height:1.08;
    }

    .home-lead{
        font-size:.95rem;
    }

    .home-tags{
        grid-template-columns:1fr 1fr;
    }

    .home-tags span{
        font-size:.75rem;
        padding:8px 6px;
    }

    .home-dashboard-demo{
        padding:14px;
    }

    .demo-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .demo-stats div{
        padding:9px 5px;
    }

    .demo-stats strong{
        font-size:1rem;
    }

    .demo-stats span{
        font-size:.58rem;
    }

    .demo-order{
        font-size:.88rem;
    }

    .home-section-heading h2,
    .home-discovery h2,
    .home-business-cta h2{
        font-size:1.8rem;
    }
}
(.venv) dudofo@ubuntu-s-1vcpu-2gb-fra1:~/app/DUDOFO_V2_READY$

/* =========================================================
   FINAL MOBILE OVERRIDE - DUDOFO
   ========================================================= */
@media (max-width: 800px) {
    html, body { overflow-x: hidden; }
    .layout, .home-layout {
        width:100% !important; max-width:none !important;
        margin:0 auto 40px !important; padding:0 14px !important;
        display:block !important;
    }
    .home-layout > .ads, .ads { display:none !important; }
    .home-hero {
        width:100% !important; min-height:auto !important;
        display:grid !important; grid-template-columns:1fr !important;
        gap:30px !important; padding:34px 20px !important;
        border-radius:18px !important;
    }
    .home-hero-copy, .home-hero-visual {
        width:100% !important; max-width:100% !important; min-width:0 !important;
    }
    .home-hero .eyebrow {
        display:block; max-width:100%; font-size:.78rem !important;
        line-height:1.45 !important; letter-spacing:.10em !important;
        overflow-wrap:anywhere;
    }
    .home-hero h1 {
        max-width:100% !important; margin:14px 0 18px !important;
        font-size:clamp(2.35rem,11vw,3.65rem) !important;
        line-height:1.05 !important; letter-spacing:-.035em !important;
    }
    .home-lead {
        max-width:100% !important; margin-bottom:18px !important;
        font-size:1rem !important; line-height:1.6 !important;
    }
    .home-tags {
        display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important; margin:20px 0 24px !important;
    }
    .home-tags span {
        width:100% !important; min-width:0 !important; padding:9px 8px !important;
        text-align:center !important; font-size:.78rem !important; white-space:normal !important;
    }
    .home-actions {
        width:100% !important; display:grid !important;
        grid-template-columns:1fr !important; gap:10px !important;
    }
    .home-actions .btn, .home-main-btn {
        width:100% !important; min-height:50px !important;
        padding:12px 16px !important; font-size:1rem !important; text-align:center !important;
    }
    .home-small-note { margin-top:15px !important; font-size:.9rem !important; line-height:1.5 !important; }
    .home-dashboard-demo {
        width:100% !important; max-width:100% !important; padding:16px !important;
        border-radius:16px !important; transform:none !important; overflow:hidden !important;
    }
    .demo-topbar { gap:10px !important; font-size:.68rem !important; letter-spacing:.07em !important; }
    .demo-title { padding:18px 2px 14px !important; }
    .demo-title strong { font-size:1.45rem !important; }
    .demo-stats { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:7px !important; }
    .demo-stats div { min-width:0 !important; padding:10px 6px !important; }
    .demo-stats span { font-size:.62rem !important; }
    .demo-stats strong { font-size:1.05rem !important; }
    .demo-order {
        align-items:flex-start !important; flex-direction:column !important;
        gap:8px !important; padding:12px !important;
    }
    .home-section { padding-top:56px !important; }
    .home-category-grid, .home-numbers { grid-template-columns:1fr !important; }
    .home-category-card { min-height:auto !important; padding:22px !important; }
    .home-discovery, .home-business-cta {
        width:100% !important; margin:40px 0 !important; padding:28px 20px !important;
        align-items:stretch !important; flex-direction:column !important; gap:22px !important;
    }
    .home-discovery-btn, .home-business-cta .btn { width:100% !important; }
    .home-numbers { margin:32px 0 50px !important; }
    .home-numbers article { min-height:auto !important; padding:23px 20px !important; }
    .header { padding:13px 16px !important; }
    .brand { font-size:1.2rem !important; }
    .site-footer { padding:36px 7vw 18px !important; }
    .footer-grid { grid-template-columns:1fr !important; gap:26px !important; }
    .footer-bottom {
        margin-top:28px !important; align-items:flex-start !important;
        flex-direction:column !important; gap:10px !important;
    }
}
@media (max-width: 520px) {
    .layout, .home-layout { padding:0 10px !important; }
    .home-hero { padding:28px 16px !important; }
    .home-hero h1 { font-size:clamp(2.2rem,11vw,3rem) !important; }
    .home-tags { grid-template-columns:1fr 1fr !important; }
    .home-tags span { font-size:.73rem !important; padding:8px 6px !important; }
    .demo-stats { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .demo-stats div { padding:8px 4px !important; }
    .demo-stats strong { font-size:.98rem !important; }
    .demo-stats span { font-size:.56rem !important; }
}


/* =========================================================
   DUDOFO HOMEPAGE ADS V2
   ========================================================= */

.home-ad-area{
    width:100%;
    margin:55px 0;
}

.home-ad-area-top{
    margin-top:55px;
    margin-bottom:20px;
}

.home-ad-label{
    display:block;
    margin-bottom:8px;
    color:#606b7d;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.18em;
    text-align:center;
}

.home-ad-slot{
    width:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#080b11;
    box-shadow:0 18px 50px #0005;
}

.home-ad-slot-top{
    height:clamp(170px,18vw,280px);
}

.home-ad-double{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.home-ad-slot-small{
    height:clamp(220px,25vw,390px);
}

.home-ad-content{
    width:100%;
    height:100%;
}

.home-ad-media{
    width:100%;
    height:100%;
    display:block;
}

.home-ad-slot .ad-fit-cover{
    object-fit:cover;
}

.home-ad-slot .ad-fit-contain{
    object-fit:contain;
    background:#05070a;
}


/* Κρύβουμε τελείως άδειες θέσεις */

.home-ad-slot.ad-empty{
    display:none;
}

.home-ad-area:has(
    .home-ad-slot-top.ad-empty
){
    display:none;
}

.home-ad-double:
has(
    #homeLeftAd.ad-empty
):
has(
    #homeRightAd.ad-empty
){
    display:none;
}


/* TABLET */

@media(max-width:800px){

    .home-ad-area{
        margin:38px 0;
    }

    .home-ad-double{
        grid-template-columns:1fr;
        gap:14px;
    }

    .home-ad-slot-top{
        height:180px;
        border-radius:15px;
    }

    .home-ad-slot-small{
        height:240px;
        border-radius:15px;
    }

}


/* SMALL MOBILE */

@media(max-width:520px){

    .home-ad-slot-top{
        height:150px;
    }

    .home-ad-slot-small{
        height:210px;
    }

}


/* =========================================================
   DUDOFO HOME DISCOVERY LINKS
   ========================================================= */

.home-city-list a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    color:inherit;
    text-decoration:none;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.home-city-list a:hover{
    transform:translateY(-2px);
    border-color:#5b7cff;
}

@media(max-width:700px){

    .home-section{
        margin-top:28px;
    }

    .home-category-grid{
        gap:12px;
    }

    .home-discovery{
        margin-top:26px;
    }

}



/* =========================================================
   ACCEPT ORDER / WAIT TIME MODAL
   ========================================================= */

.wait-modal{
    position:fixed;
    inset:0;
    z-index:9999;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;
}

.wait-modal[hidden]{
    display:none !important;
}

.wait-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(5px);
}

.wait-modal-card{
    position:relative;
    z-index:1;

    width:min(520px,100%);
    padding:28px;

    border:1px solid var(--line);
    border-radius:22px;

    background:#10141d;

    box-shadow:
        0 30px 100px rgba(0,0,0,.65);
}

.wait-modal-card h2{
    margin:8px 0;
}

.wait-time-options{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;

    margin:24px 0 18px;
}

.wait-time-options button{
    min-height:52px;

    border:1px solid var(--line);
    border-radius:12px;

    background:#171d29;
    color:inherit;

    font-size:1rem;
    font-weight:800;

    cursor:pointer;
}

.wait-time-options button:hover,
.wait-time-options button.selected{
    border-color:#6f85ff;
    background:#273154;
}

.wait-custom-label{
    display:block;
    margin-bottom:22px;
}

.wait-custom-row{
    display:flex;
    align-items:center;
    gap:10px;

    margin-top:7px;
}

.wait-custom-row input{
    flex:1;
}

.order-wait-time{
    display:block;
    margin-top:5px;

    font-weight:800;
    opacity:.8;
}

.wait-modal-open{
    overflow:hidden;
}


@media(max-width:600px){

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

    .wait-modal-card{
        padding:22px 16px;
        border-radius:22px 22px 14px 14px;
    }

    .wait-time-options{
        grid-template-columns:
            repeat(3,1fr);
    }

}



/* =========================================================
   ADMIN CATEGORY REQUESTS
   ========================================================= */

.admin-category-requests{
    margin-bottom:28px;
    border-color:#e3a82b;
}

.category-request-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(280px,1fr));
    gap:16px;
}

.category-request-card{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.category-request-card h3{
    margin:5px 0 10px;
    font-size:1.35rem;
}

.category-request-card form{
    margin:0;
}

@media(max-width:600px){

    .category-request-grid{
        grid-template-columns:1fr;
    }

}


/* =========================================================
   DUDOFO PRODUCT MODIFIER BUILDER
   ========================================================= */

.product-modifier-builder{
    margin-top:24px;
}

.modifier-help{
    margin:18px 0 24px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.025);
}

.modifier-new-group{
    margin-bottom:22px;
}

.modifier-group-list{
    display:grid;
    gap:18px;
}

.modifier-group-card{
    padding:20px;
}

.modifier-group-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.modifier-group-header h3{
    margin:5px 0;
    font-size:1.3rem;
}

.modifier-options{
    display:grid;
    gap:8px;
    margin-bottom:18px;
}

.modifier-option-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;

    padding:12px 14px;

    border:1px solid var(--line);
    border-radius:12px;

    background:rgba(255,255,255,.025);
}

.modifier-option-row > div:first-child{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.modifier-option-price{
    font-size:.9rem;
    opacity:.75;
}

.modifier-add-option{
    padding-top:16px;
    border-top:1px solid var(--line);
}

.modifier-add-option h4{
    margin:0 0 12px;
}

.modifier-group-actions{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

.modifier-empty-state{
    margin-top:20px;
}

@media(max-width:700px){

    .modifier-group-header{
        flex-direction:column;
    }

    .modifier-option-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .modifier-option-row .actions{
        width:100%;
    }

    .modifier-option-row .actions form{
        flex:1;
    }

    .modifier-option-row .actions button{
        width:100%;
    }

}



/* =========================================================
   CUSTOMER CUSTOM PRODUCT BUILDER
   ========================================================= */

.builder-product-badge{
    display:inline-block;
    margin:10px 0 2px;
    padding:5px 9px;

    border:1px solid var(--line);
    border-radius:999px;

    font-size:.72rem;
    font-weight:800;
}

.product-builder-modal{
    position:fixed;
    inset:0;

    z-index:10000;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;
}

.product-builder-modal[hidden]{
    display:none !important;
}

.product-builder-backdrop{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.75);
    backdrop-filter:blur(6px);
}

.product-builder-dialog{
    position:relative;
    z-index:1;

    width:min(650px,100%);
    max-height:90vh;
    overflow:auto;

    padding:26px;

    border:1px solid var(--line);
    border-radius:22px;

    background:#10141d;

    box-shadow:
        0 30px 100px rgba(0,0,0,.65);
}

.product-builder-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.product-builder-top h2{
    margin:5px 0;
}

.builder-groups{
    display:grid;
    gap:20px;

    margin-top:22px;
}

.builder-group{
    padding:16px;

    border:1px solid var(--line);
    border-radius:16px;
}

.builder-group-title h3{
    margin:0 0 4px;
}

.builder-option-list{
    display:grid;
    gap:8px;

    margin-top:14px;
}

.builder-option{
    display:flex;
    align-items:center;
    gap:11px;

    padding:12px;

    border:1px solid var(--line);
    border-radius:12px;

    cursor:pointer;
}

.builder-option:hover{
    background:rgba(255,255,255,.04);
}

.builder-option input{
    width:auto;
    flex:0 0 auto;
}

.builder-option-name{
    flex:1;
}

.product-builder-footer{
    position:sticky;
    bottom:-26px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    margin:24px -26px -26px;
    padding:18px 26px;

    border-top:1px solid var(--line);

    background:#10141d;
}

.product-builder-footer > div{
    display:flex;
    flex-direction:column;
}

.product-builder-footer strong{
    font-size:1.4rem;
}

.product-builder-open{
    overflow:hidden;
}

.cart-product-info{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cart-modifier-summary{
    opacity:.7;
    max-width:280px;
}

.cart-qty-controls{
    display:flex;
    align-items:center;
    gap:8px;
}

@media(max-width:600px){

    .product-builder-modal{
        align-items:flex-end;
        padding:8px;
    }

    .product-builder-dialog{
        width:100%;
        max-height:92vh;

        padding:20px 15px;

        border-radius:22px 22px 12px 12px;
    }

    .product-builder-footer{
        bottom:-20px;

        margin:
            20px -15px -20px;

        padding:
            15px;
    }

}


/* =========================================================
   ORDER MODIFIERS IN RESTAURANT DASHBOARD
   ========================================================= */

.order-products-cell{
    min-width:220px;
}

.order-product-line{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:8px 0;
}

.order-product-line + .order-product-line{
    border-top:1px solid var(--line);
}

.order-modifier-list{
    display:grid;
    gap:2px;
    padding-left:10px;
}

.order-modifier-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    font-size:.9rem;
    opacity:.86;
}

.order-item-price{
    font-weight:700;
    opacity:.75;
}

.order-custom-text{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--line);
    font-size:.9rem;
}



/* =========================================================
   DUDOFO PDA
   ========================================================= */

.pda-header{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    margin-bottom:20px;
}

.pda-header h1{
    margin:5px 0;
}

.pda-connection-row{
    display:flex;
    gap:15px;
    align-items:center;
    font-size:.9rem;
}

.pda-tabs{
    position:sticky;
    top:0;
    z-index:50;

    display:flex;
    gap:8px;
    overflow-x:auto;

    padding:10px 0 14px;
    margin-bottom:12px;

    background:var(--bg);
}

.pda-tab{
    border:1px solid var(--line);
    border-radius:999px;
    padding:9px 14px;
    white-space:nowrap;
    cursor:pointer;
}

.pda-tab.active{
    font-weight:800;
    transform:translateY(-1px);
}

.pda-orders{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(320px,1fr));
    gap:18px;
}

.pda-order-card{
    border:1px solid var(--line);
    border-radius:18px;
    padding:18px;
    background:var(--panel);
}

.pda-order-card.status-pending{
    border-width:2px;
}

.pda-order-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:16px;
}

.pda-order-card-header > div{
    display:flex;
    gap:10px;
    align-items:center;
}

.pda-order-number{
    font-size:1.45rem;
    font-weight:900;
}

.pda-order-products{
    display:grid;
    gap:12px;
    padding:14px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.pda-product{
    display:grid;
    gap:5px;
}

.pda-product > strong{
    font-size:1.08rem;
}

.pda-modifiers{
    display:grid;
    gap:3px;
    padding-left:14px;
    opacity:.85;
}

.pda-modifiers span{
    font-size:.92rem;
}

.pda-custom-text,
.pda-notes{
    padding:10px;
    border-radius:10px;
    background:rgba(255,255,255,.04);
}

.pda-customer{
    display:grid;
    gap:7px;
    padding:14px 0;
}

.pda-total-row{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:13px 0;

    border-top:1px solid var(--line);
}

.pda-total-row strong{
    font-size:1.45rem;
}

.pda-wait-info{
    padding:10px 0;
}

.pda-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:10px;
}

.pda-actions > button:only-child{
    grid-column:1 / -1;
}

.pda-actions button{
    min-height:48px;
    font-weight:800;
}

.pda-wait-options{
    display:grid;
    grid-template-columns:
        repeat(5,1fr);
    gap:8px;
    margin:20px 0;
}

.pda-wait-options button{
    padding:13px 8px;
    border:1px solid var(--line);
    border-radius:10px;
    cursor:pointer;
}

.pda-wait-options button.selected{
    font-weight:900;
    transform:translateY(-1px);
}

.pda-empty{
    grid-column:1/-1;
    text-align:center;
    padding:70px 20px;
    opacity:.8;
}

.pda-empty > span{
    font-size:3rem;
}

@media(max-width:700px){

    .pda-header{
        flex-direction:column;
    }

    .pda-header .actions{
        width:100%;
    }

    .pda-orders{
        grid-template-columns:1fr;
    }

    .pda-wait-options{
        grid-template-columns:
            repeat(3,1fr);
    }

}


/* =========================================================
   PDA ORDER ENTRY
   ========================================================= */

.pda-entry-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
    margin-bottom:18px;
}

.pda-entry-header h1{
    margin:5px 0;
}

.pda-entry-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:20px;
}

.pda-category-bar{
    display:flex;
    gap:8px;
    overflow-x:auto;

    position:sticky;
    top:0;
    z-index:40;

    padding:10px 0 14px;

    background:var(--bg);
}

.pda-category{
    flex:0 0 auto;

    padding:10px 14px;

    border:1px solid var(--line);
    border-radius:999px;

    cursor:pointer;

    white-space:nowrap;
}

.pda-category.active{
    font-weight:900;
}

.pda-product-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(170px,1fr));
    gap:14px;
}

.pda-entry-product{
    display:flex;
    flex-direction:column;
    gap:9px;

    padding:12px;

    border:1px solid var(--line);
    border-radius:16px;

    background:var(--panel);
}

.pda-entry-product img,
.pda-entry-product .placeholder{
    width:100%;
    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:12px;
}

.pda-entry-product h3{
    margin:2px 0;
}

.pda-entry-product button{
    margin-top:auto;
}

.pda-current-order{
    position:relative;
}

.pda-cart-sticky{
    position:sticky;
    top:15px;

    padding:18px;

    border:1px solid var(--line);
    border-radius:18px;

    background:var(--panel);
}

.pda-cart-item{
    display:flex;
    justify-content:space-between;
    gap:10px;

    padding:10px 0;

    border-bottom:1px solid var(--line);
}

.pda-cart-item > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.pda-cart-modifiers{
    opacity:.72;
}

.pda-cart-total{
    display:flex;
    justify-content:space-between;
    align-items:center;

    margin:15px 0;

    font-size:1.15rem;
}

.pda-cart-total strong{
    font-size:1.35rem;
}

.pda-product-quantity{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;

    margin:20px 0;
}

.pda-product-quantity button{
    width:44px;
    height:44px;

    border:1px solid var(--line);
    border-radius:12px;

    font-size:1.25rem;
    cursor:pointer;
}

.pda-product-quantity strong{
    min-width:30px;
    text-align:center;
    font-size:1.3rem;
}

.pda-option-group{
    margin:18px 0;
}

.pda-option{
    display:flex;
    align-items:center;
    gap:10px;

    padding:11px;

    border:1px solid var(--line);
    border-radius:11px;

    margin-bottom:7px;

    cursor:pointer;
}

.pda-option input{
    width:auto;
}

.pda-option span{
    flex:1;
}

@media(max-width:900px){

    .pda-entry-layout{
        grid-template-columns:1fr;
    }

    .pda-current-order{
        order:-1;
    }

    .pda-cart-sticky{
        position:static;
    }

}

@media(max-width:600px){

    .pda-entry-header{
        flex-direction:column;
    }

    .pda-product-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

.pda-table-label{
    display:block;
    margin-top:4px;
    font-weight:700;
    opacity:.85;
}

/* =========================================================
   SERVICE CATALOG
   ========================================================= */

.service-catalog-grid{
    display:grid;
    grid-template-columns:
        repeat(auto-fit,minmax(280px,1fr));
    gap:16px;
    margin-top:18px;
}

.service-card{
    display:flex;
    flex-direction:column;
    gap:14px;
}


/* =========================================================
   APPOINTMENT WORKING HOURS
   ========================================================= */

.appointment-hours-list{
    display:grid;
    gap:10px;
    margin-top:16px;
}

.appointment-day-card{
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
}

.appointment-day-card h3{
    margin:0 0 10px;
}

.appointment-hour-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    padding:9px 0;

    border-top:1px solid var(--line);
}

.appointment-hour-row:first-of-type{
    border-top:0;
}

@media(max-width:650px){

    .appointment-hour-row{
        flex-direction:column;
        align-items:flex-start;
    }

}


/* =========================================================
   PUBLIC BOOKING
   ========================================================= */

.booking-panel{
    max-width:720px;
    margin:auto;
}

.booking-slots{
    display:grid;
    grid-template-columns:
        repeat(auto-fill,minmax(110px,1fr));
    gap:10px;
}

.booking-slot{
    padding:12px 10px;

    border:1px solid var(--line);
    border-radius:12px;

    cursor:pointer;

    background:transparent;
}

.booking-slot.selected{
    font-weight:900;
    transform:translateY(-1px);
}

.booking-confirmation{
    max-width:650px;
    margin:auto;
    text-align:center;
}


/* =========================================================
   HOME PRIMARY CHOICES
   ========================================================= */

.home-primary-choices{
    display:grid;
    gap:10px;
    max-width:680px;
    margin:28px 0 22px;
}

.home-choice-card{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:14px;

    padding:14px 16px;

    border:1px solid var(--line);
    border-radius:16px;

    background:#0b0e1499;

    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}

.home-choice-card:hover{
    transform:translateX(4px);
    border-color:#ff7a1a88;
    background:#ff7a1a0d;
}

.home-choice-card.business{
    border-color:#ff7a1a55;
}

.home-choice-icon{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border-radius:13px;

    background:var(--surface2);

    font-size:1.45rem;
}

.home-choice-card > div{
    min-width:0;
}

.home-choice-card strong{
    display:block;
    font-size:1rem;
}

.home-choice-card small{
    margin-top:2px;
    color:var(--muted);
}

.home-choice-card > b{
    color:var(--accent);
    font-size:1.3rem;
}

@media(max-width:600px){

    .home-choice-card{
        padding:12px;
    }

    .home-choice-icon{
        width:40px;
        height:40px;
        font-size:1.2rem;
    }

}
