:root {
    --op-yellow: #f7c600;
    --op-yellow-dark: #d6a900;
    --op-dark: #2c2c2c;
    --op-ink: #1f2328;
    --op-muted: #6b7280;
    --op-line: #e5e7eb;
    --op-soft: #f6f7f9;
    --op-green: #14835b;
    --op-blue: #2457a6;
}

* {
    box-sizing: border-box;
}

body {
    color: var(--op-ink);
    background: #fff;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

.btn,
.form-control,
.form-select,
.alert,
.dropdown-menu,
.accordion-item {
    border-radius: 8px;
}

.btn-warning {
    --bs-btn-bg: var(--op-yellow);
    --bs-btn-border-color: var(--op-yellow);
    --bs-btn-hover-bg: var(--op-yellow-dark);
    --bs-btn-hover-border-color: var(--op-yellow-dark);
    color: #1b1b1b;
}

.site-header {
    box-shadow: 0 8px 30px rgba(31, 35, 40, .06);
}

.navbar-brand img {
    max-width: 178px;
    height: auto;
}

.site-header .navbar-toggler {
    width: 46px;
    height: 46px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid #d9dee7;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(31, 35, 40, .06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.site-header .navbar-toggler:hover {
    border-color: #c7ceda;
    background: #fbfcfe;
    box-shadow: 0 10px 24px rgba(31, 35, 40, .09);
}

.site-header .navbar-toggler:focus {
    box-shadow: 0 0 0 3px rgba(247, 198, 0, .24);
}

.site-header .navbar-toggler:active {
    transform: translateY(1px);
}

.site-header .navbar-toggler-icon {
    position: relative;
    width: 21px;
    height: 15px;
    background: linear-gradient(#3f4650, #3f4650) center / 21px 2px no-repeat !important;
    transition: background-size .18s ease;
}

.site-header .navbar-toggler-icon::before,
.site-header .navbar-toggler-icon::after {
    content: "";
    position: absolute;
    left: 0;
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: #3f4650;
    transition: transform .2s ease, top .2s ease, bottom .2s ease, background .18s ease;
}

.site-header .navbar-toggler-icon::before {
    top: 0;
}

.site-header .navbar-toggler-icon::after {
    bottom: 0;
}

.site-header .navbar-toggler[aria-expanded="true"] {
    border-color: rgba(247, 198, 0, .7);
    background: #fffdf3;
}

.site-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
    background-size: 0 2px !important;
}

.site-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
    top: 6.5px;
    transform: rotate(45deg);
    background: #24272c;
}

.site-header .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
    bottom: 6.5px;
    transform: rotate(-45deg);
    background: #24272c;
}

.site-header .navbar-nav .btn-warning.btn-sm {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent !important;
    color: rgba(33, 37, 41, .78) !important;
    box-shadow: none;
    padding: .5rem .75rem;
    font-size: 1rem;
    font-weight: 400 !important;
    line-height: 1.2;
}

.site-header .navbar-nav .btn-warning.btn-sm:hover,
.site-header .navbar-nav .btn-warning.btn-sm:focus-visible {
    background: rgba(247, 198, 0, .12) !important;
    color: #1f2328 !important;
    box-shadow: none;
}

.site-header .navbar-nav .btn-warning.btn-sm:focus-visible {
    outline: 2px solid rgba(247, 198, 0, .42);
    outline-offset: 2px;
}

@media (max-width: 991.98px) {
    .site-header .navbar-nav .btn-warning.btn-sm {
        justify-content: flex-start;
        min-height: 40px;
        padding: .5rem 0;
    }
}

.header-search {
    position: relative;
    flex: 1 1 380px;
    max-width: 520px;
}

.header-search i,
.hero-search i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--op-muted);
    z-index: 2;
}

.header-search input,
.hero-search input {
    width: 100%;
    height: 44px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    padding: 0 16px 0 42px;
    background: var(--op-soft);
}

.category-menu {
    min-width: 240px;
}

.category-menu i {
    color: var(--op-yellow-dark);
    margin-right: 8px;
}

.hero-band {
    background: linear-gradient(180deg, #fff 0%, #f9fafb 100%);
    border-bottom: 1px solid var(--op-line);
    padding: 62px 0 46px;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--op-blue);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 10px;
}

.hero-band h1,
.page-hero h1 {
    font-size: 46px;
    line-height: 1.08;
    font-weight: 800;
    margin: 0 0 14px;
    color: var(--op-dark);
}

.hero-copy,
.page-hero p {
    font-size: 18px;
    color: var(--op-muted);
    max-width: 720px;
}

.hero-search {
    position: relative;
    display: flex;
    width: min(100%, 680px);
    background: #fff;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    box-shadow: 0 16px 45px rgba(31, 35, 40, .08);
    padding: 8px;
    margin: 28px 0 14px;
}

.hero-search input {
    border: 0;
    background: #fff;
    height: 50px;
}

.hero-search i {
    top: 8px;
    bottom: auto;
    left: 22px;
    width: 22px;
    height: 50px;
    display: grid;
    place-items: center;
    transform: none;
    line-height: 1;
    pointer-events: none;
}

.hero-search i::before {
    display: block;
    line-height: 1;
    vertical-align: 0;
    transform: translateY(-2px);
}

.hero-search button {
    border: 0;
    border-radius: 8px;
    padding: 0 24px;
    font-weight: 700;
    background: var(--op-yellow);
}

.quick-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.quick-tags a {
    border: 1px solid var(--op-line);
    border-radius: 999px;
    padding: 7px 12px;
    color: var(--op-muted);
    background: #fff;
}

.hero-panel {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 18px;
    box-shadow: 0 18px 50px rgba(31, 35, 40, .08);
}

.hero-panel-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--op-line);
}

.hero-panel-row span {
    color: var(--op-muted);
}

.hero-panel-row i {
    color: var(--op-yellow-dark);
    margin-right: 8px;
}

.campaign-strip {
    margin-top: 18px;
    background: var(--op-dark);
    color: #fff;
    border-radius: 8px;
    padding: 18px;
    display: grid;
    gap: 4px;
}

.campaign-strip small {
    color: #d5d7da;
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.section-head h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 800;
}

.text-link {
    color: var(--op-blue);
    font-weight: 700;
}

.category-grid,
.listing-grid,
.stats-grid,
.admin-grid {
    display: grid;
    gap: 16px;
}

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

.category-card {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    padding: 18px;
    display: grid;
    gap: 8px;
    min-height: 150px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease;
}

.category-card:hover,
.listing-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(31, 35, 40, .08);
}

.category-card i {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff7c9;
    color: var(--op-dark);
    font-size: 22px;
}

.category-card span {
    color: var(--op-muted);
    font-size: 14px;
}

.stats-band {
    background: var(--op-dark);
    color: #fff;
    padding: 30px 0;
}

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

.stats-grid div {
    border-left: 1px solid rgba(255, 255, 255, .14);
    padding-left: 22px;
}

.stats-grid strong {
    display: block;
    color: var(--op-yellow);
    font-size: 34px;
}

.stats-grid span {
    color: #d5d7da;
}

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

.listing-card {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease;
}

.listing-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    aspect-ratio: 4 / 3;
    padding: 6px;
    background: linear-gradient(180deg, #f8f9fb 0%, #fff 100%);
}

.listing-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 6px;
}

.listing-badge {
    position: absolute;
    left: 10px;
    top: 10px;
    background: var(--op-yellow);
    color: #161616;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 800;
}

.listing-body {
    padding: 16px;
}

.listing-category {
    color: var(--op-blue);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}

.listing-body h3 {
    font-size: 17px;
    line-height: 1.35;
    min-height: 46px;
    margin: 0 0 8px;
}

.listing-body p {
    min-height: 44px;
    color: var(--op-muted);
    margin: 0 0 14px;
}

.listing-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 14px;
}

.listing-meta span {
    color: var(--op-muted);
}

.listing-meta strong {
    white-space: nowrap;
}

.empty-panel {
    border: 1px dashed #cfd4dc;
    border-radius: 8px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
}

.empty-panel i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff7c9;
    font-size: 24px;
}

.empty-panel p {
    margin: 4px 0 0;
    color: var(--op-muted);
}

.info-band {
    background: var(--op-soft);
    border-block: 1px solid var(--op-line);
    padding: 56px 0;
}

.feature-box,
.testimonial,
.content-panel,
.detail-summary,
.order-box,
.admin-panel,
.auth-card,
.error-panel {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
}

.feature-box {
    min-height: 210px;
    padding: 22px;
    display: grid;
    gap: 10px;
}

.feature-box i {
    color: var(--op-yellow-dark);
    font-size: 28px;
}

.feature-box span,
.testimonial p {
    color: var(--op-muted);
}

.testimonial {
    padding: 22px;
}

.page-hero {
    background: var(--op-soft);
    border-bottom: 1px solid var(--op-line);
    padding: 44px 0;
}

.search-page-hero {
    padding: 28px 0 30px;
}

.search-page-hero p {
    margin-bottom: 0;
}

.search-page-content {
    padding-top: 30px !important;
}

.breadcrumb-wrap {
    font-size: 14px;
    margin-bottom: 18px;
}

.listing-breadcrumb-section {
    padding-top: 28px !important;
    padding-bottom: 14px !important;
}

.listing-breadcrumb-section .breadcrumb-wrap {
    margin-bottom: 0;
}

.listing-detail-main {
    padding-top: 0;
}

.listing-detail-row {
    --bs-gutter-y: 18px;
}

.detail-gallery,
.detail-summary,
.content-panel,
.order-box {
    border-radius: 8px;
}

.detail-gallery {
    overflow: hidden;
}

.detail-slider-track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.detail-slide {
    flex: 0 0 100%;
    margin: 0;
    scroll-snap-align: start;
}

.detail-main-image {
    width: 100%;
    height: min(46vh, 380px);
    min-height: 280px;
    object-fit: contain;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 18px;
}

.detail-slider-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 10px;
}

.detail-slider-dots span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d8dce2;
}

.detail-slider-dots span.is-active {
    width: 18px;
    border-radius: 999px;
    background: var(--op-yellow-dark);
}

.detail-summary,
.content-panel,
.order-box {
    padding: 22px;
}

.detail-summary h1 {
    font-size: 22px;
    font-weight: 800;
    line-height: 1.28;
}

.detail-price {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0;
}

.detail-price strong {
    font-size: 26px;
}

.detail-price span {
    color: var(--op-muted);
    text-decoration: line-through;
}

.product-options {
    display: grid;
    gap: 14px;
    margin: 14px 0 18px;
}

.product-option-group {
    display: grid;
    gap: 8px;
}

.product-option-group > span {
    color: var(--op-dark);
    font-size: 14px;
    font-weight: 800;
}

.product-option-group > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.product-option-choice {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    gap: 8px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    color: var(--op-dark);
    padding: 6px 10px;
    font-size: 13px;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.product-option-choice:hover {
    transform: translateY(-1px);
    border-color: #d5b100;
}

.product-option-choice.is-active {
    border-color: var(--op-yellow-dark);
    box-shadow: 0 0 0 2px rgba(255, 211, 26, .28);
}

.product-option-choice img {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    object-fit: cover;
    background: var(--op-soft);
}

.product-option-select {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    color: var(--op-dark);
    padding: 0 12px;
    font-size: 14px;
    font-weight: 700;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.product-option-select:focus {
    border-color: var(--op-yellow-dark);
    box-shadow: 0 0 0 3px rgba(255, 211, 26, .24);
}

.detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.detail-list div {
    display: grid;
    grid-template-columns: 120px 1fr;
    padding: 10px 0;
    border-top: 1px solid var(--op-line);
}

.detail-list dt {
    color: var(--op-muted);
    font-weight: 600;
}

.detail-list dd {
    margin: 0;
}

.technical-box {
    white-space: pre-wrap;
    border-radius: 8px;
    background: #f4f5f7;
    padding: 14px;
}

.map-box iframe {
    width: 100%;
    min-height: 320px;
    border: 0;
}

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

.order-box h2 {
    font-size: 22px;
}

.order-box label,
.auth-card label,
.admin-form label {
    display: grid;
    gap: 6px;
    font-weight: 700;
    color: var(--op-dark);
}

.order-box input,
.order-box textarea,
.auth-card input,
.admin-form input,
.admin-form textarea,
.admin-form select,
.filter-bar input,
.filter-bar select {
    width: 100%;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
}

.qr-code {
    width: 140px;
    height: 140px;
    margin: 12px auto 0;
}

.filter-bar {
    position: relative;
    display: grid;
    grid-template-columns: 2fr 1.3fr 1.2fr 1fr 1fr auto;
    gap: 10px;
    align-items: center;
}

.auth-screen {
    min-height: 72vh;
    display: grid;
    place-items: center;
    background: var(--op-soft);
    padding: 40px 16px;
}

.auth-card {
    width: min(100%, 430px);
    padding: 26px;
    display: grid;
    gap: 14px;
    box-shadow: 0 18px 50px rgba(31, 35, 40, .08);
}

.login-screen {
    min-height: auto;
    place-items: start center;
    padding-top: 30px;
    padding-bottom: 38px;
}

.auth-card h1 {
    font-size: 28px;
    margin: 6px 0 0;
}

.auth-muted {
    margin: 0;
    color: var(--op-muted);
    font-size: 14px;
    line-height: 1.55;
}

.auth-inline-link {
    margin-top: -4px;
    text-align: right;
    font-size: 14px;
    font-weight: 800;
}

.auth-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: -4px;
    font-size: 14px;
    font-weight: 800;
}

.auth-card .auth-check-row {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--op-muted);
    font-size: 13px;
    font-weight: 800;
}

.auth-card .auth-check-row input {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 0;
    padding: 0;
    accent-color: var(--op-yellow);
}

