﻿*{
    box-sizing:border-box;
}

body{
    margin:0;
    padding:0;
    background:#f5f1ea;
    color:#302622;
    font-family:Inter, "Segoe UI", Arial, sans-serif;
}

.container{
    max-width:480px;
    margin:auto;
    padding:40px 20px;
    text-align:center;
}

.landing-page{
    min-height:100vh;
    background:#2f241d;
}

.landing-hero{
    --landing-hero-image:url("/img/hero-cafe-proposito.png");
    position:relative;
    isolation:isolate;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-height:100vh;
    padding:28px;
    overflow:hidden;
    color:#fff8ef;
}

.landing-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:var(--landing-hero-image) center / cover no-repeat;
    transform:scale(1.04);
}

.landing-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(180deg, rgba(28, 20, 15, 0.52) 0%, rgba(39, 29, 22, 0.48) 48%, rgba(26, 18, 13, 0.68) 100%),
        linear-gradient(90deg, rgba(255, 244, 226, 0.18) 0%, rgba(201, 151, 92, 0.08) 45%, rgba(37, 26, 18, 0.36) 100%);
}

.landing-content{
    position:relative;
    z-index:2;
    width:min(760px, 100%);
    margin:0 auto;
    text-align:center;
    display:grid;
    justify-items:center;
}

.landing-main{
    position:relative;
    z-index:2;
    display:grid;
    justify-items:center;
    align-content:center;
    width:min(900px, 100%);
    min-height:auto;
    margin:0 auto;
    padding:16px 0 22px;
}

.landing-title{
    margin:18px 0 10px;
    color:#fffaf4;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(42px, 5.8vw, 68px);
    line-height:1.02;
    font-weight:600;
    letter-spacing:0.01em;
    text-shadow:0 8px 26px rgba(0, 0, 0, 0.28);
}

.landing-topline{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;
    align-self:center;
    margin:0 auto 18px;
    width:min(760px, 100%);
    text-align:center;
}

.landing-eyebrow,
.landing-toplink{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    margin:0;
    padding:0 11px;
    border:1px solid rgba(255, 239, 215, 0.2);
    border-radius:999px;
    background:rgba(255, 250, 244, 0.08);
    color:#efd5b0 !important;
    font-size:11px !important;
    font-weight:750;
    letter-spacing:0.04em;
    line-height:1;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
}

.landing-toplink{
    border-color:rgba(255, 248, 239, 0.18);
    color:#fff2df !important;
    transition:background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.landing-toplink:hover,
.landing-toplink:focus{
    border-color:rgba(242, 205, 161, 0.48);
    background:rgba(255, 248, 239, 0.14);
    transform:translateY(-1px);
}

.landing-content p{
    margin:0;
    color:#f8ead8;
    text-shadow:0 3px 14px rgba(0, 0, 0, 0.28);
    text-align:center;
}

.landing-content .landing-subtitle{
    margin:0 0 8px;
    color:#fff4e4;
    font-size:clamp(24px, 3.25vw, 35px);
    font-weight:720;
    letter-spacing:0.018em;
    line-height:1.18;
}

.landing-support{
    margin:0 0 16px;
    color:#f4dec1;
    font-size:clamp(12px, 1.25vw, 14px);
    font-weight:620;
    letter-spacing:0.035em;
    line-height:1.45;
}

.landing-text{
    max-width:520px;
    margin:0 auto;
    color:#f3dfc8;
    font-size:clamp(16px, 1.65vw, 19px);
    line-height:1.5;
}

.service-status-card{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    max-width:100%;
    margin:0 auto;
    padding:7px 11px;
    border:1px solid rgba(255, 248, 239, 0.16);
    border-radius:999px;
    background:rgba(255, 250, 244, 0.1);
    color:#fff8ef;
    text-align:center;
    box-shadow:0 10px 22px rgba(0, 0, 0, 0.12);
    backdrop-filter:blur(12px);
}

.service-status-card.is-open{
    border-color:rgba(185, 224, 181, 0.42);
    background:rgba(43, 92, 61, 0.3);
}

.service-status-card.is-closed{
    border-color:rgba(232, 171, 159, 0.42);
    background:rgba(103, 46, 39, 0.34);
}

.service-status-card strong{
    display:block;
    color:#fff8ef;
    font-size:12.5px;
    font-weight:760;
    line-height:1.25;
    white-space:nowrap;
}

.landing-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:28px;
}

.landing-content .landing-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    margin-top:0;
    padding:0 32px;
    border-radius:999px;
    border:1px solid rgba(255, 250, 244, 0.38);
    background:linear-gradient(180deg, #f6d8ad 0%, #e7bd82 100%);
    color:#2b211b;
    font-size:16px;
    font-weight:780;
    line-height:1;
    text-align:center;
    white-space:nowrap;
    box-shadow:0 14px 28px rgba(0, 0, 0, 0.2);
    transition:background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.landing-content .landing-primary:hover,
.landing-content .landing-primary:focus{
    background:#fff3df;
    box-shadow:0 18px 32px rgba(0, 0, 0, 0.22);
    transform:translateY(-1px);
}

.landing-note{
    max-width:240px;
    color:#f7dec1;
    font-size:14px;
    font-weight:700;
    line-height:1.35;
}

.landing-impact{
    max-width:620px;
    margin:30px auto 0;
    color:#ecd4b8;
    font-size:clamp(15px, 1.45vw, 17px);
    font-weight:610;
    line-height:1.6;
    text-align:center;
}

@media (min-width: 701px){
    .landing-main{
        width:min(900px, 100%);
        margin:0 auto;
        padding:20px 0 18px;
    }

    .landing-content{
        width:min(900px, 100%);
        margin:0 auto;
        text-align:center;
    }

    .landing-title{
        margin:14px 0 10px;
    }

    .landing-content .landing-subtitle{
        margin-bottom:7px;
    }

    .landing-text{
        max-width:560px;
        margin:0 auto;
    }

    .landing-actions{
        margin-top:24px;
    }

    .landing-impact{
        max-width:640px;
        margin:28px auto 0;
        text-align:center;
    }
}

.social-block{
    display:grid;
    justify-items:center;
    gap:11px;
    text-align:center;
}

.social-block-home{
    width:100%;
    margin-top:22px;
    justify-content:center;
}

.social-block p,
.social-block h3{
    margin:0;
    color:#ead1b1;
    font-size:12px;
    font-weight:760;
    letter-spacing:0.08em;
    line-height:1.25;
    text-transform:uppercase;
}

.social-block h3{
    color:#302016;
    font-size:18px;
    text-transform:none;
}

.social-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
    gap:8px;
}

.social-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    padding:0 12px;
    border:1px solid rgba(242, 205, 161, 0.22);
    border-radius:999px;
    background:rgba(255, 248, 239, 0.08);
    color:#f4e1c8;
    font-size:12px;
    font-weight:720;
    line-height:1;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(0, 0, 0, 0.1);
    transition:background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.social-link svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    fill:currentColor;
}

.social-link:hover,
.social-link:focus{
    border-color:rgba(242, 205, 161, 0.46);
    background:rgba(246, 216, 173, 0.9);
    color:#2f201a;
    transform:translateY(-1px);
    box-shadow:0 12px 22px rgba(0, 0, 0, 0.14);
}

.social-block .landing-scroll-cue{
    margin:3px 0 0;
    color:#f4dec1;
    font-size:12px;
    font-weight:640;
    letter-spacing:0.03em;
    line-height:1.3;
    text-transform:none;
    opacity:0.58;
}

.landing-panel{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    width:min(620px, 100%);
    margin:24px auto 0;
}

.landing-panel article{
    display:flex;
    min-height:88px;
    flex-direction:column;
    justify-content:center;
    padding:14px 16px;
    border:1px solid rgba(255, 248, 239, 0.18);
    border-radius:8px;
    background:rgba(255, 248, 239, 0.12);
    backdrop-filter:blur(12px);
}

.landing-panel span{
    display:block;
    margin-bottom:7px;
    color:#f2cda1;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    text-transform:uppercase;
}

.landing-panel strong{
    display:block;
    color:#fff8ef;
    font-size:20px;
    line-height:1.15;
}

@media (max-width: 700px){
    .landing-hero{
        min-height:100svh;
        padding:22px 18px;
    }

    .landing-hero::after{
        background:
            linear-gradient(180deg, rgba(47, 32, 23, 0.24) 0%, rgba(44, 31, 24, 0.66) 48%, rgba(27, 19, 14, 0.86) 100%),
            linear-gradient(90deg, rgba(255, 244, 226, 0.1), rgba(245, 224, 191, 0));
    }

    .landing-content{
        width:100%;
    }

    .landing-title{
        margin:16px 0 10px;
        font-size:clamp(39px, 12.4vw, 51px);
        line-height:1.04;
    }

    .landing-content .landing-subtitle{
        margin-bottom:7px;
        font-size:clamp(23px, 7vw, 29px);
    }

    .landing-support{
        max-width:300px;
        margin-bottom:15px;
        font-size:12px;
        letter-spacing:0.025em;
    }

    .landing-main{
        width:100%;
        min-height:auto;
        padding:12px 0 16px;
    }

    .landing-topline{
        position:relative;
        top:auto;
        left:auto;
        right:auto;
        z-index:4;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-wrap:wrap;
        max-width:100%;
        gap:8px;
        align-self:center;
        margin:0 auto 16px;
        pointer-events:auto;
    }

    .landing-eyebrow,
    .landing-toplink{
        flex:0 1 auto;
        min-height:29px;
        padding:0 9px;
        background:rgba(255, 248, 239, 0.08);
        border-color:rgba(242, 205, 161, 0.26);
        font-size:10px !important;
        line-height:1;
        text-align:center;
    }

    .landing-actions{
        display:flex;
        justify-content:center;
        gap:12px;
        margin-top:24px;
    }

    .service-status-card{
        padding:7px 10px;
    }

    .service-status-card strong{
        font-size:12px;
    }

    .landing-content .landing-primary{
        display:flex;
        align-items:center;
        justify-content:center;
        width:min(100%, 250px);
        min-height:50px;
        padding:0 26px;
    }

    .landing-impact{
        max-width:330px;
        margin-top:28px;
        font-size:15px;
        line-height:1.58;
    }

    .landing-note{
        max-width:none;
    }

    .landing-panel{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:8px;
        width:100%;
    }

    .landing-panel article{
        min-height:68px;
        padding:10px 8px;
        text-align:center;
    }

    .landing-panel span{
        margin-bottom:4px;
        font-size:10px;
    }

    .landing-panel strong{
        font-size:15px;
        line-height:1.15;
    }
}
body:has(.landing-page) .cart-floating-button,
body:has(.landing-page) .cart-order-bar,
body:has(.landing-page) .cart-message{
    display:none;
}

.about-page{
    min-height:100vh;
    background:
        linear-gradient(180deg, #221612 0%, #3b261d 330px, #f6efe6 331px, #f6efe6 100%);
    color:#33241c;
}

.about-hero{
    position:relative;
    isolation:isolate;
    display:grid;
    min-height:420px;
    place-items:center;
    overflow:hidden;
    padding:28px;
    color:#fff8ef;
    text-align:center;
}

.about-hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:url("/img/persis-coffee.jpg") center / cover no-repeat;
    transform:scale(1.04);
}

.about-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(180deg, rgba(26, 15, 11, 0.58) 0%, rgba(31, 18, 13, 0.86) 100%),
        linear-gradient(90deg, rgba(33, 20, 15, 0.86), rgba(33, 20, 15, 0.32));
}

.about-hero-content{
    position:relative;
    z-index:1;
    display:grid;
    justify-items:center;
    width:min(860px, 100%);
}

.about-back-link{
    position:absolute;
    top:-74px;
    left:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border:1px solid rgba(242, 205, 161, 0.4);
    border-radius:999px;
    background:rgba(255, 248, 239, 0.12);
    color:#f2cda1;
    font-size:12px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    text-transform:uppercase;
}

.about-eyebrow{
    margin:0 0 14px;
    color:#f2cda1;
    font-size:12px;
    font-weight:850;
    line-height:1.35;
    text-transform:uppercase;
}

.about-hero h1{
    margin:0 0 14px;
    color:#fff8ef;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(48px, 9vw, 88px);
    line-height:0.98;
    font-weight:700;
    letter-spacing:0;
    text-shadow:0 8px 28px rgba(0, 0, 0, 0.38);
}

