/* Preserve RopaUY's established forest green / editorial typography. */
:root{--grey:#58655e}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid #b08326;outline-offset:4px}button{transition:background .18s,box-shadow .18s,transform .18s}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.6}input,select,textarea{font-size:max(1rem,16px)}.search input{min-width:0}.card{transition:box-shadow .2s,transform .2s}.card-photo{aspect-ratio:3/4;object-fit:cover}.cat-item:focus-within .cat-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(4px)}
@media(hover:hover){.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f3d3417}.sell-btn:hover{box-shadow:0 4px 16px #0f3d3426}}
.shop{position:relative}.ad-slot{border:1px solid var(--line);background:var(--cream);color:var(--terra);border-radius:12px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:20px;justify-content:space-between}.ad-slot small{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.ad-slot strong{font-family:var(--display);font-size:1.4rem}.ad-slot p{font-size:.875rem;margin:12px 0}.ad-slot a{color:var(--terra);font-size:.875rem;text-underline-offset:4px}.ad-left,.ad-right{display:none}.ad-feed{grid-column:1/-1;min-height:150px;margin:12px 0}.ad-feed div{display:flex;align-items:center;justify-content:space-around;gap:20px;flex-wrap:wrap}
@media(min-width:1580px){.ad-left,.ad-right{display:flex;position:absolute;top:85px;width:160px;min-height:450px}.ad-left{right:calc(100% + 12px)}.ad-right{left:calc(100% + 12px)}}
#plansDialog{margin:auto;border:1px solid var(--line);border-radius:24px;padding:36px;max-width:1000px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink)}#plansDialog::backdrop{background:#10261fcc;backdrop-filter:blur(3px)}#plansDialog h2{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--terra);margin:12px 0}.plans-eyebrow{letter-spacing:.15em;font-size:.8rem}.plans-close{float:right;border:0;background:transparent;font-size:2rem;min-width:44px;min-height:44px}.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0}.plan-card{background:#fff;border:1px solid var(--line);padding:20px;border-radius:16px}.plan-card.current{border:2px solid var(--terra)}.plan-card h3{font-family:var(--display);font-size:1.4rem}.plan-price{font-size:1.1rem;font-weight:700;margin-top:16px}.plan-limit{margin:20px 0}.plan-card button,#cancelPlan{padding:10px 16px;border-radius:24px;border:0;background:var(--terra);color:white;min-height:44px}.plan-note{font-size:.9rem;color:var(--grey);margin:14px 0}#planMessage{margin-top:16px}#plansButton{min-height:38px}
@media(max-width:760px){.topbar{gap:8px;flex-wrap:wrap;padding:12px}.topbar .search{order:3;flex-basis:100%;max-width:none}.head-actions{gap:2px}.head-actions .sell-btn{padding:10px 12px}.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#plansDialog{padding:20px}.hero{padding-top:30px}.cats-inner{justify-content:flex-start;flex-wrap:nowrap;overflow:auto}.shop{padding-inline:12px}.toolbar select{max-width:100%}.ad-feed div{display:block}}
@media(max-width:390px){.plans-grid{grid-template-columns:1fr}.head-actions{flex-wrap:wrap}.logo .word{font-size:1.2rem}.lang-toggle{padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px){.head-actions{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:4px}.head-actions .icon-btn{padding:8px}.head-actions .lang-toggle{padding:8px 10px}.hero .kicker{letter-spacing:.13em;font-size:.8rem}.hero p{font-size:1.05rem}}

.ad-slot img{max-width:100%;max-height:280px;object-fit:contain}.ad-feed img{max-height:100px;max-width:200px}
@media(min-width:1580px){.shop{min-height:620px}}
/* Intermediate review: keyboard access, text wrapping and narrow screens. */
.page-lang-toggle{position:fixed;top:12px;right:12px;z-index:250;border:1px solid var(--terra);border-radius:20px;padding:9px 14px;background:#fff;color:var(--terra);font:600 .9rem 'Inter',sans-serif;cursor:pointer}.bar-in .page-lang-toggle{position:static;margin-left:auto}.bar-in{flex-wrap:wrap}.box{margin-top:42px}.steps{padding-left:36px!important}.box p,.wrap p,.detail .desc,.card .title,.seller,.prof-name,.notif-body{overflow-wrap:anywhere}.convo-compose input,.bot-compose input{min-width:0}.field textarea{width:100%;max-width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:11px;font-family:inherit}.toast{max-width:calc(100% - 32px);width:max-content;text-align:center}.bar{z-index:10}[hidden]{display:none!important}.plan-consent{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.plan-consent input{width:auto;flex-shrink:0}.card [role=button]:focus-visible{outline:3px solid var(--terra);outline-offset:-3px}
@media(max-width:1050px){.topbar{flex-wrap:wrap}.topbar .search{order:3;flex-basis:100%;max-width:none}}
@media(max-width:520px){.convo-head{padding:16px 48px 16px 16px;flex-wrap:wrap}.convo-body{padding:20px 16px}.convo-compose{padding:14px 16px}.bubble{max-width:88%}.field-row{grid-template-columns:1fr}.panel{padding:32px 20px}.profile-inner{padding-inline:16px}.prof-tabs,.profile-tabs{flex-wrap:wrap}.box{padding:28px 20px}.wrap table{font-size:.85rem}.wrap td,.wrap th{padding:8px 5px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}}

/* Safari: narrow desktop navigation must not clip the category menus. */
@media(hover:hover){
  nav.cats .cats-inner{overflow:visible;flex-wrap:wrap}
  .cat-dropdown{left:0;transform:translateY(0);max-width:calc(100vw - 44px)}
  .cat-item:hover .cat-dropdown,.cat-item:focus-within .cat-dropdown{transform:translateY(0)}
  .cat-item:last-child .cat-dropdown{left:auto;right:0}
}

/* Membership uses the existing light/dark palette, including on small phones. */
.profile-plan{margin:20px 0 24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface,var(--cream));color:var(--ink);overflow-wrap:anywhere}
.profile-plan .plan-eyebrow{font-size:.72rem;letter-spacing:.12em;font-weight:700;color:var(--grey);margin:0 0 6px}
.profile-plan-title{font-family:var(--display);font-size:1.6rem;color:var(--accent,var(--terra));margin:0 0 10px}
.profile-plan p{line-height:1.55;margin-bottom:8px}
.profile-plan-status,.profile-plan-until{font-size:.88rem}
.profile-plan-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.profile-plan-actions button{white-space:normal;flex:1 1 170px;min-height:44px}
.profile-plan .plan-cancel{color:var(--accent,var(--terra))}
.profile-plan-message{font-size:.88rem;margin:10px 0 0}
.public-plan-badge{display:inline-block;padding:5px 12px;border-radius:999px;color:var(--accent,var(--terra));border:1px solid var(--line);font-size:.8rem;font-weight:700;margin:8px 0}
.public-plan-badge[hidden],.page-more[hidden]{display:none!important}
.page-more{display:block;margin:20px auto;max-width:100%;min-height:44px}
.otp-label{display:block;font-size:.8rem;color:var(--grey);margin-top:12px}
#liOtp{width:100%;max-width:100%;margin:6px 0 10px;letter-spacing:.12em}
@media(max-width:420px){.profile-plan{padding:16px}.profile-plan-actions{flex-direction:column}.profile-plan-actions button{flex:auto;width:100%}}

/* Accessible notification actions and conversation controls. */
.social-notification { width:100%; background:transparent; color:inherit; border:0; border-bottom:1px solid var(--line,#ddd); text-align:left; font:inherit; cursor:pointer; }
.social-notification .notif-at { display:block; }
.social-notification:focus-visible { outline:2px solid var(--terra); outline-offset:-2px; }
.social-review-highlight { outline:2px solid var(--terra); border-radius:8px; }
.social-delete-chat { flex-shrink:0; font-size:.8rem; padding:8px 10px; }
@media(max-width:480px) { .convo-row,.set-chat-row { flex-wrap:wrap; } .social-delete-chat { margin-left:auto; } }

.social-item-state { position:absolute;left:10px;top:10px;padding:5px 9px;border-radius:8px;background:#3d483d;color:#fff;font-weight:700;font-size:.8rem;z-index:1; }
.social-reserved-label {font-weight:700;color:var(--terra);}

.photo-preview{display:flex;flex-wrap:wrap;gap:10px}.listing-photo-preview{display:flex;flex-direction:column;gap:5px;width:110px}.listing-photo-preview img{width:110px;height:110px;object-fit:cover}.listing-photo-preview button{padding:5px;border:1px solid #ddd;border-radius:6px}.photo-preview>.hint{flex-basis:100%}.listing-gallery{display:flex;gap:8px;overflow-x:auto;grid-column:1/-1;padding:8px}.listing-gallery button{flex:0 0 70px;padding:2px;border:1px solid #aaa;border-radius:6px}.listing-gallery img{width:64px;height:64px;object-fit:cover}

/* Native touch language picker avoids Safari focus/click races. */
.appearance-controls #designLanguage:not([hidden]){display:block;min-height:44px;max-width:160px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:8px;font:inherit;}
.language-picker[hidden]{display:none!important;}
.filter-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font:inherit;box-sizing:border-box;}
.profile-trust{color:var(--grey);font-size:.9rem;margin:10px 0;}
#publicOwnPlan{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:12px;}

/* Show the complete uploaded listing photo, never crop the garment. */
.card-photo,.listing-photo-preview img,.listing-gallery img,#detailContent .big-img img{object-fit:contain!important;background:var(--cream);}
#detailContent .big-img img{width:100%;height:100%;max-height:70vh;cursor:zoom-in}
[hidden]{display:none!important}
#photoViewer{position:fixed;inset:0;background:#101310f5;z-index:10000;display:flex;align-items:center;justify-content:center;padding:55px 10px 15px}
#photoViewer img{max-width:100%;max-height:100%;object-fit:contain;touch-action:pinch-zoom}
#photoViewer button{position:absolute;right:16px;top:12px;color:white;background:#333;border:1px solid white;border-radius:8px;padding:10px;min-height:44px}

.catalog-pages{display:flex;gap:1rem;align-items:center;justify-content:center;grid-column:1/-1;margin:24px 0}.listing-photo-preview{display:flex;flex-direction:column;gap:5px}.listing-photo-preview button{position:static!important;min-height:32px}
/* Complete rows before the advertisement after ten desktop listings. */
@media(min-width:701px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1200px){#grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

#emailMfaSettings input,#mfaPassword,#mfaCode,.report-dialog textarea{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:13px 15px;margin:8px 0 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}#sDesc{min-height:150px;resize:vertical}.report-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:28px;width:min(560px,calc(100vw - 32px));max-height:90dvh}.report-dialog textarea{min-height:160px;resize:vertical}.report-dialog::backdrop{background:#000a}.account-notice{position:sticky;top:0;z-index:9999;padding:16px;background:#742a2a;color:white;text-align:center}
[data-theme=dark] #authOverlay{background:rgba(0,0,0,.78)}[data-theme=dark] #authOverlay .modal{background:#29382e!important;border:1px solid #9baa91;box-shadow:0 20px 70px #000c}[data-theme=dark] .auth-tabs{background:#142019!important;border-color:#82947c}[data-theme=dark] .auth-tab{color:#f4f1e8!important}[data-theme=dark] .auth-tab.active{background:#52775b!important;border:1px solid #b8c7a6}
