:root{--ink:#07182d;--teal:#087785;--coral:#f65a3a;--gold:#f4b800;--paper:#f2f6f7;--muted:#647586;--line:#d9e3e8;--white:#fff;--green:#19a85a;--shadow:0 22px 60px rgba(7,24,45,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}button,input,select,textarea{font:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:68px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(7,24,45,.08)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.logo-eye{display:inline-block;width:40px;height:24px;border-radius:50% 0 50% 0;transform:rotate(45deg);background:var(--teal);position:relative;flex:0 0 auto}.logo-eye:before{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:#fff;left:12px;top:4px}.logo-eye:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--coral);left:16px;top:8px}.logo-eye.large{width:70px;height:42px}.brand-copy{line-height:.9}.brand-copy strong{font-size:19px;letter-spacing:.2px}.brand-copy small{display:block;color:var(--coral);font-size:8px;font-weight:900;margin-top:5px}.header-actions{display:flex;gap:8px;align-items:center}.pill{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-weight:850;font-size:14px}.pill.primary,.button.primary{background:var(--coral);border-color:var(--coral);color:#fff}.feed{height:100svh;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.vacancy{min-height:100svh;scroll-snap-align:start;display:grid;place-items:center;padding:86px 12px 18px}.vacancy-card{width:min(100%,500px);max-height:calc(100svh - 104px);min-height:610px;background:#fff;border:1px solid rgba(7,24,45,.1);border-radius:28px;overflow:auto;box-shadow:var(--shadow);position:relative;scrollbar-width:thin}.media-area{height:min(67svh,690px);min-height:390px;position:relative;background:#0d233a;overflow:hidden}.media-area img,.media-area video{width:100%;height:100%;display:block;object-fit:cover;background:#000}.format-badge,.featured-badge{position:absolute;z-index:5;top:16px;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900}.format-badge{left:16px;background:rgba(7,24,45,.9);color:#fff}.featured-badge{right:16px;background:var(--gold)}.generated-vacancy{height:100%;padding:34px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 82% 17%,var(--gold) 0 8%,transparent 8.5%),linear-gradient(158deg,#0b7783 0 45%,#07182d 45% 100%)}.generated-vacancy .eyebrow{letter-spacing:2px;font-size:13px;font-weight:900}.generated-vacancy h2{font-size:43px;line-height:.98;margin:14px 0 10px;max-width:370px}.generated-company{font-size:22px;color:#ffdb68;font-weight:900;margin-bottom:20px}.generated-line{display:block;background:rgba(255,255,255,.12);padding:11px 12px;border-radius:12px;margin:9px 0}.generated-phone{border-top:1px solid rgba(255,255,255,.28);padding-top:20px}.generated-phone strong{display:block;font-size:28px;margin-top:6px}.video-caption{position:absolute;left:0;right:0;bottom:0;padding:90px 22px 20px;color:#fff;background:linear-gradient(transparent,rgba(7,24,45,.94));pointer-events:none}.video-caption h2{margin:0 0 4px;font-size:28px}.video-caption p{margin:0;color:#d7e7eb}.vacancy-summary{padding:17px 20px 20px;display:grid;gap:12px}.summary-row{display:flex;justify-content:space-between;gap:14px}.summary-row h2{font-size:18px;margin:0 0 3px}.summary-row p{margin:0;color:var(--muted);font-size:14px}.location{text-align:right;color:var(--muted);font-size:13px}.phone-display{padding:13px;border-radius:14px;background:#edf3f5;text-align:center;font-size:18px;font-weight:900}.contact-note{text-align:center;font-size:11px;color:var(--muted)}.whatsapp-button{display:block;padding:15px 14px;border-radius:14px;background:var(--green);color:#fff;text-align:center;text-decoration:none;font-weight:900}.details-box{border:1px solid var(--line);border-radius:14px;overflow:hidden}.details-box summary{padding:13px 14px;font-weight:850;cursor:pointer;background:#fff}.details-content{padding:0 14px 14px;background:#fafcfc}.detail-section{padding-top:12px}.detail-section h3{font-size:14px;margin:0 0 6px}.detail-section p,.detail-section li{font-size:14px;line-height:1.45;color:#35495b}.detail-section p{margin:0}.detail-section ul{margin:0;padding-left:20px}.counter{position:fixed;right:14px;bottom:16px;z-index:50;padding:9px 13px;border-radius:999px;background:rgba(7,24,45,.9);color:#fff;font-size:13px;font-weight:850}.empty-state{min-height:100svh;display:grid;place-items:center;padding:90px 20px}.empty-card{max-width:520px;background:#fff;border-radius:28px;padding:45px;text-align:center;box-shadow:var(--shadow)}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 19px;border:0;border-radius:14px;text-decoration:none;font-weight:900;cursor:pointer}.button.secondary{background:var(--ink);color:#fff}.button.whatsapp{background:var(--green);color:#fff}.button.full{width:100%;margin-top:10px}.business-hero{min-height:78svh;display:grid;place-items:center;padding:110px 20px 60px;background:radial-gradient(circle at 80% 20%,rgba(244,184,0,.25),transparent 22%),radial-gradient(circle at 15% 70%,rgba(8,119,133,.22),transparent 28%),#fff}.business-inner,.content-inner{width:min(100%,1080px);margin:auto}.business-inner h1{max-width:850px;font-size:clamp(45px,7vw,78px);line-height:.96;margin:18px 0}.business-inner p,.lead{max-width:760px;font-size:20px;line-height:1.55;color:var(--muted)}.section-tag{display:inline-block;padding:8px 12px;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;font-size:12px}.content-section{padding:78px 20px;background:#fff}.content-section.soft{background:#eef4f5}.content-section h2{font-size:clamp(34px,5vw,52px);margin:0 0 25px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.steps article,.format-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--teal);color:#fff}.steps h3{margin:16px 0 6px}.steps p,.format-grid p{color:var(--muted);line-height:1.5}.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.format-grid article>span{display:inline-block;padding:6px 9px;border-radius:999px;background:#eaf4f5;color:var(--teal);font-size:12px;font-weight:900}.format-grid .premium{border:2px solid var(--gold)}.contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.commercial-phone{padding:14px 16px;border-radius:14px;background:#eef4f5}.footer{padding:30px;background:var(--ink);color:#fff;text-align:center}.admin-main{min-height:100svh;padding:94px 18px 40px}.auth-card{width:min(100%,480px);margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.auth-card form,.vacancy-form{display:grid;gap:13px}.auth-card label,.vacancy-form label{display:grid;gap:7px;font-size:13px;font-weight:850}.auth-card input,.vacancy-form input,.vacancy-form select,.vacancy-form textarea{width:100%;padding:12px;border:1px solid #cfd9df;border-radius:12px;background:#fff}.alert{padding:12px 14px;border-radius:12px;margin-bottom:14px}.alert.error{background:#ffe8e5;color:#8d1d12}.alert.success{background:#e8f7ee;color:#136c38}.admin-grid{width:min(100%,1260px);margin:auto;display:grid;grid-template-columns:450px 1fr;gap:22px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(7,24,45,.07)}.admin-panel h1,.admin-panel h2{margin-top:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex;gap:16px;flex-wrap:wrap}.check-row label{display:flex;align-items:center;gap:7px}.check-row input{width:auto}.admin-list{display:grid;gap:12px}.admin-item{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px}.admin-item h3{margin:0 0 5px}.admin-item p{margin:3px 0;color:var(--muted);font-size:14px}.status{display:inline-block;margin-top:7px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.status.active{background:#e7f7ed;color:#14743d}.status.scheduled{background:#fff4cf;color:#765600}.status.expired{background:#f1f1f1;color:#666}.status.paused{background:#ffe8e5;color:#8d1d12}.metrics{display:flex;gap:10px;margin-top:10px;color:var(--muted);font-size:12px}.item-actions{display:grid;gap:7px;align-content:start}.item-actions form{display:grid;gap:7px}.mini-button{display:block;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;font-size:12px;font-weight:850;cursor:pointer}.mini-button.danger{color:#b42318}.empty-admin{padding:45px;text-align:center;color:var(--muted)}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.format-grid,.admin-grid{grid-template-columns:1fr}.form-panel{order:1}.list-panel{order:2}}@media(max-width:560px){.site-header{height:62px;padding:7px 10px}.brand-copy strong{font-size:17px}.header-actions .pill:first-child{display:none}.vacancy{padding:70px 7px 8px}.vacancy-card{max-height:calc(100svh - 78px);min-height:570px;border-radius:22px}.media-area{height:63svh;min-height:350px}.generated-vacancy{padding:27px}.generated-vacancy h2{font-size:37px}.business-hero{padding-top:90px}.content-section{padding:60px 16px}.steps,.format-grid,.form-row{grid-template-columns:1fr}.admin-main{padding:76px 8px 24px}.admin-panel{padding:18px;border-radius:18px}.admin-item{grid-template-columns:1fr}.item-actions,.item-actions form{grid-template-columns:repeat(2,1fr)}}
/* Vista a Vista v2: correcciones para móvil */
.public-page.modal-open{overflow:hidden}
.public-page .vacancy-card{overflow:hidden}
.public-page .media-area{background:#eef2f4}
.public-page .media-area img{object-fit:contain;background:#eef2f4}
.public-page .media-area video{object-fit:contain;background:#000}
.public-page .summary-title{min-width:0}
.public-page .details-trigger{width:100%;padding:13px 14px;border:1px solid var(--teal);border-radius:14px;background:#fff;color:var(--teal);font-weight:900;cursor:pointer}
.details-modal[hidden]{display:none!important}
.details-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.details-backdrop{position:absolute;inset:0;border:0;background:rgba(7,24,45,.64);cursor:pointer}
.details-sheet{position:relative;z-index:1;width:min(100%,560px);max-height:min(88svh,850px);display:flex;flex-direction:column;background:#fff;border-radius:26px 26px 0 0;box-shadow:0 -18px 50px rgba(7,24,45,.25);overflow:hidden;animation:vavSheetIn .2s ease-out}
.details-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 20px 14px;border-bottom:1px solid var(--line)}
.details-sheet-header h2{margin:0 0 4px;font-size:24px;line-height:1.08}
.details-sheet-header p{margin:0;color:var(--muted)}
.details-close{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;background:#edf3f5;color:var(--ink);font-size:28px;line-height:1;cursor:pointer}
.details-sheet-body{padding:2px 20px 22px;overflow-y:auto;overscroll-behavior:contain}
.details-sheet-footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.details-sheet-footer .phone-display,.details-sheet-footer .whatsapp-button{margin:0}
@keyframes vavSheetIn{from{transform:translateY(24px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(max-width:560px){
  .public-page .summary-row{display:grid;grid-template-columns:1fr;gap:5px}
  .public-page .location{text-align:left;font-size:13px}
  .public-page .vacancy-summary{padding:15px 16px 17px;gap:10px}
  .public-page .media-area{height:59svh;min-height:340px}
  .public-page .counter{right:10px;bottom:10px}
  .details-sheet{max-height:92svh;border-radius:22px 22px 0 0}
  .details-sheet-header{padding:18px 16px 13px}
  .details-sheet-body{padding:2px 16px 20px}
  .details-sheet-footer{padding-left:16px;padding-right:16px}
}


/* Vista a Vista v3: experiencia de video 9:16 */
.public-page .video-caption{
  display:none!important;
}

/*
  Los formatos de video usan su proporción real 9:16.
  La tarjeta puede crecer más que la pantalla para que el video no tenga
  franjas negras ni se recorte; el usuario baja dentro del feed para ver
  la información y los botones.
*/
.public-page .vacancy-card.format-2,
.public-page .vacancy-card.format-3{
  max-height:none;
  overflow:hidden;
}

.public-page .vacancy-card.format-2 .media-area,
.public-page .vacancy-card.format-3 .media-area{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:9 / 16;
  background:#000;
}

.public-page .vacancy-card.format-2 .media-area video,
.public-page .vacancy-card.format-3 .media-area video{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#000;
}

/* El título queda únicamente debajo del video. */
.public-page .vacancy-card.format-2 .vacancy-summary,
.public-page .vacancy-card.format-3 .vacancy-summary{
  position:relative;
  z-index:2;
  background:#fff;
}

/* Evita que el contador tape los botones inferiores en móvil. */
@media(max-width:560px){
  .public-page .vacancy-card.format-2,
  .public-page .vacancy-card.format-3{
    min-height:0;
  }

  .public-page .vacancy-card.format-2 .media-area,
  .public-page .vacancy-card.format-3 .media-area{
    height:auto;
    min-height:0;
  }

  .public-page .vacancy-card.format-2 .summary-title h2,
  .public-page .vacancy-card.format-3 .summary-title h2{
    font-size:24px;
    line-height:1.08;
  }
}