.about-hero p:last-child{
    max-width:620px;
    margin:0;
    color:#fff1de;
    font-size:clamp(18px, 2.3vw, 24px);
    font-weight:750;
    line-height:1.4;
}

.about-section{
    width:min(1080px, calc(100% - 32px));
    margin:0 auto;
    padding:56px 0 0;
}

.about-section-heading{
    display:grid;
    gap:8px;
    max-width:700px;
    margin:0 auto 24px;
    text-align:center;
}

.about-section-heading p{
    margin:0;
    color:#8b603c;
    font-size:12px;
    font-weight:850;
    line-height:1.35;
    text-transform:uppercase;
}

.about-section-heading h2{
    margin:0;
    color:#302016;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(32px, 5vw, 52px);
    line-height:1.04;
}

.about-story-grid{
    display:grid;
    gap:14px;
}

.about-story-card{
    padding:24px;
    border:1px solid rgba(128, 88, 55, 0.16);
    border-radius:8px;
    background:#fffaf3;
    box-shadow:0 16px 38px rgba(74, 44, 25, 0.1);
}

.about-story-card.is-highlighted{
    background:#3b261d;
    color:#fff8ef;
}

.about-story-card p{
    margin:0;
    color:inherit;
    font-size:16px;
    line-height:1.72;
}

.about-story-card p + p{
    margin-top:14px;
}

.about-impact-grid{
    display:grid;
    gap:14px;
}

.about-impact-grid article{
    display:grid;
    gap:10px;
    padding:24px;
    border:1px solid rgba(128, 88, 55, 0.16);
    border-radius:8px;
    background:
        linear-gradient(145deg, rgba(255, 250, 243, 0.98), rgba(246, 232, 211, 0.92)),
        #fffaf3;
    box-shadow:0 16px 38px rgba(74, 44, 25, 0.1);
}

.about-impact-grid span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:999px;
    background:#f2cda1;
    font-size:24px;
}

.about-impact-grid h3{
    margin:0;
    color:#302016;
    font-size:21px;
    line-height:1.18;
}

.about-impact-grid p{
    margin:0;
    color:#5d4738;
    font-size:15px;
    line-height:1.6;
}

.about-gallery-grid{
    display:grid;
    gap:14px;
}

.about-gallery-grid figure{
    display:grid;
    min-height:190px;
    margin:0;
    place-items:center;
    overflow:hidden;
    border:1px dashed rgba(139, 96, 60, 0.38);
    border-radius:8px;
    background:
        linear-gradient(135deg, rgba(59, 38, 29, 0.84), rgba(139, 96, 60, 0.64)),
        #3b261d;
}

.about-gallery-grid span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:0 14px;
    border:1px solid rgba(255, 248, 239, 0.34);
    border-radius:999px;
    color:#fff8ef;
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
}

.about-final{
    display:grid;
    justify-items:center;
    gap:24px;
    margin:64px 0 0;
    padding:56px 18px 68px;
    background:#221612;
    color:#fff8ef;
    text-align:center;
}

.about-final p{
    max-width:760px;
    margin:0;
    color:#fff1de;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(28px, 5vw, 48px);
    line-height:1.15;
}

.about-menu-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:46px;
    margin:0;
    padding:0 24px;
    border-radius:999px;
    background:#f2cda1;
    color:#2f201a;
    font-size:16px;
    font-weight:850;
    line-height:1;
    text-align:center;
    white-space:nowrap;
    box-shadow:0 14px 28px rgba(0, 0, 0, 0.22);
    transition:background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.about-menu-button:hover,
.about-menu-button:focus{
    background:#fff8ef;
    color:#2f201a;
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(0, 0, 0, 0.28);
}

.about-social-section{
    width:min(900px, calc(100% - 32px));
    margin:0 auto;
    padding:54px 0 68px;
}

.about-social-grid{
    display:grid;
    gap:14px;
}

.about-social-grid .social-block{
    padding:24px;
    border:1px solid rgba(128, 88, 55, 0.16);
    border-radius:8px;
    background:#fffaf3;
    box-shadow:0 16px 38px rgba(74, 44, 25, 0.1);
}

.about-social-grid .social-link{
    border-color:rgba(139, 96, 60, 0.22);
    background:#3b261d;
    color:#fff8ef;
}

body:has(.about-page) .cart-floating-button,
body:has(.about-page) .cart-order-bar,
body:has(.about-page) .cart-message{
    display:none;
}

@media (min-width: 760px){
    .about-story-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        align-items:stretch;
    }

    .about-impact-grid,
    .about-gallery-grid{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

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

@media (max-width: 700px){
    .about-hero{
        min-height:360px;
        padding:22px 18px;
    }

    .about-back-link{
        position:static;
        margin-bottom:34px;
    }

    .about-section{
        width:min(100% - 24px, 1080px);
        padding-top:42px;
    }

    .about-story-card,
    .about-impact-grid article{
        padding:20px;
    }

    .about-gallery-grid figure{
        min-height:150px;
    }

    .about-final{
        margin-top:46px;
        padding:44px 18px 56px;
    }

    .about-social-section{
        width:min(100% - 24px, 900px);
        padding:42px 0 54px;
    }

    .social-links{
        gap:8px;
    }

    .social-link{
        min-height:40px;
        padding:0 12px;
        font-size:12px;
    }
}

.login-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    padding:24px 18px;
    background:#2f201a;
    position:relative;
    overflow:hidden;
}

.login-page::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("/img/persis-coffee.jpg") center / cover no-repeat;
    opacity:0.28;
    transform:scale(1.05);
}

.login-page::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(47, 32, 26, 0.94), rgba(111, 78, 55, 0.82));
}

body:has(.login-page) .cart-floating-button,
body:has(.login-page) .cart-order-bar,
body:has(.login-page) .cart-message{
    display:none;
}

.admin-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

body.admin-home .cart-floating-button,
body.admin-home .cart-order-bar,
body.admin-home .cart-message,
body:has(.admin-page) .cart-floating-button,
body:has(.admin-page) .cart-order-bar,
body:has(.admin-page) .cart-message{
    display:none;
}

.admin-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.admin-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.admin-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.admin-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.admin-role{
    margin-top:10px !important;
    color:#e8c59f !important;
    font-size:14px !important;
    font-weight:700;
}

.admin-logout{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.admin-grid{
    display:grid;
    gap:14px;
    max-width:1180px;
    margin:0 auto;
}

.admin-card{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    align-items:center;
    gap:14px;
    min-height:112px;
    padding:18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    color:#2f201a;
    text-decoration:none;
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
    transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.admin-card:hover,
.admin-card:focus{
    transform:translateY(-3px);
    border-color:rgba(111, 78, 55, 0.24);
    box-shadow:0 20px 42px rgba(75, 46, 46, 0.16);
}

.admin-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    border-radius:16px;
    background:#efe2d1;
    font-size:28px;
}

.admin-card h2{
    margin:0 0 6px;
    color:#2f201a;
    font-size:22px;
    line-height:1.15;
}

.admin-card p{
    margin:0;
    color:#6b5d55;
    font-size:14px;
    line-height:1.35;
}

@media (min-width: 700px){
    .admin-page{
        padding:30px 24px 56px;
    }

    .admin-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .admin-logout{
        min-width:150px;
    }

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

@media (min-width: 1100px){
    .admin-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    .admin-card{
        grid-template-columns:1fr;
        align-content:start;
        min-height:190px;
    }
}

.login-card{
    position:relative;
    z-index:1;
    width:100%;
    max-width:420px;
    box-sizing:border-box;
    padding:24px;
    border-radius:22px;
    background:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.3);
    box-shadow:0 24px 56px rgba(20, 14, 12, 0.34);
}

.login-brand{
    margin-bottom:20px;
}

.login-brand p{
    margin:0 0 8px;
    color:#8b6247;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.login-brand h1{
    margin:0 0 8px;
    color:#2f201a;
    font-size:34px;
    line-height:1.05;
}

.login-brand span{
    display:block;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.login-error{
    margin:0 0 14px;
    padding:12px 14px;
    border-radius:14px;
    background:#fff3d8;
    color:#7a4c00;
    font-size:14px;
    font-weight:700;
}

.login-form{
    display:grid;
    gap:10px;
}

.login-form label{
    color:#4b2e2e;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.login-form input{
    width:100%;
    min-height:50px;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
}

.login-form button{
    min-height:52px;
    margin-top:6px;
    padding:13px 16px;
    border:0;
    border-radius:16px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(47, 32, 26, 0.22);
}

h1{
    color:#4b2e2e;
    font-size:42px;
    margin-top:100px;
}

p{
    color:#555;
    font-size:18px;
    line-height:1.5;
}

.btn{
    display:inline-block;
    margin-top:20px;
    padding:15px 30px;
    background:#6f4e37;
    color:white;
    text-decoration:none;
    border-radius:12px;
    font-size:18px;
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.18);
    transition:background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.btn:hover,
.btn:focus{
    background:#5b3b2a;
    transform:translateY(-3px);
    box-shadow:0 16px 32px rgba(75, 46, 46, 0.28);
}

.menu-page{
    min-height:100vh;
    background:#f6efe6;
    padding-bottom:110px;
}

.menu-intro{
    padding:34px 20px 22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 68%, #c99a6b 100%);
    color:#fffaf3;
    border-bottom-left-radius:28px;
    border-bottom-right-radius:28px;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.menu-intro h1{
    margin:0 0 10px;
    color:inherit;
    font-size:36px;
    line-height:1.05;
}

.menu-intro p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
    line-height:1.4;
}

.menu-hero{
    padding:34px 20px 22px;
    background:linear-gradient(135deg, #3a241c 0%, #6f4e37 62%, #b98b5f 100%);
    color:#fffaf3;
}

.menu-hero h1{
    margin:8px 0 10px;
    color:inherit;
    font-size:34px;
    line-height:1.05;
}

.menu-hero p{
    max-width:560px;
    margin:0;
    color:#f4e5d5;
    font-size:16px;
}

.menu-eyebrow{
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    letter-spacing:0;
    text-transform:uppercase;
}

.category-bar{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    gap:12px;
    overflow-x:auto;
    padding:16px 18px;
    background:rgba(246, 239, 230, 0.92);
    border-bottom:1px solid rgba(111, 78, 55, 0.12);
    backdrop-filter:blur(12px);
    scrollbar-width:none;
}

.category-bar::-webkit-scrollbar{
    display:none;
}

.category-bar a{
    flex:0 0 auto;
    padding:11px 16px;
    background:#fffaf3;
    color:#4b2e2e;
    text-decoration:none;
    border-radius:999px;
    font-size:14px;
    font-weight:700;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 8px 18px rgba(75, 46, 46, 0.08);
    transition:background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.category-bar a:hover,
.category-bar a:focus{
    background:#6f4e37;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(75, 46, 46, 0.2);
}

.product-list{
    display:grid;
    gap:16px;
    padding:22px 18px 42px;
}

.category-section{
    max-width:980px;
    margin:0 auto 30px;
    scroll-margin-top:74px;
}

.category-section h2{
    margin:0 0 14px;
    color:#3a241c;
    font-size:22px;
}

.product-grid{
    display:grid;
    gap:14px;
}

.product-card{
    display:block;
    padding:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    border-radius:20px;
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
    transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.product-card:hover,
.product-card:focus-within{
    transform:translateY(-4px);
    border-color:rgba(111, 78, 55, 0.24);
    box-shadow:0 20px 42px rgba(75, 46, 46, 0.16);
}

.product-image{
    width:100%;
    height:min(48vw, 220px);
    max-height:220px;
    margin-bottom:16px;
    border-radius:16px;
    overflow:hidden;
    background:#c99663;
}

.product-image img{
    display:block;
    width:100%;
    height:100%;
    max-height:220px;
    object-fit:cover;
}

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

.product-info h2,
.product-info h3{
    margin:0;
    color:#2f201a;
    font-size:20px;
    line-height:1.2;
}

.product-info p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
    line-height:1.4;
}

.product-info strong{
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    margin-top:8px;
    padding:7px 12px;
    background:#efe2d1;
    color:#6f4e37;
    font-size:18px;
    border-radius:999px;
}

.add-to-cart{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    margin-top:4px;
    padding:11px 16px;
    border:0;
    border-radius:999px;
    background:#6f4e37;
    color:#fff;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(75, 46, 46, 0.18);
    transition:background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.add-to-cart:hover,
.add-to-cart:focus{
    background:#5b3b2a;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(75, 46, 46, 0.24);
}

.cart-floating-button{
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    max-width:520px;
    margin:0 auto;
    padding:16px 18px;
    border:0;
    border-radius:18px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 18px 38px rgba(47, 32, 26, 0.28);
}

.cart-order-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:58px;
    max-width:640px;
    margin:0 auto;
    padding:12px 14px;
    border:1px solid rgba(255, 250, 243, 0.16);
    border-radius:18px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 18px 38px rgba(47, 32, 26, 0.28);
}

.cart-order-bar[hidden]{
    display:none;
}

.cart-order-main,
.cart-products-label,
.cart-total-label{
    white-space:nowrap;
}

.cart-order-bar strong{
    color:#e8c59f;
    white-space:nowrap;
}

@media (max-width: 380px){
    .cart-order-bar{
        flex-wrap:wrap;
        gap:4px 8px;
        min-height:64px;
        font-size:13px;
    }

    .cart-order-main{
        width:100%;
    }
}

.client-back-link{
    position:sticky;
    top:0;
    z-index:8;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0 0 16px;
    padding:0 14px;
    border-radius:14px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.1);
}

.cart-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    height:26px;
    padding:0 8px;
    border-radius:999px;
    background:#c99a6b;
    color:#2f201a;
    font-size:14px;
}

.cart-message{
    position:fixed;
    left:18px;
    right:18px;
    bottom:86px;
    z-index:11;
    max-width:520px;
    margin:0 auto;
    padding:13px 16px;
    border-radius:16px;
    background:#fffaf3;
    color:#2f201a;
    text-align:center;
    font-size:15px;
    font-weight:700;
    box-shadow:0 14px 30px rgba(75, 46, 46, 0.18);
    opacity:0;
    pointer-events:none;
    transform:translateY(10px);
    transition:opacity 0.25s ease, transform 0.25s ease;
}

.cart-message.is-visible{
    opacity:1;
    transform:translateY(0);
}

.order-page{
    min-height:100vh;
    padding:24px 18px 120px;
    background:#f6efe6;
}

.order-header{
    max-width:520px;
    margin:0 auto 18px;
}

.order-header h1{
    margin:0 0 8px;
    color:#2f201a;
    font-size:34px;
    line-height:1.1;
}

.order-header p{
    margin:0;
    color:#6b5d55;
    font-size:16px;
}

.order-summary{
    max-width:520px;
    margin:0 auto;
}

.order-items{
    display:grid;
    gap:12px;
}

.order-item{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    border-radius:18px;
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.order-item h2{
    margin:0 0 8px;
    color:#2f201a;
    font-size:18px;
}

.order-item p{
    margin:0 0 4px;
    color:#6b5d55;
    font-size:14px;
}

.order-item strong{
    flex:0 0 auto;
    color:#6f4e37;
    font-size:18px;
}

.order-empty{
    padding:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    border-radius:18px;
    text-align:center;
}

.order-empty p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
}

.order-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:16px;
    padding:18px;
    background:#2f201a;
    color:#fffaf3;
    border-radius:20px;
    box-shadow:0 16px 34px rgba(47, 32, 26, 0.2);
}

.order-total span{
    font-size:15px;
    font-weight:700;
}

.order-total strong{
    font-size:24px;
}

.order-actions{
    display:grid;
    gap:12px;
    margin-top:16px;
}

.order-actions button,
.order-actions a{
    display:block;
    width:100%;
    padding:15px 18px;
    border:0;
    border-radius:16px;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
}

.clear-order-button{
    background:#efe2d1;
    color:#4b2e2e;
}

.confirm-order-button{
    background:#6f4e37;
    color:#fff;
    box-shadow:0 12px 26px rgba(75, 46, 46, 0.22);
}

.back-menu-button{
    background:#fffaf3;
    color:#4b2e2e;
    border:1px solid rgba(111, 78, 55, 0.12) !important;
}

.order-final-form,
.order-confirmed{
    max-width:520px;
    margin:18px auto 0;
    padding:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    border-radius:22px;
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.order-final-form h2,
.order-confirmed h2{
    margin:0 0 16px;
    color:#2f201a;
    font-size:24px;
    line-height:1.2;
}

.order-final-form form{
    display:grid;
    gap:10px;
}

.order-final-form label{
    color:#4b2e2e;
    font-size:14px;
    font-weight:700;
}

.order-final-form input,
.order-final-form textarea{
    width:100%;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
}

.order-final-form textarea{
    resize:vertical;
}

.payment-options{
    display:grid;
    gap:10px;
    margin:4px 0;
    padding:0;
    border:0;
}

.payment-options legend{
    margin:0 0 2px;
    color:#4b2e2e;
    font-size:14px;
    font-weight:700;
}

.payment-options label{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-size:16px;
    font-weight:700;
}

.payment-options input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:#6f4e37;
}

.payment-help{
    margin:0;
    padding:12px 14px;
    border-radius:14px;
    background:#efe2d1;
    color:#4b2e2e;
    font-size:14px;
    font-weight:700;
}

.form-error{
    margin:0;
    color:#9b2f22;
    font-size:14px;
    font-weight:700;
}

.order-confirmed p{
    margin:0 0 10px;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
}

.order-confirmed .back-menu-button{
    margin-top:10px;
}

@media (min-width: 700px){
    .menu-hero{
        padding:48px 40px 30px;
    }

    .menu-hero h1{
        font-size:46px;
    }

    .category-bar{
        justify-content:center;
    }

    .product-list{
        max-width:680px;
        margin:0 auto;
        padding:30px 28px 56px;
    }
}

.menu-carta{
    display:grid;
    gap:22px;
    max-width:760px;
    margin:0 auto;
    padding:22px 16px 44px;
}

.menu-category-section{
    scroll-margin-top:86px;
}

.menu-category-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 0 10px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(111, 78, 55, 0.18);
}

