body.modal-open {
overflow:hidden
}

.announcement {
background:var(--navy);color:#dbe6fb;font-size:12px
}

.announcement .container {
height:34px;display:flex;align-items:center;justify-content:space-between
}

.announcement strong {
color:white;font-weight:600
}

.university-top {
color:#dbe6fb;background:transparent;border:0;font-size:12px;font-weight:600
}

.brand-mark {
width:36px;height:36px;background:#f4f7fb;border:1px solid #e4eaf3;border-radius:12px;display:grid;place-items:center;color:white
}

.brand-mark svg {
width:22px;height:22px
}

.brand-mark img {
width:100%;height:100%;object-fit:contain
}

.nav-links button,.nav-links a {
border:0;background:none;color:#475569;font-weight:600;font-size:13px;padding:8px 0
}

.nav-links button:hover,.nav-links a:hover {
color:var(--blue)
}

.icon-button svg {
width:19px;height:19px
}

.count {
position:absolute;right:0;top:-5px;background:var(--blue);color:white;border-radius:20px;min-width:17px;height:17px;font-size:10px;display:grid;place-items:center;padding:0 4px;border:2px solid white
}

.cart-count[hidden] {
display:none
}

.btn-link {
appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border:0;border-radius:13px;background:#eaf1ff;color:var(--blue);font:inherit;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease),background-color .25s var(--ease),box-shadow .25s var(--ease)
}

.btn-link:hover {
transform:translateY(-2px);background:#dfeaff;box-shadow:0 6px 16px rgba(31,107,255,.14)
}

.btn-link:active {
transform:scale(.97)
}

.btn-link:focus-visible {
outline:3px solid rgba(31,107,255,.38);outline-offset:3px
}

.btn-link svg {
width:16px;height:16px
}

.cart-open {
overflow:hidden
}

#cart-root {
position:fixed;inset:0;z-index:calc(var(--z-dialog) + 1);pointer-events:none;overflow:hidden;contain:paint
}

.cart-overlay {
position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(8,20,44,.48);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 450ms var(--ease),visibility 450ms var(--ease)
}

.cart-drawer {
position:absolute;top:0;right:0;display:flex;flex-direction:column;width:min(26rem,100%);height:100vh;height:100dvh;max-height:100%;padding:24px 22px 0;background:white;box-shadow:-12px 0 40px rgba(15,23,42,.14);transform:translateX(100%);visibility:hidden;transition:transform 450ms cubic-bezier(.2,.8,.2,1),visibility 450ms cubic-bezier(.2,.8,.2,1);pointer-events:auto
}

#cart-root.open {
pointer-events:auto
}

#cart-root.open .cart-overlay {
opacity:1;visibility:visible;pointer-events:auto
}

#cart-root.open .cart-drawer {
transform:translateX(0);visibility:visible
}

.cart-drawer-head {
display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--line)
}

.cart-drawer-head h2 {
margin:0;color:var(--navy);font-size:23px;line-height:1.25
}

.cart-drawer-head p {
margin:5px 0 0;color:var(--muted);font-size:13px
}

.cart-drawer-head .icon-button svg {
width:20px;height:20px
}

.cart-items {
flex:1;min-height:0;overflow-y:auto;padding:4px 2px;overscroll-behavior:contain
}

.cart-item {
display:grid;grid-template-columns:76px minmax(0,1fr) 40px;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #edf1f6
}

.cart-item-image {
width:76px;height:76px;object-fit:cover;border-radius:12px;background:#f1f5f9
}

.cart-item-details {
min-width:0
}

.cart-item-details h3 {
margin:0 0 5px;font-size:14px;line-height:1.4;overflow-wrap:anywhere
}

.cart-item-price {
color:var(--navy);font-size:14px;font-weight:750
}

.cart-quantity {
display:inline-flex;align-items:center;gap:9px;margin-top:9px;padding:3px;border:1px solid var(--line);border-radius:10px
}

.cart-quantity button,.cart-remove {
display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:#f5f8fd;color:var(--ink)
}

.cart-quantity button:hover,.cart-remove:hover {
background:var(--soft);color:var(--blue)
}

.cart-quantity svg {
width:16px;height:16px
}

.cart-quantity span {
min-width:16px;text-align:center;font-size:13px;font-weight:700
}

.cart-remove {
width:40px;height:40px;color:var(--muted)
}

.cart-remove svg {
width:18px;height:18px
}

.cart-empty {
display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:24px 8px;text-align:center
}

.cart-empty-icon {
display:grid;place-items:center;width:64px;height:64px;margin-bottom:16px;border-radius:20px;background:var(--soft);color:var(--blue)
}

.cart-empty-icon svg {
width:30px;height:30px
}

.cart-empty h3 {
margin:0 0 6px;font-size:18px
}

.cart-empty p {
max-width:30ch;margin:0 0 18px;color:var(--muted);font-size:13px
}

.cart-drawer-footer {
flex:none;margin-top:auto;padding:18px 0 max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:white
}

.cart-subtotal {
display:flex;justify-content:space-between;gap:12px;color:var(--ink);font-size:15px
}

.cart-subtotal strong {
color:var(--navy);font-size:18px
}

.cart-drawer-footer p {
margin:5px 0 15px;color:var(--muted);font-size:12px;line-height:1.5
}

.cart-checkout {
width:100%;min-height:50px
}

.cart-checkout:disabled {
cursor:not-allowed;opacity:.5;box-shadow:none
}

.cart-shake svg {
animation:cart-shake .3s ease-in-out
}

.cart-count.cart-bump {
animation:cart-bump .3s ease-in-out
}

@keyframes cart-bump {
50% { transform:scale(1.3); }
}

@keyframes cart-shake {
25% { transform:rotate(-9deg); }
50% { transform:rotate(9deg); }
75% { transform:rotate(-5deg); }
}

.toast-action {
flex:none;padding:6px 10px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:white;font:inherit;font-size:12px;font-weight:700;white-space:nowrap
}

.toast-action:hover {
background:rgba(255,255,255,.24)
}

.btn:active {
transform:scale(.98)
}

.btn-secondary {
background:white;border:1px solid var(--line);color:var(--ink)
}

.btn-secondary:hover {
border-color:#b9c8df;background:#f8faff
}

.btn-light {
background:white;color:var(--navy)
}

.btn-quiet {
background:var(--soft);color:var(--blue)
}

.btn-danger {
color:var(--red);background:#fff1f2
}

.header-row .menu-toggle {
display:none
}

.main {
min-height:55vh
}

.hero-box:after {
content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(31,107,255,.08);border-radius:50%;right:-150px;top:-230px;box-shadow:0 0 0 38px rgba(31,107,255,.025)
}

.hero-copy,.hero-art {
position:relative;z-index:1
}

.hero .eyebrow {
color:#2859aa
}

.eyebrow {
display:inline-flex;align-items:center;gap:8px;color:#caddff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase
}

.eyebrow-dot {
width:7px;height:7px;background:#75a4ff;border-radius:50%;box-shadow:0 0 0 5px rgba(117,164,255,.12)
}

h1,h2,h3,p {
margin-top:0
}

h1,h2,h3 {
font-family:var(--font-display);letter-spacing:-.04em
}

h3 {
font-size:17px;line-height:1.35;margin-bottom:7px
}

.hero-actions {
display:flex;gap:10px;flex-wrap:wrap
}

.hero-proof {
display:flex;gap:16px;margin-top:16px;color:#526783;font-size:12px
}

.hero-proof span {
display:flex;gap:7px;align-items:center
}

.hero-proof svg {
width:15px;color:var(--blue)
}

.hero-art {
height:230px;display:flex;align-items:center;justify-content:center
}

.collage {
position:relative;width:min(400px,100%);height:260px
}

.float-card b {
display:block;color:var(--blue);font-size:14px;margin-top:5px
}

