/* ============================================
   BRO24 — Friendly Bro Style
   Тёплый, дружелюбный, приятный взгляду дизайн
   ============================================ */

/* === CSS Reset === */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, main,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
select, input, textarea {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* === CSS Variables — Bro Palette === */
:root {
    --bro-primary: #ff6b35;
    --bro-primary-dark: #e55a28;
    --bro-primary-light: #ff8c5a;
    --bro-accent: #00b4d8;
    --bro-accent-dark: #0096b7;
    --bro-dark: #1a1a2e;
    --bro-dark-lighter: #16213e;
    --bro-surface: #ffffff;
    --bro-bg: #f4f6f9;
    --bro-text: #2b2d42;
    --bro-text-light: #8d99ae;
    --bro-text-muted: #a0aec0;
    --bro-success: #06d6a0;
    --bro-success-dark: #05b88a;
    --bro-danger: #ef476f;
    --bro-danger-dark: #d63d63;
    --bro-warning: #ffd166;
    --bro-border: #e2e8f0;
    --bro-shadow: 0 2px 12px rgba(26, 26, 46, 0.08);
    --bro-shadow-hover: 0 6px 24px rgba(26, 26, 46, 0.14);
    --bro-radius: 10px;
    --bro-radius-sm: 6px;
    --bro-radius-lg: 16px;
    --bro-transition: all .25s ease;
}

/* === Base === */
html {
    font-size: 14px;
    scroll-behavior: smooth;
}
body {
    background: var(--bro-bg);
    color: var(--bro-text);
    font: 14px/1.6 'Roboto Slab', Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
a {
    color: var(--bro-primary);
    text-decoration: none;
    transition: var(--bro-transition);
}
a:hover, a:focus {
    color: var(--bro-primary-dark);
}

/* === Utility === */
.cf:after,
.form-body:after {
    content: "";
    display: table;
    clear: both;
}
.italic {
    font-style: italic;
}
.ex {
    font-weight: 700;
}
.long-wallet {
    word-wrap: break-word;
}

/* === Layout === */
.wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}
.content-wrap {
    flex: 1;
    padding: 20px 0;
}
.frame {
    width: 1100px;
    max-width: 95%;
    margin: auto;
}

/* === Transitions === */
.p-list a,
.make-order a, .add-review a, .more-news,
.logo,
.select-list a,
.balance-btn {
    -o-transition: var(--bro-transition);
    -ms-transition: var(--bro-transition);
    -moz-transition: var(--bro-transition);
    -webkit-transition: var(--bro-transition);
    transition: var(--bro-transition);
}

/* === Alerts === */
.alert {
    position: relative;
    padding: 14px 18px;
    margin-bottom: 20px;
    border: none;
    border-radius: var(--bro-radius);
    font-size: 15px;
    box-shadow: var(--bro-shadow);
}
.alert-success {
    color: #fff;
    font-size: 16px;
    background: linear-gradient(135deg, var(--bro-success), var(--bro-success-dark));
}
.alert-danger {
    color: #fff;
    background: linear-gradient(135deg, var(--bro-danger), var(--bro-danger-dark));
}
.notice {
    border: 2px solid var(--bro-accent);
    padding: 15px;
    margin-bottom: 15px;
    color: var(--bro-accent);
    border-radius: var(--bro-radius);
    font-weight: bold;
    background: rgba(0, 180, 216, 0.05);
}

/* === Action Buttons === */
.action-btn {
    display: inline-block;
    vertical-align: top;
    margin: 0 3px;
    background: var(--bro-dark);
    color: #fff;
    border-radius: var(--bro-radius-sm);
    width: 30px; height: 30px;
    line-height: 26px;
    text-align: center;
    transition: var(--bro-transition);
}
.action-btn i:before {
    vertical-align: middle;
}
.action-btn:hover,
.action-btn:focus {
    text-decoration: none;
    background: var(--bro-primary);
    color: #fff;
    transform: translateY(-1px);
}

/* === Balance Row === */
.balance-row {
    padding: 10px 0;
    background: linear-gradient(135deg, var(--bro-dark), var(--bro-dark-lighter));
    color: #fff;
    font-size: 13px;
}
.balance-row > .frame {
    padding: 0 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.balance,
.balance-row .balance-btn,
.balance-btn {
    display: inline-block;
    vertical-align: middle;
}
.balance-row .balance-btn,
.balance-btn {
    background: var(--bro-primary);
    color: #fff;
    border-radius: var(--bro-radius-sm);
    padding: 6px 14px;
    margin-right: 4px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.balance-row .balance-btn:hover,
.balance-row .balance-btn:focus,
.balance-btn:hover,
.balance-btn:focus {
    text-decoration: none;
    background: var(--bro-primary-light);
    color: #fff;
    transform: translateY(-1px);
}

/* === Top Navigation === */
.top-wrap {
    background: var(--bro-dark);
}
.top-nav > li {
    display: inline-block;
    vertical-align: top;
}
.top-nav > li > a {
    color: rgba(255,255,255,0.85);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 12px;
    transition: var(--bro-transition);
}
.top-nav > li:nth-child(4)> a {
    color: var(--bro-primary);
}
.top-nav > li:nth-child(4)> .dropdown-menu > li:first-child > a {
    color: #fff;
}
.top-nav > li > a:hover,
.top-nav > li > a:focus {
    background: transparent;
    color: var(--bro-primary);
}

/* === Header === */
.general-header {
    background: linear-gradient(135deg, var(--bro-dark) 0%, #0f3460 100%);
    text-align: center;
    padding: 20px 0;
    position: relative;
    overflow: hidden;
}
.general-header::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(255,107,53,0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}
.logo {
    color: var(--bro-primary);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 2px;
    text-shadow: 0 2px 8px rgba(255,107,53,0.2);
    position: relative;
}
.logo:hover,
.logo:focus {
    color: #fff;
    text-decoration: none;
    text-shadow: 0 2px 12px rgba(255,255,255,0.3);
}

/* === Main Navigation === */
.general-nav {
    padding: 1.1vh 0;
}
.general-nav > li {
    display: inline-block;
    vertical-align: top;
}
.general-nav > li > a {
    display: block;
    text-decoration: none;
    padding: 8px 16px;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
    color: rgba(255,255,255,0.9);
    border-radius: var(--bro-radius-sm);
    transition: var(--bro-transition);
    cursor: pointer;
    letter-spacing: 0.5px;
}
.general-nav > li > a:hover,
.general-nav > li > a:focus {
    color: #fff;
    background: rgba(255,107,53,0.2);
}
.nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
    background-color: rgba(255,107,53,0.15);
    border-color: transparent;
}

/* === Dropdown === */
.dropdown-menu {
    border: 0;
    background: var(--bro-surface);
    box-shadow: var(--bro-shadow-hover);
    border-radius: var(--bro-radius);
    padding: 8px 0;
    margin-top: 4px;
}
.dropdown-menu > li > a {
    color: var(--bro-text);
    padding: 8px 18px;
    transition: var(--bro-transition);
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
    background: var(--bro-bg);
    outline: 0;
    color: var(--bro-primary);
}

/* === Telegram / Matrix Bots === */
.tg-bots {
    padding: 6px 15px;
}
.tg-bots a,
.matrix-bots a {
    color: rgba(255,255,255,0.8);
    margin: 0 6px;
    transition: var(--bro-transition);
}
.tg-bots a:hover,
.matrix-bots a:hover {
    color: var(--bro-accent);
}

/* === Lighter Text === */
.lighter {
    font-size: 1.2em;
    color: var(--bro-primary);
    font-weight: 600;
}

/* === Reviews === */
.review-item {
    text-align: left;
    padding: 20px;
    background: var(--bro-surface);
    border-radius: var(--bro-radius);
    margin-bottom: 20px;
    box-shadow: var(--bro-shadow);
    transition: var(--bro-transition);
    border: 1px solid var(--bro-border);
}
.review-item:hover {
    box-shadow: var(--bro-shadow-hover);
}
.rh-info {
    flex: 1;
}
.reply-item {
    padding-left: 6%;
}
.reply-user {
    float: left;
}
.reply-text {
    overflow: hidden;
    padding-left: 15px;
}
.reply-user img {
    width: 60px;
    height: auto;
    border-radius: 50%;
}
.review-header {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 12px;
    color: var(--bro-primary);
    font-size: 17px;
    font-weight: 600;
}
.ticket-header {
    padding-bottom: 10px;
    color: var(--bro-primary);
    font-size: 17px;
    font-weight: 600;
}
.review-date {
    font-size: 0.9em;
    color: var(--bro-text-light);
}
.ticket-header .rating {
    display: inline-block;
    vertical-align: middle;
}
.rating {
    font: 0/0 serif;
    width: 180px; height: 33px;
}
.rating-1 { background: url("../images/star1.png"); }
.rating-2 { background: url("../images/star2.png"); }
.rating-3 { background: url("../images/star3.png"); }
.rating-4 { background: url("../images/star4.png"); }
.rating-5 { background: url("../images/star5.png"); }
.add-review {
    text-align: center;
    padding: 15px 15px 45px;
}

/* === Welcome / Error blocks === */
.welcome,
.error,
.select-list .error {
    display: block;
    width: 100%;
    color: var(--bro-text);
    background: var(--bro-surface);
    font-size: 16px;
    padding: 18px 20px;
    border-radius: var(--bro-radius);
    margin: 0 auto 25px;
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
}
.select-list li + .error,
.error + .error {
    display: none;
}
.select-list .error a {
    background: none transparent;
    display: inline;
    width: auto;
    padding: 0;
}
.error-page {
    padding: 5%;
    text-align: center;
    color: var(--bro-text);
    font-size: 2.5rem;
    text-shadow: none;
}

/* === Titles === */
.general-ttl {
    padding: 25px 0;
    color: var(--bro-text);
    text-transform: uppercase;
    font-size: 2.6rem;
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
}
.general-ttl a {
    color: var(--bro-text);
    text-decoration: none;
}
.general-ttl a:hover,
.general-ttl a:focus {
    color: var(--bro-primary);
}
.general-ttl + .sub-ttl {
    margin-top: -15px;
}
.sub-ttl {
    padding: 0 15px 25px;
    color: var(--bro-text-light);
    font-size: 2rem;
    text-align: center;
}

/* === Content Pages === */
.home-text,
.page-content {
    padding: 28px;
    margin-bottom: 15px;
    color: var(--bro-text);
    font-size: 1.15rem;
    text-align: justify;
    background: var(--bro-surface);
    border-radius: var(--bro-radius);
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
    line-height: 1.7;
}
.home-ttl,
.home-text h2,
.home-text h1 {
    font-size: 1.8rem;
    color: var(--bro-text);
    text-transform: uppercase;
    font-weight: 700;
}
.home-text h3 { font-size: 1.6rem; font-weight: 700; }
.home-text h4 { font-size: 1.4rem; font-weight: 600; }
.home-text h5 { font-size: 1.3rem; font-weight: 600; }
.home-text h6 { font-size: 1.2rem; font-weight: 600; }
.home-text h1, .home-text h2, .home-text h3, .home-text h4, .home-text h5, .home-text h6 {
    padding-bottom: 0.6em;
    text-align: left;
}
.home-text p,
.home-text ul,
.home-text ol,
.page-content p,
.page-content ul,
.page-content ol {
    margin-bottom: 15px;
}
.home-text strong,
.page-content strong {
    font-weight: bold;
}
.page-content i {
    font-style: italic;
}

/* === Buttons (CTA) === */
.make-order {
    padding: 15px 0;
    text-align: center;
}
.make-order a,
.add-review a,
.more-news {
    display: inline-block;
    vertical-align: top;
    padding: 12px 28px;
    background: linear-gradient(135deg, var(--bro-primary), var(--bro-primary-dark));
    color: #fff;
    border: none;
    font-size: 15px;
    border-radius: var(--bro-radius);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: var(--bro-transition);
    box-shadow: 0 4px 14px rgba(255,107,53,0.3);
}
.make-order a:hover, .make-order a:focus,
.add-review a:hover, .add-review a:focus,
.more-news:hover, .more-news:focus {
    background: linear-gradient(135deg, var(--bro-primary-dark), var(--bro-primary));
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,107,53,0.4);
}
.make-order p {
    padding-bottom: 15px;
}

/* === Blockquote === */
blockquote {
    padding: 15px 20px 15px 25px;
    border-left: 4px solid var(--bro-primary);
    background: rgba(255,107,53,0.04);
    border-radius: 0 var(--bro-radius-sm) var(--bro-radius-sm) 0;
    margin-bottom: 15px;
    quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
    font-size: 3em;
    line-height: 0.1em;
    margin-right: 0.2em;
    vertical-align: -0.35em;
    content: open-quote;
    color: var(--bro-primary);
    opacity: 0.4;
}

/* === Breadcrumbs === */
.breadcrumb {
    padding: 12px 0;
    margin-bottom: 20px;
    list-style: none;
    background-color: transparent;
    border-radius: 0;
    font-size: 12px;
}
.breadcrumb > li {
    display: inline-block;
    vertical-align: middle;
}
.breadcrumb > li + li:before {
    padding: 0 8px;
    color: var(--bro-text-muted);
    content: "\203A";
    font-size: 14px;
}
.breadcrumb a {
    color: var(--bro-text-light);
    text-decoration: none;
    transition: var(--bro-transition);
}
.breadcrumb a:hover {
    color: var(--bro-primary);
}
.breadcrumb .active {
    color: var(--bro-text-muted);
}

/* === City/Product Select List === */
.select-list {
    padding-bottom: 25px;
    text-align: center;
}
.select-list li {
    display: inline-block;
    vertical-align: top;
    padding: 0 6px 12px;
}
.select-list a {
    display: block;
    cursor: pointer;
    text-transform: uppercase;
    padding: 14px 22px;
    color: #fff;
    border-radius: var(--bro-radius);
    background: linear-gradient(135deg, var(--bro-primary), var(--bro-primary-dark));
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    box-shadow: 0 3px 10px rgba(255,107,53,0.25);
    transition: var(--bro-transition);
}
.select-list li:nth-child(2) a,
.select-list li:nth-child(3n+5) a {
    background: linear-gradient(135deg, var(--bro-accent), var(--bro-accent-dark));
    box-shadow: 0 3px 10px rgba(0,180,216,0.25);
}
.select-list li:nth-child(3) a,
.select-list li:nth-child(3n+6) a {
    background: linear-gradient(135deg, var(--bro-dark), var(--bro-dark-lighter));
    box-shadow: 0 3px 10px rgba(26,26,46,0.25);
}
.select-list a:hover,
.select-list a:focus {
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(255,107,53,0.35);
}
.select-list li:nth-child(2) a:hover,
.select-list li:nth-child(3n+5) a:hover {
    box-shadow: 0 6px 20px rgba(0,180,216,0.35);
}
.select-list li:nth-child(3) a:hover,
.select-list li:nth-child(3n+6) a:hover {
    box-shadow: 0 6px 20px rgba(26,26,46,0.35);
}

/* === Product List === */
.product-list {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
}
.product-list li {
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 33%;
    padding: 0 0 30px;
    text-align: center;
}
.reserve-list li {
    width: 33%;
}
.product-wrap {
    width: 100%; height: 100%;
    padding: 14px;
    text-decoration: none;
    display: block;
    cursor: pointer;
    color: var(--bro-text);
    background: var(--bro-surface);
    margin-bottom: 10px;
    transition: var(--bro-transition);
    border-radius: var(--bro-radius);
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
}
.product-list li:nth-child(even) .product-wrap {
    color: #fff;
    background: linear-gradient(145deg, var(--bro-primary), var(--bro-primary-dark));
    border-color: transparent;
}
.product-wrap:hover,
.product-wrap:focus {
    text-decoration: none;
    color: var(--bro-text);
    transform: translateY(-4px);
    box-shadow: var(--bro-shadow-hover);
}
.product-list li:nth-child(even) .product-wrap:hover {
    color: #fff;
}
.reserve-wrap:hover,
.reserve-wrap:focus {
    color: #fff;
}

/* === Product Image === */
.img-wrap {
    display: block;
    overflow: hidden;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: var(--bro-radius-sm);
}
.img-wrap:before {
    display: block;
    padding-top: 100%;
    content: "";
}
.img-wrap img {
    position: absolute;
    top: 0; left: 0;
    right: 0; bottom: 0;
    max-width: 100%;
    margin: auto;
}

/* === Product Info === */
.product {
    width: 100%;
    padding-bottom: 45px;
}
.product-ttl {
    font-size: 17px;
    text-decoration: none;
    padding: 12px 0 8px;
    font-weight: 600;
}
.price {
    display: block;
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
    color: var(--bro-primary);
}
.product-list li:nth-child(even) .price {
    color: rgba(255,255,255,0.95);
}
.price s {
    font-size: 0.8em;
    opacity: 0.6;
}
.product-description {
    font-size: 0.9em;
    padding: 10px 0;
    color: var(--bro-text-light);
}
.review-qty {
    display: inline-block;
    vertical-align: top;
    color: var(--bro-text-light);
    transition: var(--bro-transition);
    font-size: 13px;
}
.review-qty:hover,
.review-qty:focus {
    color: var(--bro-primary);
    text-decoration: none;
}

/* === Blog Posts === */
div.post {
    background: var(--bro-surface);
    padding: 20px;
    margin-bottom: 25px;
    border-radius: var(--bro-radius);
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
}
.news-title {
    padding: 15px 0;
    font-weight: bold;
    font-size: 16px;
}
.post img {
    max-width: 100%;
    border-radius: var(--bro-radius-sm);
}
a.post {
    color: var(--bro-text);
    text-decoration: none;
    transition: var(--bro-transition);
}
a.post:hover,
a.post:focus {
    color: var(--bro-primary);
    text-decoration: none;
    transform: translateY(-2px);
}
.post-meta {
    padding: 10px 0;
    color: var(--bro-text-light);
    font-size: 13px;
}
.post-meta > li {
    display: inline-block;
    vertical-align: top;
}
.post-meta > li + li {
    padding-left: 10px;
}

/* === Widgets === */
.widget {
    padding-bottom: 25px;
}
.widget-title {
    color: var(--bro-text-light);
    font-weight: bold;
    font-size: 15px;
}

/* === Order Details === */
.order-details {
    font-size: 16px;
    padding: 20px 4%;
    color: var(--bro-text);
    background: var(--bro-surface);
    margin-bottom: 25px;
    border-radius: var(--bro-radius);
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
    line-height: 1.8;
}
.order-details span {
    font-size: 21px;
    font-weight: 600;
}
.order-details .lighter {
    font-size: 1.4em;
}

/* === Placeholders === */
.payment-form ::-webkit-input-placeholder,
::-webkit-input-placeholder { color: var(--bro-text-muted); }
.payment-form ::-moz-placeholder,
::-moz-placeholder { color: var(--bro-text-muted); }
.payment-form :-ms-input-placeholder,
:-ms-input-placeholder { color: var(--bro-text-muted); }
.payment-form :-moz-placeholder,
:-moz-placeholder { color: var(--bro-text-muted); }

/* === Content Page === */
.content-page {
    font-size: 16px;
    padding: 25px 0;
    margin-bottom: 25px;
    line-height: 1.7;
}
.content-page p,
.content-page ul,
.content-page ol {
    padding-bottom: 15px;
}
.content-page ul {
    list-style: inside circle;
}
.content-page ol {
    list-style: inside decimal;
}
.content-page ul li,
.content-page ol li {
    padding-bottom: 10px;
}

/* === reCAPTCHA === */
.g-recaptcha > div {
    margin: auto;
    max-width: 100%;
    overflow: hidden;
}

/* === Close Button === */
.close {
    position: absolute;
    top: 10px;
    right: 12px;
    color: var(--bro-text-muted);
    font: 22px Arial, Helvetica, sans-serif;
    cursor: pointer;
    opacity: 0.7;
    transition: var(--bro-transition);
}
.close:hover {
    opacity: 1;
    color: var(--bro-danger);
}

/* === Contact Form === */
.contact-form {
    width: 800px;
    max-width: 100%;
    margin: auto;
    padding-bottom: 25px;
}
.contact-form input:not([type=submit]),
.contact-form textarea {
    width: 100%;
    border: 0;
    padding: 12px 15px;
    background: transparent;
    color: var(--bro-text);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    box-shadow: none;
    border-bottom: 2px solid var(--bro-border);
    border-radius: 0;
    transition: var(--bro-transition);
}
.contact-form input:not([type=submit]):focus,
.contact-form textarea:focus {
    border-bottom-color: var(--bro-primary);
    outline: none;
}
.form-button {
    text-align: center;
}

/* === Payment Form === */
.payment-form {
    text-align: center;
    padding: 20px;
    width: 650px;
    max-width: 100%;
    margin: auto;
}
.payment-form .has-error input:focus,
.payment-form input:focus {
    outline: 0;
    box-shadow: none;
    border-color: var(--bro-primary);
}
.payment-form select,
.payment-form input[type=text],
.payment-form input[type=email],
.payment-form input[type=password],
.payment-form textarea,
.form-control,
.hasDatepicker {
    padding: 10px 15px;
    border: 2px solid var(--bro-border);
    background: var(--bro-surface);
    color: var(--bro-text);
    border-radius: var(--bro-radius-sm);
    display: block;
    box-shadow: none;
    width: 100%;
    height: auto;
    transition: var(--bro-transition);
    font-family: 'Roboto Slab', Arial, Helvetica, sans-serif;
}
.form-control:focus,
.hasDatepicker:focus {
    border-color: var(--bro-primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(255,107,53,0.1);
}
#statusform-verifycode,
#reviewform-verifycode,
#contactform-verifycode,
#signupform-verifycode {
    padding: 13px 15px;
}

/* === Help Block / Errors === */
.help-block {
    margin: 0;
    padding: 5px 0 0;
    text-align: left;
    font-size: 13px;
}
.has-error .help-block {
    color: var(--bro-danger);
}
.has-error .form-control,
.has-error .form-control:focus {
    border-color: var(--bro-danger);
    box-shadow: 0 0 0 3px rgba(239,71,111,0.1);
}
.has-success .form-control,
.has-success .form-control:focus {
    border-color: var(--bro-success);
    box-shadow: 0 0 0 3px rgba(6,214,160,0.1);
}
.form-row {
    padding-bottom: 15px;
}

/* === Payment Method Labels === */
.field-addfundsform-mode > label {
    text-align: left;
    padding-bottom: 15px;
    display: block;
}
#addfundsform-mode label,
.payment-row label {
    display: inline-block;
    vertical-align: top;
    padding: 10px 15px;
    background: var(--bro-dark);
    color: #fff;
    font-size: 15px;
    margin-bottom: 10px;
    border-radius: var(--bro-radius-sm);
    transition: var(--bro-transition);
    cursor: pointer;
}
#addfundsform-mode label:hover,
.payment-row label:hover {
    background: var(--bro-primary);
}

/* === Check Columns (Radio/Checkbox styling) === */
.check-col {
    position: relative;
    display: inline-block;
    vertical-align: top;
}
.check-col + .check-col {
    margin-left: 4px;
}
.check-col input {
    position: absolute;
    top: 0; bottom: 0; left: 0;
    margin: auto;
    opacity: 0;
}
.payment-form .check-col label {
    padding: 10px 15px;
    background: var(--bro-dark);
    display: block;
    color: #fff;
    font-size: 15px;
    opacity: .4;
    border-radius: var(--bro-radius-sm);
    transition: var(--bro-transition);
    cursor: pointer;
}
.check-col input:checked + label,
.check-col:hover label {
    opacity: 1;
    background: var(--bro-primary);
}
.payment-form label {
    padding-right: 10px;
}
.payment-form .radio {
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
    padding: 8px 16px;
    background: var(--bro-surface);
    color: var(--bro-text);
    font-weight: bold;
    border-radius: var(--bro-radius-sm);
    border: 2px solid var(--bro-border);
}
.payment-form .field-confirmform-mode > label {
    color: var(--bro-text);
    font-size: 1.3rem;
    font-weight: bold;
}

/* === Submit Buttons === */
.payment-form input[type=submit],
.reload,
.address-form button[type=submit],
.payment-form button[type=submit],
.contact-form input[type=submit],
.contact-form button[type=submit],
.form-group button {
    padding: 12px 28px;
    background: linear-gradient(135deg, var(--bro-primary), var(--bro-primary-dark));
    color: #fff;
    border: none;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--bro-radius);
    transition: var(--bro-transition);
    cursor: pointer;
    letter-spacing: 0.5px;
    box-shadow: 0 3px 10px rgba(255,107,53,0.3);
}
.reload {
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
}
.reload-wrap {
    text-align: center;
}
.captcha-img {
    float: left;
    padding-right: 10px;
}
.captcha-input {
    overflow: hidden;
}
.payment-form input[type=submit]:hover,
.payment-form input[type=submit]:focus,
.payment-form button[type=submit]:hover,
.payment-form button[type=submit]:focus,
.address-form button[type=submit]:hover,
.address-form button[type=submit]:focus,
.contact-form button[type=submit]:hover,
.contact-form button[type=submit]:focus,
.reload:focus,
.reload:hover,
.form-group button:hover,
.form-group button:focus {
    color: #fff;
    outline: 0;
    background: linear-gradient(135deg, var(--bro-primary-dark), var(--bro-primary));
    border: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255,107,53,0.4);
}