.menu-category-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.1;
}

.menu-category-empty{
    margin:0;
    padding:14px;
    border-radius:14px;
    background:#fffaf3;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.menu-product-list{
    display:grid;
    gap:0;
    overflow:hidden;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.menu-product-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:8px 12px;
    align-items:center;
    padding:14px;
    border-bottom:1px solid rgba(111, 78, 55, 0.1);
}

.menu-product-row:last-child{
    border-bottom:0;
}

.menu-product-row.is-sold-out{
    opacity:0.72;
}

.menu-product-name{
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    color:#2f201a;
    font-family:inherit;
    font-size:17px;
    font-weight:700;
    line-height:1.2;
    text-align:left;
    cursor:pointer;
    overflow-wrap:anywhere;
}

.menu-product-name:hover,
.menu-product-name:focus{
    color:#6f4e37;
}

.menu-product-row > strong{
    color:#6f4e37;
    font-size:16px;
    white-space:nowrap;
}

.menu-detail-button{
    justify-self:start;
    padding:0;
    border:0;
    background:transparent;
    color:#8b6247;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    text-decoration:underline;
    cursor:pointer;
}

.menu-product-row .add-to-cart,
.menu-product-row .product-stock-tag{
    justify-self:end;
}

.menu-product-row .add-to-cart{
    margin:0;
    padding:9px 13px;
    border-radius:12px;
    font-size:14px;
    box-shadow:0 8px 16px rgba(75, 46, 46, 0.14);
}

.product-stock-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 11px;
    border-radius:12px;
    background:#9b2f22;
    color:#fff;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.menu-product-row .add-to-cart:disabled{
    background:#efe7dc;
    color:#9a8475;
    box-shadow:none;
    cursor:not-allowed;
    transform:none;
}

.product-detail-modal{
    position:fixed;
    inset:0;
    z-index:30;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

.product-detail-modal.is-open{
    display:flex;
}

.product-detail-backdrop{
    position:absolute;
    inset:0;
    background:rgba(32, 22, 18, 0.56);
}

.product-detail-dialog{
    position:relative;
    z-index:1;
    width:min(100%, 420px);
    overflow:hidden;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.14);
    box-shadow:0 24px 56px rgba(20, 14, 12, 0.34);
}

.product-detail-close{
    position:absolute;
    top:10px;
    right:10px;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:0;
    border-radius:999px;
    background:#fffaf3;
    color:#2f201a;
    font-family:inherit;
    font-size:20px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(47, 32, 26, 0.16);
}

.product-detail-image{
    width:100%;
    aspect-ratio:4 / 3;
    background:#c99663;
}

.product-detail-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.product-detail-content{
    padding:18px;
}

.product-detail-content h2{
    margin:0 0 8px;
    color:#2f201a;
    font-size:24px;
    line-height:1.15;
}

.product-detail-content p{
    margin:0 0 14px;
    color:#6b5d55;
    font-size:15px;
    line-height:1.45;
}

.product-detail-content strong{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:#efe2d1;
    color:#6f4e37;
    font-size:18px;
}

body.has-open-product-modal{
    overflow:hidden;
}

@media (min-width: 700px){
    .menu-carta{
        max-width:900px;
        padding:28px 24px 56px;
    }

    .menu-product-row{
        grid-template-columns:minmax(0, 1fr) 110px 100px 112px;
        gap:14px;
        padding:13px 16px;
    }

    .menu-detail-button,
    .menu-product-row .add-to-cart,
    .menu-product-row .product-stock-tag{
        justify-self:end;
    }
}

