/* BAQORA Music Festival — Artist Registration, Step 01 */
:root{--black:#080807;--panel:#0d0e0e;--panel2:#131515;--gold:#f4bd4c;--gold2:#ffdf83;--gold-deep:#a96d10;--white:#f8f5ed;--muted:#a9a9a7;--line:#393b3c;--red:#ff7777;--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.55}
a{color:inherit}
button,input,select{font:inherit}
button,a,input,select{outline-color:var(--gold)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#111;padding:12px;z-index:100}
.skip-link:focus{left:12px}
.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(18px,4.2vw,70px);background:#050505;border-bottom:1px solid rgba(244,189,76,.22);position:relative;z-index:3}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1;min-width:190px}
.brand-mark{font-family:Cinzel,Georgia,serif;font-size:clamp(25px,3vw,38px);font-weight:800;letter-spacing:-2px;color:var(--gold2);text-shadow:0 2px 12px #b56b13}
.brand-sun{color:#ffef9e}
.brand-sub{font-size:9px;letter-spacing:5px;color:var(--gold);font-weight:700;margin-top:3px}
.top-nav{display:flex;align-items:center;gap:clamp(12px,2vw,30px)}
.top-nav a{text-decoration:none;font-size:10px;letter-spacing:.08em;color:#e7e4dc;white-space:nowrap}
.top-nav a:hover,.top-nav .nav-active{color:var(--gold)}
.language-switch{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.lang-btn{background:transparent;border:1px solid #353535;border-radius:7px;color:#eee;padding:8px 9px;font-size:11px;cursor:pointer;transition:.2s}
.lang-btn:hover,.lang-btn.active{border-color:var(--gold);background:linear-gradient(135deg,#ffdf83,#f4bd4c);color:#171006}
.hero{position:relative;isolation:isolate;min-height:420px;display:flex;align-items:center;overflow:hidden;background:#111 url('../images/hero-convocatoria.webp') center 38%/cover no-repeat}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.57) 45%,rgba(0,0,0,.18) 100%),linear-gradient(0deg,#080807 0%,transparent 45%,rgba(0,0,0,.1) 100%)}
.hero-content{width:min(1180px,100%);margin:auto;padding:58px clamp(22px,6vw,90px) 75px}
.eyebrow{color:var(--gold2);letter-spacing:.25em;font-size:11px;font-weight:700;margin:0 0 15px}
h1{font-family:Cinzel,Georgia,serif;font-size:clamp(34px,5.8vw,72px);line-height:1.08;letter-spacing:.025em;margin:0;max-width:900px;text-shadow:0 5px 25px #000}
h1 em{font-style:normal;color:var(--gold);text-shadow:0 0 22px rgba(244,189,76,.25)}
.hero-lead{max-width:620px;color:#f0ede7;font-size:clamp(13px,1.25vw,16px);line-height:1.8;margin:20px 0 25px}
.hero-cta{display:inline-flex;align-items:center;gap:24px;background:linear-gradient(120deg,#ffe18c,#efac2c);color:#160f02;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.07em;padding:14px 20px;border-radius:999px;box-shadow:0 0 22px #f3b43b55}
.hero-cta span:last-child{font-size:19px}
.hero-stamp{position:absolute;right:clamp(18px,5vw,72px);bottom:24px;display:flex;flex-direction:column;align-items:flex-end;color:var(--gold2);text-shadow:0 2px 10px #000}
.hero-stamp>span{font-family:Cinzel,Georgia,serif;font-size:27px;font-weight:800}
.hero-stamp small{font-size:8px;letter-spacing:.22em}
.hero-stamp b{font-family:Cinzel,Georgia,serif;font-size:11px;letter-spacing:.1em;margin-top:8px}
.discipline-strip{max-width:1180px;margin:-1px auto 0;padding:25px 24px 31px;display:grid;grid-template-columns:repeat(6,1fr);gap:12px;border-bottom:1px solid #30271a}
.discipline{display:flex;align-items:center;gap:9px;justify-content:center;color:#eee5d3;font-size:10px;letter-spacing:.08em;font-weight:700;text-align:center}
.discipline-icon{font-size:26px;color:var(--gold);line-height:1}
.registration-wrap{width:min(1180px,calc(100% - 44px));margin:34px auto 54px;border:1px solid #805d20;border-radius:var(--radius);background:linear-gradient(145deg,rgba(15,15,13,.97),rgba(5,6,6,.98));box-shadow:0 20px 70px #0009;overflow:hidden}
.steps{display:grid;grid-template-columns:repeat(5,1fr);padding:27px 24px 22px;border-bottom:1px solid #45371e;position:relative;gap:12px}
.steps:before{content:"";height:2px;position:absolute;top:46px;left:8%;right:8%;background:linear-gradient(90deg,var(--gold),#343638 24%);z-index:0}
.step{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;text-align:center;gap:7px}
.step>span{width:39px;height:39px;border-radius:50%;border:1px solid #6d7479;background:#171a1b;display:grid;place-items:center;color:#d6d6d2;font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:700}
.step.current>span{background:linear-gradient(145deg,#fff0a8,#f0a72b);border-color:#fff0a8;color:#201300;box-shadow:0 0 22px #ffc24c70}
.step b{font-size:10px;letter-spacing:.06em}
.step small{font-size:10px;color:var(--muted)}
.step.current b,.step.current small{color:var(--gold2)}
.form-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid #382d1c}
.number-title{display:flex;align-items:center;gap:14px}
.number-title>span{font-family:Cinzel,Georgia,serif;color:var(--gold);font-size:53px;line-height:1}
.number-title h2{margin:0;font-family:Cinzel,Georgia,serif;font-size:clamp(18px,2vw,24px);letter-spacing:.04em}
.number-title p{margin:4px 0 0;color:#c9c7c0;font-size:12px}
.form-language-note{display:flex;flex-direction:column;text-align:right;gap:3px;font-size:9px;letter-spacing:.09em;color:var(--muted)}
.form-language-note strong{font-size:11px;color:var(--gold2)}
#artist-form{padding:26px 28px 22px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 24px}
.field{min-width:0;display:flex;flex-direction:column;gap:8px}
.field label,.field legend{font-size:12px;font-weight:700;color:#f4f1e9}
.required{color:#ff8a38}
.field input,.field select{width:100%;min-height:47px;border:1px solid #41494d;border-radius:8px;background:linear-gradient(110deg,#151819,#0e1011);color:#f5f3ee;padding:0 14px;transition:border-color .2s,box-shadow .2s}
.field input::placeholder{color:#898e91}
.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f4bd4c1c}
.field select{appearance:auto}
.field fieldset,.field legend{margin:0;padding:0;border:0}
.choice-row{display:flex;align-items:center;gap:16px;min-height:47px;flex-wrap:wrap}
.radio-card{display:inline-flex!important;align-items:center;gap:9px;cursor:pointer;font-weight:500!important}
.radio-card input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.custom-radio{width:20px;height:20px;border:1.5px solid #c3c5c2;border-radius:50%;display:inline-grid;place-items:center;flex:0 0 auto}
.radio-card input:checked+.custom-radio{border-color:var(--gold);background:var(--gold)}
.radio-card input:checked+.custom-radio:after{content:"";width:7px;height:7px;border-radius:50%;background:#171006}
.radio-card input:focus-visible+.custom-radio{outline:2px solid white;outline-offset:3px}
.field-error{min-height:0;color:var(--red);font-size:11px}
.field.invalid input,.field.invalid select{border-color:var(--red)}
.privacy-consent{margin-top:25px;padding:17px 18px;border:1px solid #40351f;background:#12110d;border-radius:10px}
.check-line{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:11px;color:#ddd9ce}
.check-line input{position:absolute;opacity:0;width:1px;height:1px}
.checkmark{flex:0 0 20px;width:20px;height:20px;border:1px solid #8b7a53;border-radius:4px;background:#090909;display:grid;place-items:center}
.check-line input:checked+.checkmark{background:var(--gold);border-color:var(--gold)}
.check-line input:checked+.checkmark:after{content:"✓";font-weight:900;color:#191000}
.check-line input:focus-visible+.checkmark{outline:2px solid white;outline-offset:3px}
.privacy-consent p{margin:8px 0 0 32px;font-size:11px}
.privacy-consent a{color:var(--gold2);text-underline-offset:3px}
.form-alert{display:none;margin-top:18px;padding:12px 14px;border-radius:8px;background:#321a15;border:1px solid #8b3b2b;color:#ffd4c9;font-size:12px}
.form-alert.show{display:block}
.form-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:24px}
.btn{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 22px;border-radius:999px;text-decoration:none;text-transform:uppercase;letter-spacing:.035em;font-size:11px;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-back{border:1px solid var(--gold);background:transparent;color:var(--white)}
.btn-back span:first-child{font-size:20px;color:var(--gold)}
.btn-next{border:1px solid #ffe39a;background:linear-gradient(110deg,#ffdd7b,#f4ae32);color:#171004;box-shadow:0 0 20px #f3b43b40}
.btn-next span:last-child{font-size:20px}
.form-footnote{color:#888b88;font-size:10px;line-height:1.7;margin:17px 0 0}
.site-footer{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:28px;padding:30px clamp(22px,6vw,90px) 40px;border-top:1px solid #28231b;background:radial-gradient(ellipse at 10% 0%,#36230e66,transparent 55%),#050505}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand .brand-mark{font-size:35px}
.footer-brand .brand-sub{font-size:8px}
.footer-brand small{font-size:8px;letter-spacing:.16em;color:#b7a67d;margin-top:12px}
.site-footer>p{color:#bcb9b1;font-size:11px;max-width:380px}
.site-footer blockquote{font-family:Cinzel,Georgia,serif;color:var(--gold2);font-size:15px;font-style:italic;border-left:1px solid #8b641f;padding-left:20px;margin:0}
@media(max-width:900px){.site-header{flex-wrap:wrap;gap:14px}.top-nav{order:3;width:100%;justify-content:center;padding-top:7px;border-top:1px solid #242424}.hero{min-height:390px}.discipline-strip{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1fr 1fr}.site-footer blockquote{grid-column:1/-1}.hero-stamp{display:none}}
@media(max-width:620px){.site-header{padding:14px 16px}.brand{min-width:0}.brand-mark{font-size:27px}.brand-sub{letter-spacing:3px;font-size:8px}.language-switch{gap:3px}.lang-btn{padding:7px 6px;font-size:10px}.top-nav{gap:20px;overflow:auto;justify-content:flex-start}.top-nav a{font-size:9px}.hero{min-height:380px;background-position:43% center}.hero-content{padding:52px 22px 60px}.eyebrow{font-size:9px;letter-spacing:.15em}h1{font-size:clamp(33px,10vw,52px)}.hero-lead{font-size:12px}.discipline-strip{grid-template-columns:repeat(2,1fr);padding:22px 14px;gap:18px 8px}.discipline{justify-content:flex-start;font-size:9px}.discipline-icon{font-size:23px}.registration-wrap{width:calc(100% - 22px);margin:20px auto 34px;border-radius:13px}.steps{padding:18px 8px 15px;gap:3px}.steps:before{top:36px;left:9%;right:9%}.step{gap:6px}.step>span{width:31px;height:31px;font-size:12px}.step b{font-size:8px;line-height:1.3}.step small{display:none}.form-heading{padding:20px 15px;align-items:flex-start}.number-title{gap:8px}.number-title>span{font-size:40px}.number-title h2{font-size:16px}.number-title p{font-size:10px}.form-language-note{font-size:7px;max-width:100px}.form-language-note strong{font-size:9px}#artist-form{padding:20px 15px}.form-grid{grid-template-columns:1fr;gap:17px}.field label,.field legend{font-size:11px}.field input,.field select{min-height:46px}.choice-row{gap:12px}.radio-card{font-size:11px!important}.privacy-consent{padding:13px;margin-top:20px}.check-line{font-size:10px}.form-actions{flex-direction:column-reverse;align-items:stretch}.btn{width:100%;min-height:48px}.form-footnote{font-size:9px}.site-footer{grid-template-columns:1fr;gap:16px;padding:26px 22px}.site-footer blockquote{grid-column:auto;font-size:14px}.footer-brand .brand-mark{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Step 2 — artist profile */
textarea{font:inherit;resize:vertical;min-height:96px}
.field textarea{width:100%;border:1px solid #41494d;border-radius:8px;background:linear-gradient(110deg,#151819,#0e1011);color:#f5f3ee;padding:13px 14px;line-height:1.65;transition:border-color .2s,box-shadow .2s}
.field textarea::placeholder{color:#898e91}
.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #f4bd4c1c;outline:0}
.field-wide{grid-column:1/-1}
.field-meta{display:flex;justify-content:space-between;gap:12px;color:#898e91;font-size:10px}
.profile-context{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;margin-bottom:24px;border:1px solid #4a391c;border-radius:10px;background:linear-gradient(110deg,#21190c,#100f0c)}
.context-symbol{font-size:24px;color:var(--gold);line-height:1}
.profile-context strong{font-family:Cinzel,Georgia,serif;color:var(--gold2);font-size:13px}
.profile-context p{margin:3px 0 0;color:#c4c0b7;font-size:11px;line-height:1.7}
.profile-context.context-warning{border-color:#8a4b2a;background:#24130e}
.discipline-fields{margin-top:26px;padding:21px;border:1px solid #40321b;border-radius:12px;background:rgba(14,14,12,.7)}
.discipline-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.discipline-section-heading>span{color:var(--gold);font-size:28px}
.discipline-section-heading h3{margin:0;font:600 16px Cinzel,Georgia,serif;color:var(--gold2)}
.discipline-section-heading p{margin:3px 0 0;color:#a9a9a7;font-size:11px}
.discipline-note{margin:17px 0 0;color:#a9a9a7;font-size:10px;line-height:1.7}
.extra-grid{margin-top:24px}
@media(max-width:620px){.field-wide{grid-column:auto}.discipline-fields{padding:14px}.discipline-section-heading h3{font-size:14px}.profile-context{padding:12px}}

/* Layout normalization across every registration step */
.registration-wrap form,
#profile-form,
#portfolio-form,
#proposal-form,
#confirmation-form { padding:26px 28px 22px; }
.registration-wrap { width:min(1180px,calc(100% - 44px)); margin-left:auto; margin-right:auto; }
.registration-wrap .form-grid { width:100%; min-width:0; }
.registration-wrap .field, .registration-wrap fieldset { min-width:0; }
.registration-wrap input, .registration-wrap select, .registration-wrap textarea { max-width:100%; }
.field select option, select option { background:#111313; color:#f8f5ed; }
.field select optgroup { background:#111313; color:#f4bd4c; }
@media(max-width:620px) {
  .registration-wrap { width:calc(100% - 22px); }
  .registration-wrap form, #profile-form, #portfolio-form, #proposal-form, #confirmation-form { padding:20px 15px; }
}

/* BAQORA03 — robust base styles and consistent page spacing */
html { color-scheme: dark; scroll-behavior: smooth; }
body { background:#080807; color:#f8f5ed; margin:0; min-width:320px; }
a { cursor:pointer; }
input, select, textarea, button { font:inherit; }
select, select option { background-color:#111313; color:#f8f5ed; }
select option:checked { background-color:#5d512f; color:#fff; }
img { max-width:100%; height:auto; }
[hidden] { display:none !important; }


/* Navegación de pasos en una sola página */
.wizard-panel[hidden], [hidden] { display: none !important; }
.wizard-steps .step { cursor: default; }
.wizard-steps .step.done { cursor: pointer; }
.wizard-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; }
.wizard-actions [hidden] { display:none !important; }
#wizard-alert:empty { display:none; }
#wizard-alert { margin:18px 0; }
.wizard-panel { animation: wizardFade .22s ease-out; }
@keyframes wizardFade { from { opacity:.35; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.field-error:empty { display:none; }
.field input:focus, .field select:focus, .field textarea:focus { outline:2px solid var(--gold); outline-offset:1px; }
@media (max-width: 760px) {
  .wizard-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wizard-steps .step:last-child { grid-column:1 / -1; }
  .wizard-actions .btn { flex:1 1 100%; justify-content:center; }
}


/* Portfolio uploads and platform links */
.portfolio-subheading{display:flex;align-items:center;gap:13px;margin:27px 0 18px;padding-bottom:12px;border-bottom:1px solid #40321b}
.portfolio-subheading>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--gold-deep);border-radius:50%;color:var(--gold2);font:700 12px Cinzel,Georgia,serif}
.portfolio-subheading h3{margin:0;color:var(--gold2);font:600 15px Cinzel,Georgia,serif}
.portfolio-subheading p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.6}
.field input[type=file]{height:auto;min-height:48px;padding:10px;background:#101111;border:1px dashed #79602f;color:#ddd;border-radius:8px;font-size:11px}
.field-help{display:block;margin-top:5px;color:#9f9f98;font-size:10px;line-height:1.6}
@media(max-width:620px){.portfolio-subheading{align-items:flex-start}.portfolio-subheading h3{font-size:13px}.field input[type=file]{font-size:10px}}

/* Resumen final de portafolio: vista previa de foto/video y enlaces agrupados */
.review-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.review-media-grid>div{min-width:0;padding:12px;border:1px solid #40321b;border-radius:10px;background:#10100e}
.review-media-grid strong,.review-link-list>strong{display:block;color:var(--gold2);font-size:12px;margin-bottom:8px}
.review-photo,.review-video{display:block;width:100%;max-height:280px;object-fit:contain;background:#050505;border-radius:7px;margin:8px 0}
.review-media-grid p,.review-empty-note{color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.review-link-list{display:grid;gap:8px;margin:10px 0 16px}
.review-link-list>strong{margin-top:8px;padding-top:10px;border-top:1px solid #40321b}
.review-link-list ul{margin:0;padding-left:20px;overflow-wrap:anywhere}
.review-link-list li{margin:5px 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.review-link-list a{color:var(--gold2);overflow-wrap:anywhere}
.review-link-list p{font-size:12px;overflow-wrap:anywhere}
@media(max-width:620px){.review-media-grid{grid-template-columns:1fr}}