/* === Pagination === */
.review-list .summary {
    display: none;
}
.summary {
    padding-bottom: 15px;
    color: var(--bro-text-light);
}
.pagination {
    display: block;
    padding-bottom: 15px;
    text-align: center;
    border-radius: 0;
}
.pagination>li {
    display: inline-block;
    vertical-align: top;
    margin: 0 2px;
}
.pagination>li a {
    padding: 4px 10px;
    display: block;
    cursor: pointer;
    font-size: 1.3rem;
    text-decoration: none;
    background: var(--bro-surface);
    border: 2px solid var(--bro-border);
    color: var(--bro-text);
    border-radius: var(--bro-radius-sm);
    transition: var(--bro-transition);
}
.pagination>.disabled>span, .pagination>.disabled>span:hover, .pagination>.disabled>span:focus, .pagination>.disabled>a, .pagination>.disabled>a:hover, .pagination>.disabled>a:focus {
    opacity: .5;
    text-decoration: none;
    background: var(--bro-surface);
    border: 2px solid var(--bro-border);
    border-radius: var(--bro-radius-sm);
    padding: 4px 10px;
    color: var(--bro-text-muted);
    font-size: 1.3rem;
}
.pagination>.active>a, .pagination>.active>span, .pagination>.active>a:hover, .pagination>.active>span:hover, .pagination>.active>a:focus, .pagination>.active>span:focus {
    padding: 4px 10px;
    font-size: 1.3rem;
    border: 2px solid var(--bro-primary);
    color: #fff;
    background: var(--bro-primary);
}
.pagination>li a:hover,
.pagination>li a:focus {
    color: var(--bro-primary);
    background: var(--bro-surface);
    border-color: var(--bro-primary);
}
.pagination>li:first-child>a, .pagination>li:first-child>span,
.pagination>li:last-child>a, .pagination>li:last-child>span {
    border-radius: var(--bro-radius-sm);
}