.menu-page{
    min-height:100vh;
    padding-bottom:118px;
    background:#f8f2e8;
    background-image:linear-gradient(180deg, #fffaf2 0%, #f3e7d6 100%);
}

.menu-intro{
    max-width:920px;
    margin:0 auto;
    padding:32px 20px 18px;
    background:transparent;
    color:#261a14;
    border-radius:0;
    box-shadow:none;
}

.menu-intro h1{
    margin:0 0 8px;
    color:#261a14;
    font-family:Georgia, "Times New Roman", serif;
    font-size:38px;
    line-height:1.04;
    font-weight:700;
}

.menu-intro p{
    max-width:460px;
    margin:0;
    color:#776253;
    font-size:15px;
    line-height:1.45;
}

.menu-intro .menu-eyebrow{
    margin:0 0 10px;
    color:#9a6a41 !important;
    font-size:12px !important;
    font-weight:700;
    letter-spacing:0;
    text-transform:uppercase;
}

.category-bar{
    position:sticky;
    top:0;
    z-index:12;
    display:flex;
    gap:8px;
    max-width:920px;
    margin:0 auto;
    padding:10px 16px 12px;
    overflow-x:auto;
    background:rgba(248, 242, 232, 0.92);
    border-bottom:1px solid rgba(95, 64, 42, 0.12);
    backdrop-filter:blur(14px);
}

.category-bar a{
    flex:0 0 auto;
    min-height:38px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 15px;
    border:1px solid rgba(95, 64, 42, 0.18);
    border-radius:999px;
    background:#fffdf8;
    color:#5c402e;
    box-shadow:none;
    font-size:13px;
    font-weight:700;
}

.category-bar a.active,
.category-bar a:hover,
.category-bar a:focus{
    background:#3a261c;
    color:#fff8ed;
    border-color:#3a261c;
    transform:none;
    box-shadow:0 8px 18px rgba(58, 38, 28, 0.16);
}

.menu-carta{
    display:grid;
    gap:34px;
    max-width:920px;
    margin:0 auto;
    padding:18px 16px 50px;
}

.menu-category-section{
    scroll-margin-top:72px;
}

.menu-category-header{
    display:block;
    margin:0 0 6px;
    padding:0 0 10px;
    border-bottom:1px solid rgba(95, 64, 42, 0.18);
}

.menu-category-header p{
    margin:0 0 4px;
    color:#9a6a41;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.menu-category-header h2{
    margin:0;
    color:#261a14;
    font-family:Georgia, "Times New Roman", serif;
    font-size:27px;
    line-height:1.1;
    font-weight:700;
}

.menu-category-empty{
    margin:0;
    padding:16px 0;
    border-radius:0;
    background:transparent;
    color:#776253;
    font-size:15px;
    font-weight:700;
}

.menu-product-list{
    display:grid;
    gap:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.menu-product-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:12px;
    align-items:center;
    padding:16px 0;
    border-bottom:1px solid rgba(95, 64, 42, 0.13);
}

.menu-product-row:last-child{
    border-bottom:0;
}

.menu-product-row.is-sold-out{
    opacity:0.58;
}

.menu-product-copy{
    min-width:0;
}

.menu-product-copy p{
    margin:5px 0 0;
    color:#776253;
    font-size:14px;
    line-height:1.38;
}

.menu-product-name{
    display:block;
    width:100%;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    color:#2b1d15;
    font-family:inherit;
    font-size:17px;
    font-weight:700;
    line-height:1.18;
    text-align:left;
    cursor:pointer;
    overflow-wrap:anywhere;
}

.menu-product-name:hover,
.menu-product-name:focus{
    color:#8a552f;
    outline:none;
}

.menu-product-action{
    display:grid;
    justify-items:end;
    gap:8px;
}

.menu-product-action strong{
    color:#5c402e;
    font-size:16px;
    line-height:1;
    white-space:nowrap;
}

.menu-product-row .add-to-cart{
    min-height:36px;
    margin:0;
    padding:0 14px;
    border-radius:999px;
    background:#4b3023;
    color:#fff8ed;
    font-size:13px;
    box-shadow:none;
}

.menu-product-row .add-to-cart:hover,
.menu-product-row .add-to-cart:focus{
    background:#2f201a;
    transform:none;
    box-shadow:0 8px 18px rgba(47, 32, 26, 0.16);
}

.product-stock-tag{
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:#eadbcc;
    color:#7a352c;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.cart-order-bar{
    left:12px;
    right:12px;
    bottom:12px;
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:4px 10px;
    max-width:620px;
    min-height:66px;
    padding:12px 14px;
    border:1px solid rgba(255, 248, 237, 0.22);
    border-radius:18px;
    background:#2f201a;
    color:#fff8ed;
    box-shadow:0 16px 34px rgba(47, 32, 26, 0.28);
}

.cart-order-main{
    grid-row:span 2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#ead0af;
    color:#2f201a;
    font-size:21px;
    line-height:1;
}

.cart-products-label{
    align-self:end;
    color:#fff8ed;
    font-size:15px;
    font-weight:700;
}

.cart-total-label{
    align-self:start;
    color:#d9b98f;
    font-size:14px;
    font-weight:700;
}

.cart-order-bar strong{
    grid-row:span 2;
    color:#fff8ed;
    font-size:14px;
}

.cart-message{
    bottom:92px;
    background:#fffdf8;
    color:#2f201a;
    border:1px solid rgba(95, 64, 42, 0.12);
    box-shadow:0 14px 30px rgba(47, 32, 26, 0.14);
}

.product-detail-modal{
    z-index:40;
    padding:18px;
}

.product-detail-backdrop{
    background:rgba(38, 26, 20, 0.54);
    backdrop-filter:blur(4px);
}

.product-detail-dialog{
    width:min(100%, 440px);
    border-radius:18px;
    background:#fffdf8;
    border:1px solid rgba(95, 64, 42, 0.16);
    box-shadow:0 26px 70px rgba(38, 26, 20, 0.34);
}

.product-detail-close{
    top:12px;
    right:12px;
    width:36px;
    height:36px;
    background:#fffdf8;
    color:#2f201a;
}

.product-detail-image{
    aspect-ratio:5 / 3;
    background:#eadbcc;
}

.product-detail-image.is-empty{
    display:none;
}

.product-detail-content{
    padding:20px;
}

.product-detail-content h2{
    margin:0 0 10px;
    color:#261a14;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
}

.product-detail-content p{
    margin:0 0 16px;
    color:#695548;
    font-size:15px;
    line-height:1.5;
}

.product-detail-content strong{
    padding:0;
    border-radius:0;
    background:transparent;
    color:#5c402e;
    font-size:20px;
}

.product-detail-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.product-detail-add{
    min-height:40px;
    margin:0;
    padding:0 18px;
    border-radius:999px;
    border:1px solid rgba(91, 58, 41, 0.14);
    background:#5B3A29;
    color:#fff8ef;
    font-size:13px;
    font-weight:800;
    box-shadow:0 10px 22px rgba(91, 58, 41, 0.14);
    transition:background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.product-detail-add:not(:disabled){
    font-size:0;
}

.product-detail-add:not(:disabled)::before{
    content:"Agregar";
    font-size:13px;
}

.product-detail-add:hover,
.product-detail-add:focus{
    background:#C89B6D;
    color:#2F241F;
    transform:translateY(-1px);
    box-shadow:0 14px 26px rgba(91, 58, 41, 0.18);
}

.product-detail-add:disabled{
    background:#eadbcc;
    color:#7a352c;
    box-shadow:none;
    cursor:not-allowed;
    transform:none;
}

@media (max-width: 380px){
    .cart-order-bar{
        grid-template-columns:auto minmax(0, 1fr) auto;
        min-height:66px;
        font-size:13px;
    }

    .cart-order-main{
        width:38px;
        height:38px;
    }
}

@media (min-width: 700px){
    .menu-intro{
        padding:44px 24px 22px;
    }

    .menu-intro h1{
        font-size:52px;
    }

    .category-bar{
        justify-content:flex-start;
        padding-inline:24px;
    }

    .menu-carta{
        gap:42px;
        padding:28px 24px 64px;
    }

    .menu-product-row{
        grid-template-columns:minmax(0, 1fr) 168px;
        padding:18px 0;
    }

    .menu-product-action{
        grid-template-columns:auto auto;
        align-items:center;
        gap:14px;
    }
}

.menu-page{
    position:relative;
    isolation:isolate;
    padding-bottom:122px;
    background:#B9966F;
    background-image:
        radial-gradient(circle at 18% 14%, rgba(255, 250, 243, 0.16), transparent 28%),
        radial-gradient(circle at 86% 38%, rgba(62, 38, 24, 0.18), transparent 34%),
        linear-gradient(180deg, #CBA982 0%, #B9966F 44%, #A77F56 100%);
    color:#2F241F;
    font-family:"Inter", "Segoe UI", Roboto, Arial, sans-serif;
}

.menu-page::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0.12;
    background-image:
        linear-gradient(105deg, rgba(91, 58, 41, 0.09) 0 1px, transparent 1px 16px),
        linear-gradient(15deg, rgba(255, 250, 243, 0.28) 0 1px, transparent 1px 20px),
        radial-gradient(circle at 24% 22%, rgba(91, 58, 41, 0.18) 0 1px, transparent 1.6px),
        radial-gradient(circle at 68% 64%, rgba(255, 250, 243, 0.32) 0 1px, transparent 1.7px),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.78' numOctaves='3' seed='23' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0.20 0 0 0 0.30 0 0.18 0 0 0.22 0 0 0.16 0 0.13 0 0 0 0.38 0'/%3E%3C/filter%3E%3Crect width='360' height='360' filter='url(%23paper)' opacity='0.42'/%3E%3C/svg%3E");
    background-position:
        0 0,
        0 0,
        0 0,
        18px 22px,
        center;
    background-size:
        120px 120px,
        150px 150px,
        34px 34px,
        42px 42px,
        360px 360px;
    box-shadow:inset 0 24px 80px rgba(91, 58, 41, 0.08);
    mix-blend-mode:multiply;
}

.menu-page::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0.45;
    background-image:
        linear-gradient(180deg, rgba(255, 250, 243, 0.28), transparent 26%, rgba(91, 58, 41, 0.05) 100%),
        radial-gradient(circle at 50% 18%, rgba(255, 250, 243, 0.18), transparent 42%);
    background-size:
        100% 100%,
        100% 100%;
}

.menu-page > :not(.product-detail-modal){
    position:relative;
    z-index:1;
}

.menu-hero-premium{
    position:relative;
    min-height:290px;
    display:flex;
    align-items:flex-end;
    box-sizing:border-box;
    padding:26px 20px;
    overflow:hidden;
    background:#5B3A29 url("/img/fondo-cafeteria.jpg") center / cover no-repeat;
    color:#fff8ef;
}

.menu-hero-premium::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(47, 36, 31, 0.18) 0%, rgba(47, 36, 31, 0.72) 100%);
}

.menu-hero-content{
    position:relative;
    z-index:1;
    width:100%;
    max-width:920px;
    margin:0 auto;
}

.menu-hero-content p{
    margin:0 0 9px;
    color:#F4D7B2;
    font-size:11px;
    font-weight:800;
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.menu-hero-content h1{
    margin:0 0 8px;
    color:#fff8ef;
    font-family:Georgia, "Times New Roman", serif;
    font-size:38px;
    line-height:1.04;
    font-weight:700;
    text-shadow:0 4px 22px rgba(0, 0, 0, 0.34);
}

.menu-hero-content span{
    display:block;
    max-width:430px;
    color:#fff1de;
    font-size:15px;
    line-height:1.45;
    font-weight:600;
    text-shadow:0 3px 16px rgba(0, 0, 0, 0.34);
}

.menu-brand-strip{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    max-width:920px;
    margin:0 auto;
    padding:16px 16px 10px;
}

.menu-brand-strip span{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid rgba(91, 58, 41, 0.14);
    border-radius:999px;
    background:#fffaf3;
    color:#5B3A29;
    font-size:12px;
    font-weight:750;
    box-shadow:0 8px 20px rgba(91, 58, 41, 0.06);
}

.menu-card-shell{
    --menu-kraft-base:#FFF4E3;
    --menu-kraft-shadow:#D9C2A1;
    --menu-kraft-detail:#C8A97E;
    position:relative;
    z-index:1;
    width:min(860px, calc(100% - 32px));
    margin:14px auto 0;
    overflow:hidden;
    border:1px solid var(--menu-kraft-detail);
    border-radius:28px;
    background:var(--menu-kraft-base);
    background-image:
        radial-gradient(circle at 18% 12%, rgba(255, 252, 244, 0.72), transparent 28%),
        radial-gradient(circle at 86% 34%, rgba(200, 169, 126, 0.22), transparent 34%),
        radial-gradient(circle at 26% 82%, rgba(137, 96, 58, 0.08), transparent 31%),
        linear-gradient(180deg, #FFF9EE 0%, var(--menu-kraft-base) 45%, #F2DFC1 100%);
    box-shadow:
        0 25px 70px rgba(62, 38, 24, 0.28),
        0 14px 34px rgba(91, 58, 41, 0.16),
        inset 0 1px 0 rgba(255, 250, 243, 0.82),
        inset 0 -1px 0 rgba(139, 98, 61, 0.12);
}

.menu-card-shell::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0.22;
    background-image:
        linear-gradient(104deg, rgba(139, 98, 61, 0.16) 0 1px, transparent 1px 17px),
        linear-gradient(14deg, rgba(255, 250, 239, 0.38) 0 1px, transparent 1px 21px),
        radial-gradient(circle at 20% 24%, rgba(139, 98, 61, 0.28) 0 0.8px, transparent 1.5px),
        radial-gradient(circle at 72% 62%, rgba(255, 250, 239, 0.46) 0 0.9px, transparent 1.7px),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360' viewBox='0 0 360 360'%3E%3Cfilter id='kraft'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' seed='37' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0.28 0 0 0 0.38 0 0.21 0 0 0.28 0 0 0.13 0 0.08 0 0 0 0.46 0'/%3E%3C/filter%3E%3Crect width='360' height='360' filter='url(%23kraft)' opacity='0.5'/%3E%3C/svg%3E");
    background-position:
        0 0,
        0 0,
        0 0,
        18px 22px,
        center;
    background-size:
        118px 118px,
        154px 154px,
        32px 32px,
        44px 44px,
        320px 320px;
    mix-blend-mode:multiply;
}

.menu-card-shell::after{
    content:"";
    position:absolute;
    inset:1px;
    z-index:0;
    pointer-events:none;
    border-radius:27px;
    background-image:
        linear-gradient(180deg, rgba(255, 250, 239, 0.24), transparent 20%, rgba(217, 194, 161, 0.16) 100%),
        linear-gradient(90deg, rgba(200, 169, 126, 0.1), transparent 18%, transparent 82%, rgba(139, 98, 61, 0.08));
    box-shadow:
        inset 0 0 0 1px rgba(255, 250, 239, 0.5),
        inset 0 20px 68px rgba(255, 250, 239, 0.16),
        inset 0 -24px 72px rgba(137, 96, 58, 0.1);
}

.menu-card-shell > *{
    position:relative;
    z-index:1;
}

.category-bar{
    gap:10px;
    max-width:none;
    margin:0;
    padding:12px 16px 14px;
    background:rgba(244, 235, 221, 0.78);
    border-bottom:1px solid rgba(91, 58, 41, 0.12);
}

.category-bar a{
    min-height:44px;
    padding:0 18px;
    border-color:rgba(91, 58, 41, 0.16);
    background:#fffaf3;
    color:#5B3A29;
    font-size:14px;
    font-weight:750;
    box-shadow:0 10px 22px rgba(91, 58, 41, 0.07);
    transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.category-bar a.active,
.category-bar a:hover,
.category-bar a:focus{
    background:#5B3A29;
    color:#fff8ef;
    border-color:#5B3A29;
    transform:translateY(-1px);
    box-shadow:0 12px 26px rgba(91, 58, 41, 0.2);
}

.menu-carta{
    gap:28px;
    max-width:none;
    margin:0;
    padding:18px 16px 54px;
}

.menu-category-section{
    scroll-margin-top:82px;
}

.menu-category-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:4px 0 16px;
    color:#C89B6D;
}

.menu-category-divider::before,
.menu-category-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(91, 58, 41, 0.28), transparent);
}

