:root{
    --rph-bg:#fbfaf7;
    --rph-surface:#ffffff;
    --rph-text:#251513;
    --rph-muted:#70635f;
    --rph-accent:#990d0d;
    --rph-accent-dark:#7e0808;
    --rph-gold:#f3c05c;
    --rph-border:#e9e2dc;
    --rph-soft:#f7f1ea;
    --rph-shadow:0 22px 60px rgba(55, 25, 18, .12);
}

html, body{
    color:var(--rph-text);
    font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.rph-topbar,
.rph-header,
.rph-mobile-panel,
.rph-overlay{
    box-sizing:border-box;
}

.rph-topbar *,
.rph-header *,
.rph-mobile-panel *,
.rph-overlay *{
    box-sizing:border-box;
}

.rph-topbar{
    width:100%;
    background:linear-gradient(90deg, #860707 0%, #a20f0f 48%, #830606 100%);
    color:#fff8ee;
    font-size:14px;
    font-weight:600;
    line-height:1.25;
    padding:9px 18px;
}

.rph-topbar-inner{
    width:min(100%, 1560px);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.rph-topbar-inner span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:0;
    flex:0 0 auto;
    white-space:nowrap;
}

.rph-topbar-inner span:first-child{
    margin-right:auto;
}

.rph-topbar-inner svg{
    width:16px;
    height:16px;
    color:var(--rph-gold);
    stroke-width:2.2;
    flex:none;
}

.rph-header{
    position:relative;
    z-index:999;
    width:100%;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(233,226,220,.78);
    box-shadow:0 10px 35px rgba(40, 20, 14, .04);
    backdrop-filter:saturate(150%) blur(14px);
    -webkit-backdrop-filter:saturate(150%) blur(14px);
}

.rph-header-inner{
    width:min(100%, 1560px);
    min-height:96px;
    margin:0 auto;
    padding:12px 30px;
    display:grid;
    grid-template-columns:280px minmax(420px, 1fr) minmax(360px, auto);
    align-items:center;
    gap:26px;
}

.rph-left{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.rph-header .rph-mobile-toggle{
    position:relative;
    display:none;
    align-items:center;
    justify-content:center;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(153,13,13,.14) !important;
    border-radius:14px !important;
    background:linear-gradient(180deg, #ffffff 0%, #fbf6ef 100%) !important;
    color:var(--rph-text) !important;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(55,25,18,.08) !important;
    appearance:none;
    -webkit-appearance:none;
    transition:background .18s ease, border-color .18s ease, color .18s ease;
}

.rph-header .rph-mobile-toggle:hover,
.rph-header .rph-mobile-toggle:focus-visible{
    background:linear-gradient(180deg, #fffaf4 0%, #f7ede3 100%) !important;
    border-color:rgba(153,13,13,.28) !important;
    color:var(--rph-accent) !important;
    box-shadow:0 12px 30px rgba(153,13,13,.12) !important;
    outline:none;
}

.rph-header .rph-mobile-toggle::before,
.rph-header .rph-hamburger-lines{
    content:"";
    display:block;
    position:relative;
    width:22px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    box-shadow:none;
    pointer-events:none;
    transform:translateY(-3px);
}

.rph-header .rph-hamburger-lines::after{
    content:"";
    position:absolute;
    top:8px;
    right:0;
    width:13px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}

.rph-header .rph-mobile-toggle::before{
    display:none;
}

.rph-header .rph-mobile-toggle svg{
    display:none !important;
}

.rph-logo{
    display:flex;
    align-items:center;
    min-width:0;
}

.rph-logo .custom-logo-link{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
}

.rph-logo img{
    display:block;
    width:auto;
    max-width:190px;
    max-height:104px;
    object-fit:contain;
}

.rph-fallback-brand{
    display:flex;
    flex-direction:column;
    gap:4px;
    color:var(--rph-text);
    line-height:1.05;
    text-decoration:none;
}

.rph-fallback-title{
    color:var(--rph-accent);
    font-size:25px;
    font-weight:800;
    letter-spacing:0;
}

.rph-fallback-tag{
    color:var(--rph-muted);
    font-size:12px;
    font-weight:600;
}

.rph-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
}

.rph-menu-list{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:36px;
}

.rph-menu-list li{
    position:relative;
    margin:0;
    padding:0;
}

.rph-menu-list a{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:42px;
    color:#27201e;
    font-size:16px;
    font-weight:500;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:color .18s ease;
}

.rph-menu-list a::after{
    content:"";
    position:absolute;
    left:0;
    right:auto;
    bottom:2px;
    width:0;
    height:2px;
    border-radius:999px;
    background:var(--rph-accent);
    transition:width .2s ease;
}

.rph-menu-list a:hover,
.rph-menu-list a:focus-visible,
.rph-menu-list .current-menu-item > a,
.rph-menu-list .current_page_item > a,
.rph-menu-list .current-menu-ancestor > a{
    color:var(--rph-accent);
    outline:none;
}

.rph-menu-list a:hover::after,
.rph-menu-list a:focus-visible::after,
.rph-menu-list .current-menu-item > a::after,
.rph-menu-list .current_page_item > a::after,
.rph-menu-list .current-menu-ancestor > a::after{
    width:100%;
}

.rph-menu-list .sub-menu{
    position:absolute;
    top:100%;
    left:-18px;
    min-width:210px;
    margin:0;
    padding:10px;
    list-style:none;
    background:#fff;
    border:1px solid var(--rph-border);
    border-radius:14px;
    box-shadow:var(--rph-shadow);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.rph-menu-list li:hover > .sub-menu,
.rph-menu-list li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.rph-menu-list .sub-menu a{
    width:100%;
    min-height:0;
    padding:11px 12px;
    border-radius:10px;
    font-size:14px;
    line-height:1.25;
}

.rph-menu-list .sub-menu a::after{
    display:none;
}

.rph-menu-list .sub-menu a:hover,
.rph-menu-list .sub-menu a:focus-visible{
    background:var(--rph-soft);
}

.rph-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    min-width:0;
}

.rph-search{
    position:relative;
    width:min(480px, 34vw);
    min-width:280px;
}

.rph-search-field{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:54px;
    padding:0 16px 0 22px;
    background:#fff;
    border:1px solid #dedbd6;
    border-radius:999px;
    box-shadow:0 12px 34px rgba(35, 20, 14, .045);
    transition:border-color .18s ease, box-shadow .18s ease;
}

.rph-search-field:focus-within{
    border-color:rgba(153,13,13,.34);
    box-shadow:0 16px 42px rgba(153,13,13,.09);
}

.rph-search-field svg{
    width:20px;
    height:20px;
    color:#4d4541;
    stroke-width:2;
    flex:none;
}

.rph-search-input{
    width:100%;
    min-width:0;
    border:0 !important;
    outline:none !important;
    background:transparent;
    box-shadow:none !important;
    color:var(--rph-text);
    font:inherit;
    font-size:15px;
    font-weight:500;
    padding:0 !important;
}

.rph-search-input::placeholder{
    color:#847b76;
    opacity:1;
}

.rph-search-clear{
    display:none;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    padding:0;
    border:0;
    border-radius:999px;
    background:var(--rph-soft);
    color:var(--rph-muted);
    cursor:pointer;
}

.rph-search-clear:hover,
.rph-search-clear:focus-visible{
    color:var(--rph-accent);
    outline:none;
}

.rph-search-results{
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    right:0;
    display:none;
    max-height:460px;
    overflow:auto;
    background:#fff;
    border:1px solid var(--rph-border);
    border-radius:18px;
    box-shadow:var(--rph-shadow);
}

.rph-search-results.is-open{
    display:block;
}

.rph-search-item{
    display:grid;
    grid-template-columns:58px 1fr;
    align-items:center;
    gap:14px;
    padding:12px 14px;
    color:inherit;
    text-decoration:none;
    border-bottom:1px solid #f1ebe5;
    transition:background .18s ease;
}

.rph-search-item:last-child{
    border-bottom:0;
}

.rph-search-item:hover,
.rph-search-item:focus-visible{
    background:#fbf6f0;
    outline:none;
}

.rph-search-item img{
    width:58px;
    height:58px;
    display:block;
    object-fit:cover;
    border-radius:12px;
    background:var(--rph-soft);
}

.rph-search-meta{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:5px;
}

.rph-search-title{
    overflow:hidden;
    color:var(--rph-text);
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.rph-search-price{
    color:var(--rph-accent);
    font-size:13px;
    font-weight:700;
}

.rph-search-empty,
.rph-search-loading{
    padding:18px 16px;
    color:var(--rph-muted);
    font-size:14px;
    font-weight:500;
}

.rph-icon-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#28211f;
    text-decoration:none;
    transition:background .18s ease, color .18s ease;
}

.rph-icon-btn:hover,
.rph-icon-btn:focus-visible{
    background:var(--rph-soft);
    color:var(--rph-accent);
    outline:none;
}

.rph-icon-btn svg{
    width:25px;
    height:25px;
    stroke-width:1.8;
}

.rph-cart-count{
    position:absolute;
    top:4px;
    right:4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border:2px solid #fff;
    border-radius:999px;
    background:var(--rph-accent);
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-shadow:0 8px 18px rgba(153,13,13,.24);
    z-index:1;
}

.rph-mobile-panel{
    position:fixed;
    top:0;
    left:0;
    z-index:1000002;
    display:flex;
    flex-direction:column;
    width:min(88vw, 390px);
    height:100vh;
    padding:18px;
    background:#fff;
    box-shadow:34px 0 80px rgba(35, 20, 14, .18);
    transform:translateX(-105%);
    transition:transform .3s cubic-bezier(.2,.8,.2,1);
}

.rph-mobile-panel.is-open{
    transform:translateX(0);
}

.rph-mobile-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
    padding-bottom:14px;
    border-bottom:1px solid var(--rph-border);
    color:var(--rph-text);
    font-size:18px;
    font-weight:800;
}

.rph-mobile-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid var(--rph-border);
    border-radius:999px;
    background:#fff;
    color:var(--rph-text);
    cursor:pointer;
}

.rph-mobile-close:hover,
.rph-mobile-close:focus-visible{
    background:var(--rph-soft);
    color:var(--rph-accent);
    outline:none;
}

.rph-mobile-search{
    margin-bottom:18px;
}

.rph-mobile-search:empty{
    display:none;
}

.rph-mobile-search .rph-search{
    display:block;
    width:100%;
    min-width:0;
}

.rph-mobile-search .rph-search-field{
    min-height:50px;
}

.rph-mobile-search .rph-search-results{
    position:static;
    margin-top:12px;
    max-height:42vh;
    border-radius:16px;
    box-shadow:0 14px 42px rgba(55, 25, 18, .1);
}

.rph-mobile-menu{
    overflow:auto;
    padding:4px 0 18px;
}

.rph-mobile-menu .rph-menu-list{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:4px;
}

.rph-mobile-menu .rph-menu-list a{
    width:100%;
    min-height:48px;
    padding:0 8px;
    border-radius:12px;
    font-size:16px;
    justify-content:flex-start;
}

.rph-mobile-menu .rph-menu-list a::after{
    display:none;
}

.rph-mobile-menu .rph-menu-list a:hover,
.rph-mobile-menu .rph-menu-list a:focus-visible,
.rph-mobile-menu .rph-menu-list .current-menu-item > a,
.rph-mobile-menu .rph-menu-list .current_page_item > a{
    background:var(--rph-soft);
}

.rph-mobile-menu .rph-menu-list .sub-menu{
    position:static;
    display:block;
    visibility:visible;
    opacity:1;
    transform:none;
    min-width:0;
    padding:0 0 0 14px;
    border:0;
    box-shadow:none;
    background:transparent;
}

.rph-mobile-meta{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:auto;
    padding-top:16px;
    border-top:1px solid var(--rph-border);
}

.rph-mobile-meta a{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:0 10px;
    border-radius:12px;
    color:var(--rph-text);
    font-weight:700;
    text-decoration:none;
}

.rph-mobile-meta .rph-cart-count{
    position:static;
    min-width:24px;
    height:24px;
    margin-left:auto;
    border:0;
    box-shadow:none;
    font-size:12px;
}

.rph-mobile-meta a:hover,
.rph-mobile-meta a:focus-visible{
    background:var(--rph-soft);
    color:var(--rph-accent);
    outline:none;
}

.rph-overlay{
    position:fixed;
    inset:0;
    z-index:1000001;
    background:rgba(35, 18, 14, .34);
    opacity:0;
    backdrop-filter:blur(2px);
    transition:opacity .2s ease;
}

.rph-overlay.is-open{
    opacity:1;
}

body.rph-mobile-open{
    overflow:hidden;
}

body.rph-mobile-open .rph-header-inner .rph-actions{
    opacity:0;
    pointer-events:none;
}

.rph-pop{
    animation:rph-pop .24s ease-out both;
}

@keyframes rph-pop{
    from{ transform:translateY(6px); opacity:0; }
    to{ transform:translateY(0); opacity:1; }
}

@media (max-width: 1320px){
    .rph-header-inner{
        grid-template-columns:220px minmax(360px, 1fr) minmax(330px, auto);
        gap:20px;
    }

    .rph-logo img{
        max-width:168px;
    }

    .rph-menu-list{
        gap:26px;
    }

    .rph-search{
        width:min(420px, 33vw);
    }
}

@media (max-width: 1120px){
    .rph-header-inner{
        grid-template-columns:1fr auto;
        min-height:82px;
        padding:12px 20px;
    }

    .rph-nav{
        display:none;
    }

    .rph-header .rph-mobile-toggle{
        display:inline-flex !important;
    }

    .rph-left{
        min-width:0;
    }

    .rph-logo img{
        max-height:76px;
        max-width:150px;
    }

    .rph-search{
        width:min(380px, 42vw);
        min-width:260px;
    }
}

@media (max-width: 840px){
    .rph-topbar{
        padding:7px 12px;
        font-size:11px;
        line-height:1.15;
    }

    .rph-topbar-inner{
        display:grid;
        grid-template-columns:.85fr 1fr 1.25fr;
        justify-content:stretch;
        gap:10px;
        overflow:hidden;
    }

    .rph-topbar-inner span:first-child{
        display:none;
    }

    .rph-topbar-inner span:nth-child(n+2){
        display:inline-flex;
        width:100%;
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .rph-topbar-inner span:nth-child(2){
        justify-content:flex-start;
        text-align:left;
    }

    .rph-topbar-inner span:nth-child(3){
        justify-content:center;
        text-align:center;
    }

    .rph-topbar-inner span:nth-child(4){
        justify-content:flex-end;
        text-align:right;
    }

    .rph-topbar-inner svg{
        width:13px;
        height:13px;
    }

    .rph-header-inner{
        gap:12px;
        min-height:76px;
        padding:10px 14px;
    }

    .rph-actions > .rph-search{
        display:none;
    }

    .rph-logo img{
        max-height:64px;
        max-width:132px;
    }

    .rph-icon-btn{
        width:42px;
        height:42px;
        flex-basis:42px;
    }

    .rph-icon-btn svg{
        width:23px;
        height:23px;
    }
}

@media (max-width: 520px){
    .rph-topbar{
        font-size:10px;
        padding:7px 8px;
    }

    .rph-topbar-inner{
        grid-template-columns:.8fr 1fr 1.35fr;
        gap:6px;
    }

    .rph-topbar-inner span{
        gap:5px;
    }

    .rph-topbar-inner svg{
        width:12px;
        height:12px;
    }

    .rph-header-inner{
        grid-template-columns:minmax(0, 1fr) auto;
        padding:9px 12px;
    }

    .rph-left{
        gap:10px;
    }

    .rph-header .rph-mobile-toggle,
    .rph-icon-btn{
        width:38px !important;
        min-width:38px !important;
        max-width:38px !important;
        height:38px !important;
        min-height:38px !important;
        max-height:38px !important;
        flex-basis:38px;
    }

    .rph-actions{
        gap:4px;
    }

    .rph-logo img{
        max-height:58px;
        max-width:118px;
    }

    .rph-cart-count{
        top:1px;
        right:1px;
        min-width:18px;
        height:18px;
        font-size:10px;
    }

    .rph-mobile-panel{
        width:92vw;
        padding:16px;
    }
}