.bubble {
position:absolute;background:white;border:1px solid var(--line);border-radius:13px;padding:10px 13px;box-shadow:var(--shadow);color:var(--ink);font-size:11px;font-weight:700
}

.bubble svg {
display:inline-block;width:16px;vertical-align:middle;color:var(--green);margin-right:4px
}

.bubble.one {
right:0;top:10px
}

.section-head a,.text-link {
color:var(--blue);font-size:13px;font-weight:700
}

.section-head a svg,.text-link svg,.btn svg {
width:16px;height:16px
}

.product-sub svg {
width:15px;height:15px;margin-top:2px
}

.product-sub span {
min-width:0;overflow:hidden;text-overflow:ellipsis
}

.section-head h2 {
margin-bottom:6px
}

.university-icon {
width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--blue);display:grid;place-items:center;flex:none
}

.university-icon svg {
width:21px
}

.university-bar strong {
font-size:13px
}

.field,select,textarea {
width:100%;min-height:46px;border:1px solid #dbe3ef;border-radius:12px;background:white;padding:10px 13px;color:var(--ink);outline:none
}

.field:focus,select:focus,textarea:focus {
border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,107,255,.12)
}

.university-bar select {
max-width:300px;width:auto;min-width:240px
}

.searchbox svg {
width:20px;color:#8090a8;flex:none
}

.searchbox .btn {
min-height:40px
}

.popular-searches {
display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px
}

.chip {
border:1px solid var(--line);background:white;color:#475569;border-radius:30px;padding:6px 11px;font-size:11px;font-weight:600
}

.chip:hover,.chip.active {
color:var(--blue);background:var(--soft);border-color:#c6d8ff
}

.category-tile:hover {
transform:translateY(-2px);border-color:#bfd1f2;box-shadow:var(--shadow)
}

.category-icon {
display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:var(--soft);color:var(--blue)
}

.category-icon svg {
width:20px;height:20px
}

.category-tile small {
display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px
}

.category-tile small svg {
width:14px;height:14px
}

.product-art::before {
content:"";position:absolute;width:72%;height:72%;border-radius:38% 62% 57% 43%;background:rgba(255,255,255,.46);transform:rotate(-20deg)
}

.product-art svg {
position:relative;z-index:1;width:78px;height:78px;filter:drop-shadow(0 9px 10px rgba(15,23,42,.15));color:#2259b6
}