.menu-category-divider span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fffaf3;
    border:1px solid rgba(200, 155, 109, 0.34);
    box-shadow:0 8px 18px rgba(91, 58, 41, 0.08);
}

.menu-category-header{
    margin:0 0 4px;
    padding:0 0 12px;
    border-bottom:1px solid rgba(91, 58, 41, 0.16);
}

.menu-category-header p{
    color:#9A714F;
    font-size:11px;
    letter-spacing:0.08em;
    font-weight:800;
    text-transform:uppercase;
}

.menu-category-header h2{
    color:#2F241F;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
    line-height:1.08;
    font-weight:700;
}

.menu-product-list{
    position:relative;
    overflow:hidden;
    border-radius:18px;
}

.menu-product-list::before{
    content:"";
    position:absolute;
    top:8px;
    right:-24px;
    z-index:0;
    width:150px;
    height:150px;
    border-radius:999px;
    opacity:0.04;
    background:var(--product-list-watermark) center / cover no-repeat;
    filter:grayscale(0.12) saturate(0.9) contrast(0.9);
    mix-blend-mode:multiply;
    pointer-events:none;
}

.menu-product-list > *{
    position:relative;
    z-index:1;
}

.menu-product-list-cafes{
    --product-list-watermark:url("/img/productos/cafe.jpg");
}

.menu-product-list-pasteleria{
    --product-list-watermark:url("/img/productos/medialuna.jpg");
}

.menu-product-list-bebidas{
    --product-list-watermark:url("/img/productos/jugo.jpg");
}

.menu-product-row{
    grid-template-columns:minmax(0, 1fr) auto;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid rgba(91, 58, 41, 0.13);
}

.menu-product-title-line{
    display:flex;
    align-items:baseline;
    gap:8px;
    min-width:0;
}

.menu-product-name{
    flex:0 1 auto;
    width:auto;
    color:#261A14;
    font-size:15.5px;
    font-weight:750;
    letter-spacing:0;
}

.menu-product-name:hover,
.menu-product-name:focus{
    color:#8A583A;
}

.menu-product-dots{
    flex:1 1 auto;
    min-width:18px;
    border-bottom:1px dotted rgba(91, 58, 41, 0.36);
    transform:translateY(-4px);
}

.menu-product-title-line strong{
    flex:0 0 auto;
    color:#4B3023;
    font-size:16.5px;
    line-height:1;
    font-weight:850;
    white-space:nowrap;
}

.menu-product-copy p{
    max-width:620px;
    margin:6px 0 0;
    color:#6B5A50;
    font-size:14px;
    line-height:1.36;
}

.menu-product-action{
    display:flex;
    justify-content:flex-end;
}

.menu-product-row .add-to-cart{
    min-width:36px;
    min-height:36px;
    padding:0 12px;
    border:1px solid rgba(91, 58, 41, 0.14);
    border-radius:999px;
    background:#FFF8EF;
    color:#5B3A29;
    font-size:18px;
    font-weight:800;
    line-height:1;
    box-shadow:0 8px 18px rgba(91, 58, 41, 0.08);
    transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.menu-product-row .add-to-cart:hover,
.menu-product-row .add-to-cart:focus{
    background:#5B3A29;
    color:#FFF8EF;
    border-color:#5B3A29;
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(91, 58, 41, 0.16);
}

.menu-promo-banner{
    position:relative;
    display:grid;
    gap:18px;
    overflow:hidden;
    margin:-4px 0 4px;
    padding:20px;
    border:1px solid rgba(91, 58, 41, 0.12);
    border-radius:22px;
    background:
        linear-gradient(135deg, rgba(47, 36, 31, 0.94) 0%, rgba(91, 58, 41, 0.88) 54%, rgba(200, 155, 109, 0.82) 100%),
        var(--promo-image) right center / cover no-repeat;
    color:#FFF8EF;
    box-shadow:0 18px 42px rgba(47, 36, 31, 0.16);
}

.menu-promo-banner::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 78% 26%, rgba(255, 248, 239, 0.2), transparent 24%),
        linear-gradient(90deg, rgba(47, 36, 31, 0.96), rgba(47, 36, 31, 0.42));
}

.menu-promo-banner::after{
    content:"";
    position:absolute;
    top:16px;
    right:16px;
    bottom:16px;
    width:34%;
    max-width:170px;
    border-radius:18px;
    background:var(--promo-image) center / cover no-repeat;
    opacity:0.34;
    filter:saturate(0.92);
}

.menu-promo-content,
.menu-promo-action{
    position:relative;
    z-index:1;
}

.menu-promo-content span{
    display:inline-flex;
    margin:0 0 8px;
    color:#E8C79C;
    font-size:11px;
    font-weight:800;
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.menu-promo-content h3{
    margin:0 0 6px;
    color:#FFF8EF;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
    line-height:1.05;
    font-weight:700;
}

.menu-promo-content p{
    max-width:280px;
    margin:0;
    color:#F4DFC4;
    font-size:15px;
    line-height:1.4;
    font-weight:650;
}

.menu-promo-action{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
}

.menu-promo-action strong{
    color:#FFF8EF;
    font-size:22px;
    line-height:1;
    font-weight:850;
}

.menu-promo-button{
    min-height:38px;
    margin:0;
    padding:0 16px;
    border:1px solid rgba(255, 248, 239, 0.42);
    border-radius:999px;
    background:#FFF8EF;
    color:#4B3023;
    font-size:13px;
    font-weight:850;
    box-shadow:0 10px 22px rgba(20, 14, 12, 0.16);
    transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.menu-promo-button:hover,
.menu-promo-button:focus{
    background:#C89B6D;
    color:#2F241F;
    border-color:#C89B6D;
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(20, 14, 12, 0.22);
}

.cart-order-bar{
    left:14px;
    right:14px;
    bottom:14px;
    min-height:72px;
    max-width:620px;
    padding:13px 16px;
    border:1px solid rgba(255, 248, 239, 0.28);
    border-radius:22px;
    background:linear-gradient(135deg, #2F241F 0%, #5B3A29 100%);
    box-shadow:0 18px 38px rgba(47, 36, 31, 0.26);
}

.cart-order-main{
    grid-row:span 2;
    width:auto;
    min-width:104px;
    height:46px;
    padding:0 13px;
    background:#C89B6D;
    color:#2F241F;
    font-size:14px;
    font-weight:900;
}

.cart-order-summary{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0 8px;
    min-width:0;
}

.cart-products-label{
    align-self:auto;
    color:#fff8ef;
    font-size:15px;
    font-weight:800;
}

.cart-total-label{
    align-self:auto;
    color:#E6C398;
    font-size:15px;
    font-weight:800;
}

.cart-total-label::before{
    content:"\00B7";
    margin-right:8px;
    color:#C89B6D;
}

.cart-order-bar strong{
    justify-self:end;
    color:#fff8ef;
    font-size:15px;
    font-weight:900;
}

@media (min-width: 560px){
    .cart-order-main{
        min-width:116px;
        padding:0 15px;
        border-radius:999px;
        gap:8px;
        font-size:15px;
        font-weight:900;
    }
}

@media (min-width: 700px){
    .menu-hero-premium{
        min-height:340px;
        padding:34px 28px;
    }

    .menu-hero-content h1{
        font-size:54px;
    }

    .menu-brand-strip{
        padding:18px 24px 12px;
    }

    .menu-card-shell{
        width:min(880px, calc(100% - 64px));
        margin-top:18px;
        border-radius:34px;
    }

    .menu-card-shell::after{
        border-radius:33px;
    }

    .category-bar{
        padding-inline:24px;
    }

    .menu-carta{
        gap:36px;
        padding:24px 24px 68px;
    }

    .menu-product-list::before{
        top:10px;
        right:-34px;
        width:220px;
        height:220px;
        opacity:0.04;
    }

    .menu-product-row{
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:center;
        gap:18px;
        padding:12px 0;
    }

    .menu-product-action{
        justify-content:flex-end;
    }

    .menu-product-row .add-to-cart,
    .product-stock-tag{
        min-width:42px;
    }

    .menu-promo-banner{
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:end;
        min-height:176px;
        margin:0;
        padding:24px;
    }

    .menu-promo-content h3{
        font-size:34px;
    }

    .menu-promo-action{
        justify-content:flex-end;
        text-align:right;
    }
}

.panel-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

body.panel-employee .cart-floating-button,
body.panel-employee .cart-order-bar,
body.panel-employee .cart-message,
body:has(.panel-page) .cart-floating-button,
body:has(.panel-page) .cart-order-bar,
body:has(.panel-page) .cart-message{
    display:none;
}

.panel-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.panel-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.panel-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.panel-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.panel-auto-refresh{
    margin-top:8px !important;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
}

.panel-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.panel-header-actions{
    display:grid;
    gap:10px;
}

.panel-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.panel-dashboard{
    display:grid;
    gap:12px;
    max-width:1180px;
    margin:0 auto 18px;
}

.panel-metric{
    padding:16px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.panel-metric.is-featured{
    background:#2f201a;
    color:#fffaf3;
}

.panel-metric span{
    display:block;
    margin-bottom:8px;
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.panel-metric.is-featured span{
    color:#e8c59f;
}

.panel-metric strong{
    display:block;
    color:#2f201a;
    font-size:26px;
    line-height:1.1;
}

.panel-metric.is-featured strong{
    color:#fffaf3;
}

.panel-grid{
    display:grid;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
}

.panel-orders-tabs{
    max-width:1180px;
    margin:0 auto;
}

.panel-tab-input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.panel-tab-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:0 0 18px;
}

.panel-tab-button{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:52px;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(75, 46, 46, 0.06);
}

.panel-tab-button span{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    background:#efe2d1;
    color:#6f4e37;
    font-size:12px;
}

#tab-pedidos-activos:checked ~ .panel-tab-buttons .panel-tab-button-active,
#tab-historial-pedidos:checked ~ .panel-tab-buttons .panel-tab-button-history{
    background:#2f201a;
    color:#fffaf3;
    border-color:#2f201a;
    box-shadow:0 14px 28px rgba(47, 32, 26, 0.2);
}

#tab-pedidos-activos:checked ~ .panel-tab-buttons .panel-tab-button-active span,
#tab-historial-pedidos:checked ~ .panel-tab-buttons .panel-tab-button-history span{
    background:#c99a6b;
    color:#2f201a;
}

.panel-tab-panel{
    display:none;
}

#tab-pedidos-activos:checked ~ .panel-active-orders,
#tab-historial-pedidos:checked ~ .panel-history-orders{
    display:block;
}

.panel-order-section{
    max-width:1180px;
    margin:0 auto 26px;
}

.panel-section-header{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin:0 0 14px;
}

.panel-section-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.1;
}

.panel-section-header strong{
    flex:0 0 auto;
    padding:9px 12px;
    border-radius:999px;
    background:#2f201a;
    color:#fffaf3;
    font-size:14px;
}

.panel-card{
    display:grid;
    gap:10px;
    padding:12px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    border-radius:16px;
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.panel-card.is-delivered{
    border-color:rgba(45, 95, 37, 0.24);
    background:#fbfff8;
}

.panel-card-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}