/* === Big Text === */
.big {
    font-size: 2em;
}
.big-text {
    padding-bottom: 25px;
    font-size: 1.5em;
}

/* === Footer === */
.main-footer {
    background: linear-gradient(135deg, var(--bro-dark), var(--bro-dark-lighter));
    text-align: center;
    padding: 16px 0;
    margin-top: auto;
}
.main-footer a {
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    transition: var(--bro-transition);
    font-size: 13px;
    letter-spacing: 0.5px;
}
.main-footer a:hover,
.main-footer a:focus {
    color: var(--bro-primary);
    text-decoration: none;
}
.footer-nav a {
    font-size: 12px;
    display: inline-block;
    vertical-align: top;
    padding: 10px 12px;
}
.copyright {
    color: rgba(255,255,255,0.5);
    font-size: 13px;
}

/* === Tabs & Buttons Well === */
.tabs-well,
.btn-well {
    padding-bottom: 12px;
}
.tabs-well .tabs-link,
.tabs-well .btn,
.tabs-well .balance-btn,
.btn-well a,
.btn-logout,
.removeItem,
#addItem {
    display: inline-block;
    vertical-align: top;
    padding: 8px 16px;
    margin: 0 4px 6px 0;
    background: var(--bro-primary);
    color: #fff;
    border-radius: var(--bro-radius-sm);
    border: none;
    box-shadow: none;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: var(--bro-transition);
    cursor: pointer;
}
.tabs-well .btn-success {
    background: var(--bro-success);
}
.tabs-well .tabs-link:hover,
.tabs-well .btn:hover,
.tabs-well .balance-btn:hover,
.tabs-well .tabs-link:focus,
.tabs-well .btn:focus,
.btn-well a:hover,
.btn-well a:focus,
.btn-logout:hover,
.btn-logout:focus,
.removeItem:hover,
.removeItem:focus,
.tabs-well .balance-btn:focus,
#addItem:hover,
#addItem:focus {
    border: none;
    outline: 0;
    box-shadow: none;
    background: var(--bro-dark);
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