.art-phone {
background:linear-gradient(145deg,#e5edff,#c5d8ff)
}

.art-laptop {
background:linear-gradient(145deg,#e5f4f2,#c6e4dd)
}

.art-books {
background:linear-gradient(145deg,#fff2df,#ffdfad)
}

.art-clothing {
background:linear-gradient(145deg,#f6eaff,#e1cffb)
}

.art-room {
background:linear-gradient(145deg,#e7f5e8,#c9e8d0)
}

.art-bags {
background:linear-gradient(145deg,#fff0ed,#ffd4ca)
}

.art-food {
background:linear-gradient(145deg,#fff7dc,#ffe9a5)
}

.art-sports {
background:linear-gradient(145deg,#e1f6fb,#bceaf4)
}

.art-service {
background:linear-gradient(145deg,#e9eaff,#d0d2ff)
}

.art-other {
background:linear-gradient(145deg,#eef1f6,#d8e0ec)
}

.heart svg {
width:17px;height:17px
}

.heart.saved {
color:#e11d48
}

.heart.saved svg {
fill:#e11d48
}

.avatar {
width:24px;height:24px;background:#eaf1ff;color:#1f6bff;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:800;flex:none
}

.seller-line span:last-child {
white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

.promo h2 {
font-size:27px;margin-bottom:6px
}

.promo p {
color:var(--muted);margin:0
}

.how-grid {
display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}

.how-card {
padding:23px;background:white;border:1px solid var(--line);border-radius:18px
}

.how-number {
width:34px;height:34px;display:grid;place-items:center;background:var(--soft);color:var(--blue);border-radius:11px;font-weight:800;margin-bottom:16px
}

.how-card p {
color:var(--muted);font-size:13px;margin:0
}

.notice {
font-size:12px;color:#586981;background:#f1f5fb;border-radius:12px;padding:12px 15px;margin-top:18px
}

.sell-banner {
border-radius:24px;background:linear-gradient(110deg,#101f47,#173b7b);color:white;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px
}

.sell-banner p {
color:#c6d4f0;margin:0
}

.footer .brand {
color:white;margin-bottom:13px
}

.footer p {
font-size:12px;color:#9aa9c2;max-width:270px
}

.footer h3 {
font-size:13px;letter-spacing:0;margin-bottom:14px;color:white
}

.footer a,.footer button {
display:block;border:0;background:none;padding:5px 0;color:#aebad0;font-size:12px;text-align:left
}

.footer a:hover,.footer button:hover {
color:white
}

.page-top p {
color:var(--muted);margin:0
}

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

.filter-head strong {
font-size:14px
}

.filter-group {
padding:15px 0;border-top:1px solid #edf0f4
}

.filter-group label {
font-size:12px;font-weight:700;display:block;margin-bottom:8px
}

.filter-group select,.filter-group input {
font-size:12px;min-height:40px
}

.price-fields {
display:grid;grid-template-columns:1fr 1fr;gap:8px
}

.check-list {
display:grid;gap:9px
}

.check-list label {
display:flex;align-items:center;gap:8px;font-weight:500;margin:0;color:#475569
}

.check-list input {
width:15px;height:15px;accent-color:var(--blue)
}

.results-head strong {
font-size:13px
}

.mobile-filter {
display:none
}

.empty-state {
background:white;border:1px dashed #ccd6e5;border-radius:18px;text-align:center;padding:55px 20px
}

.empty-illustration {
width:56px;height:56px;background:var(--soft);color:var(--blue);border-radius:17px;display:grid;place-items:center;margin:0 auto 16px
}

.empty-illustration svg {
width:26px
}

.empty-state p {
color:var(--muted);font-size:13px;margin-bottom:17px
}

.detail-main-art svg {
width:150px;height:150px;color:#2259b6;filter:drop-shadow(0 12px 15px rgba(15,23,42,.18))
}

.thumb {
width:76px;height:64px;border:2px solid transparent;border-radius:12px;display:grid;place-items:center;background:#e5edff;color:#2259b6
}

.thumb svg {
width:32px
}

.thumb.selected {
border-color:var(--blue)
}

.breadcrumbs {
color:var(--muted);font-size:12px;margin-bottom:16px
}

.detail-meta {
display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px
}

.detail-info>p {
color:#526178;font-size:14px
}

.detail-specs {
border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0
}

.detail-specs small {
display:block;color:var(--muted);font-size:10px
}

.seller-box .avatar {
width:46px;height:46px;font-size:14px
}

.seller-box div:nth-child(2) {
flex:1
}

.seller-box strong {
font-size:13px
}

.seller-box button {
font-size:11px;padding:6px;border:0;background:none;color:var(--blue);font-weight:700
}

.detail-links {
display:flex;gap:12px;margin-top:15px;flex-wrap:wrap
}

.detail-links button {
min-height:44px;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font-size:12px;padding:6px
}

.detail-links button:hover {
color:var(--blue)
}

.detail-links button svg {
width:16px;height:16px
}

.seller-profile {
padding:38px 0 60px
}

.profile-card {
background:white;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;align-items:center;gap:16px;margin-bottom:30px
}

.profile-card .avatar {
width:64px;height:64px;font-size:19px
}

.profile-card div:nth-child(2) {
flex:1
}

.profile-card p {
color:var(--muted);font-size:13px;margin:3px 0 0
}

.auth-wrap {
max-width:500px;margin:42px auto 65px
}

.auth-card {
background:white;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 12px 35px rgba(15,23,42,.05)
}

.auth-card h1 {
font-size:30px;margin:0 0 7px
}

.auth-card>p {
font-size:13px;color:var(--muted);margin-bottom:22px
}

.form-grid {
display:grid;grid-template-columns:1fr 1fr;gap:14px
}

.form-field {
margin-bottom:14px
}

.form-field .hint {
font-size:11px;color:var(--muted);margin-top:5px
}

.form-field.full {
grid-column:1/-1
}

.form-field.invalid .form-error {
display:block
}

.form-field.invalid input,.form-field.invalid select,.form-field.invalid textarea {
border-color:var(--red)
}

.auth-switch {
text-align:center;color:var(--muted);font-size:12px;margin:18px 0 0
}

.auth-switch button {
border:0;background:none;color:var(--blue);font-weight:700
}

.demo-note {
background:#f1f5fb;padding:12px;border-radius:11px;font-size:11px;color:#526178;margin-top:15px
}

.sell-layout {
padding:32px 0 65px;max-width:850px;margin:auto
}

.sell-card {
background:white;border:1px solid var(--line);border-radius:20px;padding:26px
}

.sell-card h1 {
font-size:32px;margin:0 0 5px
}

.sell-card>p {
color:var(--muted);font-size:13px;margin-bottom:22px
}

.upload-zone {
border:1px dashed #b9c8dc;border-radius:14px;padding:23px;text-align:center;background:#fafcff;cursor:pointer
}

.upload-zone svg {
width:28px;color:var(--blue);margin:0 auto 8px
}

.upload-zone strong {
display:block;font-size:12px
}

.upload-zone small {
color:var(--muted);font-size:11px
}

.preview-grid {
display:flex;gap:9px;flex-wrap:wrap;margin-top:10px
}

.preview-item {
width:76px;height:76px;position:relative
}

.preview-item img {
width:100%;height:100%;object-fit:cover;border-radius:10px;border:1px solid var(--line)
}

.preview-item button {
position:absolute;right:-5px;top:-5px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--red);color:white
}

.preview-item button svg {
width:18px;height:18px
}

.dashboard {
padding:35px 0 70px
}

.dashboard-head {
display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px
}

.dashboard-head h1 {
font-size:32px;margin:0
}

.stats {
display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px
}

.stat-card {
background:white;border:1px solid var(--line);border-radius:16px;padding:17px
}

.stat-card small {
color:var(--muted);font-size:11px
}

.stat-card strong {
display:block;font:800 23px var(--font-display);margin-top:6px
}

.panel {
background:white;border:1px solid var(--line);border-radius:18px;padding:20px
}

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

.panel-head h2 {
font-size:19px;margin:0
}

.listing-thumb {
width:54px;height:48px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:#2259b6
}

.listing-thumb svg {
width:27px
}

.listing-row strong {
font-size:12px;display:block
}

.listing-row small {
color:var(--muted);font-size:10px
}

.status {
font-size:10px;padding:5px 8px;border-radius:20px;background:#eaf8ef;color:#16803b;font-weight:700
}

.status.sold {
background:#f1f5f9;color:#64748b
}

.row-actions button {
border:1px solid var(--line);background:white;border-radius:9px;padding:6px 8px;font-size:10px
}

.row-actions button:hover {
border-color:var(--blue);color:var(--blue)
}

.account-box {
display:flex;gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:18px;padding:22px
}

.account-box .avatar {
width:58px;height:58px;font-size:17px
}

.account-box div:nth-child(2) {
flex:1
}

.account-box p {
font-size:12px;color:var(--muted);margin:4px 0 0
}

.toast {
background:#10234b;color:white;padding:13px 17px;border-radius:13px;box-shadow:var(--shadow);font-size:12px;display:flex;align-items:center;gap:9px;animation:toast-in .25s var(--ease)
}

.toast svg {
width:17px;color:#80d59a
}

.modal-close svg {
width:20px;height:20px
}

.modal p {
font-size:13px;color:var(--muted)
}

.modal-actions {
display:flex;justify-content:flex-end;gap:8px;margin-top:18px
}

.zoom-art {
border-radius:14px;min-height:320px;display:grid;place-items:center
}

.zoom-art svg {
width:180px;height:180px
}

.hidden {
display:none!important
}

.visually-hidden {
position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}

.art-open {
position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;display:grid;place-items:center;color:inherit;z-index:1
}

.art-open > img {
position:absolute;inset:0;width:100%;height:100%;object-fit:cover
}

.badge {
position:absolute;left:10px;top:10px;border-radius:20px;padding:5px 9px;background:rgba(255,255,255,.95);font-size:10px;font-weight:700;color:#34445b
z-index:2
}

.detail-main-art img {
width:100%;height:100%;object-fit:contain;position:relative;z-index:1
}

.detail-main-art.detail-alt {
filter:hue-rotate(16deg) saturate(.9)
}

.thumb img {
width:100%;height:100%;object-fit:cover;border-radius:8px
}

.zoom-art img {
max-width:100%;max-height:65vh;object-fit:contain;border-radius:10px
}

@keyframes fade {
to{opacity:1}
}

@keyframes pop {
to{transform:scale(1)}
}

@keyframes toast-in {
from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}
}

:focus-visible {
outline:3px solid rgba(31,107,255,.55);outline-offset:2px
}

body {
font-family:var(--font-sans)
}

h1,h2,h3,.brand,.product-price,.stat-card strong {
font-family:var(--font-display)
}

.detail-price {
font:800 27px var(--font-display);color:var(--navy);margin:12px 0
font-family: var(--font-display);
}

.btn-full {
width: 100%;
}

.accent-blue {
color: var(--blue);
}

.muted-note {
color: var(--muted); font-weight: 400;
}

.forgot-row {
margin: 0 0 14px; text-align: right;
}

.agreement-label {
display: flex; align-items: flex-start; gap: 9px; font-weight: 500;
}

.agreement-checkbox {
margin-top: 3px; accent-color: var(--blue);
}

.button-spaced {
margin-left: 8px;
}

.how-grid-spaced {
margin-top: 16px;
}

.page-bottom-space {
padding-bottom: 60px;
}

.section-compact {
padding-top: 8px;
}

#app > .home-section {
padding-block:clamp(30px,3.2vw,42px)
}

#app > .home-promo {
padding-top:8px;padding-bottom:clamp(30px,3.2vw,42px)
}

.home-categories .category-grid {
grid-template-columns:repeat(5,minmax(0,1fr));gap:12px
}

.home-categories .category-tile {
display:flex;align-items:center;gap:11px;min-height:78px;padding:12px 14px
}

.home-categories .category-tile strong {
min-width:0;font-size:13px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden
}

.home-categories .category-tile small {
display:none
}

.home-section .product-title {
display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.7em
}

.home-section .product-price-row {
margin-top:4px
}

.home-section .product-category {
margin-top:2px
}

.home-section .product-sub {
font-size:11px
}

.home-section .seller-line {
font-size:11px
}

body.filter-open::before {
content: "";
      position: fixed;
      inset: 0;
      z-index: calc(var(--z-drawer) - 1);
      background: rgba(9, 20, 42, .42);
}

.filter-head > div {
display: flex; align-items: center; gap: 12px;
}

.icon-button {
height:44px;min-width:44px;min-height:44px;border:1px solid var(--line);background:white;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--ink);position:relative
}

.hero-actions .btn {
min-height: 50px; padding-inline: 20px;
}

.product-art .art-open {
overflow: hidden;
}

.product-art .art-open > svg {
width: 76px; height: 76px;
}

.product-art .card-image {
width:100%;height:100%;object-fit:cover
}

.card-gallery-controls {
position:absolute;inset:auto 6px 6px;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;pointer-events:none
}

.gallery-step {
 width:clamp(26px,7vw,36px); height:clamp(26px,7vw,36px); display:grid; place-items:center; padding:0; border:1px solid rgba(226,232,240,.9); border-radius:50%; background:rgba(255,255,255,.7); color:#334155; pointer-events:auto; box-shadow:0 2px 8px rgba(15,23,42,.08)
}

.gallery-count {
justify-self:center;padding:2px 8px;border-radius:20px;background:rgba(15,23,42,.68);color:#fff;font-size:clamp(10px,2.8vw,12px);font-weight:700;line-height:1.5
}

.product-art .heart {
z-index: 5;
}

.product-art .badge {
max-width: calc(100% - 58px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.product-art .badge.featured {
top: 60px; max-width: calc(100% - 20px);
}

.meta-icon {
flex: none; width: 13px; height: 13px; margin-top: 1px; color: #7b8ba1;
}

.seller-line {
display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;padding-top:10px;margin-top:9px;border-top:1px solid #f0f2f5;min-width:0
}

.seller-line .meta-icon {
margin-left: auto;
}

.seller-verification-mark {
display:inline-grid;width:17px;height:17px;place-items:center;vertical-align:middle;margin-left:4px;border-radius:50%;background:#eaf1ff;color:#1f6bff
}

.seller-verification-mark svg {
width:12px;height:12px
}

.seller-verification-panel {
margin:0 0 18px
}

.seller-verification-panel .panel-head {
align-items:center
}

.seller-verification-panel .panel-head h2 {
margin:0 0 4px
}

.seller-verification-panel .status {
flex:none;border-radius:999px;background:#f1f5f9;padding:6px 10px;color:#475569;font-size:11px;font-weight:700
}

.seller-verification-panel .status.pending {background:#fff7e8;color:#8a5a0a}
.seller-verification-panel .status.verified {background:#eaf8ef;color:#137a45}
.seller-verification-panel .status.rejected {background:#fff0ef;color:#b42318}
.seller-verification-panel form {display:grid;justify-items:start;gap:10px;margin-top:10px}

.detail-gallery-count {
position: absolute; right: 12px; bottom: 12px; z-index: 2; background: rgba(15,23,42,.72); color: white; border-radius: 20px; padding: 4px 10px; font-size: 11px; font-weight: 700;
}

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

.detail-thumbs .thumb {
width: 100%; height: 84px;
}

.detail-thumbs .thumb img {
object-fit: contain;
}

.whatsapp-short {
color: #137a45; background: #eaf8ef;
}

.whatsapp-short:hover {
background: #daf2e3;
}

h1, h2, h3 {
letter-spacing: -.035em; text-wrap: balance;
}

h1 {
font-size:clamp(40px,5vw,61px);line-height:1.08;margin:18px 0 16px;max-width:590px
}

h2 {
font-size:clamp(26px,3vw,36px);line-height:1.2;margin-bottom:10px
}

p {
text-wrap: pretty;
}

.header {
position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)
}

body.modal-open, body.filter-open {
overflow: hidden;
}

.header-row {
height:72px;display:flex;align-items:center;gap:clamp(12px,2vw,24px);min-width:0
}

.brand {
display:inline-flex;align-items:center;gap:10px;flex:none;font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.035em
}

.nav-links {
display:flex;align-items:center;gap:clamp(12px,1.7vw,22px);margin-right:auto;min-width:0
}

.header-actions {
display:flex;align-items:center;gap:8px;flex:none
}

.btn {
border:0;border-radius:var(--radius-medium);min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:650;transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);white-space:nowrap
}

.btn:disabled {
cursor: not-allowed; opacity: .6; transform: none; box-shadow: none;
}

.btn-primary {
background:var(--blue);color:white;box-shadow:0 3px 10px rgba(31,107,255,.14)
}

.btn-primary:hover {
background:#1259e8;transform:translateY(-1px);box-shadow:0 7px 18px rgba(31,107,255,.2)
}

.hero {
padding:clamp(24px,3vw,36px) 0 26px
}

.hero-box {
position:relative;overflow:hidden;border:1px solid #d9e6fb;border-radius:var(--radius-large);background:linear-gradient(115deg,#fff 4%,#f1f6ff 100%);color:var(--ink);min-height:350px;padding:clamp(30px,3vw,38px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:20px
}

.hero h1 {
max-width:19ch;font-size:clamp(2.25rem,3.6vw,3rem);color:var(--navy);line-height:1.08;margin:12px 0
}

.hero-copy p {
color:var(--muted);font-size:15px;max-width:56ch;margin-bottom:18px;line-height:1.55
}

.section {
padding:clamp(34px,4vw,52px) 0
}

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

.section-head p {
margin:0;color:var(--muted);font-size:14px;max-width:54ch;line-height:1.55
}

.university-bar,
    .searchbox,
    .promo,
    .sell-banner,
    .how-card,
    .filters,
    .product-card,
    .panel,
    .auth-card,
    .sell-card {
border-radius: var(--radius-large);
}

.university-bar {
display:flex;align-items:center;gap:15px;padding:17px 20px;background:white;border:1px solid var(--line);border-radius:17px;margin:0 0 16px;min-width:0
}

.university-bar div:nth-child(2) {
flex:1;min-width:0
}

.university-bar p {
font-size:12px;color:var(--muted);margin:1px 0 0;line-height:1.45
}

.searchbox {
display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);padding:6px 7px 6px 14px;border-radius:15px;box-shadow:none;min-height:54px
}

.searchbox input {
border:0;outline:0;min-width:0;flex:1;height:40px;background:transparent;font-size:14px
}

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

.category-tile {
border:1px solid var(--line);border-radius:16px;background:white;padding:17px;min-height:124px;text-align:left;transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease);color:var(--ink);min-width:0
}

.category-tile strong {
display:block;font-size:14px;line-height:1.4;overflow-wrap:anywhere
}

.product-grid {
display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:clamp(8px,2vw,16px);align-items:stretch
}

.product-card {
min-width:0;overflow:hidden;background:white;border:1px solid var(--line);border-radius:18px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);position:relative;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(15,23,42,.025)
}

.product-card:hover {
transform:translateY(-3px);border-color:#d2def0;box-shadow:var(--shadow-hover)
}

.product-art {
width:100%;aspect-ratio:4 / 3;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;background:#f0f4fa;flex:none;border-radius:inherit
}

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

.badge.featured {
left:auto;right:10px;background:#fff5db;color:#8e5a00
top: 48px; right: 10px; left: auto;
}

.heart {
position:absolute;right:8px;top:8px;width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px);padding:0;border:1px solid rgba(226,232,240,.9);border-radius:50%;background:rgba(255,255,255,.96);display:grid;place-items:center;color:#64748b;z-index:3;box-shadow:0 2px 8px rgba(15,23,42,.08)
}

.heart svg,
.gallery-step svg,
.product-actions .product-icon-action svg {
width:55%;height:55%;flex:none;stroke:currentColor;fill:none
}

.heart.saved {
color:#e11d48
}

.heart.saved svg {
fill:#e11d48;stroke:currentColor
}

.product-body {
display:flex;flex:1;flex-direction:column;min-width:0;padding:15px
}

.product-title {
display:block;width:100%;min-height:2.7em;margin:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:clamp(13px,3.4vw,16px);font-weight:650;line-height:1.35;cursor:pointer;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}

.product-category {
display:block;max-width:100%;margin:3px 0 1px;color:var(--blue);font-size:11px;font-weight:650;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0
}

.product-sub {
display:flex;align-items:flex-start;gap:5px;font-size:clamp(10px,2.8vw,12px);color:var(--muted);margin:5px 0 9px;min-height:1.5em;white-space:normal;overflow-wrap:anywhere;min-width:0
}

.product-price-row {
display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;flex-wrap:wrap
}

.product-price {
font-family:var(--font-display);color:var(--navy);font-weight:750;font-size:clamp(14px,3.8vw,18px);white-space:nowrap
}

.product-actions {
display:flex;gap:clamp(4px,1.5vw,8px);align-items:center;margin-top:auto;padding-top:12px;min-width:0
}

.product-actions .btn {
flex:1;min-width:0;min-height:clamp(32px,8vw,40px);padding:clamp(8px,2.4vw,12px);font-size:clamp(11px,3vw,14px);border-radius:10px;white-space:nowrap
}

.product-actions .product-icon-action {
flex:0 0 clamp(28px,8vw,40px);width:clamp(28px,8vw,40px);height:clamp(28px,8vw,40px);padding:0;display:grid;place-items:center;min-width:0
}

.cart-detail-action {
margin-top:10px
}

.cart-detail-action .btn {
width:100%
}

.product-actions .whatsapp-short {
display: inline-flex;
}

.float-card {
position:absolute;background:white;color:var(--ink);border:1px solid rgba(226,232,240,.9);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.09);padding:12px;width:164px;transform:rotate(-1deg);left:28px;top:18px
}

.float-card.second {
left:auto;right:14px;top:67px;transform:rotate(1deg)
}

.float-card .mini-art {
height:100px;border-radius:12px;display:grid;place-items:center
}

.float-card .mini-art svg {
width:54px;height:54px
}

.float-card strong {
display:block;font-size:12px;margin-top:9px;line-height:1.35;overflow-wrap:anywhere
}

.float-card small {
display:block;color:var(--muted);font-size:10px;line-height:1.4;overflow-wrap:anywhere
}

.bubble.two {
display:none
}

.condition {
font-size:10px;color:#536278;background:#f1f5f9;border-radius:20px;padding:4px 7px;white-space:nowrap;max-width:100%
}

.promo {
background:linear-gradient(110deg,#eaf2ff,#f7faff);border:1px solid #dce7fa;border-radius:20px;padding:clamp(24px,3.4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:20px
}

.promo p, .sell-banner p {
max-width: 58ch; line-height: 1.6;
}

.footer {
margin-top:30px;background:#0a1836;color:#d3dbea;padding:52px 0 38px
}

.footer-grid {
display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px
}

.footer-grid > * {
min-width: 0;
}

.footer-bottom {
border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:35px;color:#9aa9c2;font-size:12px;display:flex;justify-content:space-between;gap:10px;line-height:1.5
}

.page-top {
padding:40px 0 20px
}

.page-top h1 {
font-size:clamp(1.875rem,3.5vw,3rem);margin:0 0 7px
}

.market-layout {
display:grid;grid-template-columns:238px minmax(0,1fr);gap:24px;padding:12px 0 60px;align-items:start
}

.filters {
background:white;border:1px solid var(--line);border-radius:17px;padding:18px;height:max-content;position:sticky;top:128px;min-width:0
}

.filter-group input, .filter-group select {
min-width: 0;
}

.results-head {
display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;min-width:0
}

.results-head > div {
display: flex; align-items: center; gap: 10px; min-width: 0;
}

.results-head select {
width:auto;min-width:170px;min-height:40px;font-size:12px;max-width:100%
}

.details {
display:grid;grid-template-columns:1.04fr .96fr;gap:40px;padding:35px 0 65px
gap: clamp(24px, 4vw, 48px);
}

.detail-main-art {
aspect-ratio:1.18;border-radius:23px;position:relative;display:grid;place-items:center;overflow:hidden
border:0;width:100%;cursor:zoom-in
position: relative;
min-width: 0; overflow: hidden;
}

.detail-info {
padding-top:8px
min-width: 0;
}

.detail-info h1 {
font-size:36px;line-height:1.18;margin:13px 0
overflow-wrap: anywhere;
}

.detail-info > p {
max-width: 62ch; line-height: 1.7; overflow-wrap: anywhere;
}

.detail-specs > div {
min-width: 0;
}

.detail-specs strong {
font-size:12px
display: block; overflow-wrap: anywhere; line-height: 1.45;
}

.seller-box {
border:1px solid var(--line);border-radius:17px;padding:16px;display:flex;align-items:center;gap:12px;margin:18px 0
min-width: 0;
}

.seller-box > div:nth-child(2) {
min-width: 0;
}

.seller-box small {
display:block;color:var(--muted);font-size:11px
line-height: 1.5; overflow-wrap: anywhere;
}

.contact-actions {
display:grid;grid-template-columns:1fr 1fr;gap:9px
min-width: 0;
}

.contact-actions .btn {
font-size:12px
min-width: 0; white-space: normal; line-height: 1.3;
}

.contact-actions .order-quantity-field {
  display: grid;
  grid-column: 1 / -1;
  gap: 6px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}

.order-quantity-field .field {
  width: 100%;
  min-height: 44px;
}

.contact-actions .order-whatsapp-button {
  min-height: 48px;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
}

.order-whatsapp-button svg {
  width: 19px;
  height: 19px;
  flex: none;
}

.details .section-head {
margin-top: 42px;
}

.form-grid, .form-field {
min-width: 0;
}

.form-field label {
font-size:12px;font-weight:700;display:block;margin-bottom:6px;
line-height:1.45;
}

.field, select, textarea {
min-width: 0;
}

.form-error {
font-size:11px;color:var(--red);margin-top:4px;display:none;
line-height:1.45;
}

.listing-row {
display:grid;grid-template-columns:54px 1fr auto auto;gap:13px;align-items:center;padding:12px 0;border-top:1px solid #edf0f4
min-width: 0;
}

.listing-row > div:nth-child(2) {
min-width: 0;
}

.listing-row strong, .listing-row small {
overflow-wrap: anywhere;
}

.row-actions {
display:flex;gap:6px
flex-wrap: wrap;
}

.modal-backdrop {
position:fixed;inset:0;background:rgba(6,18,43,.55);z-index:60;display:grid;place-items:center;padding:20px;opacity:0;animation:fade .18s forwards
z-index: var(--z-dialog);
}

.modal {
width:min(480px,100%);max-height:min(90vh,800px);overflow:auto;background:white;border-radius:20px;padding:23px;transform:scale(.98);animation:pop .2s forwards
width: min(480px, calc(100vw - 32px));
      max-height: min(90dvh, 800px);
      border-radius: var(--radius-large);
}

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

.modal-head h2 {
font-size:21px;margin:0
min-width: 0; overflow-wrap: anywhere;
}

.modal-close {
width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:11px;background:#f1f5f9
flex: none;
}

.toast-region {
position:fixed;right:20px;top:20px;z-index:80;display:grid;gap:9px
z-index: var(--z-toast);
}

.skip-link:focus {
left:12px
z-index: var(--z-skip-link);
}

.filters.open {
z-index: var(--z-drawer);
}

.filter-close {
display: none;
}

.profile-card > div:nth-child(2) {
min-width: 0;
}

.profile-card h2, .profile-card p {
overflow-wrap: anywhere;
}

:where(button, a, input, select, textarea) {
scroll-margin-top: 100px;
}

body.auth-mode {
  background: var(--white);
}

body.auth-mode .announcement,
body.auth-mode .header,
body.auth-mode .footer {
  display: none;
}

body.auth-mode .main {
  min-height: 100svh;
}

.auth-layout {
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(320px, 43%) minmax(0, 57%);
  background: var(--white);
}

.auth-promo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100svh;
  padding: clamp(30px, 4.8vw, 72px);
  color: var(--white);
  background: linear-gradient(145deg, #0b1f4d 0%, #103879 66%, #1f6bff 145%);
}

.auth-promo::before,
.auth-promo::after {
  position: absolute;
  z-index: -1;
  content: "";
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 50%;
  pointer-events: none;
}

.auth-promo::before {
  width: 520px;
  height: 520px;
  right: -310px;
  top: -210px;
  box-shadow: 0 0 0 54px rgb(255 255 255 / 3%), 0 0 0 108px rgb(255 255 255 / 2%);
}

.auth-promo::after {
  width: 380px;
  height: 380px;
  left: -290px;
  bottom: -220px;
}

.auth-brand,
.profile-brand,
.seller-sidebar-brand,
.auth-mobile-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.035em;
}

.auth-brand .brand-mark,
.profile-brand .brand-mark,
.seller-sidebar-brand .brand-mark,
.auth-mobile-brand .brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: var(--blue);
}

.auth-promo-copy {
  max-width: 480px;
  margin: auto 0 24px;
}

.auth-kicker,
.auth-step-label {
  display: inline-block;
  color: var(--blue);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.auth-kicker {
  color: #bdd2ff;
}

.auth-promo-copy h1 {
  max-width: 11ch;
  margin: 15px 0 14px;
  font-family: var(--font-display);
  font-size: clamp(38px, 4.3vw, 58px);
  font-weight: 750;
  line-height: 1.06;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.auth-promo-copy > p {
  max-width: 400px;
  margin: 0;
  color: #d2def2;
  font-size: 15px;
  line-height: 1.7;
}

.auth-benefits,
.profile-benefits ul {
  display: grid;
  gap: 13px;
  margin: 27px 0 0;
  padding: 0;
  list-style: none;
}

.auth-benefits li,
.profile-benefits li {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
}

.auth-benefits li > span,
.profile-benefits li > span {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 17%);
  border-radius: 11px;
  background: rgb(255 255 255 / 9%);
  color: white;
}

.auth-benefits svg,
.profile-benefits li svg {
  width: 18px;
  height: 18px;
}

.auth-illustration {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 455px);
  height: clamp(140px, 20vh, 205px);
  margin: 0 auto 13px;
}

.auth-illustration-halo {
  position: absolute;
  width: 185px;
  height: 150px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 50%;
  background: rgb(255 255 255 / 5%);
  box-shadow: 0 0 0 26px rgb(255 255 255 / 2%);
}

.auth-campus-mark {
  position: absolute;
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 26px;
  background: linear-gradient(150deg, #377fff, #0f3676);
  color: white;
  box-shadow: 0 18px 42px rgb(3 17 45 / 28%);
}

.auth-campus-mark svg {
  width: 48px;
  height: 48px;
}

.auth-float-card {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  width: min(238px, 63%);
  min-width: 0;
  padding: 12px;
  border: 1px solid rgb(255 255 255 / 36%);
  border-radius: 15px;
  background: rgb(255 255 255 / 96%);
  color: var(--ink);
  box-shadow: 0 14px 34px rgb(3 17 45 / 22%);
}

.auth-float-main {
  top: 11px;
  left: 0;
}

.auth-float-secondary {
  right: 0;
  bottom: 6px;
  width: min(224px, 60%);
}

.auth-art-icon {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 12px;
  background: var(--soft);
  color: var(--blue);
}

.auth-art-icon svg {
  width: 21px;
  height: 21px;
}

.auth-float-card > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.auth-float-card strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.auth-float-card small {
  color: var(--muted);
  font-size: 9px;
}

.auth-float-card > b {
  display: grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  margin-left: auto;
  place-items: center;
  border-radius: 50%;
  background: #e8f6ed;
  color: var(--green);
}

.auth-float-card > b svg {
  width: 13px;
  height: 13px;
}

.auth-promo-foot {
  margin: auto 0 0;
  color: #bdcde5;
  font-size: 12px;
}

.auth-panel {
  display: grid;
  min-width: 0;
  min-height: 100svh;
  padding: clamp(28px, 5vw, 76px);
  place-items: center;
  background: #fff;
}

.auth-form-wrap {
  width: min(100%, 435px);
}

.auth-mobile-brand {
  display: none;
}

.auth-card-premium {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.auth-card-premium h2 {
  margin: 9px 0 6px;
  font-family: var(--font-display);
  font-size: clamp(30px, 3vw, 38px);
  font-weight: 760;
  line-height: 1.15;
  letter-spacing: -.045em;
}

.auth-intro {
  margin: 0 0 25px;
  color: var(--muted);
  font-size: 14px;
}

.auth-card-premium .form-field {
  margin-bottom: 17px;
}

.auth-card-premium .form-field label,
.profile-form .form-field label,
.listing-form-grid .form-field label {
  font-size: 13px;
  font-weight: 650;
}

.field-label-row,
.auth-form-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.field-helper {
  color: var(--muted);
  font-size: 11px;
}

.auth-card-premium .field,
.auth-card-premium select,
.profile-form .field,
.profile-form select,
.listing-form-grid .field,
.listing-form-grid select,
.listing-form-grid textarea {
  min-height: 50px;
  border-color: #dbe3ef;
  border-radius: 11px;
  font-size: 14px;
}

.auth-card-premium .field::placeholder,
.profile-form .field::placeholder,
.listing-form-grid .field::placeholder,
.listing-form-grid textarea::placeholder {
  color: #9aa8ba;
}

.password-field {
  position: relative;
}

.password-field .field {
  padding-right: 86px;
}

.password-toggle {
  position: absolute;
  top: 3px;
  right: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 72px;
  min-height: 44px;
  padding-inline: 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #5d6c81;
  font-size: 11px;
  font-weight: 650;
}

.password-toggle svg {
  width: 16px;
  height: 16px;
}

.password-toggle:hover {
  background: #f2f6fc;
  color: var(--blue);
}

.auth-form-meta {
  margin: 2px 0 14px;
}

.auth-secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #52647d;
  font-size: 11px;
  font-weight: 600;
}

.auth-secure svg {
  width: 15px;
  height: 15px;
  color: var(--green);
}

.auth-demo-label,
.review-demo-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--soft);
  color: #2459b5;
  font-size: 10px;
  font-weight: 750;
}

.auth-demo-copy {
  margin: 0 0 13px;
  padding: 10px 12px;
  border: 1px solid #d9e6fb;
  border-radius: 10px;
  background: #f4f8ff;
  color: #4a5f7d;
  font-size: 11px;
  line-height: 1.5;
}

.auth-submit {
  min-height: 52px;
  border-radius: 11px;
  font-size: 14px;
}

.auth-submit > span {
  display: inline-flex;
  margin-left: auto;
}

.auth-submit svg {
  width: 18px;
  height: 18px;
}

.auth-switch {
  margin: 20px 0 0;
  font-size: 13px;
}

.auth-switch button {
  padding: 4px;
  font-size: inherit;
}

.auth-demo-note {
  margin-top: 20px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  background: #f8fafc;
  font-size: 11px;
}

.auth-terms {
  margin: 22px 0 0;
  color: #8592a4;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}

.button-spinner {
  width: 17px;
  height: 17px;
  border: 2px solid rgb(255 255 255 / 40%);
  border-top-color: white;
  border-radius: 50%;
  animation: button-spin .7s linear infinite;
}

@keyframes button-spin {
  to { transform: rotate(360deg); }
}

.btn-text {
  border: 0;
  background: transparent;
  color: var(--blue);
}

.profile-setup {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .85fr);
  gap: clamp(28px, 6vw, 78px);
  align-items: stretch;
  max-width: 1060px;
  padding-block: clamp(30px, 5vw, 68px);
}

.profile-setup-main {
  min-width: 0;
  padding: 5px 0;
}

.profile-setup-heading {
  margin: 40px 0 28px;
}

.profile-setup-heading h1 {
  margin: 9px 0 8px;
  font-family: var(--font-display);
  font-size: clamp(30px, 3.4vw, 39px);
  line-height: 1.15;
  letter-spacing: -.045em;
}

.profile-setup-heading p,
.profile-benefits > p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.profile-form {
  display: grid;
  gap: 17px;
}

.profile-photo-row {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 5px;
}

.profile-avatar {
  display: grid;
  flex: 0 0 86px;
  width: 86px;
  height: 86px;
  overflow: hidden;
  place-items: center;
  border: 1px solid #dbe6f5;
  border-radius: 50%;
  background: var(--soft);
  color: #5280cb;
}

.profile-avatar svg {
  width: 35px;
  height: 35px;
}

.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-photo-copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.profile-photo-copy > strong {
  font-size: 13px;
}

.profile-photo-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.profile-photo-button {
  width: fit-content;
  min-height: 37px;
  margin: 3px 0;
  padding-inline: 12px;
  font-size: 11px;
}

.profile-photo-copy .field-helper {
  font-size: 10px;
}

.profile-form .form-field {
  margin: 0;
}

.profile-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 3px;
}

.profile-form-actions .btn-primary {
  min-height: 50px;
}

.profile-demo-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  color: #65748a;
  font-size: 11px;
}

.profile-demo-note svg {
  flex: 0 0 16px;
  width: 16px;
  color: var(--green);
}

.storefront-setup {
  max-width: 1120px;
  gap: clamp(24px, 4vw, 56px);
}

.storefront-setup .profile-setup-main {
  max-width: 700px;
}

.store-setup-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.store-setup-progress li {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid #e0e7f0;
  border-radius: 10px;
  color: #66748a;
  font-size: 11px;
  line-height: 1.35;
}

.store-setup-progress li > span:first-child {
  display: grid;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  background: #eef2f8;
  font-weight: 700;
}

.store-setup-progress li.is-current {
  border-color: #a9c3f3;
  background: #f2f7ff;
  color: #173a78;
  font-weight: 700;
}

.store-setup-progress li.is-complete > span:first-child {
  background: #e1f4ec;
  color: #18734d;
}

.store-setup-form {
  gap: 16px;
  padding: 20px;
  border: 1px solid #e3eaf3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgb(22 42 75 / 5%);
}

.store-setup-step[hidden] {
  display: none !important;
}

.store-setup-step {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.store-setup-step h2 {
  margin: 0 0 2px;
  color: #14294b;
  font-size: 20px;
  line-height: 1.3;
}

.store-setup-note {
  margin: 0;
  color: #62718a;
  font-size: 13px;
  line-height: 1.55;
}

.store-slug-preview {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(100px, 1fr);
  align-items: center;
  gap: 7px;
}

.store-slug-preview > span {
  overflow-wrap: anywhere;
  color: #62718a;
  font-size: 12px;
}

.store-setup-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #34445e;
  font-size: 13px;
  line-height: 1.45;
}

.store-setup-check input,
.store-day-options input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: #2458a6;
}

