/* ================================================================
   ORVEX TIENDA — sitio público modo navy (réplica del estilo app)
   Tokens: tarjeta 290px, dorado #c2873b, navy #010714, claro #fef6c8
   ================================================================ */
.ovt-shop { background:#010714; min-height:100vh; color:#ffffff; font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.ovt-shop * { box-sizing:border-box; }
.ovt-shop a { text-decoration:none; }

.ovt-shop__topbar { background:#051d34; border-bottom:1px solid rgba(194,135,59,.35); text-align:center; padding:7px; font-size:12px; color:#fef6c8; letter-spacing:.05em; }
.ovt-shop__header { display:flex; justify-content:space-between; align-items:center; padding:14px 4vw; border-bottom:1px solid rgba(194,135,59,.35); position:sticky; top:0; background:#010714; z-index:50; box-shadow:0 2px 12px rgba(0,0,0,.35); }
.ovt-shop__brand { font-family:Georgia,'Times New Roman',serif; font-size:18px; font-weight:600; color:#ffffff; letter-spacing:.16em; }
.ovt-shop__brand span { color:#c2873b; }
.ovt-shop__nav { display:flex; gap:20px; align-items:center; font-size:13px; }
.ovt-shop__nav a { color:rgba(255,255,255,.65); transition:color .15s; }
.ovt-shop__nav a:hover, .ovt-shop__nav a.on { color:#c2873b; }
.ovt-shop__cart { position:relative; background:none; border:none; color:#c2873b; font-size:19px; cursor:pointer; padding:4px; }
.ovt-shop__cart span { position:absolute; top:-4px; right:-6px; background:#c2873b; color:#010714; font-size:10px; font-weight:700; border-radius:99px; min-width:16px; height:16px; display:none; align-items:center; justify-content:center; padding:0 4px; line-height:1; }
.ovt-shop__main { max-width:1200px; margin:0 auto; padding:22px 4vw 60px; }

/* ── Archive ── */
.ovt-arch { display:grid; grid-template-columns:210px 1fr; gap:24px; align-items:start; }
.ovt-arch__side { background:rgba(255,255,255,.04); border:1px solid rgba(194,135,59,.3); border-radius:12px; padding:16px; position:sticky; top:76px; }
.ovt-arch__side h4 { margin:0 0 10px; font-size:11px; font-weight:700; color:#c2873b; letter-spacing:.1em; }
.ovt-arch__cat { display:block; width:100%; text-align:left; background:none; border:none; padding:5px 0; font-size:13px; color:rgba(255,255,255,.65); cursor:pointer; }
.ovt-arch__cat.on { color:#c2873b; font-weight:700; }
.ovt-arch__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:14px; flex-wrap:wrap; gap:10px; }
.ovt-arch__title { font-family:Georgia,serif; font-size:26px; margin:0; font-weight:500; color:#c2873b; }
.ovt-arch__sub { font-size:12px; color:rgba(255,255,255,.5); }
.ovt-arch__buscar { background:rgba(255,255,255,.05); border:1px solid rgba(194,135,59,.45); border-radius:99px; padding:9px 18px; font-size:13px; color:#ffffff; width:240px; outline:none; }
.ovt-arch__buscar::placeholder { color:rgba(255,255,255,.4); }
.ovt-chips { display:flex; gap:7px; margin-bottom:14px; flex-wrap:wrap; }
.ovt-chip { padding:6px 15px; border-radius:99px; font-size:12px; font-weight:600; cursor:pointer; background:transparent; color:rgba(255,255,255,.65); border:1px solid rgba(194,135,59,.45); }
.ovt-chip.on { background:#c2873b; color:#010714; border-color:#fef6c8; }
.ovt-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }

/* ── Tarjeta de producto (token fijo: 290px) ── */
.ovt-card { background:rgba(255,255,255,.04); border:1px solid rgba(194,135,59,.3); border-radius:14px; padding:12px; display:flex; flex-direction:column; height:290px; cursor:pointer; position:relative; transition:border-color .15s, transform .15s, box-shadow .15s; }
.ovt-card:hover { border-color:#c2873b; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.4); }
.ovt-card__badge { position:absolute; top:10px; right:10px; font-size:9px; font-weight:700; padding:2px 9px; border-radius:99px; }
.ovt-card__badge--oferta { background:#c2873b; color:#010714; }
.ovt-card__badge--nuevo { border:1px solid #fef6c8; color:#fef6c8; }
.ovt-card__nombre { font-size:13px; font-weight:700; color:#ffffff; padding-right:48px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ovt-card__cat { font-size:10px; color:rgba(255,255,255,.45); margin:2px 0 6px; }
.ovt-card__foto { flex:1; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.03); }
.ovt-card__foto .o { position:absolute; font-family:Georgia,serif; font-size:110px; color:rgba(194,135,59,.08); user-select:none; }
.ovt-card__foto img { position:relative; max-width:100%; max-height:100%; object-fit:contain; }
.ovt-card__pie { display:flex; justify-content:space-between; align-items:center; margin-top:10px; }
.ovt-card__precio { font-size:15px; font-weight:800; color:#c2873b; }
.ovt-card__precio small { font-size:9px; font-weight:400; color:rgba(255,255,255,.4); display:block; }
.ovt-card__add { width:28px; height:28px; border-radius:99px; background:#c2873b; border:none; color:#010714; font-size:15px; font-weight:700; cursor:pointer; flex-shrink:0; }

/* ── Single ── */
.ovt-single__crumb { font-size:12px; color:rgba(255,255,255,.45); margin-bottom:14px; }
.ovt-single__crumb a { color:rgba(255,255,255,.45); }
.ovt-single__crumb span { color:#c2873b; }
.ovt-single__top { display:grid; grid-template-columns:64px 1.05fr 1fr; gap:18px; align-items:start; }
.ovt-single__thumbs { display:flex; flex-direction:column; gap:8px; }
.ovt-single__thumb { height:58px; border-radius:8px; border:1px solid rgba(194,135,59,.35); background:rgba(255,255,255,.04); cursor:pointer; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:4px; }
.ovt-single__thumb img { max-width:100%; max-height:100%; object-fit:contain; }
.ovt-single__thumb.on { border:1.5px solid #c2873b; background:rgba(194,135,59,.12); }
.ovt-single__foto { border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(194,135,59,.35); min-height:360px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.ovt-single__foto .o { position:absolute; font-family:Georgia,serif; font-size:260px; color:rgba(194,135,59,.08); user-select:none; }
.ovt-single__foto img { position:relative; max-width:82%; max-height:82%; object-fit:contain; }
.ovt-single__catbadge { display:inline-block; background:rgba(194,135,59,.12); border:1px solid rgba(194,135,59,.45); color:#c2873b; font-size:10px; font-weight:600; padding:3px 12px; border-radius:99px; letter-spacing:.08em; }
.ovt-single__titulo { font-family:Georgia,serif; font-size:28px; font-weight:500; margin:10px 0 4px; line-height:1.15; color:#c2873b; }
.ovt-single__precio { display:flex; align-items:baseline; gap:10px; margin:6px 0; }
.ovt-single__precio b { font-size:26px; font-weight:800; color:#c2873b; }
.ovt-single__precio s { font-size:14px; color:rgba(255,255,255,.35); }
.ovt-single__precio em { background:#c2873b; color:#010714; font-size:10px; font-weight:700; font-style:normal; padding:2px 9px; border-radius:99px; }
.ovt-single__desc { font-size:13px; color:rgba(255,255,255,.65); line-height:1.65; margin:8px 0 12px; }
.ovt-single__lbl { font-size:12px; color:rgba(255,255,255,.65); margin:10px 0 5px; }
.ovt-single__vars { display:flex; gap:7px; flex-wrap:wrap; }
.ovt-single__var { padding:7px 17px; border-radius:9px; font-size:12px; font-weight:600; cursor:pointer; background:transparent; border:1px solid rgba(194,135,59,.45); color:rgba(255,255,255,.8); }
.ovt-single__var.on { background:#c2873b; border-color:#fef6c8; color:#010714; }
.ovt-single__acciones { display:flex; gap:8px; align-items:center; margin-top:16px; }
.ovt-single__cant { display:flex; align-items:center; gap:10px; border:1px solid rgba(194,135,59,.45); border-radius:10px; padding:9px 12px; font-size:14px; background:rgba(255,255,255,.04); color:#ffffff; }
.ovt-single__cant button { background:none; border:none; color:#c2873b; font-size:15px; cursor:pointer; padding:0 2px; }
.ovt-single__addbtn { flex:1; background:linear-gradient(90deg,#c2873b,#a06c2a); border:1px solid #fef6c8; color:#010714; border-radius:10px; padding:12px; font-size:14px; font-weight:700; cursor:pointer; }
.ovt-single__confianza { display:flex; margin-top:16px; border-top:1px solid rgba(194,135,59,.25); padding-top:12px; }
.ovt-single__confianza div { flex:1; text-align:center; font-size:10px; color:rgba(255,255,255,.45); }
.ovt-single__confianza div + div { border-left:1px solid rgba(194,135,59,.25); }
.ovt-single__confianza b { display:block; font-size:11px; color:#ffffff; margin-top:2px; }
.ovt-single__confianza .ti { font-size:15px; color:#c2873b; }
.ovt-tabs { display:flex; gap:18px; border-bottom:1px solid rgba(194,135,59,.3); margin:26px 0 14px; }
.ovt-tab { background:none; border:none; padding:0 0 9px; font-size:13px; color:rgba(255,255,255,.4); cursor:pointer; }
.ovt-tab.on { color:#c2873b; font-weight:700; border-bottom:2px solid #c2873b; }
.ovt-tabpanel { font-size:13px; color:rgba(255,255,255,.65); line-height:1.7; max-width:680px; }
.ovt-tabpanel .chk { display:block; color:rgba(255,255,255,.75); font-size:12.5px; margin-top:5px; }
.ovt-tabpanel .chk::before { content:'✓ '; color:#c2873b; }
.ovt-rel__titulo { font-family:Georgia,serif; font-size:19px; font-weight:500; margin:30px 0 12px; color:#c2873b; }

/* ── Checkout unificado (modal centrado en escritorio) ── */
.ovt-co { position:fixed; inset:0; z-index:9998; background:rgba(1,7,20,.72); display:flex; align-items:center; justify-content:center; padding:20px; }
.ovt-co__panel { background:#051d34; border:1px solid rgba(194,135,59,.45); border-radius:18px; width:100%; max-width:520px; max-height:92vh; overflow-y:auto; padding:20px; box-shadow:0 20px 60px rgba(0,0,0,.5); color:#ffffff; }
.ovt-co__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.ovt-co__head b { font-size:17px; color:#c2873b; }
.ovt-co__x { width:30px; height:30px; border-radius:99px; border:1px solid rgba(194,135,59,.4); background:transparent; color:#c2873b; font-size:15px; cursor:pointer; }
.ovt-co__item { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.04); border:1px solid rgba(194,135,59,.25); border-radius:12px; padding:9px 10px; margin-bottom:8px; }
.ovt-co__item img { width:42px; height:42px; object-fit:contain; border-radius:8px; background:rgba(255,255,255,.06); flex-shrink:0; }
.ovt-co__item .inf { flex:1; min-width:0; }
.ovt-co__item .nom { font-size:12px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#ffffff; }
.ovt-co__item .pre { font-size:11px; color:#c2873b; font-weight:700; }
.ovt-co__qty { display:flex; align-items:center; gap:7px; flex-shrink:0; }
.ovt-co__qty button { width:22px; height:22px; border-radius:99px; border:1px solid rgba(194,135,59,.5); background:transparent; color:#c2873b; font-size:13px; cursor:pointer; line-height:1; }
.ovt-co__qty .del { border:none; color:rgba(255,255,255,.35); font-size:14px; }
.ovt-co__lbl { font-size:10px; color:rgba(255,255,255,.55); margin:15px 0 6px; letter-spacing:.05em; }
.ovt-co__ent { display:flex; gap:8px; }
.ovt-co__ent button { flex:1; padding:10px; border-radius:10px; font-size:12px; font-weight:700; cursor:pointer; background:transparent; border:1px solid rgba(194,135,59,.45); color:rgba(255,255,255,.8); }
.ovt-co__ent button.on { background:#c2873b; border-color:#fef6c8; color:#010714; }
.ovt-co input, .ovt-co select { width:100%; background:#ffffff; border:1px solid rgba(194,135,59,.45); border-radius:10px; padding:10px 12px; font-size:12.5px; color:#010714; outline:none; }
.ovt-co input::placeholder { color:rgba(1,7,20,.45); }
.ovt-co select option { color:#000; }
.ovt-co__row2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.ovt-co__nota-ok { font-size:11px; color:#c2873b; margin-top:6px; }
.ovt-co__nota-err { font-size:11px; color:#f28b82; margin-top:6px; }
.ovt-co__tot { border-top:1px solid rgba(194,135,59,.3); margin-top:14px; padding-top:10px; font-size:12px; color:rgba(255,255,255,.6); }
.ovt-co__tot .fila { display:flex; justify-content:space-between; margin-top:2px; }
.ovt-co__tot .total { font-size:16px; font-weight:800; color:#c2873b; margin-top:6px; }
.ovt-co__pagar { width:100%; margin-top:12px; background:linear-gradient(90deg,#c2873b,#a06c2a); border:1px solid #fef6c8; color:#010714; border-radius:99px; padding:13px; font-size:14px; font-weight:700; cursor:pointer; }
.ovt-co__pagar:disabled { opacity:.5; cursor:not-allowed; }
.ovt-co__cond { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:rgba(255,255,255,.6); margin-top:14px; line-height:1.45; }
.ovt-co__cond input { width:auto; accent-color:#c2873b; margin-top:2px; }

@media (max-width:860px) {
 .ovt-arch { grid-template-columns:1fr; }
 .ovt-arch__side { position:static; }
 .ovt-grid { grid-template-columns:repeat(2,1fr); }
 .ovt-single__top { grid-template-columns:1fr; }
 .ovt-single__thumbs { flex-direction:row; }
 .ovt-shop__nav { gap:12px; font-size:12px; }
}