/* === Tables === */
.table-wrap {
    width: 100%;
    overflow: auto;
    border-radius: var(--bro-radius);
}
.table .action-column {
    width: 75px;
}
.table-wrap .table {
    max-width: none;
}
.table .form-control,
.table .hasDatepicker {
    padding: 5px 7px;
}
.table-wrap .table > thead > tr > th,
.table > thead > tr > th {
    background: var(--bro-dark);
    border-color: var(--bro-dark);
    color: #fff;
    font-size: 14px;
    vertical-align: middle;
    padding: 10px 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
}
.table > thead > tr > th > a {
    color: #fff;
}
.table-wrap thead th a {
    color: #fff;
}
.table .multi-width {
    min-width: 170px;
}
.responsive-table .table {
    max-width: 100%;
}
.responsive-table img {
    max-width: 100%;
}
.table td[data-title="\041d\043e\043c\0435\0440 \0434\043b\044f \043f\043e\043f\043e\043b\043d\0435\043d\0438\044f"] {
    overflow: hidden;
    text-overflow: ellipsis;
}
.table > tbody > tr > td {
    border-color: var(--bro-border);
    padding: 10px 12px;
    vertical-align: middle;
}
.table > tbody > tr:hover {
    background-color: rgba(255,107,53,0.03);
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(244,246,249,0.6);
}