.store-setup-actions {
  padding-top: 8px;
  border-top: 1px solid #edf1f6;
}

.store-setup-actions button {
  min-height: 43px;
}

.store-suggest-button {
  width: fit-content;
  margin-top: 8px;
}

.store-suggestion-status,
.store-verification-status {
  display: block;
  min-height: 18px;
  margin-top: 6px;
  color: #3b5a42;
  font-size: 12px;
}

.store-hours-fields,
.store-fulfilment-options {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #e1e8f1;
  border-radius: 12px;
}

.store-hours-fields legend,
.store-fulfilment-options legend {
  padding-inline: 5px;
  color: #33445d;
  font-size: 13px;
  font-weight: 700;
}

.store-day-options {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.store-day-options label {
  display: grid;
  min-height: 40px;
  place-items: center;
  gap: 3px;
  border: 1px solid #e1e8f1;
  border-radius: 8px;
  color: #44546d;
  font-size: 11px;
}

.store-day-options input {
  width: 15px;
  height: 15px;
  margin: 0;
}

.storefront-live-preview {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid #dce6f4;
  border-radius: 14px;
  background: linear-gradient(145deg, #f6f9ff, #fff);
  overflow-wrap: anywhere;
}

.storefront-live-preview h3,
.storefront-live-preview p {
  margin: 0;
}

.storefront-live-preview h3 {
  color: #13294c;
  font-size: 21px;
}

.storefront-live-preview p {
  color: #52627b;
  font-size: 13px;
  line-height: 1.5;
}

.storefront-live-preview .store-preview-url {
  color: #2458a6;
  font-size: 12px;
  overflow-wrap: anywhere;
}

@media (max-width: 520px) {
  .storefront-setup {
    padding-inline: 16px;
  }

  .store-setup-form {
    padding: 15px;
  }

  .store-setup-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .store-setup-progress li {
    padding: 7px;
    font-size: 10px;
  }

  .store-slug-preview {
    grid-template-columns: minmax(0, 1fr);
  }

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

.profile-benefits {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: clamp(23px, 3.5vw, 38px);
  border: 1px solid #dceaff;
  border-radius: 22px;
  background: linear-gradient(155deg, #f0f6ff, #e6f0ff);
}

.profile-benefits-icon {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 24px;
  place-items: center;
  border-radius: 15px;
  background: white;
  color: var(--blue);
  box-shadow: 0 7px 18px rgb(26 74 141 / 8%);
}

.profile-benefits-icon svg {
  width: 24px;
  height: 24px;
}

.profile-benefits h2 {
  margin: 9px 0 8px;
  font-family: var(--font-display);
  font-size: 26px;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.profile-benefits ul {
  gap: 12px;
  margin-top: 22px;
}

.profile-benefits li {
  color: #344b6a;
  font-size: 12px;
}

.profile-benefits li > span {
  flex-basis: 30px;
  width: 30px;
  height: 30px;
  border-color: #d7e6fa;
  background: white;
  color: var(--blue);
}

.profile-benefits li svg {
  width: 15px;
  height: 15px;
}

.profile-art {
  position: relative;
  display: flex;
  min-height: 110px;
  margin-top: auto;
  padding-top: 22px;
  align-items: flex-end;
  justify-content: center;
}

.profile-art-card {
  display: flex;
  align-items: center;
  gap: 11px;
  width: min(100%, 265px);
  padding: 13px;
  border: 1px solid #d8e5f5;
  border-radius: 15px;
  background: white;
  box-shadow: 0 10px 24px rgb(30 66 115 / 8%);
}

.profile-art-card > svg {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 8px;
  border-radius: 11px;
  background: var(--soft);
  color: var(--blue);
}

.profile-art-card span {
  display: grid;
  gap: 2px;
}

.profile-art-card strong {
  font-size: 11px;
}

.profile-art-card small {
  color: var(--muted);
  font-size: 10px;
}

.profile-art-orbit {
  position: absolute;
  top: 10px;
  right: 6%;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 3px solid white;
  border-radius: 50%;
  background: #dff3e6;
  color: var(--green);
  box-shadow: 0 4px 12px rgb(17 65 38 / 9%);
}

.profile-art-orbit svg {
  width: 17px;
}

.seller-workspace {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  padding-block: 34px 75px;
}

.seller-sidebar {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 610px;
  padding: 20px 13px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  box-shadow: 0 6px 20px rgb(15 23 42 / 3%);
}

.seller-sidebar-brand {
  gap: 10px;
  margin: 0 4px 27px;
  font-size: 14px;
}

.seller-sidebar-brand > span:last-child {
  display: grid;
  gap: 2px;
}

.seller-sidebar-brand small {
  color: var(--muted);
  font-family: var(--font-sans);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .12em;
}

.seller-sidebar-brand .brand-mark {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 11px;
}

.seller-nav-label {
  margin: 0 10px 9px;
  color: #8997aa;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .12em;
}

.seller-sidebar nav {
  display: grid;
  gap: 4px;
}

.seller-nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 43px;
  padding: 0 11px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #55657b;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}

.seller-nav-link svg {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
}

.seller-nav-link:hover {
  background: #f4f7fc;
  color: var(--blue);
}

.seller-nav-link.active {
  background: #eaf2ff;
  color: #1f5fe2;
  font-weight: 750;
}

.seller-sidebar-help {
  display: flex;
  gap: 10px;
  margin: auto 1px 0;
  padding: 13px 10px;
  border: 1px solid #e3ebf6;
  border-radius: 13px;
  background: #f8faff;
}

.seller-sidebar-help > span {
  display: grid;
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 9px;
  background: white;
  color: var(--blue);
}

.seller-sidebar-help > span svg {
  width: 15px;
}

.seller-sidebar-help > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.seller-sidebar-help strong {
  font-size: 10px;
}

.seller-sidebar-help small {
  color: var(--muted);
  font-size: 9px;
  line-height: 1.4;
}

.seller-sidebar-help button {
  width: fit-content;
  padding: 3px 0 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
}

.seller-main {
  min-width: 0;
}

.sell-workspace-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 3px 0 22px;
}

.sell-workspace-header h1 {
  margin: 5px 0 5px;
  font-family: var(--font-display);
  font-size: clamp(27px, 3vw, 34px);
  line-height: 1.15;
  letter-spacing: -.04em;
}

.sell-workspace-header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.seller-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: none;
  padding: 8px 11px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: white;
  color: #4f6076;
  font-size: 11px;
  font-weight: 650;
}

.seller-user-chip svg {
  width: 15px;
  height: 15px;
}

.sell-workflow-card {
  min-width: 0;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--line);
  border-radius: 19px;
  background: white;
  box-shadow: 0 10px 32px rgb(15 23 42 / 4%);
}

.listing-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 29px;
  padding: 0;
  list-style: none;
}

.listing-progress li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: #7c899b;
}