.auth-google-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    border: 1px solid #dfe3ea;
    border-radius: 10px;
    background: #fff;
    color: var(--op-dark);
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.auth-google-btn:hover {
    border-color: #c8d0dc;
    box-shadow: 0 12px 28px rgba(31, 35, 40, .08);
    color: var(--op-dark);
    transform: translateY(-1px);
}

.google-mark {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

.auth-inline-link a,
.auth-tools a,
.auth-card p a {
    color: var(--op-blue);
    text-decoration: none;
}

.auth-inline-link a:hover,
.auth-tools a:hover,
.auth-card p a:hover {
    text-decoration: underline;
}

.error-panel {
    text-align: center;
    padding: 54px 24px;
}

.error-panel i {
    font-size: 46px;
    color: var(--op-yellow-dark);
}

.footer-benefits-section {
    background: #fff;
    border-top: 1px solid #edf0f3;
    border-bottom: 1px solid #edf0f3;
    padding: clamp(44px, 6vw, 72px) 0;
}

.footer-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(24px, 4vw, 46px);
}

.footer-benefit {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    min-width: 0;
}

.footer-benefit-icon {
    position: relative;
    flex: 0 0 76px;
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff5ec;
    color: #ff6b00;
    font-size: 34px;
}

.footer-benefit-icon::before {
    content: "";
    position: absolute;
    inset: -4px;
    border: 4px solid #ff6b00;
    border-right-color: transparent;
    border-bottom-color: rgba(255, 107, 0, .28);
    border-radius: 50%;
}

.footer-benefit-copy {
    display: block;
    min-width: 0;
}

.footer-benefit-copy strong {
    display: block;
    margin: 2px 0 9px;
    color: #3f3f46;
    font-size: clamp(19px, 1.65vw, 25px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

.footer-benefit-copy small {
    display: block;
    color: #555963;
    font-size: 15px;
    line-height: 1.65;
}

.footer-benefits-section.footer-reveal-ready [data-footer-reveal-item] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
}

.footer-benefits-section.footer-reveal-ready.is-visible [data-footer-reveal-item] {
    opacity: 1;
    transform: translateY(0);
}

.footer-benefits-section.footer-reveal-ready [data-footer-reveal-item]:nth-child(2) {
    transition-delay: 90ms;
}

.footer-benefits-section.footer-reveal-ready [data-footer-reveal-item]:nth-child(3) {
    transition-delay: 180ms;
}

.footer-benefits-section.footer-reveal-ready [data-footer-reveal-item]:nth-child(4) {
    transition-delay: 270ms;
}

@media (max-width: 991.98px) {
    .footer-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .footer-benefits-section {
        padding: 34px 0;
    }

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

    .footer-benefit {
        gap: 16px;
    }

    .footer-benefit-icon {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        font-size: 29px;
    }

    .footer-benefit-copy strong {
        font-size: 19px;
    }

    .footer-benefit-copy small {
        font-size: 14px;
        line-height: 1.58;
    }
}

.trusted-partners-section {
    background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
    padding: 34px 0 30px;
}

.trusted-partners-section + .site-footer {
    margin-top: 0 !important;
}

.trusted-partners-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(229, 231, 235, .92);
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 14px 38px rgba(31, 35, 40, .06);
    padding: clamp(18px, 3vw, 30px);
}

.trusted-partners-divider {
    display: block;
    width: min(100%, 820px);
    height: 1px;
    margin: 0 auto 18px;
    background: linear-gradient(90deg, transparent, rgba(44, 44, 44, .16), transparent);
}

.trusted-partners-head {
    max-width: 760px;
    margin: 0 auto 18px;
    text-align: center;
}

.trusted-partners-head h2 {
    margin: 0;
    color: #202327;
    font-size: clamp(20px, 2.2vw, 27px);
    font-weight: 850;
    letter-spacing: 0;
}

.trusted-partners-head p {
    margin: 8px auto 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

.trusted-partners-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}

.trusted-partner-card {
    min-height: 66px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(229, 231, 235, .92);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(31, 35, 40, .045);
    transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}

.trusted-partner-card:hover,
.trusted-partner-card:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(247, 198, 0, .72);
    box-shadow: 0 18px 42px rgba(31, 35, 40, .12);
    outline: 0;
}

.trusted-partner-card img {
    width: 100%;
    max-width: 104px;
    height: 30px;
    object-fit: contain;
    opacity: .88;
    filter: saturate(.82) contrast(.96);
    transition: opacity 300ms ease, filter 300ms ease, transform 300ms ease;
}

.trusted-partner-card:hover img,
.trusted-partner-card:focus-visible img {
    opacity: 1;
    filter: saturate(1.16) contrast(1.04);
    transform: scale(1.02);
}

.trusted-partner-logo--itemsatis {
    max-width: 110px;
}

.trusted-partner-logo--alibaba,
.trusted-partner-logo--fuzul {
    max-width: 104px;
}

.trusted-partner-logo--maximum,
.trusted-partner-logo--epey,
.trusted-partner-logo--onual {
    max-width: 88px;
}

.trusted-partner-badges {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px auto 0;
}

.trusted-partner-badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    border: 1px solid rgba(20, 131, 91, .16);
    border-radius: 999px;
    background: rgba(20, 131, 91, .07);
    color: #22604c;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 13px;
}

.trusted-partner-badges i {
    color: var(--op-green);
    font-size: 17px;
}

.trusted-partners-note {
    max-width: 760px;
    margin: 14px auto 0;
    color: #7a828e;
    font-size: 11px;
    line-height: 1.55;
    text-align: center;
}

.trusted-partners-ready .trusted-partners-head,
.trusted-partners-ready [data-partner-card],
.trusted-partners-ready .trusted-partner-badges span,
.trusted-partners-ready .trusted-partners-note {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity .8s cubic-bezier(.22, 1, .36, 1), transform .8s cubic-bezier(.22, 1, .36, 1);
}

.trusted-partners-ready.is-visible .trusted-partners-head,
.trusted-partners-ready.is-visible [data-partner-card],
.trusted-partners-ready.is-visible .trusted-partner-badges span,
.trusted-partners-ready.is-visible .trusted-partners-note {
    opacity: 1;
    transform: translateY(0);
}

.trusted-partners-ready [data-partner-card]:nth-child(1) {
    transition-delay: 100ms;
}

.trusted-partners-ready [data-partner-card]:nth-child(2) {
    transition-delay: 200ms;
}

.trusted-partners-ready [data-partner-card]:nth-child(3) {
    transition-delay: 300ms;
}

.trusted-partners-ready [data-partner-card]:nth-child(4) {
    transition-delay: 400ms;
}

.trusted-partners-ready [data-partner-card]:nth-child(5) {
    transition-delay: 500ms;
}

.trusted-partners-ready [data-partner-card]:nth-child(6) {
    transition-delay: 600ms;
}

.trusted-partners-ready .trusted-partner-badges span {
    transition-delay: 680ms;
}

.trusted-partners-ready .trusted-partners-note {
    transition-delay: 760ms;
}