/* === Address / Product Items === */
#product_items .item,
.address-wrap {
    background: var(--bro-surface);
    padding: 18px;
    margin-bottom: 25px;
    border-radius: var(--bro-radius);
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
}
.address-form .form-body {
    padding: 20px 15px;
    background: var(--bro-bg);
    margin-bottom: 15px;
    border-radius: var(--bro-radius-sm);
}
.address-form .form-group {
    float: left;
    width: 25%;
    padding: 0 10px;
}
.address-form div[class*='address_text'],
.address-form div[class*='priority'] {
    float: none;
    width: 100%;
    clear: both;
}

/* === QR Code === */
.qr-code {
    padding-bottom: 15px;
    text-align: center;
}

/* === Vuetify overrides === */
body .application--wrap {
    min-height: 0;
}
body .theme--light.application {
    background: transparent;
    color: inherit;
}

/* === Ticket Info === */
.ticket-info {
    padding-bottom: 15px;
}
.ticket-info > span {
    color: var(--bro-accent);
    font-size: 17px;
    font-weight: 600;
}

/* === Admin Info Block === */
.admin-info {
    padding: 18px;
    background: var(--bro-surface);
    border-radius: var(--bro-radius);
    margin-bottom: 15px;
    border-left: 4px solid var(--bro-accent);
    box-shadow: var(--bro-shadow);
}
.admin-info p,
.admin-info ol,
.admin-info ul {
    padding-bottom: 10px;
}
.admin-info ol {
    list-style: decimal inside;
}
.admin-info strong {
    font-weight: bold;
}
.admin-info ul {
    list-style: circle inside;
}
.admin-info a {
    color: var(--bro-primary);
    font-weight: 600;
}