.progress-number {
  z-index: 1;
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #d7dfeb;
  border-radius: 50%;
  background: white;
  color: #748298;
  font-size: 11px;
  font-weight: 750;
}

.progress-number svg {
  width: 15px;
  height: 15px;
}

.progress-label {
  overflow: hidden;
  font-size: 11px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.listing-progress li.active {
  color: var(--blue);
}

.listing-progress li.active .progress-number,
.listing-progress li.complete .progress-number {
  border-color: var(--blue);
  background: var(--blue);
  color: white;
}

.listing-progress li.complete .progress-label {
  color: #4a5c74;
}

.progress-connector {
  flex: 1 1 auto;
  height: 1px;
  min-width: 8px;
  margin-left: 2px;
  background: #dfe6ef;
}

.listing-progress li.complete .progress-connector {
  background: #8bb3ff;
}

.listing-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px 16px;
}

.listing-form-grid .form-field {
  min-width: 0;
  margin: 0;
}

.listing-form-grid .form-field.full {
  grid-column: 1 / -1;
}

.listing-form-grid textarea {
  min-height: 128px;
  resize: vertical;
}

.currency-field {
  position: relative;
}

.currency-field > span {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 13px;
  color: #66758b;
  font-size: 13px;
  font-weight: 650;
  transform: translateY(-50%);
}

