/* Capturas de la comunidad: galería, formulario y panel de moderación. */
.cap-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}
.cap-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.9rem}
.cap-chip span{color:var(--muted);font-size:.8rem}
.cap-chip.on,.cap-chip:hover{border-color:var(--gold);color:var(--white);text-decoration:none}
.cap-stats{color:var(--muted);margin:.6rem 0 0}
.cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1rem 0 1.6rem}
.cap-card{margin:0;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.cap-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#0b1428}
.cap-card figcaption{padding:.8rem .95rem 1rem;font-size:.92rem;line-height:1.5}
.cap-card strong{color:var(--white)}
.cap-where{display:block;color:var(--muted)}
.cap-tag{display:inline-block;margin:.3rem 0;padding:.1rem .55rem;border-radius:999px;font-size:.75rem;background:rgba(26,155,138,.18);border:1px solid rgba(26,155,138,.4);color:var(--teal-soft)}
.cap-note{margin:.35rem 0;color:var(--text)}
.cap-by{display:block;color:var(--muted);font-size:.82rem}
.cap-guide{font-size:.85rem}
.cap-empty{padding:1.2rem;border:1px dashed var(--border);border-radius:14px;color:var(--muted)}
.cap-pager{display:flex;gap:1rem;align-items:center;justify-content:center;margin:1rem 0}
.cap-cta{text-align:center;margin:1.4rem 0}
.cap-btn{display:inline-block;background:var(--gold);color:#0a0f1e;border:0;border-radius:999px;padding:.7rem 1.5rem;font-weight:700;cursor:pointer;font-size:1rem;font-family:inherit}
.cap-btn:hover{text-decoration:none;filter:brightness(1.08)}
.cap-btn:focus-visible,.cap-form input:focus-visible,.cap-form select:focus-visible,.cap-form textarea:focus-visible,.cap-chip:focus-visible{outline:2px solid var(--teal-soft);outline-offset:2px}
.cap-form-wrap{margin:2rem 0;padding:1.3rem 1.4rem;background:var(--card);border:1px solid var(--border);border-radius:16px}
.cap-form{display:grid;gap:.9rem}
.cap-form label{display:grid;gap:.3rem;color:var(--white);font-weight:600;font-size:.92rem}
.cap-form small{color:var(--muted);font-weight:400}
.cap-form input[type=text],.cap-form select,.cap-form textarea,.cap-form input[type=file]{width:100%;background:#0b1428;border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;color:var(--text);font:inherit}
.cap-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:560px){.cap-row{grid-template-columns:1fr}}
.cap-check{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:400!important;color:var(--text)!important}
.cap-check input{margin-top:.25rem}
.cap-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cap-fine{color:var(--muted);font-size:.8rem;margin:0}
.cap-errors{background:rgba(168,88,74,.14);border:1px solid #a8584a;border-radius:12px;padding:.8rem 1rem;margin:0 0 1rem}
.cap-errors ul{margin:.4rem 0 0 1.1rem}
.cap-preview{max-width:360px}.cap-preview img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border)}
.cap-rules{line-height:1.7}
.cap-ok{background:rgba(26,155,138,.15);border:1px solid rgba(26,155,138,.5);border-radius:12px;padding:.9rem 1rem}
.cap-lb{border:0;padding:0;background:transparent;max-width:min(96vw,1100px);max-height:92vh;color:var(--white)}
.cap-lb::backdrop{background:rgba(3,7,15,.88)}
.cap-lb img{max-width:100%;max-height:84vh;border-radius:10px;display:block;margin:0 auto}
.cap-lb p{text-align:center;margin:.6rem 0 0}
.cap-lb button{position:absolute;top:.4rem;right:.4rem;background:#0d1426;color:#fff;border:1px solid var(--border);border-radius:999px;padding:.35rem .8rem;cursor:pointer}

/* CTAs de capturas en la home */
.nav-cat.nav-cta-cap{background:var(--gold);color:#0a0f1e;border-color:var(--gold);font-weight:700}
.nav-cat.nav-cta-cap:hover{filter:brightness(1.08);color:#0a0f1e}
.hero-cta.hero-cta-2{background:transparent;color:var(--gold-soft);border:1.5px solid var(--gold);margin-left:.8rem}
.hero-cta.hero-cta-2:hover{background:rgba(201,168,76,.14);color:var(--white)}
@media(max-width:560px){.hero-cta.hero-cta-2{margin:.7rem 0 0}}
.cap-banner{padding:2.2rem 0 .4rem}
.cap-banner-in{display:grid;grid-template-columns:1.25fr 1fr;gap:1.6rem;align-items:center;padding:1.6rem 1.7rem;border:1px solid rgba(201,168,76,.5);border-radius:20px;background:linear-gradient(135deg,rgba(201,168,76,.14),rgba(26,155,138,.09))}
.cap-banner h2{margin:.2rem 0 .5rem;font-family:'Bebas Neue',Impact,sans-serif;font-size:2.1rem;letter-spacing:.03em;color:var(--white);font-weight:400}
.cap-banner p{margin:0 0 .9rem;color:var(--text)}
.cap-banner-cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.cap-alt{color:var(--gold-soft);font-weight:600}
.cap-proof{margin:.8rem 0 0!important;font-size:.88rem;color:var(--teal-soft)!important}
.cap-banner-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.cap-banner-thumbs a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.cap-banner-thumbs img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:760px){.cap-banner-in{grid-template-columns:1fr;padding:1.3rem 1.2rem}.cap-banner h2{font-size:1.8rem}}

/* Conversión del formulario y del encabezado de la galería */
.cap-btn-lg{padding:.85rem 1.8rem;font-size:1.05rem}
.cap-hero-cta{margin:1rem 0 .4rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center}
.cap-alt{color:var(--gold-soft);font-weight:600}
.cap-pioneer{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.45);border-radius:12px;padding:.55rem .9rem;margin:.6rem 0;color:var(--white);font-size:.92rem}
.cap-pioneer-hero{display:inline-block;margin:.4rem 0 0}
.cap-tag-gold{background:rgba(201,168,76,.18);border-color:rgba(201,168,76,.5);color:var(--gold-soft)}
.cap-lead{margin:.2rem 0 .6rem;color:var(--text)}
.cap-step{border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem 1rem;margin:0;display:grid;gap:.8rem;min-width:0}
.cap-step legend{padding:0 .4rem;font-weight:700;color:var(--white);display:flex;align-items:center;gap:.55rem}
.cap-step .n{display:inline-flex;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--gold);color:#0a0f1e;font-weight:800;align-items:center;justify-content:center;font-size:.9rem}
.cap-sp-grid{display:flex;flex-wrap:wrap;gap:.5rem}
.cap-sp-opt{position:relative;display:block!important;font-weight:500!important}
.cap-sp-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.cap-sp-opt span{display:inline-block;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--border);background:#0b1428;color:var(--text);font-size:.92rem;cursor:pointer}
.cap-sp-opt input:checked+span{background:var(--gold);border-color:var(--gold);color:#0a0f1e;font-weight:700}
.cap-sp-opt input:focus-visible+span{outline:2px solid var(--teal-soft);outline-offset:2px}
.cap-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:1.3rem 1rem;border:2px dashed var(--gold);border-radius:14px;background:rgba(201,168,76,.06);color:var(--white);font-weight:700;cursor:pointer;text-align:center}
.cap-file input[type=file]{margin-top:.5rem}
.cap-preview p{margin:.4rem 0 0;color:var(--teal-soft);font-size:.85rem}
.cap-trust{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;color:var(--teal-soft);font-size:.85rem}
.cap-featured{margin:1.6rem 0}
.cap-card-big{max-width:680px}
.cap-card-big img{aspect-ratio:auto}
.cap-next{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1rem 0}
.cap-ok .cap-next{margin:.8rem 0 0}
/* Panel de administración */
body.adm{background:#0a0f1e;color:#cdd9e8;font:16px/1.55 system-ui,sans-serif;margin:0}
.adm-top{padding:1rem 1.2rem;border-bottom:1px solid #1e2c47;background:#0d1426}
.adm-main{max-width:1000px;margin:0 auto;padding:1.2rem}
.adm a{color:#e2c97e}
.adm-tabs{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.adm-tab{padding:.45rem .9rem;border:1px solid #1e2c47;border-radius:999px;color:#cdd9e8}
.adm-tab.on{border-color:#c9a84c;color:#fff}
.adm-logout{margin-left:auto}
.adm button{font:inherit;cursor:pointer;border:1px solid #1e2c47;background:#111a30;color:#fff;border-radius:10px;padding:.5rem .9rem}
.adm button.ok{background:#1a9b8a;border-color:#1a9b8a}
.adm button.no{background:#7a3a2f;border-color:#a8584a}
.adm-card{display:grid;grid-template-columns:260px 1fr;gap:1rem;border:1px solid #1e2c47;border-radius:14px;padding:1rem;margin:1rem 0;background:#0d1426}
@media(max-width:700px){.adm-card{grid-template-columns:1fr}}
.adm-media img{width:100%;height:auto;border-radius:10px;display:block}
.adm-noimg{padding:2rem 1rem;text-align:center;color:#8aa0bb;border:1px dashed #1e2c47;border-radius:10px}
.adm-meta,.adm-muted{color:#8aa0bb;font-size:.85rem;margin:.1rem 0 .6rem}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}
.adm label{display:grid;gap:.2rem;font-size:.82rem;color:#8aa0bb}
.adm input,.adm select,.adm textarea{background:#0b1428;border:1px solid #1e2c47;border-radius:8px;color:#fff;padding:.45rem .55rem;font:inherit}
.adm-chk,.adm-check label{display:flex!important;gap:.5rem;align-items:flex-start;color:#cdd9e8!important;font-size:.88rem!important}
.adm-check{border:1px solid #1e2c47;border-radius:10px;margin:.7rem 0}
.adm-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.8rem}
.adm-flash{background:rgba(26,155,138,.18);border:1px solid #1a9b8a;border-radius:10px;padding:.6rem .9rem}
.adm-warn{font-size:.82rem;color:#8aa0bb}
.adm-err{color:#ff9d8a}
.adm-login{display:grid;gap:.8rem;max-width:340px}
.adm-done{opacity:.85}

.cap-form [hidden],.cap-other[hidden]{display:none!important}

/* ═════════ Formulario de capturas · Liquid Glass (iOS 27) ═════════
   Mismo sistema que ios.css: superficies translúcidas con borde especular; el desenfoque real
   solo en escritorio con GPU (html.fx-full); en móvil el cristal se simula sin coste. */
.cap-form-wrap{background-color:rgba(10,18,36,.72);background-image:var(--lg-paint,none);border:0;border-radius:var(--lg-r-xl,28px);padding:1.5rem 1.4rem;box-shadow:var(--lg-edge,none),var(--lg-lift,none)}
@media (hover:hover) and (min-width:769px){html.fx-full .cap-form-wrap{-webkit-backdrop-filter:var(--lg-blur);backdrop-filter:var(--lg-blur)}}
.cap-prog{display:flex;align-items:center;gap:.8rem;margin:.2rem 0 .2rem}
.cap-prog-bar{flex:1;height:10px;border-radius:99px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 2px rgba(0,0,0,.5);overflow:hidden}
.cap-prog-bar i{display:block;height:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--gold));box-shadow:0 0 12px rgba(201,168,76,.5);transition:transform .5s var(--lg-spring,ease)}
.cap-prog-txt{font-size:.82rem;color:var(--muted);min-width:7.5rem;text-align:right}
.cap-step{border:0;border-radius:var(--lg-r-lg,22px);background:linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:var(--lg-surface-edge,none);transition:box-shadow .3s,background .3s}
.cap-step.done{box-shadow:var(--lg-surface-edge,none),0 0 0 1px rgba(63,208,186,.55)}
.cap-step .n{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 10px -4px rgba(201,168,76,.7);transition:background .3s,color .3s}
.cap-step.done .n{background:var(--teal-soft);font-size:0}
.cap-step.done .n::after{content:"✓";font-size:.95rem}
.cap-sp-opt span{border-color:transparent;background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.04));box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 10px rgba(255,255,255,.03);transition:scale .2s var(--lg-ease,ease),background .25s,box-shadow .25s}
.cap-sp-opt:active span{scale:.94}
.cap-sp-opt input:checked+span{background:linear-gradient(#e2c97e,#c9a84c);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 8px 18px -8px rgba(201,168,76,.8)}
.cap-form input[type=text],.cap-form select,.cap-form textarea{background:rgba(6,12,26,.55);border:0;border-radius:var(--lg-r-md,16px);box-shadow:inset 0 1px 3px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);font-size:1rem;transition:box-shadow .2s}
.cap-form input[type=text]:focus,.cap-form select:focus,.cap-form textarea:focus{box-shadow:inset 0 1px 3px rgba(0,0,0,.55),0 0 0 2px var(--teal-soft)}
.has-err input[type=text],.has-err select,.has-err textarea{box-shadow:inset 0 1px 3px rgba(0,0,0,.55),0 0 0 2px #e0705c}
.cap-ferr{margin:.25rem 0 0;color:#ff9d8a;font-size:.85rem}
.cap-step.has-err,.cap-dz.has-err .cap-drop{box-shadow:var(--lg-surface-edge,none),0 0 0 2px #e0705c}
.shake{animation:capShake .45s}
@keyframes capShake{20%{translate:-6px}40%{translate:6px}60%{translate:-4px}80%{translate:3px}}
/* Zona de foto */
.cap-dz{position:relative}
.cap-file-input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}
.cap-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:150px;padding:1.4rem 1rem;border:0;border-radius:var(--lg-r-lg,22px);background:radial-gradient(120% 140% at 50% 0%,rgba(201,168,76,.2),transparent 60%),linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:var(--lg-edge,none);cursor:pointer;text-align:center;transition:scale .25s var(--lg-ease,ease),box-shadow .25s}
.cap-drop strong{color:var(--white);font-size:1.05rem}
.cap-drop small{color:var(--muted)}
.cap-drop-ic{font-size:2.2rem;line-height:1}
.cap-dz.over .cap-drop,.cap-drop:hover{scale:1.015;box-shadow:var(--lg-edge,none),0 0 0 2px var(--gold)}
.cap-file-input:focus-visible+.cap-drop{outline:2px solid var(--teal-soft);outline-offset:3px}
.cap-drop:active{scale:.97}
.cap-preview{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center;max-width:none;padding:.7rem;border-radius:var(--lg-r-lg,22px);background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:var(--lg-edge,none)}
.cap-preview[hidden]{display:none}
.cap-pv-img{position:relative;border-radius:var(--lg-r-md,16px);overflow:hidden;background:#0b1428;aspect-ratio:4/3}
.cap-pv-img img{width:100%;height:100%;object-fit:cover;border:0;border-radius:0;display:block}
.cap-pv-busy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(6,12,26,.6)}
.cap-pv-busy[hidden]{display:none}
.cap-pv-busy i{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:var(--gold);animation:capSpin .8s linear infinite}
@keyframes capSpin{to{rotate:360deg}}
.cap-pv-meta{display:grid;gap:.15rem;min-width:0}
.cap-pv-name{color:var(--white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cap-pv-size{color:var(--teal-soft);font-size:.9rem}
.cap-pv-note{color:var(--muted);font-size:.8rem}
.cap-pv-clear{justify-self:start;margin-top:.4rem;background:rgba(255,255,255,.1);color:var(--white);border:0;border-radius:99px;padding:.45rem 1rem;cursor:pointer;font:inherit;font-size:.88rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
@media(max-width:520px){.cap-preview{grid-template-columns:110px 1fr}}
/* Envío y progreso */
.cap-missing{padding:.7rem .95rem;border-radius:var(--lg-r-md,16px);background:rgba(224,112,92,.14);box-shadow:inset 0 0 0 1px rgba(224,112,92,.5);color:var(--white);font-size:.92rem}
.cap-missing[hidden]{display:none}
.cap-missing span{display:inline-block;margin:.15rem .3rem 0 0;padding:.1rem .6rem;border-radius:99px;background:rgba(255,255,255,.12)}
.cap-progress{display:grid;gap:.5rem;padding:.9rem 1rem;border-radius:var(--lg-r-lg,22px);background:linear-gradient(rgba(255,255,255,.09),rgba(255,255,255,.03));box-shadow:var(--lg-edge,none)}
.cap-progress[hidden]{display:none}
.cap-pbar{height:12px;border-radius:99px;background:rgba(255,255,255,.08);box-shadow:inset 0 1px 2px rgba(0,0,0,.5);overflow:hidden}
.cap-pbar i{display:block;height:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--gold));transition:transform .25s linear;box-shadow:0 0 14px rgba(63,208,186,.55)}
.cap-ptxt{color:var(--white);font-weight:600}
.cap-progress[data-kind=err] .cap-ptxt{color:#ff9d8a}
.cap-cancel{justify-self:start;background:rgba(255,255,255,.1);color:var(--white);border:0;border-radius:99px;padding:.4rem 1rem;cursor:pointer;font:inherit;font-size:.88rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.cap-send{border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 28px -14px rgba(201,168,76,.9);transition:scale .25s var(--lg-ease,ease),filter .25s,opacity .25s;background:linear-gradient(#e2c97e,#c9a84c)}
.cap-send:active{scale:.96}
.cap-send.ready{animation:capReady 2.2s ease .2s 2}
@keyframes capReady{50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 8px rgba(201,168,76,.25),0 14px 28px -14px rgba(201,168,76,.9)}}
.cap-send.busy,.cap-send:disabled{opacity:.55;pointer-events:none}
/* Éxito */
.cap-ok{text-align:center;padding:1.6rem 1.2rem;border-radius:var(--lg-r-xl,28px);background:radial-gradient(120% 140% at 50% 0%,rgba(63,208,186,.22),transparent 60%),linear-gradient(rgba(255,255,255,.09),rgba(255,255,255,.03));box-shadow:var(--lg-edge,none),var(--lg-lift,none);border:0}
.cap-ok strong{display:block;font-size:1.3rem;color:var(--white)}
.cap-ok .cap-next{justify-content:center}
.cap-check-ic{width:68px;margin:0 auto .6rem}
.cap-check-ic svg{display:block;width:100%}
.cap-check-ic circle{fill:rgba(63,208,186,.18);stroke:var(--teal-soft);stroke-width:2;stroke-dasharray:152;stroke-dashoffset:152;animation:capDraw .7s ease forwards}
.cap-check-ic path{fill:none;stroke:var(--white);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:44;stroke-dashoffset:44;animation:capDraw .5s ease .5s forwards}
@keyframes capDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.shake,.cap-send.ready,.cap-pv-busy i{animation:none}.cap-check-ic circle,.cap-check-ic path{animation:none;stroke-dashoffset:0}.cap-prog-bar i,.cap-pbar i{transition:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.cap-form-wrap{background-color:#0d1426}}

.cap-trust li{margin:0}
.cap-check span{flex:1}