@media (min-width: 992px) {
    .trusted-partners-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .trusted-partners-section {
        padding: 24px 0 22px;
    }

    .trusted-partners-shell {
        padding: 16px 10px;
    }

    .trusted-partners-head {
        margin-bottom: 14px;
    }

    .trusted-partners-head h2 {
        font-size: 18px;
        line-height: 1.18;
    }

    .trusted-partners-head p {
        font-size: 12px;
        line-height: 1.55;
    }

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

    .trusted-partner-card {
        min-height: 58px;
    }

    .trusted-partner-card img {
        height: 25px;
        max-width: 76px;
    }

    .trusted-partner-logo--itemsatis,
    .trusted-partner-logo--alibaba,
    .trusted-partner-logo--fuzul {
        max-width: 82px;
    }

    .trusted-partner-logo--maximum,
    .trusted-partner-logo--epey,
    .trusted-partner-logo--onual {
        max-width: 70px;
    }

    .trusted-partner-badges {
        justify-content: flex-start;
    }

    .trusted-partner-badges span {
        width: 100%;
        justify-content: center;
    }

    .trusted-partners-note {
        max-width: 100%;
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .trusted-partner-card,
    .trusted-partner-card img,
    .trusted-partners-ready .trusted-partners-head,
    .trusted-partners-ready [data-partner-card],
    .trusted-partners-ready .trusted-partner-badges span,
    .trusted-partners-ready .trusted-partners-note {
        transition: none !important;
    }

    .trusted-partners-ready .trusted-partners-head,
    .trusted-partners-ready [data-partner-card],
    .trusted-partners-ready .trusted-partner-badges span,
    .trusted-partners-ready .trusted-partners-note {
        opacity: 1;
        transform: none;
    }
}

.site-footer {
    background: #fff8f3;
    color: #3f3f46;
    border-top: 1px solid #ebe4de;
    padding: clamp(38px, 5vw, 64px) 0 0;
}

.footer-panel {
    padding: clamp(28px, 4.4vw, 48px) 0;
    border-bottom: 1px solid #e8ded6;
    text-align: center;
}

.footer-panel h2 {
    margin: 0 0 24px;
    color: #3f3f46;
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0;
}

.footer-logo-cloud {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 24px;
}

.footer-brand-logo {
    min-width: 86px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #767b83;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    opacity: .72;
    filter: grayscale(1);
    transition: color .24s ease, opacity .24s ease, filter .24s ease, transform .24s ease;
}

.footer-brand-logo:hover {
    opacity: 1;
    filter: grayscale(0);
    transform: translateY(-1px);
}

.footer-brand-logo--maximum {
    font-style: italic;
    text-transform: lowercase;
}

.footer-brand-logo--bonus {
    min-width: 118px;
    justify-content: flex-start;
    font-size: 19px;
}

.footer-brand-logo--world {
    color: #777d8a;
    font-size: 23px;
    text-transform: lowercase;
}

.footer-brand-logo--visa {
    font-size: 30px;
    font-style: italic;
}

.footer-brand-logo--mastercard,
.footer-brand-logo--amex {
    font-size: 13px;
    font-weight: 900;
}

.footer-brand-logo--troy {
    font-size: 30px;
    text-transform: lowercase;
}

.footer-brand-logo--maximum:hover { color: #e3007b; }
.footer-brand-logo--bonus:hover { color: #8cc63f; }
.footer-brand-logo--world:hover { color: #2350a0; }
.footer-brand-logo--axess:hover { color: #111827; }
.footer-brand-logo--paraf:hover { color: #23a7d7; }
.footer-brand-logo--advantage:hover { color: #f58220; }
.footer-brand-logo--cardfinans:hover { color: #243c8f; }
.footer-brand-logo--visa:hover { color: #1434cb; }
.footer-brand-logo--mastercard:hover { color: #eb001b; }
.footer-brand-logo--amex:hover { color: #2e77bb; }
.footer-brand-logo--troy:hover { color: #2c6f93; }

.footer-logo-cloud--security {
    gap: 20px 30px;
}

.footer-security-logo {
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #4f5662;
    font-weight: 900;
    font-size: 19px;
    line-height: 1;
    letter-spacing: 0;
}

.footer-security-logo i {
    color: #278b54;
    font-size: 28px;
}

.footer-security-logo--secure {
    color: #2e8b50;
    font-size: 18px;
}

.footer-security-logo--pci {
    color: #167c73;
    font-size: 25px;
    transform: skew(-8deg);
}

.footer-security-logo--iso {
    width: 72px;
    height: 72px;
    border: 2px solid #9aa9b8;
    border-radius: 50%;
    color: #607080;
    font-size: 13px;
}

.footer-security-logo--trgo {
    color: #20a7d8;
    font-size: 24px;
}

.footer-security-logo--etbis {
    color: #9b1c1c;
    font-size: 18px;
}

.footer-app-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: 900px;
    margin: 0 auto;
}

.footer-app-link {
    min-height: 104px;
    display: flex;
    align-items: center;
    gap: 18px;
    border: 2px solid #dedbd7;
    border-radius: 12px;
    background: #fff;
    color: #3f3f46;
    padding: 20px 22px;
    text-align: left;
    transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.footer-app-link:hover,
.footer-app-link:focus-visible {
    color: #303036;
    border-color: #cfcac4;
    background: #fffdfa;
    transform: translateY(-3px);
    outline: 0;
}

.footer-app-link i {
    flex: 0 0 44px;
    color: #050505;
    font-size: 44px;
    line-height: 1;
}

.footer-app-link span,
.footer-app-link strong,
.footer-app-link small {
    display: block;
}

.footer-app-link strong {
    color: #3f3f46;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.08;
}

.footer-app-link small {
    color: #555963;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.1;
}

.footer-social-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}

.footer-social-link {
    width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #1f2023;
    color: #fff;
    font-size: 26px;
    transition: transform .24s ease, background .24s ease, color .24s ease;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
    color: #fff;
    transform: translateY(-3px);
    outline: 0;
}

.footer-social-link--instagram:hover { background: #e4405f; }
.footer-social-link--facebook:hover { background: #1877f2; }
.footer-social-link--tiktok:hover { background: #111; }
.footer-social-link--youtube:hover { background: #ff0000; }
.footer-social-link--x:hover { background: #000; }
.footer-social-link--linkedin:hover { background: #0a66c2; }
.footer-social-link--pinterest:hover { background: #bd081c; }

.footer-support-panel {
    max-width: 900px;
    margin: 0 auto;
    padding: clamp(38px, 5vw, 62px) 0;
    text-align: center;
}

.footer-support-panel h2 {
    margin: 0 0 24px;
    color: #ff6b00;
    font-size: clamp(22px, 2.4vw, 31px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.footer-support-button {
    min-width: min(100%, 420px);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    border: 2px solid #d8d4cf;
    border-radius: 12px;
    background: transparent;
    color: #3f3f46;
    font-size: clamp(18px, 2vw, 25px);
    font-weight: 850;
    padding: 14px 24px;
    transition: border-color .24s ease, transform .24s ease, background .24s ease;
}

.footer-support-button:hover,
.footer-support-button:focus-visible {
    color: #303036;
    border-color: #c7c1ba;
    background: rgba(255, 255, 255, .48);
    transform: translateY(-2px);
    outline: 0;
}

.footer-or-line {
    display: flex;
    align-items: center;
    gap: 26px;
    margin: 28px 0 22px;
    color: #555963;
    font-size: 22px;
}

.footer-or-line::before,
.footer-or-line::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #ded6cf;
}

.footer-support-panel p {
    margin: 0 0 10px;
    color: #555963;
    font-size: 23px;
}

.footer-phone {
    display: inline-block;
    color: #4a4a50;
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: 0;
}

.footer-phone:hover,
.footer-phone:focus-visible {
    color: #ff6b00;
    outline: 0;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid #e8ded6;
    padding: 22px 0;
    color: #6c717a;
    font-size: 13px;
}

.footer-bottom img {
    height: 32px;
    width: auto;
}

.footer-bottom nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.footer-bottom a {
    color: #555963;
}

.footer-bottom a:hover {
    color: #ff6b00;
}

@media (max-width: 991.98px) {
    .footer-app-grid {
        grid-template-columns: 1fr;
        max-width: 520px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .site-footer {
        padding-top: 24px;
    }

    .footer-panel {
        padding: 30px 0;
    }

    .footer-logo-cloud {
        gap: 14px 18px;
    }

    .footer-logo-cloud--payments {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 10px;
        width: 100%;
    }

    .footer-brand-logo {
        width: 100%;
        min-width: 74px;
        height: 30px;
        font-size: 18px;
    }

    .footer-brand-logo--bonus {
        min-width: 0;
        justify-content: center;
    }

    .footer-brand-logo--visa,
    .footer-brand-logo--troy {
        font-size: 25px;
    }

    .footer-logo-cloud--security {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-items: center;
        gap: 16px 10px;
    }

    .footer-logo-cloud--security .footer-security-logo:last-child {
        grid-column: 1 / -1;
    }

    .footer-security-logo {
        max-width: 100%;
        font-size: 15px;
    }

    .footer-security-logo--pci,
    .footer-security-logo--trgo {
        font-size: 19px;
    }

    .footer-security-logo--iso {
        width: 58px;
        height: 58px;
        font-size: 11px;
    }

    .footer-social-link {
        width: 42px;
        height: 42px;
        font-size: 19px;
    }

    .footer-social-list {
        gap: 10px;
    }

    .footer-app-link {
        min-height: 90px;
        padding: 17px;
    }

    .footer-app-link i {
        flex-basis: 38px;
        font-size: 38px;
    }

    .footer-support-button {
        width: 100%;
    }

    .footer-support-panel h2 {
        font-size: 19px;
        line-height: 1.25;
    }

    .footer-or-line {
        gap: 15px;
        font-size: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer-benefits-section.footer-reveal-ready [data-footer-reveal-item],
    .footer-benefit-icon,
    .footer-brand-logo,
    .footer-app-link,
    .footer-social-link,
    .footer-support-button {
        transition: none !important;
    }

    .footer-benefits-section.footer-reveal-ready [data-footer-reveal-item] {
        opacity: 1;
        transform: none;
    }
}

.footer-benefits-section {
    padding: 30px 0;
}

.footer-benefits-grid {
    gap: 22px;
}

.footer-benefit {
    gap: 13px;
}

.footer-benefit-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    font-size: 23px;
}

.footer-benefit-icon::before {
    inset: -3px;
    border-width: 3px;
}

.footer-benefit-copy strong {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.22;
}

.footer-benefit-copy small {
    font-size: 12px;
    line-height: 1.45;
}

.site-footer {
    background: #fafafa;
    border-top-color: #e7e7e7;
    padding-top: 20px;
}

.footer-panel {
    padding: 22px 0;
    border-bottom-color: #e6e6e6;
}

.footer-panel h2 {
    margin-bottom: 14px;
    color: #3d3d3f;
    font-size: 16px;
    font-weight: 800;
}

.footer-logo-cloud {
    gap: 10px 18px;
}

.footer-brand-logo {
    min-width: 74px;
    height: 26px;
    font-size: 17px;
}

.footer-brand-logo--bonus {
    min-width: 96px;
    font-size: 15px;
}

.footer-brand-logo--visa,
.footer-brand-logo--troy {
    font-size: 23px;
}

.footer-brand-logo--mastercard,
.footer-brand-logo--amex {
    font-size: 11px;
}

.footer-security-logo {
    height: 32px;
    font-size: 15px;
}

.footer-security-logo i {
    font-size: 21px;
}

.footer-security-logo--secure {
    font-size: 14px;
}

.footer-security-logo--pci {
    font-size: 20px;
}

.footer-security-logo--iso {
    width: 50px;
    height: 50px;
    font-size: 10px;
}

.footer-security-logo--trgo {
    font-size: 19px;
}

.footer-security-logo--etbis {
    font-size: 14px;
}

.footer-app-grid {
    gap: 12px;
    max-width: 720px;
}

.footer-app-link {
    min-height: 66px;
    gap: 12px;
    border-width: 1px;
    border-radius: 8px;
    padding: 13px 15px;
}

.footer-app-link i {
    flex-basis: 30px;
    font-size: 30px;
}

.footer-app-link strong {
    font-size: 13px;
}

.footer-app-link small {
    font-size: 11px;
}

.footer-social-list {
    gap: 10px;
}

.footer-social-link {
    width: 38px;
    height: 38px;
    font-size: 17px;
}

.footer-support-panel {
    max-width: 720px;
    padding: 26px 0 28px;
}

.footer-support-panel h2 {
    margin-bottom: 14px;
    font-size: 19px;
}

.footer-support-button {
    min-width: min(100%, 300px);
    min-height: 42px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 15px;
    padding: 9px 18px;
}

.footer-or-line {
    gap: 18px;
    margin: 16px 0 12px;
    font-size: 15px;
}

.footer-support-panel p {
    margin-bottom: 5px;
    font-size: 15px;
}

.footer-phone {
    font-size: clamp(25px, 3.4vw, 36px);
    font-weight: 650;
}

.footer-directory {
    display: grid;
    grid-template-columns: 1.45fr repeat(3, minmax(0, 1fr));
    gap: 24px;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    padding: 26px 0;
    text-align: left;
}

.footer-directory-brand img {
    width: 150px;
    height: auto;
    margin-bottom: 10px;
}

.footer-directory-brand p {
    max-width: 320px;
    margin: 0;
    color: #6b7078;
    font-size: 13px;
    line-height: 1.55;
}

.footer-directory h3 {
    margin: 0 0 10px;
    color: #333;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: 0;
}

.footer-directory a {
    display: block;
    width: fit-content;
    color: #686d75;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 7px;
}

.footer-directory a:hover {
    color: #ff6b00;
}

.footer-bottom {
    padding: 14px 0;
    border-top: 0;
    font-size: 12px;
}

.footer-bottom img {
    height: 24px;
}

@media (max-width: 991.98px) {
    .footer-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .footer-directory-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 575.98px) {
    .footer-benefits-section {
        padding: 24px 0;
    }

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

    .footer-benefit-icon {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .footer-panel {
        padding: 19px 0;
    }

    .footer-panel h2 {
        margin-bottom: 12px;
        font-size: 15px;
    }

    .footer-logo-cloud--payments {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer-brand-logo {
        min-width: 0;
        font-size: 13px;
    }

    .footer-brand-logo--visa,
    .footer-brand-logo--troy {
        font-size: 19px;
    }

    .footer-logo-cloud--security {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer-logo-cloud--security .footer-security-logo:last-child {
        grid-column: auto;
    }

    .footer-security-logo {
        height: 28px;
        font-size: 12px;
    }

    .footer-security-logo--iso {
        width: 42px;
        height: 42px;
        font-size: 8px;
    }

    .footer-app-grid {
        gap: 9px;
    }

    .footer-app-link {
        min-height: 58px;
        padding: 10px 12px;
    }

    .footer-app-link i {
        flex-basis: 25px;
        font-size: 25px;
    }

    .footer-social-link {
        width: 34px;
        height: 34px;
        font-size: 15px;
    }

    .footer-support-panel {
        padding: 22px 0;
    }

    .footer-support-panel h2 {
        margin-bottom: 12px;
        font-size: 16px;
    }

    .footer-support-button {
        min-height: 40px;
        font-size: 14px;
    }

    .footer-phone {
        font-size: 26px;
    }

    .footer-directory {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 22px 0;
    }

    .footer-directory a {
        width: auto;
    }
}

.footer-benefits-section {
    padding: 18px 0;
}

.footer-benefits-grid {
    gap: 14px;
}

.footer-benefit {
    align-items: center;
    gap: 10px;
}

.footer-benefit-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    font-size: 18px;
}

.footer-benefit-icon::before {
    inset: -2px;
    border-width: 2px;
}

.footer-benefit-copy strong {
    margin: 0 0 3px;
    font-size: 14px;
    line-height: 1.18;
}

.footer-benefit-copy small {
    font-size: 11.5px;
    line-height: 1.35;
}

.site-footer {
    background: #f8f8f8;
    border-top: 1px solid #e5e5e5;
    padding-top: 0;
}

.site-footer > .container {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    column-gap: 36px;
    align-items: start;
}

.footer-panel {
    padding: 15px 0;
    border-bottom: 1px solid #e6e6e6;
    text-align: left;
}

.footer-panel--payments,
.footer-panel--apps {
    grid-column: 1;
}

.footer-panel--security,
.footer-panel--social {
    grid-column: 2;
}

.footer-panel h2 {
    margin: 0 0 9px;
    color: #3c3c3f;
    font-size: 13px;
    font-weight: 850;
}

.footer-logo-cloud {
    justify-content: flex-start;
    gap: 7px 13px;
}

.footer-brand-logo {
    min-width: auto;
    width: auto;
    height: 20px;
    color: #70757d;
    font-size: 13px;
}

.footer-brand-logo--bonus {
    min-width: auto;
    justify-content: center;
    font-size: 12px;
}

.footer-brand-logo--visa,
.footer-brand-logo--troy {
    font-size: 20px;
}

.footer-brand-logo--mastercard,
.footer-brand-logo--amex {
    font-size: 9px;
}

.footer-security-logo {
    height: 26px;
    font-size: 12px;
}

.footer-security-logo i {
    font-size: 17px;
}

.footer-security-logo--secure,
.footer-security-logo--etbis {
    font-size: 12px;
}

.footer-security-logo--pci,
.footer-security-logo--trgo {
    font-size: 16px;
}

.footer-security-logo--iso {
    width: 38px;
    height: 38px;
    font-size: 8px;
}

.footer-app-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
}

.footer-app-link {
    min-height: 48px;
    gap: 8px;
    border-width: 1px;
    border-radius: 8px;
    padding: 8px 10px;
}

.footer-app-link i {
    flex-basis: 22px;
    font-size: 22px;
}

.footer-app-link strong {
    font-size: 10px;
}

.footer-app-link small {
    font-size: 9px;
}

.footer-social-list {
    justify-content: flex-start;
    gap: 8px;
}

.footer-social-link {
    width: 30px;
    height: 30px;
    font-size: 14px;
}

.footer-support-panel {
    grid-column: 1 / -1;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #e6e6e6;
    text-align: left;
}

.footer-support-panel h2 {
    margin: 0 0 2px;
    font-size: 16px;
    line-height: 1.2;
}

.footer-support-panel p {
    margin: 0;
    font-size: 12px;
}

.footer-or-line {
    display: none;
}

.footer-support-button {
    min-width: 0;
    min-height: 36px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 13px;
    padding: 8px 14px;
    white-space: nowrap;
}

.footer-phone {
    font-size: 24px;
    font-weight: 700;
    white-space: nowrap;
}

.footer-directory {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(210px, 1.25fr) repeat(3, minmax(0, 1fr));
    gap: 18px;
    border-top: 0;
    border-bottom: 1px solid #e6e6e6;
    padding: 17px 0;
    text-align: left;
}

.footer-directory-brand img {
    width: 138px;
    height: auto;
    margin-bottom: 7px;
}

.footer-directory-brand p {
    max-width: 280px;
    margin: 0;
    color: #6b7078;
    font-size: 12px;
    line-height: 1.35;
}

.footer-directory h3 {
    margin: 0 0 6px;
    color: #35373a;
    font-size: 12px;
    font-weight: 850;
}

.footer-directory a {
    display: block;
    width: fit-content;
    color: #686d75;
    font-size: 12px;
    line-height: 1.35;
    margin-bottom: 4px;
}

.footer-bottom {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 0;
    padding: 10px 0;
    color: #70757d;
    font-size: 11px;
}

.footer-bottom img {
    display: none;
}

.footer-bottom nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 991.98px) {
    .site-footer > .container {
        display: block;
    }

    .footer-panel {
        text-align: center;
    }

    .footer-logo-cloud,
    .footer-social-list {
        justify-content: center;
    }

    .footer-support-panel {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 9px;
        text-align: center;
    }

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

@media (max-width: 575.98px) {
    .footer-benefits-section {
        padding: 16px 0;
    }

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

    .footer-benefit-icon {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .footer-panel {
        padding: 14px 0;
    }

    .footer-panel h2 {
        margin-bottom: 8px;
        font-size: 12px;
    }

    .footer-logo-cloud--payments {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px 5px;
        width: 100%;
    }

    .footer-brand-logo {
        width: 100%;
        min-width: 0;
        height: 18px;
        font-size: 10.5px;
    }

    .footer-brand-logo--visa,
    .footer-brand-logo--troy {
        font-size: 16px;
    }

    .footer-logo-cloud--security {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        justify-items: center;
        gap: 6px;
        width: 100%;
    }

    .footer-logo-cloud--security .footer-security-logo:last-child {
        grid-column: auto;
    }

    .footer-security-logo {
        height: 24px;
        font-size: 9.5px;
    }

    .footer-security-logo i {
        font-size: 14px;
    }

    .footer-security-logo--iso {
        width: 32px;
        height: 32px;
        font-size: 6.5px;
    }

    .footer-app-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .footer-app-link {
        min-height: 48px;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
        padding: 6px 4px;
        text-align: center;
    }

    .footer-app-link i {
        flex-basis: auto;
        font-size: 18px;
    }

    .footer-app-link strong {
        font-size: 8.5px;
    }

    .footer-app-link small {
        font-size: 7.5px;
    }

    .footer-social-link {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }

    .footer-support-panel {
        padding: 14px 0;
    }

    .footer-support-panel h2 {
        font-size: 14px;
    }

    .footer-support-button {
        min-height: 34px;
        font-size: 12px;
        padding: 7px 12px;
    }

    .footer-phone {
        font-size: 21px;
    }

    .footer-directory {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        padding: 14px 0;
    }

    .footer-directory-brand {
        grid-column: 1 / -1;
        text-align: center;
    }

    .footer-directory-brand p {
        max-width: none;
        font-size: 11px;
    }

    .footer-directory h3,
    .footer-directory a {
        width: auto;
        font-size: 11px;
        text-align: center;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 5px;
        padding: 9px 0;
        text-align: center;
        font-size: 10px;
    }
}

.footer-logo-cloud--security {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
}

.footer-security-logo {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    height: 28px;
    background: transparent;
    border: 0;
    padding: 0;
    overflow: visible;
}

.footer-security-logo img {
    display: block;
    width: auto;
    max-width: 96px;
    height: 30px;
    object-fit: contain;
    filter: saturate(.98) contrast(1);
}

.footer-security-logo--safe img {
    max-width: 112px;
}

.footer-security-logo--ssl img {
    max-width: 100px;
}

.footer-security-logo--threed img,
.footer-security-logo--kvkk img {
    max-width: 92px;
}

.footer-security-logo--trgo img {
    height: 32px;
    max-width: 46px;
}

.footer-app-grid {
    gap: 6px;
}

.footer-app-link {
    min-height: 40px;
    gap: 7px;
    padding: 7px 9px;
}

.footer-app-link i {
    flex-basis: 19px;
    font-size: 19px;
}

.footer-app-link strong {
    font-size: 9px;
}

.footer-app-link small {
    font-size: 7.5px;
}

.footer-social-list {
    gap: 6px;
}

.footer-social-link {
    width: 27px;
    height: 27px;
    font-size: 12px;
}

.footer-support-panel {
    padding: 10px 0;
    gap: 10px;
}

.footer-support-panel h2 {
    font-size: 13px;
}

.footer-support-panel p {
    font-size: 10.5px;
}

.footer-support-button {
    min-width: 0;
    width: auto;
    min-height: 30px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 10.5px;
    padding: 5px 14px;
}

.footer-phone {
    font-size: 17px;
}

@media (max-width: 575.98px) {
    .footer-app-link {
        min-height: 38px;
        padding: 5px 3px;
    }

    .footer-app-link i {
        font-size: 16px;
    }

    .footer-app-link strong {
        font-size: 7.8px;
    }

    .footer-app-link small {
        font-size: 6.8px;
    }

    .footer-social-link {
        width: 25px;
        height: 25px;
        font-size: 11px;
    }

    .footer-support-panel {
        padding: 10px 0;
        gap: 6px;
    }

    .footer-support-panel h2 {
        font-size: 12px;
    }

    .footer-support-button {
        min-width: 0;
        width: auto;
        min-height: 26px;
        font-size: 10px;
        padding: 5px 12px;
    }

    .footer-phone {
        font-size: 16px;
    }

    .footer-security-logo img {
        max-width: none;
        height: 22px;
    }

    .footer-security-logo--safe img {
        max-width: none;
    }

    .footer-security-logo--ssl img {
        max-width: none;
    }

    .footer-security-logo--threed img,
    .footer-security-logo--kvkk img {
        max-width: none;
    }

    .footer-security-logo--trgo img {
        height: 25px;
        max-width: none;
    }
}

.live-search-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    z-index: 1040;
    background: #fff;
    border: 1px solid var(--op-line);
    border-radius: 14px;
    box-shadow: 0 20px 55px rgba(31, 35, 40, .16);
    display: none;
    overflow: hidden;
    min-width: 280px;
    text-align: left;
}

.live-search-panel.is-open {
    animation: liveSearchIn .14s ease-out;
}

.live-search-head,
.live-search-footer,
.live-search-state,
.live-search-empty {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.live-search-head {
    padding: 11px 12px 9px;
    border-bottom: 1px solid var(--op-line);
    color: var(--op-muted);
    font-size: 12px;
    font-weight: 800;
}

.live-search-head span {
    color: var(--op-ink);
}

.live-search-scroller {
    max-height: min(370px, 58vh);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.live-search-row {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid #eef0f3;
    background: #fff;
    transition: background .14s ease, transform .14s ease;
}

.live-search-row:hover,
.live-search-row.is-active {
    background: #fff9d9;
}

.live-search-row:last-child {
    border-bottom: 0;
}

.live-search-thumb,
.live-search-icon {
    width: 52px;
    height: 52px;
    border-radius: 10px;
    background: #f5f6f8;
    border: 1px solid #eceff3;
    overflow: hidden;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.live-search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    padding: 4px;
}

.live-search-icon {
    color: #1f2328;
    background: #fff7c9;
    border-color: #f7e38a;
    font-size: 16px;
    font-weight: 850;
    line-height: 1;
}

.live-search-text {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.live-search-text strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--op-ink);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
}

.live-search-text small,
.live-search-head small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--op-muted);
    font-size: 11px;
}

.live-search-price {
    color: #111827;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.live-search-row--category {
    grid-template-columns: 52px minmax(0, 1fr);
}

.live-search-row--category .live-search-icon {
    width: 52px;
    height: 52px;
}

.live-search-go {
    color: var(--op-muted);
}

.live-search-footer {
    padding: 11px 12px;
    border-top: 1px solid var(--op-line);
    background: #fbfcfd;
    color: var(--op-ink);
    font-size: 13px;
    font-weight: 850;
}

.live-search-footer i {
    color: var(--op-yellow-dark);
}

.live-search-state,
.live-search-empty {
    padding: 15px 14px;
    color: var(--op-muted);
    font-size: 13px;
    justify-content: flex-start;
}

.live-search-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #e5e7eb;
    border-top-color: var(--op-yellow-dark);
    border-radius: 50%;
    animation: liveSearchSpin .8s linear infinite;
}

.live-search-field {
    position: relative;
    min-width: 0;
}

@keyframes liveSearchSpin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes liveSearchIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.admin-body {
    background: #f4f5f7;
}

.admin-shell {
    display: grid;
    grid-template-columns: 270px 1fr;
    min-height: 100vh;
}

.admin-sidebar {
    background: #242424;
    color: #fff;
    padding: 20px;
}

.admin-brand {
    display: flex;
    align-items: center;
    font-weight: 800;
    margin-bottom: 26px;
}

.admin-brand img {
    width: 168px;
    height: auto;
    max-width: 100%;
}

.admin-nav {
    display: grid;
    gap: 6px;
}

.admin-nav a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #f4f4f4;
    border-radius: 8px;
    padding: 11px 12px;
}

.admin-nav a:hover {
    background: rgba(255, 255, 255, .08);
}

.admin-main {
    padding: 22px;
}

.admin-topbar,
.panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.admin-topbar {
    margin-bottom: 20px;
}

.admin-topbar span {
    display: block;
    color: var(--op-muted);
    font-size: 14px;
}

.icon-btn {
    width: 38px;
    height: 38px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
}

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

.stats-admin div {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 18px;
}

.stats-admin span {
    display: block;
    color: var(--op-muted);
    font-size: 13px;
}

.stats-admin strong {
    display: block;
    font-size: 28px;
    margin-top: 6px;
}

.admin-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-panel {
    padding: 18px;
}

.admin-filter-bar {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
}

.admin-filter-bar label {
    display: grid;
    gap: 6px;
    margin: 0;
    font-weight: 800;
    color: var(--op-dark);
}

.admin-filter-bar span,
.admin-muted-line {
    color: var(--op-muted);
    font-size: 12px;
    font-weight: 700;
}

.admin-filter-bar input,
.admin-filter-bar select {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    min-height: 42px;
    padding: 8px 10px;
    background: #fff;
}

.admin-filter-bar .btn {
    min-height: 42px;
}

.admin-table-link {
    color: #1f4d8f;
    font-weight: 900;
    text-decoration: none;
}

.admin-table-link:hover {
    color: var(--op-yellow-dark);
}

.admin-muted-line {
    display: block;
    margin-top: 3px;
}

.admin-order-detail-row td {
    padding-top: 0;
    border-top: 0;
}

.admin-order-detail-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
    gap: 12px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fafafa;
    padding: 12px;
}

.admin-order-detail-grid span {
    display: block;
    color: var(--op-muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.admin-order-detail-grid strong,
.admin-order-detail-grid p {
    margin: 0;
    font-size: 13px;
}

.admin-receipt-link {
    white-space: nowrap;
    font-weight: 800;
}

.panel-head {
    margin-bottom: 16px;
}

.panel-head h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 800;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #eef2ff;
    color: #30458a;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 800;
}

.admin-form {
    display: block;
}

.check-row {
    display: flex !important;
    align-items: center;
    grid-template-columns: auto 1fr;
    gap: 8px;
}

.check-row input {
    width: auto;
}

[data-bs-theme="dark"] .admin-main,
[data-bs-theme="dark"] .admin-body {
    background: #151515;
    color: #f7f7f7;
}

[data-bs-theme="dark"] .admin-panel,
[data-bs-theme="dark"] .stats-admin div,
[data-bs-theme="dark"] .icon-btn {
    background: #202020;
    border-color: #333;
    color: #f7f7f7;
}

[data-bs-theme="dark"] .admin-filter-bar label {
    color: #f7f7f7;
}

[data-bs-theme="dark"] .admin-filter-bar input,
[data-bs-theme="dark"] .admin-filter-bar select,
[data-bs-theme="dark"] .admin-order-detail-grid {
    background: #191919;
    border-color: #333;
    color: #f7f7f7;
}

@media (max-width: 1199px) {
    .category-grid {
        grid-template-columns: repeat(3, 1fr);
    }

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

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

    .admin-filter-bar,
    .admin-order-detail-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 991px) {
    .header-search {
        max-width: none;
    }

    .hero-band h1,
    .page-hero h1 {
        font-size: 36px;
    }

    .listing-grid,
    .category-grid,
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .filter-bar {
        grid-template-columns: 1fr 1fr;
    }

    .admin-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: static;
    }
}

@media (max-width: 575px) {
    .search-page-hero {
        padding: 18px 0 22px;
    }

    .search-page-content {
        padding-top: 20px !important;
    }

    .login-screen {
        padding-top: 18px;
        padding-bottom: 28px;
    }

    .hero-search {
        display: grid;
    }

    .hero-search button {
        height: 44px;
    }

    .listing-grid,
    .category-grid,
    .stats-grid,
    .stats-admin,
    .admin-filter-bar,
    .admin-order-detail-grid,
    .filter-bar {
        grid-template-columns: 1fr;
    }

    .section-head,
    .empty-panel,
    .admin-topbar,
    .panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .detail-list div {
        grid-template-columns: 1fr;
    }
}

.home-search-hero {
    background: linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%);
    border-bottom: 1px solid var(--op-line);
    padding: 34px 0 26px;
}

.home-search-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: stretch;
}

.home-search-card,
.home-assurance,
.market-faq,
.category-shop-top,
.address-form,
.address-summary {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
}

.home-search-card {
    padding: 26px;
    display: grid;
    align-content: center;
    min-height: 220px;
    box-shadow: 0 18px 46px rgba(31, 35, 40, .07);
}

.market-search {
    width: 100%;
    margin: 0;
}

.market-search input {
    font-size: 18px;
}

.home-mini-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.home-mini-links a {
    border: 1px solid var(--op-line);
    border-radius: 999px;
    padding: 8px 13px;
    color: var(--op-muted);
    background: #fff;
    font-weight: 700;
    font-size: 14px;
}

.home-assurance {
    padding: 18px;
    display: grid;
    gap: 16px;
}

.home-assurance div,
.detail-trust-list div {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: start;
}

.home-assurance i,
.detail-trust-list i {
    color: #111827;
    font-size: 22px;
    line-height: 1;
    margin-top: 2px;
}

.home-assurance strong,
.detail-trust-list strong {
    display: block;
    font-size: 15px;
    color: var(--op-ink);
}

.home-assurance span,
.detail-trust-list small {
    display: block;
    color: var(--op-muted);
    font-size: 13px;
    margin-top: 3px;
}

.market-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.market-section-head h2 {
    font-size: 22px;
    font-weight: 800;
    margin: 0;
}

.market-section-head a {
    color: var(--op-blue);
    font-weight: 800;
    font-size: 14px;
}

.market-listing-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.market-faq {
    padding: 22px;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 24px;
}

.category-shop-top {
    margin: 22px auto 0;
    padding: 22px;
    max-width: 1140px;
}

.category-title-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.category-title-row h1 {
    font-size: 30px;
    font-weight: 850;
    margin: 0 0 6px;
}

.category-title-row p {
    margin: 0;
    color: var(--op-muted);
}

.category-count {
    border-radius: 999px;
    background: #fff7c9;
    color: #161616;
    padding: 8px 12px;
    font-weight: 800;
    white-space: nowrap;
}

.category-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px auto;
    gap: 10px;
    align-items: center;
}

.category-search-input {
    position: relative;
}

.category-search-input i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--op-muted);
}

.category-filter-bar input,
.category-filter-bar select {
    width: 100%;
    height: 44px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 0 12px;
}

.category-filter-bar input {
    padding-left: 38px;
}

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

.listing-card {
    position: relative;
}

.listing-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #f7c600, #ffe27a);
    border: 1px solid rgba(0, 0, 0, .08);
    box-shadow: 0 8px 18px rgba(247, 198, 0, .26);
}

.listing-meta.no-location {
    align-items: center;
}

.listing-meta.no-location span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--op-green);
    font-weight: 700;
    white-space: nowrap;
}

.listing-buy-link {
    display: grid;
    place-items: center;
    margin-top: 12px;
    height: 38px;
    border-radius: 8px;
    background: var(--op-yellow);
    color: #151515;
    font-weight: 800;
}

.listing-detail-wrap {
    padding-bottom: 10px;
}

.product-summary {
    position: sticky;
    top: 94px;
}

.purchase-card {
    display: grid;
    gap: 14px;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fbfcfe;
}

.purchase-row {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

.quantity-box {
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    min-width: 0;
    height: 56px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.quantity-box button {
    border: 0;
    background: #fff;
    color: var(--op-muted);
    font-weight: 900;
}

.quantity-box input {
    border: 0;
    width: 100%;
    min-width: 0;
    text-align: center;
    font-weight: 800;
    color: #1d4ed8;
}

.buy-main-btn {
    display: grid;
    place-items: center;
    min-height: 56px;
    font-size: 18px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(247, 198, 0, .24);
}

.purchase-benefits {
    display: grid;
    overflow: hidden;
    border: 1px solid #eceff4;
    border-radius: 8px;
    background: #fff;
}

.purchase-benefit {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px;
}

.purchase-benefit + .purchase-benefit {
    border-top: 1px solid #eef1f5;
}

.purchase-benefit i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff6c7;
    color: #151515;
    font-size: 18px;
    line-height: 1;
}

.purchase-benefit strong {
    display: block;
    color: var(--op-ink);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.2;
}

.purchase-benefit small {
    display: block;
    margin-top: 4px;
    color: var(--op-muted);
    font-size: 13px;
    line-height: 1.45;
}

.detail-actions.compact {
    margin-bottom: 0;
}

.address-page {
    background: var(--op-soft);
    padding: 28px 0 48px;
}

.address-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
}

.address-form,
.address-summary {
    padding: 22px;
}

.address-form h1 {
    font-size: 28px;
    font-weight: 850;
}

.address-form p {
    color: var(--op-muted);
}

.address-form label {
    display: grid;
    gap: 6px;
    font-weight: 800;
}

.address-form input,
.address-form textarea,
.address-form select {
    width: 100%;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
}

.address-form select {
    min-height: 46px;
}

.address-phone-group {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.address-phone-prefix {
    display: grid;
    place-items: center;
    min-height: 46px;
    border-right: 1px solid var(--op-line);
    background: #fff8cc;
    color: var(--op-ink);
    font-weight: 900;
}

.address-phone-group input {
    border: 0;
    border-radius: 0;
}

.address-field-error {
    color: #b45309;
    font-size: 12px;
    font-weight: 800;
}

.address-field-error[hidden] {
    display: none;
}

.address-submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 50px;
    font-weight: 900;
    text-align: center;
}

.address-summary img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    border-radius: 8px;
    background: var(--op-soft);
    padding: 10px;
    margin-bottom: 14px;
}

.address-summary h2 {
    font-size: 19px;
    font-weight: 850;
}

.address-price {
    font-size: 24px;
    font-weight: 900;
    margin: 8px 0;
}

.address-qty {
    color: var(--op-muted);
    margin-bottom: 12px;
}

.address-options {
    display: grid;
    gap: 6px;
    margin: 12px 0;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 10px 12px;
}

.address-options strong {
    color: var(--op-dark);
    font-size: 14px;
}

.address-options span {
    color: var(--op-muted);
    font-size: 13px;
}

.address-options b {
    color: var(--op-dark);
}

.payment-page {
    background: linear-gradient(180deg, #f7f8fb 0%, #ffffff 100%);
    padding: 20px 0 48px;
}

.payment-heading {
    max-width: 760px;
    margin-bottom: 10px;
}

.payment-heading span,
.payment-section-head span,
.payment-product span {
    color: var(--op-blue);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.payment-heading h1 {
    margin: 6px 0 8px;
    color: var(--op-ink);
    font-size: 34px;
    font-weight: 900;
}

.payment-heading p,
.payment-section-head p,
.receipt-upload p {
    margin: 0;
    color: var(--op-muted);
}

.payment-complete {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid rgba(20, 131, 91, .2);
    border-radius: 8px;
    background: #f0fdf4;
}

.payment-complete i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #15803d;
    color: #fff;
    font-size: 28px;
}

.payment-complete h2 {
    margin: 0 0 4px;
    color: #14532d;
    font-size: 22px;
    font-weight: 900;
}

.payment-complete p {
    margin: 0;
    color: #166534;
}

.payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 14px;
    align-items: start;
}

.payment-panel {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(31, 35, 40, .06);
}

.payment-panel-main,
.payment-summary {
    padding: 22px;
}

.payment-section-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
    margin-bottom: 10px;
}

.payment-section-head h2,
.receipt-upload h2,
.payment-summary h2 {
    margin: 0 0 4px;
    color: var(--op-ink);
    font-size: 19px;
    font-weight: 900;
}

.payment-section-head span {
    border-radius: 999px;
    background: #fff7c9;
    color: #151515;
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
}

.payment-methods {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 10px;
}

.payment-method-card {
    position: relative;
    display: grid;
    grid-template-columns: 16px 28px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    min-height: 48px;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.payment-method-card:hover,
.payment-method-card.is-active {
    border-color: rgba(247, 198, 0, .85);
    box-shadow: 0 8px 18px rgba(247, 198, 0, .12);
}

.payment-method-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payment-radio {
    width: 14px;
    height: 14px;
    border: 2px solid #ccd3df;
    border-radius: 999px;
}

.payment-method-card.is-active .payment-radio {
    border: 3px solid var(--op-yellow);
}

.payment-method-card i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #fff5bd;
    color: #151515;
    font-size: 15px;
}

.payment-method-card strong,
.payment-method-card small {
    grid-column: 3;
}

.payment-method-card strong {
    color: var(--op-ink);
    font-size: 13.5px;
    font-weight: 900;
}

.payment-method-card small {
    color: var(--op-muted);
    font-size: 10px;
    line-height: 1.2;
}

.payment-inline-alert {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 2px 0 12px;
    padding: 9px 10px;
    border: 1px solid #ffe1a6;
    border-radius: 8px;
    background: #fffaf0;
    color: #8a4b00;
    font-size: 13px;
    font-weight: 800;
}

.payment-inline-alert[hidden] {
    display: none;
}

.payment-inline-alert i {
    color: #d97706;
    font-size: 16px;
}

.iban-card {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #eceff4;
    border-radius: 8px;
    background: #fbfcfe;
}

.iban-card-top {
    display: block;
}

.iban-card-top span {
    color: var(--op-ink);
    font-weight: 900;
}

.iban-copy-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    background: var(--op-yellow);
    color: #151515;
    margin-top: 8px;
    padding: 0 12px;
    font-weight: 900;
}

.iban-copy-button.is-copied {
    background: #16a34a;
    color: #fff;
}

.iban-lines {
    display: grid;
    gap: 10px;
}

.iban-line {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding-left: 12px;
    border-left: 4px solid var(--op-yellow);
}

.iban-line small {
    color: var(--op-muted);
    font-size: 12px;
    font-weight: 800;
}

.iban-line strong {
    color: var(--op-ink);
    font-size: 15px;
    overflow-wrap: normal;
    word-break: normal;
}

.iban-line-main strong {
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(11px, 1.25vw, 14px);
    letter-spacing: 0;
    white-space: nowrap;
}

.receipt-upload {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.receipt-upload input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.receipt-drop {
    display: grid;
    place-items: center;
    gap: 6px;
    min-height: 132px;
    margin: 0;
    padding: 18px;
    border: 1px dashed #cfd6e2;
    border-radius: 8px;
    background: #fff;
    text-align: center;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.receipt-drop:hover {
    border-color: var(--op-yellow-dark);
    background: #fffdf0;
}

.receipt-drop.has-error {
    border-color: #f59e0b;
    background: #fff8e6;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .12);
}

.receipt-drop i {
    color: #151515;
    font-size: 30px;
}

.receipt-drop strong {
    max-width: 100%;
    color: var(--op-ink);
    font-weight: 900;
    overflow-wrap: anywhere;
}

.receipt-drop small {
    color: var(--op-muted);
    font-size: 12px;
}

.payment-submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 52px;
    margin-top: 18px;
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(247, 198, 0, .26);
}

.payment-summary {
    position: sticky;
    top: 94px;
}

.payment-product {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 12px;
}

.payment-product img {
    width: 86px;
    height: 86px;
    border-radius: 8px;
    object-fit: contain;
    background: #f6f7f9;
}

.payment-product strong {
    display: block;
    margin: 3px 0;
    color: var(--op-ink);
    font-size: 14px;
    line-height: 1.35;
}

.payment-product small {
    color: var(--op-muted);
    font-weight: 800;
}

.payment-options {
    display: grid;
    gap: 6px;
    margin-top: 16px;
    padding: 12px;
    border-radius: 8px;
    background: #fbfcfe;
}

.payment-options strong {
    color: var(--op-ink);
    font-size: 14px;
}

.payment-options span {
    color: var(--op-muted);
    font-size: 13px;
}

.payment-options b {
    color: var(--op-ink);
}

.payment-totals {
    display: grid;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--op-line);
}

.payment-totals div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--op-muted);
}

.payment-totals strong {
    color: var(--op-ink);
}

.payment-totals .payment-total {
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid var(--op-line);
    color: var(--op-ink);
    font-size: 18px;
    font-weight: 900;
}

.payment-safe-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    color: var(--op-muted);
    font-size: 13px;
}

.payment-safe-list div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
}

.payment-safe-list i {
    color: #16a34a;
    font-size: 18px;
}

.complete-page,
.account-orders-page {
    background: linear-gradient(180deg, #f7f8fb 0%, #ffffff 100%);
    padding: 28px 0 54px;
}

.complete-card,
.complete-summary,
.account-order-card {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(31, 35, 40, .06);
}

.complete-card {
    max-width: 760px;
    margin: 0 auto 16px;
    padding: 28px;
    text-align: center;
}

.complete-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: #f0fdf4;
    color: #166534;
    padding: 8px 12px;
    font-weight: 900;
}

.complete-status i {
    font-size: 20px;
}

.complete-card h1,
.account-orders-head h1 {
    margin: 0;
    color: var(--op-ink);
    font-size: clamp(30px, 5vw, 44px);
    font-weight: 900;
    letter-spacing: 0;
}

.complete-card p,
.account-orders-head p {
    max-width: 680px;
    margin: 12px auto 0;
    color: var(--op-muted);
    line-height: 1.65;
}

.complete-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}

.complete-actions .btn {
    min-width: 150px;
    font-weight: 900;
}

.complete-summary {
    max-width: 760px;
    margin: 0 auto;
    padding: 20px;
}

.complete-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.complete-grid div,
.account-order-details div {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fbfcfe;
    padding: 12px;
}

.complete-grid span,
.account-orders-head span,
.account-order-topline span,
.account-order-details span {
    display: block;
    color: var(--op-blue);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.complete-grid strong,
.account-order-details strong {
    display: block;
    margin-top: 4px;
    color: var(--op-ink);
    font-weight: 900;
}

.account-orders-head {
    max-width: 760px;
    margin-bottom: 22px;
}

.account-orders-list {
    display: grid;
    gap: 14px;
}

.account-order-card {
    padding: 18px;
}

.account-order-main {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.account-order-image {
    display: block;
    border-radius: 8px;
    background: #f6f7f9;
    overflow: hidden;
}

.account-order-image img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.account-order-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.account-order-main h2 {
    margin: 0;
    color: var(--op-ink);
    font-size: 19px;
    font-weight: 900;
    line-height: 1.3;
}

.account-order-main h2 a {
    color: inherit;
    text-decoration: none;
}

.account-order-meta,
.account-order-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.account-order-meta span,
.account-order-options span {
    border-radius: 999px;
    background: #f6f7f9;
    color: var(--op-muted);
    padding: 6px 9px;
    font-size: 12px;
    font-weight: 800;
}

.account-order-options b {
    color: var(--op-ink);
}

.account-order-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.account-order-details small {
    display: block;
    margin-top: 4px;
    color: var(--op-muted);
    line-height: 1.45;
}

.order-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.order-status.is-yellow {
    background: #fff7c9;
    color: #5c4400;
}

.order-status.is-blue {
    background: #eef5ff;
    color: #24539b;
}

.order-status.is-red {
    background: #fff1f2;
    color: #9f1239;
}

.order-status.is-green {
    background: #ecfdf3;
    color: #166534;
}

.admin-inline-form select {
    min-width: 160px;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 7px 9px;
    font-size: 12px;
    font-weight: 800;
}

.admin-ip-cell {
    display: grid;
    gap: 5px;
    min-width: 140px;
}

.admin-ip-cell strong {
    font-size: 13px;
}

.admin-ip-cell small,
.admin-ip-cell code {
    color: var(--op-muted);
    font-size: 11px;
}

.ban-form {
    display: block;
}

.ban-form .btn {
    min-height: 45px;
    font-weight: 900;
}

@media (max-width: 991px) {
    .home-search-grid,
    .market-faq,
    .address-layout,
    .payment-layout,
    .account-order-details {
        grid-template-columns: 1fr;
    }

    .payment-summary {
        position: static;
    }

    .market-listing-grid,
    .category-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .home-search-card,
    .home-assurance,
    .market-faq,
    .category-shop-top,
    .address-form,
    .address-summary,
    .payment-panel-main,
    .payment-summary {
        padding: 14px;
    }

    .payment-page {
        padding: 18px 0 42px;
    }

    .complete-page,
    .account-orders-page {
        padding: 18px 0 42px;
    }

    .payment-heading h1 {
        font-size: 28px;
    }

    .payment-section-head,
    .iban-card-top {
        align-items: stretch;
        flex-direction: column;
    }

    .payment-methods {
        grid-template-columns: 1fr;
    }

    .payment-complete {
        grid-template-columns: 42px minmax(0, 1fr);
        padding: 14px;
    }

    .payment-complete i {
        width: 42px;
        height: 42px;
        font-size: 23px;
    }

    .complete-card,
    .complete-summary,
    .account-order-card {
        padding: 14px;
    }

    .complete-grid,
    .account-order-main {
        grid-template-columns: 1fr;
    }

    .account-order-image {
        width: 104px;
    }

    .market-search {
        display: grid;
        grid-template-columns: 1fr;
    }

    .market-search button {
        height: 44px;
    }

    .category-title-row,
    .market-section-head {
        align-items: stretch;
        flex-direction: column;
    }

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

    .category-results-grid,
    .market-listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .listing-body {
        padding: 10px;
    }

    .listing-body h3 {
        font-size: 14px;
        min-height: 38px;
    }

    .listing-body p {
        display: none;
    }

    .listing-meta {
        display: grid;
        gap: 4px;
        font-size: 12px;
    }

    .listing-buy-link {
        height: 34px;
        font-size: 13px;
    }

    .product-summary {
        position: static;
    }

    .listing-breadcrumb-section {
        padding-top: 18px !important;
        padding-bottom: 10px !important;
    }

    .listing-detail-wrap {
        padding-top: 0;
    }

    .listing-detail-row {
        --bs-gutter-y: 16px;
    }

    .detail-main-image {
        height: 280px;
        min-height: 260px;
        padding: 12px;
    }

    .detail-summary h1 {
        font-size: 18px;
    }

    .detail-price {
        margin: 12px 0;
    }

    .detail-price strong {
        font-size: 23px;
    }

    .product-option-choice {
        min-height: 42px;
        padding: 5px 8px;
    }

    .product-option-choice img {
        width: 30px;
        height: 30px;
    }

    .purchase-card {
        padding: 12px;
    }

    .purchase-row {
        grid-template-columns: 94px minmax(0, 1fr);
        gap: 8px;
    }

    .quantity-box {
        height: 52px;
        grid-template-columns: 28px 1fr 28px;
    }

    .buy-main-btn {
        min-height: 52px;
        font-size: 16px;
    }

    .purchase-benefit {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 12px;
    }
}

.corporate-home {
    min-height: 58vh;
    display: grid;
    align-items: center;
    background:
        linear-gradient(135deg, rgba(247, 198, 0, .12), rgba(255, 255, 255, 0) 42%),
        linear-gradient(180deg, #fff 0%, #f5f7fb 100%);
    border-bottom: 1px solid var(--op-line);
    padding: 58px 0;
}

.corporate-hero-card {
    width: min(100%, 880px);
    margin: 0 auto;
    text-align: center;
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 24px 70px rgba(31, 35, 40, .09);
    padding: 42px;
}

.corporate-hero-logo {
    width: min(270px, 72vw);
    height: auto;
    margin-bottom: 22px;
}

.corporate-hero-card h1 {
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 900;
    margin: 0 0 10px;
    color: var(--op-dark);
}

.corporate-hero-card p {
    color: var(--op-muted);
    font-size: 18px;
    margin: 0 auto 24px;
    max-width: 560px;
}

.corporate-search {
    margin: 0 auto;
    max-width: 680px;
}

.corporate-faq-card {
    border: 1px solid var(--op-line);
    border-radius: 8px;
    background: #fff;
    padding: 22px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 22px;
}

.corporate-faq-head h2 {
    font-size: 24px;
    font-weight: 850;
    margin: 0;
}

@media (max-width: 767px) {
    .corporate-home {
        min-height: auto;
        padding: 26px 0;
    }

    .corporate-hero-card {
        padding: 22px 14px;
    }

    .corporate-hero-card p {
        font-size: 15px;
    }

    .corporate-faq-card {
        grid-template-columns: 1fr;
        padding: 14px;
    }
}

.op-app-banner[hidden],
.op-cookie-consent[hidden],
.op-cookie-modal[hidden] {
    display: none !important;
}

.op-app-banner {
    position: relative;
    z-index: 110;
    color: var(--op-banner-text, #242424);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .48)),
        var(--op-banner-bg, #fff);
    border-bottom: 1px solid rgba(31, 35, 40, .08);
    padding:
        calc(6px + env(safe-area-inset-top))
        max(8px, env(safe-area-inset-right))
        6px
        max(8px, env(safe-area-inset-left));
    opacity: 0;
    transform: translateY(-100%);
    transition: transform .28s ease, opacity .28s ease;
    will-change: transform, opacity;
}

.op-app-banner.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.op-app-banner.is-closing {
    opacity: 0;
    transform: translateY(-100%);
}

.op-app-banner-inner {
    min-height: 50px;
    width: min(1120px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto 30px;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 13px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 24px rgba(31, 35, 40, .1);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    padding: 6px 8px;
}

.op-app-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    object-fit: contain;
    background: #fff8d7;
    box-shadow: 0 6px 14px rgba(31, 35, 40, .12);
}

.op-app-copy {
    min-width: 0;
    display: grid;
    gap: 1px;
}

.op-app-stars {
    color: #f4b400;
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0;
}

.op-app-copy strong {
    color: var(--op-banner-text, #242424);
    font-size: 12.5px;
    line-height: 1.2;
}

.op-app-copy span {
    color: color-mix(in srgb, var(--op-banner-text, #242424) 68%, transparent);
    font-size: 11px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.op-app-download,
.op-app-close,
.op-cookie-btn,
.op-modal-close {
    border: 0;
    border-radius: 999px;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.op-app-download {
    min-width: 62px;
    min-height: 32px;
    padding: 0 12px;
    background: var(--op-yellow);
    color: #151515;
    font-weight: 850;
    font-size: 11px;
    box-shadow: 0 7px 16px rgba(247, 198, 0, .22);
}

.op-app-download:hover,
.op-cookie-btn.primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(247, 198, 0, .32);
}

.op-app-close,
.op-modal-close {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    background: rgba(31, 35, 40, .06);
    color: var(--op-banner-text, #242424);
    font-size: 12px;
}

.op-app-close:hover,
.op-modal-close:hover {
    background: rgba(31, 35, 40, .12);
}

.op-cookie-consent {
    position: fixed;
    left: 50%;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 130;
    width: min(680px, calc(100% - 22px));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(255, 255, 255, .52);
    border-radius: 16px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 16px 42px rgba(31, 35, 40, .18);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 12px 14px;
    opacity: 0;
    transform: translate(-50%, 18px);
    transition: transform .28s ease, opacity .28s ease;
    will-change: transform, opacity;
}

.op-cookie-consent.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}

.op-cookie-copy strong {
    display: block;
    color: var(--op-ink);
    font-size: 13.5px;
    font-weight: 850;
    margin-bottom: 2px;
}

.op-cookie-copy p {
    margin: 0;
    color: var(--op-muted);
    font-size: 11.5px;
    line-height: 1.4;
}

.op-cookie-actions,
.op-cookie-dialog-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.op-cookie-btn {
    min-height: 32px;
    padding: 0 12px;
    font-size: 11px;
    font-weight: 800;
}

.op-cookie-btn.primary {
    background: var(--op-yellow);
    color: #151515;
}

.op-cookie-btn.ghost {
    background: rgba(31, 35, 40, .07);
    color: var(--op-ink);
}

.op-cookie-btn.link {
    background: transparent;
    color: var(--op-blue);
    padding-inline: 8px;
}

.op-cookie-modal {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(17, 24, 39, .42);
    opacity: 0;
    transition: opacity .2s ease;
}

.op-cookie-modal.is-open {
    opacity: 1;
}

.op-cookie-dialog {
    width: min(480px, 100%);
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    padding: 14px;
    transform: translateY(14px) scale(.98);
    transition: transform .22s ease;
}

.op-cookie-modal.is-open .op-cookie-dialog {
    transform: translateY(0) scale(1);
}

.op-cookie-dialog-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
    margin-bottom: 12px;
}

.op-cookie-dialog-head span {
    color: var(--op-blue);
    font-size: 10.5px;
    font-weight: 850;
}

.op-cookie-dialog-head h2 {
    margin: 2px 0 0;
    font-size: 20px;
    font-weight: 900;
}

.op-cookie-options {
    display: grid;
    gap: 8px;
}

.op-cookie-option {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--op-line);
    border-radius: 11px;
    background: #fff;
    padding: 10px;
}

.op-cookie-option strong,
.op-cookie-option small {
    display: block;
}

.op-cookie-option strong {
    color: var(--op-ink);
    font-size: 13px;
}

.op-cookie-option small {
    color: var(--op-muted);
    font-size: 11px;
    line-height: 1.35;
    margin-top: 2px;
}

.op-cookie-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.op-cookie-option i {
    position: relative;
    width: 44px;
    height: 24px;
    border-radius: 999px;
    background: #d8dde6;
    transition: background .18s ease;
}

.op-cookie-option i::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 10px rgba(31, 35, 40, .2);
    transition: transform .18s ease;
}

.op-cookie-option input:checked + i {
    background: var(--op-yellow);
}

.op-cookie-option input:checked + i::after {
    transform: translateX(20px);
}

.op-cookie-option.locked {
    background: #fafbfc;
}

.op-cookie-option:focus-within {
    outline: 3px solid rgba(247, 198, 0, .34);
    outline-offset: 2px;
}

.op-cookie-dialog-actions {
    margin-top: 12px;
}

.settings-form {
    display: grid;
    gap: 18px;
}

.settings-section .panel-head p {
    color: var(--op-muted);
    margin: 4px 0 0;
    font-size: 13px;
}

.settings-section input[type="color"] {
    min-height: 44px;
    padding: 5px;
}

.settings-savebar {
    position: sticky;
    bottom: 14px;
    z-index: 20;
    display: flex;
    justify-content: flex-end;
    border: 1px solid var(--op-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 18px 48px rgba(31, 35, 40, .16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 10px;
}

.download-page {
    min-height: 62vh;
    display: grid;
    align-items: center;
    padding: 54px 0;
    background:
        linear-gradient(135deg, rgba(247, 198, 0, .13), rgba(255, 255, 255, 0) 44%),
        linear-gradient(180deg, #fff 0%, #f5f7fb 100%);
}

.download-card {
    width: min(760px, 100%);
    margin: 0 auto;
    border: 1px solid var(--op-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 24px 70px rgba(31, 35, 40, .1);
    text-align: center;
    padding: 34px;
}

.download-card img {
    width: min(250px, 72vw);
    height: auto;
    margin-bottom: 18px;
}

.download-card h1 {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 900;
    margin-bottom: 10px;
}

.download-card p {
    color: var(--op-muted);
    margin: 0 auto 22px;
    max-width: 560px;
}

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

.download-store {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--op-line);
    border-radius: 10px;
    background: #fff;
    color: var(--op-ink);
    padding: 14px;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease;
}

.download-store:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(31, 35, 40, .12);
}

.download-store i {
    font-size: 24px;
    color: var(--op-yellow-dark);
}

.download-store small,
.download-store span {
    display: block;
}

.download-store small {
    color: var(--op-muted);
    font-size: 12px;
}

.download-store span {
    font-weight: 850;
}

@media (prefers-color-scheme: dark) {
    .op-cookie-consent,
    .op-cookie-dialog {
        background: rgba(30, 30, 30, .82);
        border-color: rgba(255, 255, 255, .12);
    }

    .op-cookie-copy strong,
    .op-cookie-dialog-head h2,
    .op-cookie-option strong {
        color: #fff;
    }

    .op-cookie-copy p,
    .op-cookie-option small {
        color: #cfd4dc;
    }

    .op-cookie-option {
        background: rgba(255, 255, 255, .06);
        border-color: rgba(255, 255, 255, .12);
    }
}

@media (max-width: 767px) {
    .op-app-banner {
        padding:
            calc(5px + env(safe-area-inset-top))
            max(6px, env(safe-area-inset-right))
            5px
            max(6px, env(safe-area-inset-left));
    }

    .op-app-banner-inner {
        min-height: 40px;
        grid-template-columns: 33px minmax(0, 1fr) auto 26px;
        border-radius: 12px;
        gap: 6px;
        padding: 4px 6px;
    }

    .op-app-icon {
        width: 33px;
        height: 33px;
        border-radius: 8px;
    }

    .op-app-stars {
        font-size: 7px;
    }

    .op-app-copy strong {
        font-size: 10px;
    }

    .op-app-copy span {
        max-width: 36vw;
        font-size: 8.5px;
    }

    .op-app-download {
        min-width: 47px;
        min-height: 28px;
        padding: 0 8px;
        font-size: 10px;
    }

    .op-app-close {
        width: 26px;
        height: 26px;
        font-size: 9px;
    }

    .op-cookie-consent {
        width: calc(100% - 8px);
        bottom: max(4px, env(safe-area-inset-bottom));
        grid-template-columns: 1fr;
        gap: 7px;
        border-radius: 14px;
        padding: 10px;
    }

    .op-cookie-copy strong {
        font-size: 12.2px;
    }

    .op-cookie-copy p {
        font-size: 9.8px;
        line-height: 1.32;
    }

    .op-cookie-actions,
    .op-cookie-dialog-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 5px;
    }

    .op-cookie-btn {
        min-height: 28px;
        padding: 0 9px;
        font-size: 9.5px;
    }

    .op-cookie-btn.link {
        grid-column: 1 / -1;
        min-height: 25px;
        background: rgba(31, 35, 40, .045);
    }

    .op-cookie-dialog {
        padding: 10px;
        border-radius: 15px;
    }

    .op-cookie-dialog-head h2 {
        font-size: 18px;
    }

    .op-cookie-option {
        padding: 9px;
    }

    .op-cookie-option strong {
        font-size: 12px;
    }

    .op-cookie-option small {
        font-size: 10px;
    }

    .download-card {
        padding: 22px 14px;
    }

    .download-actions {
        grid-template-columns: 1fr;
    }
}



.category-browser-body {
    background: #fff;
}

.category-browser-body main {
    min-height: 100vh;
}

.category-browser {
    min-height: 100vh;
    overflow-x: hidden;
    background: #fff;
    color: #303030;
    padding-bottom: 42px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

.category-search-top {
    position: sticky;
    top: 0;
    z-index: 80;
    width: min(900px, 100%);
    min-width: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
    padding: 24px 30px 22px;
}

.category-back {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    color: #606060;
    font-size: 36px;
    line-height: 1;
}

.category-search-pill {
    position: relative;
    min-width: 0;
    height: 68px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 52px;
    align-items: center;
    border-radius: 999px;
    background: #e8e8ea;
    overflow: visible;
}

.category-search-pill > i {
    display: grid;
    place-items: center;
    color: #f07a16;
    font-size: 28px;
}

.category-search-pill input {
    width: 100%;
    height: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #303030;
    font-size: 28px;
    line-height: 1.2;
    padding: 0 2px;
}

.category-search-pill input::placeholder {
    color: #6b6b6d;
    opacity: 1;
}

.category-search-pill button {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    justify-self: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #414141;
    font-size: 29px;
    transition: background .16s ease, transform .16s ease;
}

.category-search-pill button:hover {
    background: rgba(0, 0, 0, .06);
    transform: translateY(-1px);
}

.category-search-pill .live-search-panel {
    top: calc(100% + 12px);
    border-radius: 14px;
}

.category-browser-content {
    width: min(900px, 100%);
    margin: 0 auto;
    padding: 50px 30px 24px;
}

.category-browser-content h1 {
    margin: 0 0 18px;
    color: #303030;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.15;
}

.category-special-card {
    position: relative;
    min-height: 132px;
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 17px;
    border: 1px solid rgba(238, 143, 101, .34);
    background: linear-gradient(100deg, #ffd0d6 0%, #ffd7ca 54%, #ffd2a4 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .38), 0 2px 7px rgba(31, 35, 40, .08);
    padding: 26px 190px 24px 30px;
    margin-bottom: 32px;
    transition: transform .18s ease, box-shadow .18s ease;
}

.category-special-card:hover {
    transform: translateY(-2px);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .42), 0 13px 26px rgba(31, 35, 40, .1);
}

.category-special-card strong,
.category-special-card small {
    display: block;
    color: #313131;
}

.category-special-card strong {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.16;
}

.category-special-card strong i {
    font-size: .78em;
    vertical-align: .02em;
}

.category-special-card small {
    margin-top: 9px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.25;
}

.category-discount-art {
    position: absolute;
    right: 44px;
    top: 23px;
    width: 112px;
    height: 88px;
    border-radius: 24px 24px 28px 14px;
    background: linear-gradient(145deg, #ff7a19, #f25a13);
    transform: rotate(-18deg);
    box-shadow: 0 12px 22px rgba(205, 69, 18, .24);
}

.category-discount-art::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 14px;
    width: 18px;
    height: 18px;
    border: 4px solid #ffd9a5;
    border-radius: 50%;
    background: #fff3cd;
}

.category-discount-art::after {
    content: "";
    position: absolute;
    right: -15px;
    top: -11px;
    width: 32px;
    height: 32px;
    border-radius: 12px;
    background: #ff8c22;
    transform: rotate(29deg);
    box-shadow: -62px -10px 0 -9px #ffbd35;
}

.category-discount-art b {
    position: absolute;
    right: 15px;
    bottom: 6px;
    color: #ffd63c;
    font-size: 58px;
    line-height: 1;
    font-style: normal;
    text-shadow: 0 3px 0 rgba(141, 49, 8, .2);
}

.category-browser-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px 30px;
    min-width: 0;
}

.category-browser-card {
    position: relative;
    min-width: 0;
    display: block;
    overflow: hidden;
    aspect-ratio: 2.03 / 1;
    border-radius: 13px;
    background:
        radial-gradient(circle at 100% 100%, rgba(255, 255, 255, .8), transparent 34%),
        linear-gradient(180deg, #eeeeef 0%, #e9e9ea 100%);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .025);
    transition: transform .18s ease, box-shadow .18s ease;
}

.category-browser-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(31, 35, 40, .1);
}

.category-browser-card strong {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 66%;
    color: #333;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.16;
    padding: 31px 18px 0 30px;
}

.category-browser-card img,
.category-art {
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 61%;
    height: 96%;
}

.category-browser-card img {
    object-fit: contain;
    object-position: right bottom;
}

.category-art {
    overflow: hidden;
}

.category-art span,
.category-art::before,
.category-art::after {
    position: absolute;
    content: "";
    display: block;
}

.category-art--fashion span:nth-child(1) {
    right: 42px;
    bottom: -7px;
    width: 72px;
    height: 108px;
    border-radius: 34px 34px 10px 10px;
    background: #e1262f;
}

.category-art--fashion span:nth-child(2) {
    right: 62px;
    top: 27px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #edc2a8;
    box-shadow: 7px -9px 0 4px #2d2525;
}

.category-art--fashion span:nth-child(3) {
    right: 30px;
    bottom: 16px;
    width: 92px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .18);
    transform: rotate(-18deg);
}

.category-art--mens span:nth-child(1) {
    right: 32px;
    bottom: -8px;
    width: 78px;
    height: 96px;
    border-radius: 32px 32px 12px 12px;
    background: #0f6c66;
    box-shadow: inset 0 22px 0 rgba(255, 255, 255, .08);
}

.category-art--mens span:nth-child(2) {
    right: 55px;
    top: 23px;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #e8bfa2;
    box-shadow: 5px -9px 0 5px #5d3727;
}

.category-art--mens span:nth-child(3) {
    right: 21px;
    bottom: 39px;
    width: 48px;
    height: 13px;
    border-radius: 999px;
    background: #e8bfa2;
    transform: rotate(-28deg);
}

.category-art--mens span:nth-child(4) {
    right: 62px;
    bottom: 54px;
    width: 68px;
    height: 12px;
    border-radius: 999px;
    background: #0f6c66;
    transform: rotate(19deg);
}

.category-art--kids span:nth-child(1),
.category-art--kids span:nth-child(2) {
    bottom: -6px;
    width: 64px;
    height: 92px;
    border-radius: 28px 28px 10px 10px;
    background: #e9edf3;
}

.category-art--kids span:nth-child(1) {
    right: 72px;
}

.category-art--kids span:nth-child(2) {
    right: 22px;
    height: 100px;
}

.category-art--kids span:nth-child(3),
.category-art--kids span:nth-child(4) {
    top: 33px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #edc6ab;
    box-shadow: 5px -7px 0 3px #754832;
}

.category-art--kids span:nth-child(3) {
    right: 88px;
}

.category-art--kids span:nth-child(4) {
    right: 39px;
}

.category-art--home span:nth-child(1) {
    right: 37px;
    top: 28px;
    width: 90px;
    height: 55px;
    border-radius: 44px 44px 12px 12px;
    background: linear-gradient(90deg, #ffb13c, #f58417);
    box-shadow: inset 0 -8px 0 rgba(255, 255, 255, .28);
}

.category-art--home span:nth-child(2) {
    right: 72px;
    bottom: 10px;
    width: 22px;
    height: 70px;
    border-radius: 999px;
    background: #d06c14;
}

.category-art--home span:nth-child(3) {
    right: 46px;
    bottom: -10px;
    width: 75px;
    height: 54px;
    border-radius: 50% 50% 12px 12px;
    background: #f38317;
}

.category-art--grocery span:nth-child(1) {
    right: 26px;
    bottom: 0;
    width: 112px;
    height: 92px;
    border-radius: 10px 10px 24px 24px;
    background: #d6ad72;
    clip-path: polygon(8% 0, 92% 0, 78% 100%, 22% 100%);
}

.category-art--grocery span:nth-child(2),
.category-art--grocery span:nth-child(3),
.category-art--grocery span:nth-child(4) {
    bottom: 57px;
    width: 18px;
    height: 70px;
    border-radius: 999px 999px 0 0;
    transform-origin: bottom center;
}

.category-art--grocery span:nth-child(2) {
    right: 55px;
    background: #3aa85d;
    transform: rotate(-18deg);
}

.category-art--grocery span:nth-child(3) {
    right: 83px;
    background: #f08a1e;
    transform: rotate(14deg);
}

.category-art--grocery span:nth-child(4) {
    right: 113px;
    background: #8ccf53;
    transform: rotate(-4deg);
}

.category-art--cosmetic span:nth-child(1) {
    right: 103px;
    bottom: 0;
    width: 26px;
    height: 82px;
    border-radius: 10px 10px 4px 4px;
    background: #171717;
}

.category-art--cosmetic span:nth-child(1)::before {
    content: "";
    position: absolute;
    left: 4px;
    top: -42px;
    width: 18px;
    height: 46px;
    border-radius: 12px 12px 4px 4px;
    background: #c96a69;
}

.category-art--cosmetic span:nth-child(2) {
    right: 18px;
    bottom: 0;
    width: 92px;
    height: 82px;
    border-radius: 7px;
    background: #282022;
    box-shadow: inset 0 12px 0 #eee;
}

.category-art--cosmetic span:nth-child(3) {
    right: 28px;
    bottom: 9px;
    width: 72px;
    height: 52px;
    background:
        linear-gradient(90deg, transparent 31%, #35272a 31% 36%, transparent 36% 64%, #35272a 64% 69%, transparent 69%),
        linear-gradient(180deg, transparent 46%, #35272a 46% 54%, transparent 54%),
        linear-gradient(90deg, #a46a5f 0 33%, #d0947c 33% 66%, #bd756c 66% 100%);
}

.category-art--accessory span:nth-child(1) {
    right: 28px;
    bottom: 24px;
    width: 112px;
    height: 50px;
    border-radius: 999px;
    border: 12px solid #171717;
    background: rgba(102, 54, 18, .38);
    transform: rotate(6deg);
}

.category-art--accessory span:nth-child(2) {
    right: 86px;
    bottom: 15px;
    width: 86px;
    height: 44px;
    border-radius: 9px;
    background: #e0c488;
    transform: rotate(-4deg);
}

.category-art--electronics span:nth-child(1) {
    right: 34px;
    bottom: 16px;
    width: 88px;
    height: 88px;
    border: 15px solid #1c1c1f;
    border-bottom-color: transparent;
    border-radius: 50%;
}

.category-art--electronics span:nth-child(2),
.category-art--electronics span:nth-child(3) {
    bottom: 10px;
    width: 28px;
    height: 58px;
    border-radius: 16px;
    background: #1c1c1f;
}

.category-art--electronics span:nth-child(2) {
    right: 107px;
}

.category-art--electronics span:nth-child(3) {
    right: 24px;
}

.category-art--electronics span:nth-child(4) {
    right: 6px;
    bottom: 34px;
    width: 68px;
    height: 62px;
    border-radius: 9px;
    background: #f07a16;
}

.category-art--sport span:nth-child(1) {
    right: 82px;
    bottom: 26px;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background:
        linear-gradient(45deg, transparent 42%, #111 42% 55%, transparent 55%),
        linear-gradient(-45deg, transparent 42%, #111 42% 55%, transparent 55%),
        #fff;
    border: 2px solid #ddd;
}

.category-art--sport span:nth-child(2) {
    right: 18px;
    bottom: 14px;
    width: 112px;
    height: 42px;
    border-radius: 50px 22px 16px 16px;
    background: #ffc414;
    transform: rotate(-11deg);
    box-shadow: inset 0 -9px 0 rgba(0, 0, 0, .08);
}

.category-art--books span:nth-child(1),
.category-art--books span:nth-child(2),
.category-art--books span:nth-child(3) {
    right: 20px;
    width: 120px;
    height: 18px;
    border-radius: 3px;
}

.category-art--books span:nth-child(1) {
    bottom: 8px;
    background: #db724a;
}

.category-art--books span:nth-child(2) {
    bottom: 27px;
    background: #fff;
    box-shadow: 0 0 0 2px #5fa5a0 inset;
}

.category-art--books span:nth-child(3) {
    bottom: 46px;
    background: #f6cf61;
}

.category-art--books span:nth-child(4) {
    right: 44px;
    bottom: 67px;
    width: 52px;
    height: 44px;
    border-radius: 8px 8px 18px 18px;
    background: #6f8fe6;
    box-shadow:
        -26px -16px 0 -20px #e74040,
        -12px -27px 0 -20px #31a55b,
        11px -22px 0 -20px #f3b51d,
        30px -15px 0 -20px #e74040;
}

.category-art--automotive span:nth-child(1),
.category-art--tools span:nth-child(1) {
    right: 86px;
    bottom: 15px;
    width: 13px;
    height: 120px;
    border-radius: 999px;
    background: #c6c6c8;
    transform: rotate(-34deg);
    box-shadow: 0 -48px 0 5px #e43d32;
}

.category-art--automotive span:nth-child(2),
.category-art--tools span:nth-child(2) {
    right: 34px;
    bottom: 14px;
    width: 15px;
    height: 125px;
    border-radius: 999px;
    background: #b6b7ba;
    transform: rotate(30deg);
}

.category-art--automotive span:nth-child(2)::before,
.category-art--tools span:nth-child(2)::before {
    content: "";
    position: absolute;
    left: -14px;
    top: -12px;
    width: 42px;
    height: 28px;
    border-radius: 18px 18px 8px 8px;
    border: 8px solid #b6b7ba;
    border-bottom: 0;
}

.category-art--automotive span:nth-child(3),
.category-art--tools span:nth-child(3) {
    right: 126px;
    bottom: 16px;
    width: 12px;
    height: 94px;
    background: #d8d8da;
    border-radius: 999px;
    transform: rotate(24deg);
}

.category-art--automotive span:nth-child(4),
.category-art--tools span:nth-child(4) {
    right: 113px;
    bottom: 95px;
    width: 44px;
    height: 13px;
    border-radius: 999px;
    background: #d8d8da;
    transform: rotate(24deg);
}

.category-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: 0;
    z-index: 90;
    width: min(900px, 100%);
    min-height: calc(102px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: start;
    gap: 2px;
    border-top: 1px solid #dfdfdf;
    background: rgba(255, 255, 255, .98);
    transform: translateX(-50%);
    padding: 14px 20px calc(13px + env(safe-area-inset-bottom));
    box-shadow: 0 -8px 28px rgba(31, 35, 40, .05);
}

.category-bottom-nav a {
    position: relative;
    min-width: 0;
    display: grid;
    place-items: center;
    gap: 4px;
    color: #303030;
    font-size: 18px;
    line-height: 1.1;
    text-align: center;
}

.category-bottom-nav i {
    font-size: 36px;
    line-height: 1;
}

.category-bottom-nav .active,
.category-bottom-nav .active i {
    color: #f27a1a;
}

.category-bottom-nav strong {
    display: block;
    color: #111;
    font-size: 26px;
    font-weight: 900;
    line-height: .88;
}

.category-bottom-nav span {
    display: block;
    font-size: 18px;
    line-height: 1.1;
}

.category-bottom-nav b,
.category-bottom-nav em {
    position: absolute;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #f27a1a;
    color: #fff;
    font-style: normal;
}

.category-bottom-nav b {
    top: -3px;
    right: 28px;
    width: 28px;
    height: 28px;
    font-size: 16px;
    font-weight: 850;
}

.category-bottom-nav em {
    top: 5px;
    right: 31px;
    width: 16px;
    height: 16px;
}

.category-bottom-nav em::before {
    content: "";
    width: 8px;
    height: 8px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translateY(-1px);
}

@media (min-width: 901px) {
    .category-browser {
        background: #f4f5f7;
        padding: 32px 24px 56px;
    }

    .category-search-top,
    .category-browser-content,
    .category-bottom-nav {
        background-color: #fff;
    }

    .category-search-top {
        position: relative;
        width: min(1180px, 100%);
        grid-template-columns: 46px minmax(0, 680px);
        justify-content: start;
        border: 1px solid #eceef2;
        border-radius: 24px 24px 0 0;
        border-bottom: 0;
        padding: 26px 36px 18px;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .06);
    }

    .category-back {
        width: 46px;
        height: 46px;
        font-size: 27px;
    }

    .category-search-pill {
        height: 52px;
        grid-template-columns: 42px minmax(0, 1fr) 46px;
    }

    .category-search-pill > i {
        font-size: 22px;
    }

    .category-search-pill input {
        font-size: 19px;
    }

    .category-search-pill button {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }

    .category-browser-content {
        width: min(1180px, 100%);
        min-height: calc(100vh - 160px);
        padding: 32px 36px 44px;
        border: 1px solid #eceef2;
        border-top: 0;
        border-radius: 0 0 24px 24px;
        box-shadow: 0 18px 48px rgba(15, 23, 42, .06);
    }

    .category-browser-content h1 {
        font-size: 30px;
        margin-bottom: 18px;
    }

    .category-special-card {
        min-height: 112px;
        padding: 22px 184px 20px 26px;
        margin-bottom: 28px;
    }

    .category-browser-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 22px;
    }

    .category-browser-card {
        border-radius: 12px;
    }

    .category-browser-card strong {
        max-width: 68%;
        font-size: 20px;
        padding: 22px 12px 0 20px;
    }

    .category-browser-card img,
    .category-art {
        width: 60%;
        height: 93%;
    }
}

@media (max-width: 767px) {
    body.category-browser-body {
        min-width: 0;
        overflow-x: hidden;
    }

    .category-browser,
    .category-search-top,
    .category-browser-content {
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
    }

    .category-search-top {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 10px;
        padding: 19px 15px 18px;
    }

    .category-back {
        width: 36px;
        height: 36px;
        font-size: 27px;
    }

    .category-search-pill {
        height: 48px;
        grid-template-columns: 38px minmax(0, 1fr) 42px;
    }

    .category-search-pill > i {
        font-size: 21px;
    }

    .category-search-pill input {
        font-size: 17px;
    }

    .category-search-pill button {
        width: 38px;
        height: 38px;
        font-size: 22px;
    }

    .category-browser-content {
        padding: 34px 15px 22px;
    }

    .category-browser-content h1 {
        font-size: 24px;
        margin-bottom: 14px;
    }

    .category-special-card {
        min-height: 96px;
        border-radius: 13px;
        padding: 18px 108px 17px 15px;
        margin-bottom: 22px;
    }

    .category-special-card strong {
        font-size: 20px;
    }

    .category-special-card small {
        margin-top: 6px;
        font-size: 15px;
    }

    .category-discount-art {
        right: 24px;
        top: 19px;
        width: 70px;
        height: 56px;
        border-radius: 16px 16px 18px 10px;
    }

    .category-discount-art::before {
        left: 8px;
        top: 9px;
        width: 11px;
        height: 11px;
        border-width: 3px;
    }

    .category-discount-art::after {
        right: -10px;
        top: -7px;
        width: 20px;
        height: 20px;
        border-radius: 8px;
        box-shadow: -40px -6px 0 -6px #ffbd35;
    }

    .category-discount-art b {
        right: 10px;
        bottom: 5px;
        font-size: 36px;
    }

    .category-browser-grid {
        gap: 18px 14px;
        width: 100%;
    }

    .category-browser-card {
        width: 100%;
        border-radius: 9px;
    }

    .category-browser-card strong {
        max-width: 70%;
        font-size: 17px;
        padding: 20px 8px 0 15px;
    }

    .category-art--fashion span:nth-child(1) {
        right: 24px;
        width: 44px;
        height: 70px;
    }

    .category-art--fashion span:nth-child(2) {
        right: 36px;
        top: 17px;
        width: 24px;
        height: 24px;
        box-shadow: 4px -6px 0 3px #2d2525;
    }

    .category-art--fashion span:nth-child(3) {
        right: 18px;
        bottom: 9px;
        width: 58px;
        height: 21px;
    }

    .category-art--mens span:nth-child(1) {
        right: 19px;
        width: 48px;
        height: 61px;
    }

    .category-art--mens span:nth-child(2) {
        right: 34px;
        top: 15px;
        width: 24px;
        height: 24px;
        box-shadow: 3px -5px 0 3px #5d3727;
    }

    .category-art--mens span:nth-child(3) {
        right: 13px;
        bottom: 24px;
        width: 31px;
        height: 9px;
    }

    .category-art--mens span:nth-child(4) {
        right: 38px;
        bottom: 34px;
        width: 43px;
        height: 8px;
    }

    .category-art--kids span:nth-child(1),
    .category-art--kids span:nth-child(2) {
        width: 39px;
        height: 58px;
    }

    .category-art--kids span:nth-child(1) {
        right: 47px;
    }

    .category-art--kids span:nth-child(2) {
        right: 15px;
        height: 64px;
    }

    .category-art--kids span:nth-child(3),
    .category-art--kids span:nth-child(4) {
        top: 21px;
        width: 21px;
        height: 21px;
        box-shadow: 3px -4px 0 2px #754832;
    }

    .category-art--kids span:nth-child(3) {
        right: 57px;
    }

    .category-art--kids span:nth-child(4) {
        right: 25px;
    }

    .category-art--home span:nth-child(1) {
        right: 20px;
        top: 18px;
        width: 58px;
        height: 36px;
    }

    .category-art--home span:nth-child(2) {
        right: 42px;
        bottom: 5px;
        width: 14px;
        height: 45px;
    }

    .category-art--home span:nth-child(3) {
        right: 25px;
        width: 49px;
        height: 35px;
    }

    .category-art--grocery span:nth-child(1) {
        right: 16px;
        width: 70px;
        height: 58px;
    }

    .category-art--grocery span:nth-child(2),
    .category-art--grocery span:nth-child(3),
    .category-art--grocery span:nth-child(4) {
        bottom: 36px;
        width: 12px;
        height: 46px;
    }

    .category-art--grocery span:nth-child(2) {
        right: 34px;
    }

    .category-art--grocery span:nth-child(3) {
        right: 52px;
    }

    .category-art--grocery span:nth-child(4) {
        right: 70px;
    }

    .category-art--cosmetic span:nth-child(1) {
        right: 64px;
        width: 17px;
        height: 52px;
    }

    .category-art--cosmetic span:nth-child(1)::before {
        left: 3px;
        top: -27px;
        width: 11px;
        height: 29px;
    }

    .category-art--cosmetic span:nth-child(2) {
        right: 10px;
        width: 58px;
        height: 52px;
    }

    .category-art--cosmetic span:nth-child(3) {
        right: 16px;
        bottom: 6px;
        width: 46px;
        height: 33px;
    }

    .category-art--accessory span:nth-child(1) {
        right: 16px;
        bottom: 15px;
        width: 70px;
        height: 32px;
        border-width: 8px;
    }

    .category-art--accessory span:nth-child(2) {
        right: 54px;
        width: 54px;
        height: 28px;
    }

    .category-art--electronics span:nth-child(1) {
        right: 21px;
        bottom: 9px;
        width: 56px;
        height: 56px;
        border-width: 10px;
    }

    .category-art--electronics span:nth-child(2),
    .category-art--electronics span:nth-child(3) {
        bottom: 6px;
        width: 18px;
        height: 37px;
    }

    .category-art--electronics span:nth-child(2) {
        right: 67px;
    }

    .category-art--electronics span:nth-child(3) {
        right: 15px;
    }

    .category-art--electronics span:nth-child(4) {
        right: 3px;
        bottom: 22px;
        width: 43px;
        height: 39px;
    }

    .category-art--sport span:nth-child(1) {
        right: 50px;
        bottom: 17px;
        width: 42px;
        height: 42px;
    }

    .category-art--sport span:nth-child(2) {
        right: 11px;
        bottom: 9px;
        width: 72px;
        height: 27px;
    }

    .category-art--books span:nth-child(1),
    .category-art--books span:nth-child(2),
    .category-art--books span:nth-child(3) {
        right: 11px;
        width: 74px;
        height: 12px;
    }

    .category-art--books span:nth-child(1) {
        bottom: 5px;
    }

    .category-art--books span:nth-child(2) {
        bottom: 18px;
    }

    .category-art--books span:nth-child(3) {
        bottom: 31px;
    }

    .category-art--books span:nth-child(4) {
        right: 27px;
        bottom: 43px;
        width: 34px;
        height: 28px;
    }

    .category-art--automotive span:nth-child(1),
    .category-art--tools span:nth-child(1) {
        right: 54px;
        bottom: 9px;
        width: 9px;
        height: 76px;
        box-shadow: 0 -30px 0 3px #e43d32;
    }

    .category-art--automotive span:nth-child(2),
    .category-art--tools span:nth-child(2) {
        right: 21px;
        bottom: 8px;
        width: 10px;
        height: 78px;
    }

    .category-art--automotive span:nth-child(2)::before,
    .category-art--tools span:nth-child(2)::before {
        left: -9px;
        top: -8px;
        width: 28px;
        height: 18px;
        border-width: 5px;
    }

    .category-art--automotive span:nth-child(3),
    .category-art--tools span:nth-child(3) {
        right: 79px;
        bottom: 9px;
        width: 8px;
        height: 60px;
    }

    .category-art--automotive span:nth-child(4),
    .category-art--tools span:nth-child(4) {
        right: 71px;
        bottom: 60px;
        width: 28px;
        height: 9px;
    }

    .category-bottom-nav {
        min-height: calc(84px + env(safe-area-inset-bottom));
        padding: 10px 9px calc(9px + env(safe-area-inset-bottom));
    }

    .category-bottom-nav a {
        font-size: 12px;
        gap: 3px;
    }

    .category-bottom-nav i {
        font-size: 29px;
    }

    .category-bottom-nav strong {
        font-size: 20px;
    }

    .category-bottom-nav span {
        font-size: 12px;
    }

    .category-bottom-nav b {
        top: -2px;
        right: 15px;
        width: 20px;
        height: 20px;
        font-size: 12px;
    }

    .category-bottom-nav em {
        top: 4px;
        right: 16px;
        width: 12px;
        height: 12px;
    }
}

@media (max-width: 360px) {
    .category-search-pill input {
        font-size: 15px;
    }

    .category-browser-card strong {
        font-size: 15px;
        padding-top: 17px;
    }
}

.footer-attribution {
    color: rgba(107, 114, 128, .68);
    font-size: 11px;
    line-height: 1.3;
}

.footer-attribution:hover {
    color: var(--op-ink);
}