.currency-field .field {
  padding-left: 53px;
}

.form-field.invalid .field,
.form-field.invalid select,
.form-field.invalid textarea {
  border-color: var(--red);
}

.form-field.invalid .upload-dropzone {
  border-color: var(--red);
}

.listing-step-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 25px;
  padding-top: 19px;
  border-top: 1px solid #edf0f4;
}

.listing-step-actions .btn {
  min-height: 48px;
}

.step-privacy-note,
.photo-upload-note,
.publish-disclaimer {
  display: inline-flex;
  align-items: flex-start;
  gap: 7px;
  color: #627188;
  font-size: 10px;
  line-height: 1.5;
}

.step-privacy-note svg,
.publish-disclaimer svg {
  flex: 0 0 15px;
  width: 15px;
  color: var(--green);
}

.photo-step-heading {
  margin: 0 0 20px;
}

.photo-step-heading h2,
.review-header h2 {
  margin: 0 0 5px;
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: -.025em;
}

.photo-step-heading p,
.review-header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.upload-dropzone {
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 27px 15px;
  border: 1.5px dashed #b9c9dd;
  border-radius: 15px;
  background: #fafcff;
  text-align: center;
  transition: background .15s ease, border-color .15s ease;
}

.upload-dropzone.drag-over {
  border-color: var(--blue);
  background: #edf4ff;
}