/* === Control Label === */
.control-label {
    font-size: 15px;
    padding-bottom: 12px;
    font-weight: 600;
    color: var(--bro-text);
}

/* === User Info === */
.user-info {
    padding: 18px;
    background: var(--bro-surface);
    border-radius: var(--bro-radius);
    margin-bottom: 15px;
    box-shadow: var(--bro-shadow);
    border: 1px solid var(--bro-border);
}
.user-info .hasDatepicker {
    background: var(--bro-bg);
}
.user-info > li {
    padding-bottom: 6px;
    line-height: 1.6;
}
.user-info > li > span {
    font-weight: bold;
    color: var(--bro-primary);
}

/* === Last Orders === */
.last-order div[data-key] {
    float: left;
    width: 48.5%;
}
.last-order div[data-key]:nth-child(odd) {
    margin-left: 3%;
}

/* === Fixed Table === */
.fixed-table .table {
    table-layout: fixed;
    width: 100%;
}
.fixed-table .table td {
    word-wrap: break-word;
}

/* === Modal (Dark Style) === */
#mainTextModal {
    z-index: 9999999 !important;
    background: rgba(26, 26, 46, 0.5);
}
.modal-backdrop.in {
    z-index: 9999998 !important;
    opacity: 0.6 !important;
}
.modal-content .btn-primary {
    padding: 10px 25px;
    background: linear-gradient(135deg, var(--bro-primary), var(--bro-primary-dark));
    color: #fff;
    border: none;
    text-transform: uppercase;
    font: 600 15px 'Roboto Slab', Arial, Helvetica, sans-serif;
    border-radius: var(--bro-radius-sm);
    transition: var(--bro-transition);
    box-shadow: 0 3px 10px rgba(255,107,53,0.3);
}
.modal-content .btn-primary:hover,
.modal-content .btn-primary:focus, .modal-content .btn-primary.focus {
    color: #fff;
    outline: 0;
    background: linear-gradient(135deg, var(--bro-primary-dark), var(--bro-primary));
    border: none;
    transform: translateY(-1px);
}
.modal-content {
    background: var(--bro-surface);
    color: var(--bro-text);
    border-radius: var(--bro-radius-lg);
    box-shadow: var(--bro-shadow-hover);
    border: none;
}
.modal-header {
    border-bottom: 1px solid var(--bro-border);
    padding: 18px 24px;
}
.modal-footer {
    border-top: 1px solid var(--bro-border);
    padding: 18px 24px;
}
.modal-body {
    padding: 20px 24px;
}
.modal-title {
    font-weight: bold;
    text-align: center;
    font-size: 1.4em;
    color: var(--bro-text);
}

