/* ============================================================
   AnkaraMart · cuadrícula de bloques + portada pública
   ============================================================ */
:root{
  --am-brand:#e8590c;--am-brand-dark:#c2410c;--am-ink:#14142b;--am-muted:#5b6078;
  --am-grad:linear-gradient(135deg,#7e22ce 0%,#4338ca 55%,#1d4ed8 100%);
  --am-gap:2px;
}

/* ---------- Cuadrícula (compartida con el panel de compra) ---------- */
.am-grid-wrap{overflow-x:auto;overflow-y:visible;max-width:100%;padding:8px;background:#fff;border:1px solid rgba(20,20,43,.08);border-radius:16px;box-shadow:0 10px 30px rgba(20,20,43,.06);-webkit-overflow-scrolling:touch}
.am-grid{display:grid;grid-template-columns:repeat(var(--cols),var(--cell));gap:var(--am-gap);width:max-content;margin:0 auto;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}
.am-cell{display:block;width:var(--cell);height:var(--cell);padding:0;border:0;border-radius:3px;background:#eceff5;background-size:cover;background-position:center;box-sizing:border-box;transition:transform .12s ease,background-color .12s ease,box-shadow .12s ease}
.am-free{cursor:pointer}
.am-free:hover,.am-free:focus-visible{background:#ffd8a8;transform:scale(1.35);position:relative;z-index:2;box-shadow:0 4px 10px rgba(232,89,12,.35);outline:none}
.am-sel{background:var(--am-brand)!important;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--am-brand-dark);position:relative;z-index:1}
.am-reserved{background:repeating-linear-gradient(45deg,#dfe3ea,#dfe3ea 3px,#f6f7fa 3px,#f6f7fa 6px);cursor:not-allowed}
.am-taken{background-color:#2b2d42}
a.am-taken{cursor:pointer}
a.am-taken:hover,a.am-taken:focus-visible{transform:scale(1.6);position:relative;z-index:3;box-shadow:0 8px 18px rgba(20,20,43,.45);outline:2px solid #fff}
.am-mine{outline:2px solid #2f9e44;outline-offset:-2px}

.am-side{position:sticky;top:12px}
.am-legend li{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.am-legend .am-cell{flex:0 0 18px;width:18px;height:18px}
.am-thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;display:block}

/* Barra de zoom */
.am-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}
.am-toolbar .am-zoom{display:inline-flex;border:1px solid rgba(20,20,43,.12);border-radius:999px;overflow:hidden;background:#fff}
.am-toolbar .am-zoom button{border:0;background:transparent;padding:.35rem .8rem;font-weight:600;color:var(--am-ink);min-width:44px;min-height:38px}
.am-toolbar .am-zoom button:hover{background:#f3f4f9}
.am-toolbar .am-zoom button+button{border-left:1px solid rgba(20,20,43,.08)}
.am-hint{font-size:.85rem;color:var(--am-muted)}
.am-leg-inline{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--am-muted);margin-left:auto}
.am-leg-inline span{display:inline-flex;align-items:center;gap:.4rem}
.am-leg-inline i{display:inline-block;width:14px;height:14px;border-radius:3px}

/* Tooltip / hoja inferior */
.am-tip{position:fixed;z-index:1080;max-width:260px;background:#14142b;color:#fff;border-radius:12px;padding:.55rem .75rem;font-size:.85rem;line-height:1.3;box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.am-tip.show{opacity:1;transform:none}
.am-tip img{width:44px;height:44px;border-radius:8px;object-fit:cover;float:left;margin-right:.6rem}
.am-tip small{display:block;color:#b8bcd6}
.am-tip.am-sheet{left:0!important;right:0;top:auto!important;bottom:0;max-width:none;border-radius:18px 18px 0 0;padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));pointer-events:auto;font-size:1rem}
.am-tip.am-sheet .btn{margin-top:.7rem;width:100%}

/* ---------- Portada pública ---------- */
.am-public{background:#f6f7fb;color:var(--am-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.am-nav{background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgba(20,20,43,.06)}
.am-logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;color:var(--am-brand);text-decoration:none;font-size:1.15rem}
.am-logo b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--am-brand);color:#fff;font-size:.95rem;letter-spacing:.02em}
.btn-am{background:var(--am-brand);border-color:var(--am-brand);color:#fff;font-weight:700;border-radius:999px;padding:.7rem 1.4rem;box-shadow:0 8px 20px rgba(232,89,12,.35)}
.btn-am:hover,.btn-am:focus{background:var(--am-brand-dark);border-color:var(--am-brand-dark);color:#fff}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff;border-radius:999px;font-weight:600;padding:.7rem 1.4rem}
.btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff}

.am-hero{position:relative;overflow:hidden;background:var(--am-grad);color:#fff;border-radius:0 0 32px 32px;padding:3rem 0 3.5rem}
.am-hero::before,.am-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.am-hero::before{width:520px;height:520px;right:-140px;top:-200px;background:rgba(255,255,255,.08)}
.am-hero::after{width:320px;height:320px;left:-100px;bottom:-160px;background:rgba(232,89,12,.28)}
.am-hero .container{position:relative;z-index:1}
.am-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.35rem .9rem;font-size:.85rem;font-weight:600}
.am-badge i{width:8px;height:8px;border-radius:50%;background:#51cf66;box-shadow:0 0 0 0 rgba(81,207,102,.7);animation:am-pulse 1.8s infinite}
@keyframes am-pulse{70%{box-shadow:0 0 0 10px rgba(81,207,102,0)}100%{box-shadow:0 0 0 0 rgba(81,207,102,0)}}
.am-hero h1{font-weight:800;letter-spacing:-.02em;line-height:1.05;font-size:clamp(2.1rem,5.5vw,3.8rem);margin:1rem 0}
.am-hero h1 em{font-style:normal;background:linear-gradient(90deg,#ffd43b,#ff922b);-webkit-background-clip:text;background-clip:text;color:transparent}
.am-hero .lead{color:rgba(255,255,255,.88);max-width:34rem;font-size:clamp(1rem,2.2vw,1.2rem)}
.am-stats{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:1.25rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.am-stats .num{font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:800;line-height:1}
.am-stats .lbl{font-size:.8rem;color:rgba(255,255,255,.75)}
.am-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.am-progress>div{height:100%;min-width:6px;border-radius:999px;background:linear-gradient(90deg,#ffd43b,#ff922b)}

.am-section{padding-top:2.5rem;padding-bottom:2.5rem}
.am-section h2{font-weight:800;letter-spacing:-.01em;font-size:clamp(1.4rem,3vw,2rem)}
.am-steps .card{border:0;border-radius:18px;box-shadow:0 8px 24px rgba(20,20,43,.06);height:100%}
.am-step-n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff1e6;color:var(--am-brand);font-weight:800;margin-bottom:.6rem}
.am-faq details{background:#fff;border-radius:14px;padding:.9rem 1.1rem;margin-bottom:.6rem;box-shadow:0 4px 14px rgba(20,20,43,.05)}
.am-faq summary{font-weight:700;cursor:pointer}
.am-faq p{margin:.6rem 0 0;color:var(--am-muted)}
.am-cta-band{background:var(--am-grad);color:#fff;border-radius:24px;padding:2rem 1.5rem;text-align:center}
.am-foot{color:var(--am-muted);font-size:.85rem;padding:1.5rem 0 5.5rem}

/* Barra de compra fija (solo móvil) */
.am-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1030;display:none;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(20,20,43,.08)}
.am-sticky-cta small{display:block;color:var(--am-muted);line-height:1.1}
.am-sticky-cta strong{font-size:1.05rem}

@media (max-width:767.98px){
  .am-sticky-cta{display:flex}
  .am-hero{padding:2rem 0 2.5rem;border-radius:0 0 24px 24px}
  .am-grid-wrap{border-radius:12px;padding:6px}
  .am-leg-inline{margin-left:0}
  /* En táctil no se agranda al pasar: el toque abre la hoja inferior */
  .am-free:hover,a.am-taken:hover{transform:none;box-shadow:none}
}
@media (prefers-reduced-motion:reduce){
  .am-cell,.am-tip{transition:none}.am-badge i{animation:none}
}

.am-nav .btn{white-space:nowrap}
@media (max-width:420px){.am-nav .btn{padding-left:.7rem!important;padding-right:.7rem!important;font-size:.8rem}.am-logo span{font-size:1rem}}