.upload-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 14px;
  background: #eaf2ff;
  color: var(--blue);
}

.upload-icon svg {
  width: 22px;
  height: 22px;
}

.upload-dropzone strong {
  font-size: 13px;
}

.upload-dropzone label {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.upload-dropzone small,
.photo-upload-note {
  color: var(--muted);
  font-size: 10px;
}

.preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 15px;
}

.preview-item {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
}

.preview-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.preview-item button {
  top: 6px;
  right: 6px;
  width: 36px;
  height: 36px;
  background: rgb(15 23 42 / 78%);
}

.preview-index {
  position: absolute;
  bottom: 7px;
  left: 7px;
  padding: 3px 7px;
  border-radius: 20px;
  background: rgb(15 23 42 / 75%);
  color: white;
  font-size: 9px;
  font-weight: 700;
}

.photo-upload-note {
  margin-top: 11px;
}

.review-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.review-header .text-link {
  flex: none;
  min-height: 40px;
  padding: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.review-photo-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 7px;
  overflow: hidden;
  aspect-ratio: 2.35;
  border-radius: 14px;
  background: #f3f6fb;
}

.review-photo {
  display: grid;
  min-width: 0;
  overflow: hidden;
  place-items: center;
  background: #edf3fc;
}

.review-photo:first-child {
  grid-row: span 1;
}

