/* Mantém a seleção e o foco; exibe o caret somente onde é possível escrever. */
:root * {
    caret-color: transparent;
}
:root input:read-write,
:root textarea:read-write,
:root [contenteditable]:read-write,
:root [contenteditable] :read-write {
    caret-color: auto;
}

body.marketplace-site {
    --primary-color: 41, 223, 155;
    --body-color: #edf4ff;
    --heading-color: 237, 244, 255;
    --bg-color1: #090f18;
    --bg-color2: #111c2b;
    --bg-color3: #18273a;
    --bg-color4: #14243a;
    --border-color1: #26364b;
    --border-color2: #33465e;
    --input-color: #111c2b;
    --soft-blue: #429cff;
    --soft-green: #29df9b;
    --btn-hover-bg2: #167dba;
    background: var(--bg-color1);
    color: var(--body-color);
    font-family: var(--body-font), sans-serif;
}
body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input) {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    padding: 0;
    vertical-align: middle;
    border: 1px solid #405570;
    border-radius: 6px;
    background-color: #111c2b;
    background-image: none;
    background-position: center;
    background-size: 14px 14px;
    background-repeat: no-repeat;
    cursor: pointer;
    box-shadow: inset 0 1px 3px #0003;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input):hover:not(:disabled) {
    border-color: #429cff;
    box-shadow: 0 0 0 3px #429cff14;
}
body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input):checked {
    border-color: #29df9b;
    background-color: #29df9b;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3.2 3.2L13 4.5' fill='none' stroke='%2306271c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    box-shadow: 0 2px 8px #29df9b26;
}
body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input):indeterminate {
    border-color: #29df9b;
    background-color: #29df9b;
    background-image: linear-gradient(#06271c, #06271c);
    background-size: 10px 2px;
}
body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input):focus-visible {
    outline: 2px solid #429cff;
    outline-offset: 3px;
}
body.marketplace-site input[type="checkbox"]:disabled {
    opacity: .45;
    cursor: not-allowed;
}
body.marketplace-site .checkbox-categories-area .form-check:has(> input[type="checkbox"]) {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-inline: 0;
}
body.marketplace-site .checkbox-categories-area .form-check > input[type="checkbox"] {
    float: none;
    flex: 0 0 20px;
    margin: 0;
}
body.marketplace-site .checkbox-categories-area .form-check > input[type="checkbox"] + .form-check-label {
    flex: 1;
    min-width: 0;
    align-items: center;
    margin: 0;
    padding: 0;
    line-height: 20px;
}
body.marketplace-site .form-check-input[type="checkbox"] + .form-check-label {
    padding-inline-start: 5px;
    cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
    body.marketplace-site input[type="checkbox"] { transition: none; }
}
@media (forced-colors: active) {
    body.marketplace-site input[type="checkbox"]:not([role="switch"]):not(.form-switch input) {
        appearance: auto;
        -webkit-appearance: auto;
    }
}
body.marketplace-site #main-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: var(--bg-color1);
    color: var(--body-color);
    min-width: 0;
}
body.marketplace-site .store-profile-section {
    padding-top: 0 !important;
    margin-top: 0;
}
body.marketplace-site .store-profile-section .store-logo-wrapper { flex-shrink: 0; }
body.marketplace-site .store-profile-section .store-text-info { min-width: 0; overflow-wrap: anywhere; }
body.marketplace-site .store-profile-section .store-badges { flex-wrap: wrap; }
body.marketplace-site .store-products-grid .product-box3 { height: 100%; }
body.marketplace-site .store-products-grid .product-box3 > .img-box {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
    background: #0c1521;
}
body.marketplace-site .store-products-grid .img-box .item { width: 100%; }
body.marketplace-site .store-products-grid .img-box .item > img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: contain;
}
body.marketplace-site .product-box3 .img-box :is(.free-tag, .sold-tag) {
    top: 8px !important;
    right: 8px !important;
    line-height: 1;
}
body.marketplace-site .product-box3 .img-box :is(.free-tag, .sold-tag) .badge {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 11px;
    box-shadow: 0 2px 8px #0004;
}
@media (max-width: 767px) {
    body.marketplace-site .store-profile-section .store-banner { height: auto !important; min-height: 280px; }
    body.marketplace-site .store-profile-section .store-info-overlay {
        flex-direction: column;
        align-items: center !important;
        justify-content: center !important;
        gap: 20px;
        padding: 32px 0 !important;
    }
    body.marketplace-site .store-info-overlay > .d-flex {
        flex-direction: column;
        gap: 14px !important;
        width: 100%;
        text-align: center;
    }
    body.marketplace-site .store-profile-section .store-logo-wrapper { width: 88px !important; height: 88px !important; }
    body.marketplace-site .store-text-info h1 { font-size: clamp(24px, 6vw, 32px); line-height: 1.2; }
    body.marketplace-site .store-text-info p { font-size: 14px !important; line-height: 1.6; }
    body.marketplace-site .store-profile-section .store-badges { justify-content: center; }
    body.marketplace-site .store-profile-section > .container.mt-5 { margin-top: 24px !important; }
}