.panel-label,
.panel-note span{
    display:block;
    margin-bottom:3px;
    color:#8b6247;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.panel-card h2{
    margin:0;
    color:#2f201a;
    font-size:17px;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.panel-card-summary{
    margin:4px 0 0;
    color:#6b5d55;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
}

.panel-status{
    flex:0 0 auto;
    padding:6px 10px;
    border-radius:999px;
    background:#2f201a;
    color:#fffaf3;
    font-size:12px;
    font-weight:700;
    text-transform:capitalize;
}

.panel-status.status-listo{
    background:#6f4e37;
}

.panel-status.status-entregado{
    background:#2d5f25;
    color:#fff;
}

.panel-status.status-cancelado{
    background:#9b2f22;
    color:#fff;
}

.panel-delivered-notice{
    margin:0;
    padding:8px 10px;
    border-radius:12px;
    background:#e5f4df;
    color:#2d5f25;
    font-size:13px;
    font-weight:700;
    text-align:center;
}

.panel-delivered-notice.is-canceled{
    background:#fff3d8;
    color:#9b2f22;
}

.panel-manual-badge{
    margin:0;
    padding:8px 10px;
    border-radius:12px;
    background:#efe2d1;
    color:#4b2e2e;
    font-size:13px;
    font-weight:700;
    text-align:center;
}

.panel-details{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:7px;
    margin:0;
}

.panel-details div{
    padding:8px 9px;
    border-radius:10px;
    background:#f6efe6;
}

.panel-details div:first-child{
    grid-column:auto;
}

.panel-details dt{
    margin:0 0 2px;
    color:#8b6247;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
}

.panel-details dd{
    margin:0;
    color:#2f201a;
    font-size:14px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.panel-payment-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:3px 8px;
    border-radius:999px;
}

.panel-payment-status.is-pending{
    background:#fff3d8;
    color:#7a4c00;
}

.panel-payment-status.is-paid{
    background:#e5f4df;
    color:#2d5f25;
}

.panel-payment-warning{
    margin:0;
    padding:8px 10px;
    border-radius:12px;
    background:#fff3d8;
    color:#7a4c00;
    font-size:13px;
    font-weight:700;
    text-align:center;
}

.panel-note{
    padding:8px 10px;
    border-radius:12px;
    background:#efe2d1;
}

.panel-note p{
    margin:0;
    color:#4b2e2e;
    font-size:13px;
    line-height:1.3;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.panel-state-form{
    display:grid;
    gap:7px;
}

.panel-state-form > span{
    color:#8b6247;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.panel-state-buttons{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:6px;
}

.panel-state-buttons button{
    width:100%;
    min-height:38px;
    padding:8px 10px;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:12px;
    background:#fff;
    color:#4b2e2e;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 6px 14px rgba(75, 46, 46, 0.05);
}

.panel-state-buttons button.is-active{
    background:#6f4e37;
    color:#fffaf3;
    border-color:#6f4e37;
    box-shadow:0 12px 24px rgba(75, 46, 46, 0.2);
}

.panel-state-buttons button.is-active.is-delivered-action{
    background:#2d5f25;
    border-color:#2d5f25;
}

.panel-state-buttons button:disabled,
.panel-state-buttons button.is-locked{
    background:#efe7dc;
    color:#9a8475;
    border-color:rgba(111, 78, 55, 0.08);
    cursor:not-allowed;
    box-shadow:none;
    opacity:0.72;
}

.panel-payment-form button{
    width:100%;
    min-height:40px;
    padding:9px 12px;
    border:0;
    border-radius:12px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(47, 32, 26, 0.14);
}

.panel-cancel-form button{
    width:100%;
    min-height:40px;
    padding:9px 12px;
    border:0;
    border-radius:12px;
    background:#9b2f22;
    color:#fffaf3;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(155, 47, 34, 0.18);
}

.panel-cancel-form button:hover,
.panel-cancel-form button:focus{
    background:#7d241a;
}

.panel-payment-form button.is-paid{
    background:#efe2d1;
    color:#4b2e2e;
    cursor:default;
    box-shadow:none;
}

.panel-products h3{
    margin:0 0 7px;
    color:#2f201a;
    font-size:15px;
}

.panel-products ul{
    display:grid;
    gap:6px;
    margin:0;
    padding:0;
    list-style:none;
}

.panel-products li{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto auto;
    align-items:center;
    gap:8px;
    padding:8px 9px;
    border-radius:10px;
    background:#fff;
    border:1px solid rgba(111, 78, 55, 0.1);
}

.panel-products strong{
    display:block;
    color:#2f201a;
    font-size:13px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.panel-products span,
.panel-products-empty{
    margin:0;
    color:#6b5d55;
    font-size:12px;
}

.panel-products b{
    flex:0 0 auto;
    color:#6f4e37;
    font-size:13px;
}

.panel-empty{
    max-width:640px;
    margin:0 auto;
    padding:22px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    text-align:center;
}

.panel-empty p{
    margin:0;
    color:#6b5d55;
    font-size:16px;
}

.stock-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
}

.stock-card{
    display:grid;
    gap:15px;
    align-content:start;
    padding:18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.stock-card.is-low{
    background:#fff8df;
    border-color:#d8a920;
}

.stock-card.is-out{
    background:#fff1ee;
    border-color:#c63a2b;
}

.stock-card-header{
    display:grid;
    grid-template-columns:120px minmax(0, 1fr);
    align-items:start;
    gap:14px;
}

.stock-image{
    width:120px;
    height:120px;
    overflow:hidden;
    border-radius:16px;
    background:#c99663;
}

.stock-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.stock-info h2{
    margin:0 0 6px;
    color:#2f201a;
    font-size:21px;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.stock-info p{
    margin:0;
    color:#6b5d55;
    font-size:14px;
}

.stock-status{
    display:inline-flex;
    margin-top:10px;
    padding:6px 10px;
    border-radius:999px;
    background:#e5f4df;
    color:#2d5f25;
    font-size:12px;
    font-weight:700;
}

.stock-card.is-low .stock-status{
    background:#ffd966;
    color:#5e4200;
}

.stock-card.is-out .stock-status{
    background:#c63a2b;
    color:#fff;
}

.stock-details{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin:0;
}

.stock-details div{
    padding:12px;
    border-radius:14px;
    background:#f6efe6;
}

.stock-details div:last-child{
    grid-column:1 / -1;
}

.stock-details dt{
    margin:0 0 4px;
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.stock-details dd{
    margin:0;
    color:#2f201a;
    font-size:16px;
    font-weight:700;
    overflow-wrap:anywhere;
}

.stock-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    min-height:36px;
    padding:6px 12px;
    border-radius:999px;
    background:#efe2d1;
    color:#4b2e2e;
    text-align:center;
    font-size:20px;
    font-weight:700;
}

.stock-card.is-low .stock-count{
    background:#ffd966;
    color:#5e4200;
}

.stock-card.is-out .stock-count{
    background:#c63a2b;
    color:#fff;
}

.stock-controls{
    display:grid;
    gap:10px;
}

.stock-quick-actions,
.stock-manual-form{
    display:grid;
    gap:8px;
}

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

.stock-quick-actions.is-operative{
    grid-template-columns:1fr;
}

.stock-quick-actions button,
.stock-manual-form button{
    width:100%;
    min-height:48px;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:14px;
    background:#fff;
    color:#4b2e2e;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(75, 46, 46, 0.06);
}

.stock-quick-actions button:hover,
.stock-quick-actions button:focus,
.stock-manual-form button:hover,
.stock-manual-form button:focus{
    background:#6f4e37;
    color:#fffaf3;
    border-color:#6f4e37;
    box-shadow:0 12px 24px rgba(75, 46, 46, 0.2);
}

.stock-quick-actions button:disabled,
.stock-quick-actions button:disabled:hover,
.stock-quick-actions button:disabled:focus{
    background:#efe2d1;
    color:#8b6247;
    border-color:rgba(111, 78, 55, 0.14);
    cursor:not-allowed;
    box-shadow:none;
}

.auth-denied-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    padding:24px 18px;
    background:#f6efe6;
}

.auth-denied-card{
    width:100%;
    max-width:520px;
    box-sizing:border-box;
    padding:24px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    text-align:center;
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.auth-denied-card h1{
    margin:0 0 18px;
    color:#2f201a;
    font-size:28px;
    line-height:1.15;
}

.auth-denied-card a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border-radius:14px;
    background:#2f201a;
    color:#fffaf3;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
}

.stock-manual-form{
    grid-template-columns:1fr;
}

.stock-manual-form label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.stock-manual-row{
    display:grid;
    gap:8px;
}

.stock-manual-form input{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
}

.product-admin-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

.manual-order-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

body.manual-order-body .cart-floating-button,
body.manual-order-body .cart-order-bar,
body.manual-order-body .cart-message,
body:has(.manual-order-page) .cart-floating-button,
body:has(.manual-order-page) .cart-order-bar,
body:has(.manual-order-page) .cart-message{
    display:none;
}

.manual-order-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.manual-order-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.manual-order-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.manual-order-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.manual-order-actions{
    display:grid;
    gap:10px;
}

.manual-order-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.manual-order-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.manual-order-message{
    max-width:1180px;
    margin:0 auto 16px;
    padding:14px 16px;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.manual-order-message p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.manual-order-message.is-error{
    background:#fff3d8;
    border-color:rgba(122, 76, 0, 0.2);
}

.manual-order-message.is-error p{
    color:#7a4c00;
}

.manual-order-layout{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto;
}

.manual-product-grid{
    display:grid;
    gap:14px;
}

.manual-product-card{
    display:grid;
    grid-template-columns:86px minmax(0, 1fr);
    gap:12px;
    padding:14px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.manual-product-image{
    width:86px;
    height:86px;
    border-radius:14px;
    overflow:hidden;
    background:#c99663;
}

.manual-product-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.manual-product-info{
    min-width:0;
}

.manual-product-info span{
    display:block;
    margin-bottom:5px;
    color:#8b6247;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.manual-product-info h2{
    margin:0 0 6px;
    color:#2f201a;
    font-size:18px;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.manual-product-info p{
    margin:0;
    color:#6b5d55;
    font-size:14px;
    font-weight:700;
}

.manual-product-controls{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:48px minmax(0, 1fr) 48px;
    gap:8px;
}

.manual-product-controls button,
.manual-product-controls input{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    text-align:center;
}

.manual-product-controls button{
    background:#2f201a;
    color:#fffaf3;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(47, 32, 26, 0.14);
}

.manual-order-summary{
    min-width:0;
}

.manual-summary-card{
    display:grid;
    gap:12px;
    padding:18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.manual-summary-card h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
}

.manual-summary-card label,
.manual-payment-options legend{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.manual-summary-card > input{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
}

.manual-payment-options{
    display:grid;
    gap:10px;
    margin:0;
    padding:0;
    border:0;
}

.manual-payment-options label{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:10px 12px;
    border:1px solid rgba(111, 78, 55, 0.14);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-size:15px;
    font-weight:700;
}

.manual-payment-options input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:#6f4e37;
}

.manual-total-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    border-radius:16px;
    background:#2f201a;
    color:#fffaf3;
}

.manual-total-row span{
    color:#e8c59f;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
}

.manual-total-row strong{
    color:#fffaf3;
    font-size:26px;
    line-height:1.1;
}

.manual-selected-count{
    margin:0;
    color:#6b5d55;
    font-size:14px;
    font-weight:700;
}

.manual-summary-card button[type="submit"]{
    width:100%;
    min-height:52px;
    padding:13px 16px;
    border:0;
    border-radius:16px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.manual-summary-card button[type="submit"]:disabled{
    background:#efe2d1;
    color:#8b6247;
    cursor:not-allowed;
    box-shadow:none;
}

body.product-admin-page-body .cart-floating-button,
body.product-admin-page-body .cart-order-bar,
body.product-admin-page-body .cart-message,
body:has(.product-admin-page) .cart-floating-button,
body:has(.product-admin-page) .cart-order-bar,
body:has(.product-admin-page) .cart-message{
    display:none;
}

body.category-admin-page-body .cart-floating-button,
body.category-admin-page-body .cart-order-bar,
body.category-admin-page-body .cart-message,
body:has(.category-admin-page) .cart-floating-button,
body:has(.category-admin-page) .cart-order-bar,
body:has(.category-admin-page) .cart-message{
    display:none;
}

.category-admin-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

.category-admin-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.category-admin-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.category-admin-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.category-admin-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.category-admin-actions{
    display:grid;
    gap:10px;
}

.category-admin-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.category-admin-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.category-admin-message{
    max-width:1180px;
    margin:0 auto 16px;
    padding:14px 16px;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.category-admin-message p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.category-admin-message.is-success{
    background:#e5f4df;
    border-color:rgba(45, 95, 37, 0.2);
}

.category-admin-message.is-success p{
    color:#2d5f25;
}

.category-admin-message.is-error{
    background:#fff3d8;
    border-color:rgba(122, 76, 0, 0.2);
}

.category-admin-message.is-error p{
    color:#7a4c00;
}

.category-create-panel,
.category-admin-card{
    max-width:1180px;
    margin:0 auto 18px;
    padding:18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.category-create-header{
    margin-bottom:14px;
}

.category-create-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.15;
}

.category-admin-list{
    display:grid;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
}

.category-admin-card{
    margin:0;
}

.category-admin-card.is-inactive{
    background:#f7f0e6;
}

.category-admin-card-head{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
}

.category-admin-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#efe2d1;
    font-size:22px;
}

.category-admin-card-head strong{
    color:#2f201a;
    font-size:20px;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.category-admin-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#e5f4df;
    color:#2d5f25;
    font-size:12px;
    font-weight:700;
}

.category-admin-status.is-inactive{
    background:#fff3d8;
    color:#7a4c00;
}

.category-admin-form{
    display:grid;
    gap:10px;
}

.category-create-form{
    gap:12px;
}

.category-admin-form label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.category-admin-form input,
.category-admin-form select{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
}

.category-admin-fields{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.category-admin-fields div,
.category-create-form div{
    display:grid;
    gap:8px;
}

.category-admin-form button{
    width:100%;
    min-height:48px;
    margin-top:4px;
    padding:12px 14px;
    border:0;
    border-radius:14px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(47, 32, 26, 0.16);
}

@media (min-width: 700px){
    .category-admin-page{
        padding:30px 24px 56px;
    }

    .category-admin-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .category-admin-actions{
        min-width:190px;
    }

    .category-create-panel{
        margin-bottom:24px;
        padding:20px;
    }

    .category-create-form{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        align-items:end;
    }

    .category-create-form button{
        min-height:46px;
        margin-top:0;
    }

    .category-admin-list{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px;
    }
}

@media (min-width: 1100px){
    .category-admin-list{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}

.product-admin-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.product-admin-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.product-admin-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.product-admin-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.product-admin-actions{
    display:grid;
    gap:10px;
}

.product-admin-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.product-admin-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.product-admin-new-link{
    background:#c99a6b;
    color:#2f201a;
}

.product-admin-message{
    max-width:1180px;
    margin:0 auto 16px;
    padding:14px 16px;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.product-admin-message p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.product-admin-message.is-success{
    background:#e5f4df;
    border-color:rgba(45, 95, 37, 0.2);
}

.product-admin-message.is-success p{
    color:#2d5f25;
}

.product-admin-message.is-error{
    background:#fff3d8;
    border-color:rgba(122, 76, 0, 0.2);
}

.product-admin-message.is-error p{
    color:#7a4c00;
}

.product-create-panel{
    max-width:1180px;
    margin:0 auto 20px;
    padding:18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.product-create-header{
    margin-bottom:14px;
}

.product-create-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.15;
}

.product-create-form{
    display:grid;
    gap:14px;
}

.product-create-fields{
    display:grid;
    gap:10px;
}

.product-create-fields div{
    display:grid;
    gap:8px;
}

.product-create-form label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.product-create-form input,
.product-create-form select,
.product-create-form textarea{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
}

.product-create-form textarea{
    resize:vertical;
    line-height:1.35;
}

.product-admin-form input[type="file"],
.product-create-form input[type="file"]{
    padding:10px;
    background:#fffaf3;
}

.product-admin-form input[type="file"]::file-selector-button,
.product-create-form input[type="file"]::file-selector-button{
    margin-right:10px;
    padding:9px 12px;
    border:0;
    border-radius:10px;
    background:#efe2d1;
    color:#4b2e2e;
    font-family:inherit;
    font-weight:700;
    cursor:pointer;
}

.product-create-form button{
    width:100%;
    min-height:50px;
    padding:13px 16px;
    border:0;
    border-radius:16px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.product-admin-grid{
    display:grid;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
}

.product-admin-card{
    overflow:hidden;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.product-admin-card.is-inactive{
    background:#f7f0e6;
}

.product-admin-image{
    width:100%;
    height:190px;
    background:#c99663;
}

.product-admin-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.product-admin-form{
    display:grid;
    gap:9px;
    padding:16px;
}

.product-admin-card-title{
    display:flex;
    justify-content:flex-end;
}

.product-admin-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#e5f4df;
    color:#2d5f25;
    font-size:12px;
    font-weight:700;
}

.product-admin-status.is-inactive{
    background:#fff3d8;
    color:#7a4c00;
}

.product-admin-form label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.product-admin-form input,
.product-admin-form select{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
}

.product-admin-fields{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}

.product-admin-fields div{
    display:grid;
    gap:9px;
}

.product-admin-form button{
    width:100%;
    min-height:48px;
    margin-top:4px;
    padding:12px 14px;
    border:0;
    border-radius:14px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(47, 32, 26, 0.16);
}

@media (min-width: 700px){
    .panel-page{
        padding:30px 24px 56px;
    }

    .panel-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .panel-action{
        min-width:150px;
    }

    .panel-header-actions{
        min-width:180px;
    }

    .panel-dashboard{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:16px;
        margin-bottom:24px;
    }

    .panel-metric.is-featured{
        grid-column:span 2;
    }

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

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

    .panel-state-buttons{
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    .panel-tab-buttons{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

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

    .stock-card-header{
        grid-template-columns:1fr;
    }

    .stock-image{
        width:120px;
        height:120px;
    }

    .product-admin-page{
        padding:30px 24px 56px;
    }

    .manual-order-page{
        padding:30px 24px 56px;
    }

    .manual-order-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .manual-order-actions{
        min-width:190px;
    }

    .manual-order-layout{
        grid-template-columns:minmax(0, 1fr) 340px;
        align-items:start;
        gap:20px;
    }

    .manual-product-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:16px;
    }

    .manual-order-summary{
        position:sticky;
        top:18px;
    }

    .product-admin-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .product-admin-actions{
        min-width:190px;
    }

    .product-create-panel{
        margin-bottom:24px;
        padding:20px;
    }

    .product-create-fields{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
    }

    .product-create-wide{
        grid-column:1 / -1;
    }

    .product-create-form button{
        justify-self:start;
        width:auto;
        min-width:180px;
    }

    .product-admin-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px;
    }

    .product-admin-image{
        height:210px;
    }
}

@media (min-width: 1100px){
    .panel-dashboard{
        grid-template-columns:repeat(7, minmax(0, 1fr));
    }

    .panel-metric.is-featured{
        grid-column:span 2;
    }

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

    .panel-card{
        padding:14px;
    }

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

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

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

@media (min-width: 1320px){
    .stock-grid{
        max-width:1320px;
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }

    .product-admin-grid{
        max-width:1320px;
        grid-template-columns:repeat(4, minmax(0, 1fr));
    }
}

.cash-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

body.cash-closing .cart-floating-button,
body.cash-closing .cart-order-bar,
body.cash-closing .cart-message,
body:has(.cash-page) .cart-floating-button,
body:has(.cash-page) .cart-order-bar,
body:has(.cash-page) .cart-message{
    display:none;
}

.cash-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.cash-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.cash-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.cash-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.cash-header-actions{
    display:grid;
    gap:10px;
}

.cash-date{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 14px;
    border-radius:14px;
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    font-size:14px;
    font-weight:700;
    border:1px solid rgba(255, 250, 243, 0.2);
}

.cash-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.cash-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.cash-filter{
    max-width:1180px;
    margin:0 auto 18px;
    padding:16px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.cash-filter form{
    display:grid;
    gap:10px;
}

.cash-filter label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.cash-filter-row{
    display:grid;
    gap:10px;
}

.cash-filter input{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:12px 14px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:16px;
    font-weight:700;
}

.cash-filter button{
    width:100%;
    min-height:48px;
    padding:12px 16px;
    border:0;
    border-radius:14px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(47, 32, 26, 0.16);
}

.cash-summary{
    display:grid;
    gap:12px;
    max-width:1180px;
    margin:0 auto 22px;
}

.cash-card{
    display:grid;
    align-content:start;
    min-height:98px;
    padding:16px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 12px 28px rgba(75, 46, 46, 0.08);
}

.cash-card.is-featured{
    background:#2f201a;
    color:#fffaf3;
}

.cash-card span{
    display:block;
    margin-bottom:8px;
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.cash-card.is-featured span{
    color:#e8c59f;
}

.cash-card strong{
    display:block;
    color:#2f201a;
    font-size:26px;
    line-height:1.1;
    overflow-wrap:anywhere;
}

.cash-card.is-featured strong{
    color:#fffaf3;
}

.cash-card small{
    display:block;
    margin-top:8px;
    color:#6b5d55;
    font-size:13px;
    font-weight:700;
    line-height:1.35;
}

.cash-best-card{
    background:#fffaf3;
    border-color:rgba(111, 78, 55, 0.18);
}

.cash-products{
    max-width:1180px;
    margin:0 auto;
}

.cash-section-header{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin:0 0 14px;
}

.cash-section-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.1;
}

.cash-section-header strong{
    flex:0 0 auto;
    padding:9px 12px;
    border-radius:999px;
    background:#2f201a;
    color:#fffaf3;
    font-size:14px;
}

.cash-product-list{
    display:grid;
    gap:10px;
}

.cash-product-row{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    gap:12px;
    align-items:center;
    padding:14px;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.cash-product-name{
    min-width:0;
}

.cash-product-name small,
.cash-product-quantity small,
.cash-product-total small{
    display:block;
    margin-bottom:4px;
    color:#8b6247;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}

.cash-product-name strong{
    display:block;
    color:#2f201a;
    font-size:16px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.cash-product-quantity{
    justify-self:end;
    text-align:right;
}

.cash-product-quantity span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    min-height:30px;
    padding:4px 10px;
    border-radius:999px;
    background:#efe2d1;
    color:#6f4e37;
    font-size:14px;
    font-weight:700;
}

.cash-product-total{
    grid-column:1 / -1;
    padding:10px 12px;
    border-radius:12px;
    background:#f6efe6;
}

.cash-product-total b{
    display:block;
    color:#2f201a;
    font-size:18px;
    line-height:1.15;
}

.cash-product-head{
    display:none;
}

.cash-empty{
    max-width:640px;
    margin:0 auto;
    padding:22px;
    border-radius:18px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    text-align:center;
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.cash-empty p{
    margin:0;
    color:#6b5d55;
    font-size:16px;
}

@media (min-width: 700px){
    .cash-page{
        padding:30px 24px 56px;
    }

    .cash-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .cash-header-actions{
        min-width:180px;
    }

    .cash-action{
        min-width:150px;
    }

    .cash-filter{
        margin-bottom:24px;
        padding:18px;
    }

    .cash-filter form{
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:end;
        gap:14px;
    }

    .cash-filter label{
        grid-column:1 / -1;
    }

    .cash-filter-row{
        grid-column:1 / -1;
        grid-template-columns:minmax(0, 1fr) 160px;
    }

    .cash-summary{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:16px;
        margin-bottom:24px;
    }

    .cash-card.is-featured{
        grid-column:span 2;
    }

    .cash-product-list{
        gap:0;
        overflow:hidden;
        border-radius:18px;
        border:1px solid rgba(111, 78, 55, 0.12);
        background:#fffaf3;
        box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
    }

    .cash-product-row,
    .cash-product-head{
        display:grid;
        grid-template-columns:minmax(0, 1fr) 140px 180px;
        gap:14px;
        padding:14px 16px;
        border:0;
        border-radius:0;
        box-shadow:none;
        border-bottom:1px solid rgba(111, 78, 55, 0.1);
    }

    .cash-product-row:last-child{
        border-bottom:0;
    }

    .cash-product-head{
        background:#2f201a;
        color:#fffaf3;
    }

    .cash-product-head span{
        display:block;
        justify-self:start;
        padding:0;
        background:transparent;
        color:#e8c59f;
        font-size:12px;
        font-weight:700;
        text-transform:uppercase;
    }

    .cash-product-name small,
    .cash-product-quantity small,
    .cash-product-total small{
        display:none;
    }

    .cash-product-quantity{
        justify-self:start;
        text-align:left;
    }

    .cash-product-total{
        grid-column:auto;
        padding:0;
        background:transparent;
    }

    .cash-product-total b{
        font-size:16px;
    }
}

@media (min-width: 1100px){
    .cash-summary{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

    .cash-card.is-featured{
        grid-column:auto;
    }
}

body.promotion-admin-page-body .cart-floating-button,
body.promotion-admin-page-body .cart-order-bar,
body.promotion-admin-page-body .cart-message,
body:has(.promotion-admin-page) .cart-floating-button,
body:has(.promotion-admin-page) .cart-order-bar,
body:has(.promotion-admin-page) .cart-message{
    display:none;
}

.promotion-admin-page{
    min-height:100vh;
    padding:22px 16px 48px;
    background:#f6efe6;
}

.promotion-admin-header{
    display:grid;
    gap:18px;
    max-width:1180px;
    margin:0 auto 20px;
    padding:22px;
    border-radius:22px;
    background:linear-gradient(135deg, #2f201a 0%, #6f4e37 72%, #c99a6b 100%);
    color:#fffaf3;
    box-shadow:0 18px 36px rgba(75, 46, 46, 0.18);
}

.promotion-admin-eyebrow{
    margin:0 0 6px;
    color:#e8c59f !important;
    font-size:13px !important;
    font-weight:700;
    text-transform:uppercase;
}

.promotion-admin-header h1{
    margin:0 0 8px;
    color:inherit;
    font-size:34px;
    line-height:1.1;
}

.promotion-admin-header p{
    margin:0;
    color:#f5e6d6;
    font-size:16px;
}

.promotion-admin-actions{
    display:grid;
    gap:10px;
}

.promotion-admin-action{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 18px;
    border-radius:16px;
    background:#fffaf3;
    color:#4b2e2e;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    box-shadow:0 12px 26px rgba(47, 32, 26, 0.18);
}

.promotion-admin-action-secondary{
    background:rgba(255, 250, 243, 0.14);
    color:#fffaf3;
    border:1px solid rgba(255, 250, 243, 0.22);
}

.promotion-admin-message{
    max-width:1180px;
    margin:0 auto 16px;
    padding:14px 16px;
    border-radius:16px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 10px 24px rgba(75, 46, 46, 0.08);
}

.promotion-admin-message p{
    margin:0;
    color:#6b5d55;
    font-size:15px;
    font-weight:700;
}

.promotion-admin-message.is-success{
    background:#e5f4df;
    border-color:rgba(45, 95, 37, 0.2);
}

.promotion-admin-message.is-success p{
    color:#2d5f25;
}

.promotion-admin-message.is-error{
    background:#fff3d8;
    border-color:rgba(122, 76, 0, 0.2);
}

.promotion-admin-message.is-error p{
    color:#7a4c00;
}

.promotion-create-panel,
.promotion-admin-card,
.promotion-empty-card{
    max-width:1180px;
    margin:0 auto 18px;
    border-radius:20px;
    background:#fffaf3;
    border:1px solid rgba(111, 78, 55, 0.12);
    box-shadow:0 14px 34px rgba(75, 46, 46, 0.1);
}

.promotion-create-panel{
    padding:18px;
}

.promotion-create-header{
    margin-bottom:14px;
}

.promotion-create-header h2{
    margin:0;
    color:#2f201a;
    font-size:24px;
    line-height:1.15;
}

.promotion-admin-list{
    display:grid;
    gap:16px;
    max-width:1180px;
    margin:0 auto;
}

.promotion-admin-card{
    overflow:hidden;
    margin:0;
}

.promotion-admin-card.is-inactive{
    background:#f7f0e6;
}

.promotion-empty-card{
    padding:22px;
    text-align:center;
}

.promotion-empty-card p{
    margin:0;
    color:#6b5d55;
    font-size:16px;
    font-weight:700;
}

.promotion-admin-image{
    width:100%;
    height:176px;
    background:#c99663;
}

.promotion-admin-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.promotion-admin-card-head{
    display:grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:start;
    gap:10px;
}

.promotion-admin-card-head strong{
    display:block;
    color:#2f201a;
    font-size:20px;
    line-height:1.15;
    overflow-wrap:anywhere;
}

.promotion-admin-card-head small{
    display:block;
    margin-top:5px;
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
}

.promotion-admin-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    background:#e5f4df;
    color:#2d5f25;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}

.promotion-admin-status.is-inactive{
    background:#fff3d8;
    color:#7a4c00;
}

.promotion-admin-form,
.promotion-delete-form{
    display:grid;
    gap:10px;
    padding:16px;
}

.promotion-create-form{
    padding:0;
}

.promotion-create-fields,
.promotion-admin-fields{
    display:grid;
    gap:10px;
}

.promotion-create-fields div,
.promotion-admin-fields div,
.promotion-admin-form > div{
    display:grid;
    gap:8px;
}

.promotion-admin-form label{
    color:#8b6247;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}

.promotion-admin-form input,
.promotion-admin-form select,
.promotion-admin-form textarea{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid rgba(111, 78, 55, 0.18);
    border-radius:14px;
    background:#fff;
    color:#2f201a;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
}

.promotion-admin-form textarea{
    resize:vertical;
    line-height:1.35;
}

.promotion-admin-form input[type="file"]{
    padding:10px;
    background:#fffaf3;
}

.promotion-admin-form input[type="file"]::file-selector-button{
    margin-right:10px;
    padding:9px 12px;
    border:0;
    border-radius:10px;
    background:#efe2d1;
    color:#4b2e2e;
    font-family:inherit;
    font-weight:700;
    cursor:pointer;
}

.promotion-admin-form button,
.promotion-delete-form button{
    width:100%;
    min-height:48px;
    margin-top:4px;
    padding:12px 14px;
    border:0;
    border-radius:14px;
    background:#2f201a;
    color:#fffaf3;
    font-family:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(47, 32, 26, 0.16);
}

.promotion-delete-form{
    padding-top:0;
}

.promotion-delete-form button{
    background:#fff3d8;
    color:#7a4c00;
    box-shadow:none;
}

.landing-promotions{
    width:min(760px, calc(100vw - 36px));
    margin:24px auto 18px;
    overflow:hidden;
}

.landing-promotions-track{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    padding:2px 2px 12px;
    -webkit-overflow-scrolling:touch;
}

.landing-promotions-track::-webkit-scrollbar,
.menu-daily-promotion-list::-webkit-scrollbar{
    height:0;
}

.landing-promotion-card{
    display:grid;
    grid-template-columns:76px minmax(0, 1fr);
    flex:0 0 88%;
    gap:12px;
    align-items:center;
    min-height:124px;
    padding:12px;
    border:1px solid rgba(242, 205, 161, 0.22);
    border-radius:16px;
    background:rgba(38, 28, 22, 0.46);
    color:#fff8ef;
    text-align:left;
    box-shadow:0 12px 26px rgba(0, 0, 0, 0.14);
    backdrop-filter:blur(12px);
    scroll-snap-align:center;
}

.landing-promotion-card.without-image{
    grid-template-columns:1fr;
}

.landing-promotion-card img{
    width:76px;
    height:76px;
    border-radius:12px;
    object-fit:cover;
}

.landing-promotion-card span{
    display:none;
    margin:0 0 5px;
    color:#ead0a8;
    font-size:10px;
    font-weight:850;
    line-height:1.2;
    text-transform:uppercase;
}

.landing-promotion-card .promotion-meta{
    display:block;
}

.landing-promotion-card h2{
    margin:0 0 5px;
    color:#fff6ea;
    font-size:17px;
    line-height:1.16;
    font-weight:760;
}

.landing-promotion-card p{
    margin:0;
    color:#f2dfc8;
    font-size:13px;
    line-height:1.35;
}

.landing-promotion-card strong{
    display:inline-flex;
    margin-top:8px;
    color:#2d221b;
    border-radius:999px;
    background:#f1d3a7;
    padding:5px 9px;
    font-size:12px;
    line-height:1;
}

.promotion-scroll-hint{
    margin:0;
    color:#e8cfad;
    font-size:11px;
    font-weight:720;
    letter-spacing:0.06em;
    line-height:1.3;
    text-align:center;
    text-transform:uppercase;
}

.menu-promotion-scroll-hint{
    color:#8b6247;
}

.menu-daily-promotions{
    display:grid;
    gap:16px;
    padding:24px 16px 18px;
}

.menu-daily-promotions-header{
    border-bottom:1px solid rgba(91, 58, 41, 0.16);
    padding-bottom:12px;
}

.menu-daily-promotions-header p{
    margin:0 0 6px;
    color:#9A714F;
    font-size:11px;
    letter-spacing:0.08em;
    font-weight:800;
    text-transform:uppercase;
}

.menu-daily-promotions-header h2{
    margin:0;
    color:#2F241F;
    font-family:Georgia, "Times New Roman", serif;
    font-size:28px;
    line-height:1.08;
}

.menu-daily-promotion-list{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:2px;
    padding:2px 2px 12px;
    -webkit-overflow-scrolling:touch;
}

.menu-daily-promotion-card{
    display:grid;
    grid-template-columns:92px minmax(0, 1fr);
    flex:0 0 88%;
    gap:12px;
    align-items:center;
    min-height:132px;
    padding:12px;
    border:1px solid rgba(91, 58, 41, 0.12);
    border-radius:18px;
    background:#fffaf3;
    box-shadow:0 12px 26px rgba(91, 58, 41, 0.08);
    scroll-snap-align:center;
}

.menu-daily-promotion-card.without-image{
    grid-template-columns:1fr;
}

.menu-daily-promotion-card img{
    width:92px;
    height:92px;
    border-radius:14px;
    object-fit:cover;
    background:#c99663;
}

.menu-daily-promotion-card h3{
    margin:0 0 6px;
    color:#2F241F;
    font-size:18px;
    line-height:1.15;
}

.menu-daily-promotion-card span{
    display:block;
    margin:0 0 6px;
    color:#9A714F;
    font-size:10px;
    font-weight:850;
    line-height:1.2;
    text-transform:uppercase;
}

.menu-daily-promotion-card p{
    margin:0;
    color:#6B5A50;
    font-size:14px;
    line-height:1.36;
}

.menu-daily-promotion-card strong{
    display:inline-flex;
    margin-top:10px;
    padding:7px 11px;
    border-radius:999px;
    background:#5B3A29;
    color:#FFF8EF;
    font-size:14px;
    line-height:1;
}

@media (min-width: 700px){
    .promotion-admin-page{
        padding:30px 24px 56px;
    }

    .promotion-admin-header{
        grid-template-columns:1fr auto;
        align-items:end;
        margin-bottom:24px;
    }

    .promotion-admin-actions{
        min-width:190px;
    }

    .promotion-create-panel{
        margin-bottom:24px;
        padding:20px;
    }

    .promotion-create-fields{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:12px;
    }

    .promotion-create-wide{
        grid-column:1 / -1;
    }

    .promotion-create-form button{
        justify-self:start;
        width:auto;
        min-width:180px;
    }

    .promotion-admin-list{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:18px;
    }

    .promotion-admin-fields{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .promotion-admin-image{
        height:190px;
    }

    .landing-promotions{
        width:min(900px, 100%);
        margin-top:20px;
        margin-bottom:12px;
    }

    .landing-promotions-track{
        gap:18px;
        padding-bottom:10px;
    }

    .landing-promotions-track:has(.landing-promotion-card:only-child),
    .landing-promotions-track:has(.landing-promotion-card:nth-child(2):last-child){
        justify-content:center;
    }

    .landing-promotion-card{
        flex-basis:280px;
        scroll-snap-align:start;
    }

    .menu-daily-promotion-list{
        gap:16px;
    }

    .menu-daily-promotion-card{
        flex-basis:340px;
        scroll-snap-align:start;
    }

    .promotion-scroll-hint{
        display:none;
    }
}

@media (min-width: 1100px){
    .promotion-admin-list{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}