.review-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-photo.is-placeholder {
  background: #f4f7fc;
}

.review-photo.is-placeholder span {
  display: grid;
  justify-items: center;
  gap: 5px;
  color: #8c9bb0;
}

.review-photo.is-placeholder svg {
  width: 25px;
  height: 25px;
}

.review-photo.is-placeholder small {
  font-size: 9px;
}

.review-card-copy {
  padding: 18px 3px 3px;
}

.review-category {
  color: #5275a8;
  font-size: 10px;
  font-weight: 700;
}

.review-card-copy h3 {
  margin: 5px 0;
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.review-price {
  color: var(--navy);
  font-family: var(--font-display);
  font-size: 20px;
}

.review-meta,
.review-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.review-meta span,
.review-tags span {
  padding: 5px 9px;
  border-radius: 999px;
  background: #f1f5fa;
  color: #52647c;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.review-card-copy > p {
  margin: 13px 0 0;
  color: #56657a;
  font-size: 12px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.review-contact {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 13px;
  color: #51647e;
  font-size: 10px;
}

.review-contact svg {
  width: 14px;
  height: 14px;
}

.publish-disclaimer {
  display: flex;
  margin: 20px 0 0;
  padding: 11px 12px;
  border: 1px solid #dce9fa;
  border-radius: 11px;
  background: #f5f9ff;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}

.account-box .avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.account-type-choice {
  display: grid;
  min-width: 0;
  gap: 9px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

.account-type-choice legend {
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

.account-type-option {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
}

.account-type-option:has(input:checked) {
  border-color: #9dbdff;
  background: #f5f8ff;
  box-shadow: 0 0 0 2px rgba(31, 107, 255, .08);
}

.account-type-option input {
  width: 17px;
  height: 17px;
  flex: none;
  margin: 2px 0 0;
  accent-color: var(--blue);
}

.account-type-option span {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.account-type-option strong {
  color: var(--ink);
  font-size: 12px;
}

.account-type-option small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.account-type-option b {
  margin-top: 3px;
  color: var(--blue);
  font-size: 11px;
}

.profile-form .form-field.invalid .form-error {
  display: block;
}

.profile-form .form-field.invalid input,
.profile-form .form-field.invalid select {
  border-color: var(--red);
}