/* === Fonts === */
@font-face {
    font-family: 'Roboto Slab';
    src: url('../fonts/RobotoSlab-Light.woff2') format('woff2'),
    url('../fonts/RobotoSlab-Light.woff') format('woff'),
    url('../fonts/RobotoSlab-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src: url('../fonts/RobotoSlab-Regular.woff2') format('woff2'),
    url('../fonts/RobotoSlab-Regular.woff') format('woff'),
    url('../fonts/RobotoSlab-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src: url('../fonts/RobotoSlab-Bold.woff2') format('woff2'),
    url('../fonts/RobotoSlab-Bold.woff') format('woff'),
    url('../fonts/RobotoSlab-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src: url('../fonts/RobotoSlab-Thin.woff2') format('woff2'),
    url('../fonts/RobotoSlab-Thin.woff') format('woff'),
    url('../fonts/RobotoSlab-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'fontello';
    src: url('../fonts/fontello.eot?58234571');
    src: url('../fonts/fontello.eot?58234571#iefix') format('embedded-opentype'),
    url('../fonts/fontello.woff2?58234571') format('woff2'),
    url('../fonts/fontello.woff?58234571') format('woff'),
    url('../fonts/fontello.ttf?58234571') format('truetype'),
    url('../fonts/fontello.svg?58234571#fontello') format('svg');
    font-weight: normal;
    font-style: normal;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.icon-basket:before { content: '\e800'; }
.icon-award:before { content: '\e801'; }
.icon-login-1:before { content: '\e802'; }
.icon-briefcase:before { content: '\e803'; }
.icon-user:before { content: '\e804'; }
.icon-globe:before { content: '\e805'; }
.icon-location:before { content: '\e806'; }
.icon-clock:before { content: '\e807'; }
.icon-cancel:before { content: '\e808'; }
.icon-pencil:before { content: '\e809'; }
.icon-star:before { content: '\e80a'; }
.icon-star-empty:before { content: '\e80b'; }
.icon-reply:before { content: '\f112'; }
.icon-dollar:before { content: '\f155'; }
.icon-paper-plane:before { content: '\f1d8'; }
.icon-user-plus:before { content: '\f234'; }
.icon-shopping-basket:before { content: '\f291'; }

/* ============================================
   Responsive Design
   ============================================ */

@media screen and (max-width: 1040px) {
    .general-header {
        text-align: center;
    }
    .general-nav,
    .header-right {
        float: none;
    }
    .tg-bots {
        text-align: center;
    }
    .responsive-table .table,
    .responsive-table .table tbody,
    .responsive-table .table thead,
    .responsive-table .table tr,
    .responsive-table .table td,
    .responsive-table .table thead tr.filters {
        display: block;
        width: 100%;
    }
    .responsive-table .table thead tr {
        display: none;
    }
    .responsive-table td[data-title]:before {
        padding-right: 15px;
        font-weight: bold;
        content: attr(data-title);
        color: var(--bro-primary);
    }
    .responsive-table .table-striped > tbody > tr:nth-of-type(odd) {
        background-color: var(--bro-bg);
    }
    .responsive-table .table td {
        border: 0;
        padding: 8px 12px;
    }
    .responsive-table .table thead td:empty {
        display: none;
    }
}

@media screen and (max-width: 900px) {
    .product-list li {
        width: 32.5%;
    }
    .reserve-list li {
        width: 49%;
    }
    .order-details {
        padding-left: 10px;
    }
    .last-order div[data-key] {
        float: none;
        width: 100%;
    }
    .last-order div[data-key]:nth-child(odd) {
        margin-left: 0;
    }
    .add-review a {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 790px) {
    .select-list li {
        width: 49%;
    }
    .address-form .form-group:not(:last-child) {
        width: 50%;
    }
}

@media screen and (max-width: 650px) {
    .product-list li {
        width: 45.5%;
    }
    .reserve-list li {
        width: 100%;
    }
    .general-ttl {
        font-size: 1.8rem;
    }
    .general-nav li {
        display: block;
        text-align: center;
    }
    .general-nav > li > a {
        display: inline-block;
        vertical-align: top;
    }
    .select-list {
        text-align: center;
    }
    .round-wrap .sukub {
        display: none;
    }
    .address-form .form-group:not(:last-child) {
        width: 100%;
        float: none;
    }
    .review-header {
        text-align: center;
    }
    .rating {
        margin: 10px auto 0;
    }
    .balance-row > .frame {
        justify-content: center;
        text-align: center;
    }
}

@media screen and (max-width: 560px) {
    .general-header {
        padding: 12px 0;
    }
    .general-nav .dropdown-menu {
        position: relative;
        width: 100%;
    }
    .select-list li {
        width: 100%;
    }
    .balance-row {
        text-align: center;
    }
    .balance {
        display: block;
        margin-bottom: 5px;
    }
    .top-nav {
        text-align: left;
    }
    .top-nav > li {
        width: 48%;
    }
    .logo {
        font-size: 26px;
    }
}

@media screen and (max-width: 480px) {
    .product-list li {
        width: 100%;
    }
    .general-ttl {
        font-size: 1.5rem;
    }
}