body.marketplace-site .policy-section {
    background: var(--bg-color1);
    color: var(--body-color);
    overflow: hidden;
}
body.marketplace-site .policy-section > .container {
    position: relative;
    z-index: 1;
}
body.marketplace-site .policy-section :is(.shape2, .shape3) {
    opacity: .12;
    pointer-events: none;
    filter: grayscale(1);
}
body.marketplace-site .policy-section a {
    color: #429cff;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.marketplace-site .policy-section a:hover { color: #29df9b; }
.marketplace-topbar,
.marketplace-header,
.marketplace-footer {
    --shell-bg: #090f18;
    --shell-panel: #111c2b;
    --shell-line: #26364b;
    --shell-text: #edf4ff;
    --shell-muted: #a9bbcf;
    --shell-green: #29df9b;
    --shell-blue: #429cff;
    color: var(--shell-text);
    background: var(--shell-bg);
}
.marketplace-topbar .container,
.marketplace-header .container,
.marketplace-footer .container {
    width: 100%;
    max-width: 1280px;
    padding-inline: 24px;
    margin-inline: auto;
}
.marketplace-topbar ul,
.marketplace-header ul,
.marketplace-footer ul { list-style: none; margin: 0; padding: 0; }
.marketplace-topbar a,
.marketplace-header a,
.marketplace-footer a { color: inherit; text-decoration: none; }
.marketplace-topbar a:hover,
.marketplace-header a:hover,
.marketplace-footer a:hover { color: var(--shell-green); }
.marketplace-topbar :is(a, button, input):focus-visible,
.marketplace-header :is(a, button, input, summary):focus-visible,
.marketplace-footer :is(a, button, input):focus-visible {
    outline: 2px solid var(--shell-blue);
    outline-offset: 4px;
}
.marketplace-topbar { padding: 0; border-bottom: 1px solid var(--shell-line); }
.marketplace-topbar .top-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 38px; padding: 5px 0; font-size: 12px; }
.marketplace-topbar .contact-info,
.marketplace-topbar .right-side,
.marketplace-topbar .social-box { display: flex; align-items: center; gap: 18px; }
.marketplace-topbar .contact-info a { display: flex; align-items: center; gap: 7px; color: var(--shell-muted); }
.marketplace-topbar .social-box a { background: none; width: auto; height: auto; font-size: 13px; }
.marketplace-topbar .lang-currency-btn { cursor: pointer; display: inline-flex; align-items: center; gap: 7px; color: var(--shell-text); }
.marketplace-topbar .activeLang { width: 20px; height: 15px; object-fit: cover; }
.marketplace-header { z-index: 1020; padding: 0; box-shadow: 0 8px 24px #0003; }
.marketplace-header .desktop-view { padding: 20px 0; background: var(--shell-bg); }
.marketplace-header .desktop-view .desktop-view-wrapper { display: flex; align-items: center; gap: 32px; min-height: 52px; padding: 0; }
.marketplace-header .logo { flex: 0 0 auto; }
.marketplace-header .logo img { width: auto; max-width: 170px; height: auto; max-height: 46px; object-fit: contain; }
.marketplace-header .desktop-view .custom-nav { display: flex; flex: 1; min-width: 0; align-items: center; justify-content: flex-end; gap: 18px; }
.marketplace-header .custom-nav > li { flex-shrink: 0; }
.marketplace-header .custom-nav > .shell-search { flex: 1; min-width: 0; margin-inline-end: auto; }
.marketplace-header .search-box2 { position: relative; width: 100%; max-width: none; }
.marketplace-header .search-box2 form { position: relative; display: flex; width: 100%; }
.marketplace-header .search-box2 .form-control { width: 100%; min-width: 0; height: 52px; padding: 12px 56px 12px 18px; border: 1px solid #33465e; border-radius: 12px; color: var(--shell-text); background: var(--shell-panel); box-shadow: none; }
.marketplace-header .search-box2 .form-control::placeholder { color: var(--shell-muted); opacity: 1; }
.marketplace-header .search-box2 .form-control:focus { border-color: var(--shell-blue); box-shadow: 0 0 0 3px #429cff22; }
.marketplace-header .search-box2 .search-btn2 { position: absolute; inset-inline-end: 5px; inset-inline-start: auto; top: 5px; transform: none; height: 42px; width: 44px; padding: 0; border-radius: 9px; background: transparent; color: var(--shell-green); }
.marketplace-header .search-result { top: calc(100% + 8px); left: 0; right: 0; width: 100%; max-height: 360px; overflow-y: auto; background: var(--shell-panel); color: var(--shell-text); border: 1px solid var(--shell-line); border-radius: 12px; z-index: 40; }
.marketplace-header .search-result:empty { display: none; }
.marketplace-header .search-result .title,
.marketplace-header .search-result .sub-title { color: inherit; }
.marketplace-header .shell-sell-link,
.marketplace-header .desktop-view .login-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid var(--shell-line); border-radius: 10px; padding: 10px 16px !important; font-size: 14px; font-weight: 600; white-space: nowrap; color: var(--shell-text); }
.marketplace-header .shell-sell-link { background: var(--shell-green); color: #06271c; border-color: var(--shell-green); }
.marketplace-header .shell-sell-link:hover { color: #06271c; background: #6aeab9; }
.marketplace-header .shopping-cart .dropdown-toggle { color: var(--shell-text); background: transparent; border: 0; min-width: 44px; min-height: 44px; }
.marketplace-header .shopping-cart .count { background: var(--shell-green); color: #06271c; }
.marketplace-header .profile-box .profile { border: 0; padding: 0; background: transparent; }
.marketplace-header .profile-box .profile img { border-radius: 50%; width: 40px; height: 40px; object-fit: cover; }
.marketplace-header .shopping-cart .cart-dropdown,
.marketplace-header .profile-box .user-dropdown { background: var(--shell-panel); color: var(--shell-text); border: 1px solid var(--shell-line); z-index: 50; max-width: calc(100vw - 32px); }
.marketplace-header .cart-dropdown :is(h5, h6, .total, .price-quantity),
.marketplace-header .user-dropdown a { color: var(--shell-text); }
.marketplace-header .shopping-cart:focus-within .cart-dropdown,
.marketplace-header .profile-box:focus-within .user-dropdown { opacity: 1; visibility: visible; transform: none; scale: 1; }
.marketplace-header .shell-navigation { background: var(--shell-panel); border-top: 1px solid var(--shell-line); }
.marketplace-header .shell-navigation > .container { position: relative; }
.marketplace-header .main-menu > ul { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 20px; }
.marketplace-header .main-menu > ul > li { position: relative; }
.marketplace-header .main-menu > ul > li > a { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 0; font-size: 14px; font-weight: 600; color: var(--shell-text); }
.marketplace-header .main-menu a.active { color: var(--shell-green); }
.marketplace-header .main-menu .mega-menu,
.marketplace-header .main-menu .hover-dropdown > ul { background: var(--shell-panel); color: var(--shell-text); border: 1px solid var(--shell-line); z-index: 30; max-width: min(500px, 85vw); }
.marketplace-header .main-menu > ul > li:last-child .mega-menu { left: auto; right: 0; }
.marketplace-header .main-menu li:focus-within > .mega-menu,
.marketplace-header .main-menu li:focus-within > ul { opacity: 1; visibility: visible; top: 100%; scale: 1; transform: none; }
.marketplace-header .shell-categories { display: flex; align-items: center; gap: 10px; padding: 10px 0 12px; overflow-x: auto; scrollbar-width: thin; border-top: 1px solid var(--shell-line); }
.marketplace-header .shell-categories-label { color: var(--shell-muted); font-size: 12px; margin-inline-end: 6px; }
.marketplace-header .shell-categories a { flex: 0 0 auto; padding: 5px 12px; background: #090f18; border: 1px solid var(--shell-line); border-radius: 7px; font-size: 12px; }
.marketplace-footer.footer-section { padding: 0; margin: 0; background: var(--shell-bg); border-top: 1px solid var(--shell-line); }
.marketplace-footer .newsletter-section { padding: 0; margin: 0; background: transparent; position: static; transform: none; }
.marketplace-footer .newsletter-section-inner.shell-newsletter { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 36px 0; margin: 0; border-radius: 0; background: transparent; border-bottom: 1px solid var(--shell-line); }
.marketplace-footer .shell-eyebrow { color: var(--shell-green); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.marketplace-footer .newsletter-section .content-area .subscribe-normal-text { color: var(--shell-text); font-size: clamp(20px, 2.3vw, 28px); line-height: 1.3; margin: 8px 0 0; }
.marketplace-footer .newsletter-form { display: flex; position: relative; gap: 8px; padding: 6px; border: 1px solid var(--shell-line); background: var(--shell-panel); border-radius: 12px; }
.marketplace-footer .newsletter-form .form-control { flex: 1; min-width: 0; width: 100%; height: 44px; padding: 10px 12px; background: transparent; color: var(--shell-text); border: 0; box-shadow: none; }
.marketplace-footer .newsletter-form .form-control::placeholder { color: var(--shell-muted); opacity: 1; }
.marketplace-footer .newsletter-form .subscribe-btn { position: static; transform: none; display: inline-flex; justify-content: center; align-items: center; gap: 12px; width: auto; height: auto; flex-shrink: 0; padding: 10px 18px; border: 0; border-radius: 8px; color: #06271c; background: var(--shell-green); font-weight: 700; }
.marketplace-footer .shell-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.3fr; gap: 30px; padding: 46px 0; }
.marketplace-footer .footer-widget { min-width: 0; padding: 0; }
.marketplace-footer .footer-logo { max-width: 165px; max-height: 48px; width: auto; height: auto; object-fit: contain; }
.marketplace-footer .widget-logo { margin-bottom: 18px; }
.marketplace-footer .footer-widget p { color: var(--shell-muted); font-size: 13px; line-height: 1.8; margin: 0 0 18px; }
.marketplace-footer .widget-title { color: var(--shell-text); font-size: 14px; font-weight: 700; margin: 0 0 20px; }
.marketplace-footer .footer-widget li { margin-bottom: 10px; }
.marketplace-footer .footer-widget li a { color: var(--shell-muted); font-size: 13px; line-height: 1.5; }
.marketplace-footer .footer-widget a:hover { color: var(--shell-green); }
.marketplace-footer .social-box { display: flex; gap: 8px; flex-wrap: wrap; }
.marketplace-footer .social-box li a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--shell-text); background: var(--shell-panel); border: 1px solid var(--shell-line); border-radius: 8px; }
.marketplace-footer .contact-item { display: flex; align-items: baseline; gap: 10px; color: var(--shell-muted); font-size: 13px; line-height: 1.7; margin-bottom: 12px; overflow-wrap: anywhere; }
.marketplace-footer .contact-item i { color: var(--shell-blue); flex: 0 0 auto; }
.marketplace-footer .copyright-section.shell-footer-bottom { background: transparent; border-top: 1px solid var(--shell-line); padding: 20px 0; margin: 0; }
.marketplace-footer .shell-footer-bottom p { color: var(--shell-muted); font-size: 12px; margin: 0; }
.marketplace-footer .shell-footer-bottom a { color: var(--shell-text); }
@media (min-width: 992px) {
    .marketplace-header .desktop-view { padding: 12px 0; }
    .marketplace-header .desktop-view .desktop-view-wrapper { min-height: 42px; gap: 24px; }
    .marketplace-header .logo img { max-width: 155px; max-height: 38px; }
    .marketplace-header .search-box2 .form-control { height: 42px; padding: 9px 46px 9px 14px; border-radius: 10px; font-size: 13px; }
    .marketplace-header .search-box2 .search-btn2 { top: 4px; inset-inline-end: 4px; height: 34px; width: 36px; border-radius: 7px; }
    .marketplace-header .shell-sell-link,
    .marketplace-header .desktop-view .login-btn { min-height: 34px; padding: 6px 14px !important; border-radius: 8px; font-size: 13px; }
    .marketplace-header .shopping-cart .dropdown-toggle { min-height: 36px; min-width: 36px; }
    .marketplace-header .profile-box .profile img { width: 34px; height: 34px; }
}
@media (max-width: 1199px) {
    .marketplace-header .desktop-view .desktop-view-wrapper { gap: 22px; }
    .marketplace-header .desktop-view .custom-nav { gap: 10px; }
    .marketplace-footer .shell-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
}
@media (max-width: 991px) {
    .marketplace-header .desktop-view { padding: 16px 0; }
    .marketplace-header .desktop-view .desktop-view-wrapper { position: relative; display: block; padding: 0; }
    .marketplace-header .logo { display: inline-flex; height: 44px; align-items: center; margin-inline-start: 48px; }
    .marketplace-header .logo img { max-width: 145px; max-height: 38px; }
    .marketplace-header .desktop-view .custom-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin-top: -44px; min-height: 44px; padding-top: 0; }
    .marketplace-header .custom-nav > .shell-search { order: 10; flex: 0 0 100%; margin: 10px 0 0; }
    .marketplace-header .shell-sell { display: none; }
    .marketplace-header .mobile-menu { position: absolute; top: 16px; left: 24px; right: 24px; z-index: 60; }
    .marketplace-header .mean-container .mean-bar { position: static; min-height: 0; padding: 0; background: transparent; z-index: auto; }
    .marketplace-header .mean-container a.meanmenu-reveal { position: absolute; top: 0; left: 0 !important; right: auto !important; width: 44px; height: 44px; padding: 10px; box-sizing: border-box; background: var(--shell-panel); color: var(--shell-text); border-radius: 8px; }
    .marketplace-header .mean-container .mean-nav { position: absolute; top: 52px; left: 0; width: 100%; margin: 0; float: none; background: var(--shell-panel); border-radius: 10px; max-height: calc(100dvh - 130px); overflow-y: auto; box-shadow: 0 16px 30px #0008; }
    .marketplace-header .mean-container .mean-nav ul li a { color: var(--shell-text); border-color: var(--shell-line); }
    .marketplace-header .shell-categories { border-top: 0; padding-block: 10px; }
    .marketplace-header .shopping-cart .cart-dropdown { position: fixed; top: 82px; right: 16px; left: auto; width: min(380px, calc(100vw - 32px)); }
    .marketplace-footer .newsletter-section-inner.shell-newsletter { gap: 24px; }
}
@media (max-width: 575px) {
    .marketplace-topbar .container,
    .marketplace-header .container,
    .marketplace-footer .container { padding-inline: 16px; }
    .marketplace-topbar .contact-info,
    .marketplace-topbar .social-box { display: none; }
    .marketplace-topbar .top-bar { justify-content: flex-end; min-height: 32px; }
    .marketplace-header .mobile-menu { left: 16px; right: 16px; }
    .marketplace-header .logo img { max-width: 112px; }
    .marketplace-header .desktop-view .custom-nav { gap: 5px; }
    .marketplace-header .desktop-view .login-btn { min-height: 40px; padding: 8px 10px !important; font-size: 12px; }
    .marketplace-header .profile-box .profile img { width: 32px; height: 32px; }
    .marketplace-header .shopping-cart .dropdown-toggle { min-width: 36px; }
    .marketplace-header .shell-categories-label { display: none; }
    .marketplace-footer .newsletter-section-inner.shell-newsletter { grid-template-columns: 1fr; padding-block: 28px; gap: 20px; }
    .marketplace-footer .newsletter-form .subscribe-btn { padding-inline: 12px; font-size: 12px; }
    .marketplace-footer .shell-footer-grid { grid-template-columns: 1fr 1fr; padding-block: 30px; gap: 28px 20px; }
    .marketplace-footer .shell-footer-brand,
    .marketplace-footer .shell-footer-contact { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
    .marketplace-topbar *,
    .marketplace-header *,
    .marketplace-footer * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
