/* ============================================================
   ADRIS — Hoja de estilos compartida
   Paleta: tinta oscura + crema + acentos vibrantes (coral / naranja / turquesa)
   Tipografía: Fraunces (display) + Plus Jakarta Sans (cuerpo) + Space Mono (etiquetas)
   ============================================================ */

:root{
  /* ---- Color (EDITAR aquí cambia todo el sitio) ---- */
  --ink:        #16161D;   /* fondo oscuro / texto principal */
  --ink-soft:   #232330;   /* fondo oscuro secundario */
  --cream:      #FFF8EC;   /* fondo claro tipo papel */
  --cream-dim:  #F3ECDC;   /* fondo claro secundario */
  --coral:      #FF4757;   /* acento primario — CTAs, énfasis */
  --tangerine:  #FFA630;   /* acento secundario — cálido */
  --turquoise:  #2EC4B6;   /* acento terciario — enlaces, etiquetas */
  --violet:     #7C3AED;   /* acento de apoyo — usar con moderación */
  --line:       rgba(22,22,29,.12);
  --line-light: rgba(255,248,236,.16);

  /* ---- Tipografía ---- */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body:    'Plus Jakarta Sans', -apple-system, sans-serif;
  --font-mono:    'Space Mono', monospace;

  --maxw: 1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}

.max{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0}
@media(max-width:720px){.section{padding:3.2rem 0}}

/* ---- Marcador / subrayado fluorescente — elemento de firma ---- */
.mark{
  background-image:linear-gradient(transparent 60%, var(--tangerine) 60%);
  background-repeat:no-repeat;
  padding:0 .12em;
}
.mark.coral{background-image:linear-gradient(transparent 60%, var(--coral) 60%)}
.mark.turq{background-image:linear-gradient(transparent 60%, var(--turquoise) 60%)}
.dark .mark{color:var(--ink)}

/* ---- Etiqueta tipo "nota al margen" ---- */
.tag{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-mono);
  font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.32rem .7rem;border-radius:3px;
  background:var(--ink);color:var(--cream);
  transform:rotate(-1.2deg);
}
.tag.coral{background:var(--coral);color:#fff}
.tag.turq{background:var(--turquoise);color:var(--ink)}
.tag.tangerine{background:var(--tangerine);color:var(--ink)}
.tag.outline{background:transparent;border:1.5px solid var(--ink);color:var(--ink)}

h1,h2,h3,h4{font-family:var(--font-display);line-height:1.05;font-weight:600}
h1{font-size:clamp(2.6rem,7vw,5rem)}
h2{font-size:clamp(1.9rem,4.2vw,3rem)}
h3{font-size:1.3rem}
.eyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--coral);display:block;margin-bottom:.6rem;
}
.section-head{margin-bottom:2.6rem;max-width:640px}
.section-head p{color:#555;margin-top:.7rem;font-size:1.02rem}
.dark .section-head p{color:rgba(255,248,236,.7)}

/* ---- Botones ---- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font-body);font-weight:700;font-size:.92rem;
  padding:.85rem 1.6rem;border-radius:100px;
  transition:transform .15s ease;
}
.btn:active{transform:scale(.97)}
.btn-coral{background:var(--coral);color:#fff}
.btn-ink{background:var(--ink);color:var(--cream)}
.btn-outline{border:1.8px solid var(--ink);color:var(--ink)}
.btn-outline.on-dark{border-color:var(--cream);color:var(--cream)}
.btn-sm{padding:.6rem 1.15rem;font-size:.8rem}

/* ============== NAV ============== */
#nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,248,236,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:1.1rem 1.5rem;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo{font-family:var(--font-display);font-weight:700;font-size:1.4rem}
.nav-logo span{color:var(--coral)}
.nav-links{display:flex;align-items:center;gap:1.9rem}
.nav-links a{
  font-size:.86rem;font-weight:600;position:relative;padding:.2rem 0;
}
.nav-links a:hover{color:var(--coral)}
.nav-links a.active{color:var(--coral)}
.nav-cta{
  background:var(--ink);color:var(--cream)!important;
  padding:.55rem 1.1rem!important;border-radius:100px;font-size:.78rem!important;
}
.nav-socials{display:flex;gap:.5rem;margin-left:.6rem}

/* ---- Insignias de redes sociales (estilo "sello") ---- */
.icon-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:8px;flex-shrink:0;
  font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.02em;
  background:var(--cream-dim);color:var(--ink);
  transition:background .2s,color .2s,transform .2s;
}
.icon-badge:hover{background:var(--coral);color:#fff;transform:translateY(-2px)}
.icon-badge svg{display:block}
footer .icon-badge{background:rgba(255,248,236,.08);color:var(--cream)}
footer .icon-badge:hover{background:var(--coral);color:#fff}
.drawer-socials .icon-badge{background:rgba(255,248,236,.1);color:var(--cream)}

.hamburger{display:none;flex-direction:column;gap:5px;width:26px;z-index:200}
.hamburger span{height:2px;background:var(--ink);border-radius:2px;transition:.25s}

@media(max-width:880px){
  .nav-links{display:none}
  .hamburger{display:flex}
}

/* ---- Drawer móvil: se despliega lateral, en vertical ---- */
.drawer-overlay{
  position:fixed;inset:0;background:rgba(22,22,29,.55);
  opacity:0;pointer-events:none;transition:opacity .3s;z-index:150;
}
.drawer-overlay.open{opacity:1;pointer-events:all}
.drawer{
  position:fixed;top:0;right:0;height:100%;width:78%;max-width:340px;
  background:var(--ink);color:var(--cream);z-index:160;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;padding:1.6rem 1.4rem;
}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.2rem}
.drawer-close{font-size:1.8rem;color:var(--cream);line-height:1}
.drawer-nav{display:flex;flex-direction:column;gap:1.1rem;flex:1}
.drawer-nav a{font-family:var(--font-display);font-size:1.5rem;font-weight:600}
.drawer-nav a.active{color:var(--tangerine)}
.drawer-sub{padding-left:1rem;display:flex;flex-direction:column;gap:.5rem;margin-top:-.4rem}
.drawer-sub a{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:rgba(255,248,236,.75)}
.drawer-socials{display:flex;gap:1rem;padding-top:1.4rem;border-top:1px solid var(--line-light)}
.drawer-socials svg{width:19px;height:19px}

/* ============== HERO ============== */
.hero{
  position:relative;background:var(--ink);color:var(--cream);
  padding:5.5rem 0 4.5rem;overflow:hidden;background-size:cover!important;background-position:center!important;
}
.hero::after{
  content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  background:radial-gradient(circle,var(--coral) 0%,transparent 70%);opacity:.35;
  pointer-events:none;
}
.hero.has-img::after{display:none}
.hero.has-img::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(22,22,29,.45),rgba(22,22,29,.88));
}
.hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:end;
}
.hero-name{margin:.6rem 0 1rem}
.hero-name em{font-style:italic;color:var(--tangerine)}
.hero-sub{font-size:1.1rem;color:rgba(255,248,236,.75);max-width:480px;margin-bottom:1.8rem}
.hero-cta-row{display:flex;gap:.8rem;flex-wrap:wrap}

.hero-release{
  background:var(--cream);color:var(--ink);border-radius:14px;
  padding:1.1rem;display:flex;gap:.9rem;align-items:center;
  position:relative;transition:transform .2s;
}
.hero-release:hover{transform:translateY(-3px)}
.hero-release::before{ /* esquina doblada — motivo de firma */
  content:"";position:absolute;top:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 22px 22px 0;
  border-color:transparent var(--cream-dim) transparent transparent;
}
.hero-release-thumb{
  width:58px;height:58px;border-radius:8px;background:var(--coral);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0;
}
.hero-release-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}
.hero-release-name{font-weight:700;font-size:1.02rem;display:block;margin-top:.15rem}

@media(max-width:780px){
  .hero-grid{grid-template-columns:1fr;gap:1.8rem}
}

/* ============== TARJETAS "cuaderno" — esquina doblada ============== */
.card{
  position:relative;background:#fff;border-radius:14px;border:1px solid var(--line);
  padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease;display:block;
}
.card::before{
  content:"";position:absolute;top:0;right:0;width:0;height:0;
  border-style:solid;border-width:0 20px 20px 0;
  border-color:transparent var(--cream-dim) transparent transparent;
  transition:border-color .2s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(22,22,29,.1)}
.card:hover::before{border-color:transparent var(--tangerine) transparent transparent}

/* ---- Grid de música ---- */
.release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:880px){.release-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.release-grid{grid-template-columns:1fr}}
.release-art{
  width:100%;aspect-ratio:1;border-radius:10px;margin-bottom:1rem;
  background:linear-gradient(135deg,var(--coral),var(--violet));
  display:flex;align-items:center;justify-content:center;font-size:2.3rem;color:#fff;
}
.release-title{font-weight:700;font-size:1.08rem;margin-bottom:.2rem}
.release-meta{font-family:var(--font-mono);font-size:.74rem;color:#777;margin-bottom:1rem}
.release-links{display:flex;gap:.6rem}
.release-cta{font-size:.78rem;font-weight:700;color:var(--coral)}
.card:hover .release-cta{text-decoration:underline}
.pill-link{
  font-size:.74rem;font-weight:700;padding:.4rem .8rem;border-radius:100px;
  background:var(--cream-dim);
}
.pill-link:hover{background:var(--ink);color:var(--cream)}

/* ---- Conciertos ---- */
.show-row{
  display:grid;grid-template-columns:64px 1fr auto;gap:1.2rem;align-items:center;
  padding:1.3rem 0;border-bottom:1px solid var(--line);
}
.show-date{text-align:center}
.show-day{font-family:var(--font-display);font-size:1.9rem;font-weight:700;color:var(--coral);line-height:1}
.show-month{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;color:#777}
.show-venue{font-weight:700;font-size:1.05rem}
.show-city{font-size:.86rem;color:#666;margin-top:.15rem;display:flex;align-items:center;gap:.5rem}
.empty-note{
  font-family:var(--font-mono);font-size:.85rem;color:#777;
  padding:2.2rem 0;text-align:center;border:1px dashed var(--line);border-radius:12px;
}

/* ---- Tienda ---- */
.store-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:720px){.store-hero-grid{grid-template-columns:1fr}}
.store-cat{
  border-radius:18px;padding:2.6rem 2rem;color:#fff;position:relative;overflow:hidden;
  min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;
  transition:transform .2s;
}
.store-cat:hover{transform:translateY(-4px)}
.store-cat.digital{background:linear-gradient(135deg,var(--coral),#b8222f)}
.store-cat.fisico{background:linear-gradient(135deg,var(--turquoise),#1a8f84)}
/* Con foto de fondo: la foto va detrás, el degradado de color queda como capa
   semitransparente encima (opacidad) para mantener la identidad de color y
   la legibilidad del texto blanco */
.store-cat.has-img{background-size:cover;background-position:center}
.store-cat.has-img::before{
  content:"";position:absolute;inset:0;z-index:0;
}
.store-cat.digital.has-img::before{background:linear-gradient(135deg,rgba(255,71,87,.68),rgba(184,34,47,.82))}
.store-cat.fisico.has-img::before{background:linear-gradient(135deg,rgba(46,196,182,.68),rgba(26,143,132,.82))}
.store-cat > *{position:relative;z-index:1}
.store-cat h3{font-size:1.7rem;color:#fff;margin-bottom:.4rem}
.store-cat p{color:rgba(255,255,255,.85);font-size:.92rem;max-width:320px}

.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:880px){.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.products-grid{grid-template-columns:1fr}}
.product-img{
  width:100%;aspect-ratio:1;border-radius:10px;margin-bottom:1rem;
  background:var(--cream-dim);display:flex;align-items:center;justify-content:center;font-size:2.4rem;
  background-size:cover;background-position:center;
}
/* Portadas en formato A4 vertical (tienda digital: partituras, guías…)
   La imagen se muestra COMPLETA (contain), sin recortes */
.product-img.a4{
  aspect-ratio:210/297;
  background-size:contain;background-repeat:no-repeat;background-position:center;
}

/* ---- Controles añadir/eliminar del panel de administrador ---- */
.cms-add-btn{
  width:100%;margin-top:1.2rem;padding:1rem;border:2px dashed var(--turquoise);
  border-radius:14px;color:var(--turquoise);font-weight:800;font-size:.9rem;
  font-family:var(--font-body);background:rgba(46,196,182,.06);
}
.cms-add-btn:hover{background:rgba(46,196,182,.14)}
.cms-del-btn{
  position:absolute;top:.6rem;left:.6rem;z-index:5;
  background:rgba(22,22,29,.85);color:#fff;border-radius:100px;
  padding:.35rem .75rem;font-size:.7rem;font-weight:700;font-family:var(--font-body);
}
.cms-del-btn:hover{background:var(--coral)}
.show-row{position:relative}
.show-row .cms-del-btn{position:static;margin-left:.6rem}
.cms-list-tools{display:flex;gap:.6rem;align-items:center}

/* ============== PANEL LATERAL DE ADMINISTRACIÓN ============== */
#ap{
  position:fixed;top:0;right:0;height:100%;width:min(400px,94vw);z-index:700;
  background:#111114;color:#ccc;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;font-family:var(--font-body);
  box-shadow:-12px 0 40px rgba(0,0,0,.4);
}
body.panel-open #ap{transform:translateX(0)}
.ap-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.1rem;border-bottom:1px solid #222;
}
.ap-head b{font-size:.85rem;color:#fff}
.ap-close{color:#888;font-size:1.5rem;line-height:1}
.ap-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #222;flex-shrink:0}
.ap-tab{
  padding:.7rem .85rem;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:#666;white-space:nowrap;font-weight:700;border-bottom:2px solid transparent;
}
.ap-tab.on{color:var(--tangerine);border-bottom-color:var(--tangerine)}
.ap-body{flex:1;overflow-y:auto;padding:1rem 1.1rem 3rem}
.asec{
  font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--turquoise);
  font-weight:800;margin:.4rem 0 .7rem;
}
.adiv{height:1px;background:#222;margin:1.2rem 0}
.af{margin-bottom:.7rem}
.al{display:block;font-size:.62rem;color:#777;margin-bottom:.25rem;font-weight:600}
.ai,.at{
  width:100%;background:#1a1a1e;border:1px solid #2a2a30;border-radius:6px;
  color:#eee;padding:.5rem .6rem;font-size:.78rem;font-family:inherit;
}
.ai:focus,.at:focus{outline:none;border-color:var(--tangerine)}
.at{min-height:64px;resize:vertical}
.a2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cbrow{display:flex;align-items:center;gap:.45rem;font-size:.68rem;color:#999;margin:.4rem 0}
.acard{background:#17171b;border:1px solid #26262c;border-radius:8px;margin-bottom:.55rem;overflow:hidden}
.acard-hdr{display:flex;align-items:center;gap:.45rem;padding:.6rem .7rem}
.acard-title{flex:1;font-size:.74rem;color:#ddd;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acard-btns{display:flex;gap:.3rem;flex-shrink:0}
.ab{padding:.3rem .5rem;border-radius:5px;font-size:.62rem;font-weight:800;background:#26262c;color:#aaa}
.ab:hover{background:#333}
.ab.mv:disabled{opacity:.25}
.ab.del:hover{background:var(--coral);color:#fff}
.ab.edit{background:rgba(255,166,48,.14);color:var(--tangerine)}
.acard-form{display:none;padding:.7rem;border-top:1px solid #26262c}
.acard-form.open{display:block}
.ap-add{
  width:100%;padding:.7rem;border:1.5px dashed #3a3a42;border-radius:8px;
  color:var(--turquoise);font-weight:800;font-size:.72rem;margin-top:.3rem;
}
.ap-add:hover{border-color:var(--turquoise);background:rgba(46,196,182,.06)}
.ap-note{font-size:.63rem;color:#555;line-height:1.6;margin-bottom:.8rem}
.ap-note a{color:var(--tangerine)}
.ap-note.ok{color:#4ade80;background:#14201a;border:1px solid #21402e;border-radius:6px;padding:.6rem}
/* Widget de imagen del panel */
.img-box{
  position:relative;border:1.5px dashed #3a3a42;border-radius:8px;overflow:hidden;cursor:pointer;
  min-height:64px;display:flex;align-items:center;justify-content:center;background:#1a1a1e;
}
.img-box img{width:100%;display:block;max-height:180px;object-fit:contain;background:#0c0c0e}
.img-box .img-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.66rem;color:#666}
.img-box.has .img-ph{display:none}
.img-acts{position:absolute;bottom:.4rem;right:.4rem;display:flex;gap:.3rem}
.img-btn{background:rgba(0,0,0,.75);color:#fff;padding:.28rem .55rem;border-radius:5px;font-size:.6rem;font-weight:700}
.img-btn.del:hover{background:var(--coral)}

.product-name{font-weight:700;margin-bottom:.3rem}
.product-desc{font-size:.85rem;color:#666;margin-bottom:1rem}
.product-foot{display:flex;justify-content:space-between;align-items:center}
.product-price{font-family:var(--font-mono);font-weight:700;font-size:1.05rem}

/* ---- Comunidad / Newsletter ---- */
.nl-box{
  background:var(--ink);color:var(--cream);border-radius:20px;
  padding:3rem 2.2rem;text-align:center;position:relative;overflow:hidden;
}
.nl-box::before{
  content:"";position:absolute;left:-80px;bottom:-80px;width:260px;height:260px;
  background:radial-gradient(circle,var(--turquoise),transparent 70%);opacity:.4;
  pointer-events:none;
}
.nl-form{display:flex;gap:.6rem;max-width:430px;margin:1.6rem auto 0;position:relative;z-index:2}
.nl-form input{
  flex:1;padding:.85rem 1.1rem;border-radius:100px;border:none;font-family:inherit;font-size:.92rem;
}
.nl-note{font-size:.74rem;color:rgba(255,248,236,.55);margin-top:.8rem}
@media(max-width:520px){.nl-form{flex-direction:column}}

/* ---- Bio / Sobre mí ---- */
.bio-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
@media(max-width:780px){.bio-grid{grid-template-columns:1fr}}
.bio-photo{aspect-ratio:4/5;border-radius:18px;background:linear-gradient(160deg,var(--tangerine),var(--coral));display:flex;align-items:center;justify-content:center;font-size:4rem;color:#fff;font-family:var(--font-display)}
.bio-text p{margin-bottom:1.1rem;font-size:1.04rem;color:#333}
.stats-row{display:flex;gap:2.2rem;margin-top:1.8rem;flex-wrap:wrap}
.stat-num{font-family:var(--font-display);font-size:2rem;color:var(--coral)}
.stat-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;color:#777}

/* ---- Contacto ---- */
.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
@media(max-width:720px){.contact-grid{grid-template-columns:1fr}}
.contact-block{padding:1.6rem;border-radius:14px;background:var(--cream-dim)}
.contact-block h3{margin-bottom:.5rem}
.contact-block a,.contact-block p{font-size:.92rem;color:#444}
.contact-block a{color:var(--coral);font-weight:600}

/* ============== FOOTER ============== */
footer{background:var(--ink);color:rgba(255,248,236,.75);padding:3.6rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.4rem;margin-bottom:2.4rem}
@media(max-width:720px){.footer-grid{grid-template-columns:1fr;gap:1.8rem}}
.footer-logo{font-family:var(--font-display);font-size:1.5rem;color:var(--cream);margin-bottom:.7rem}
footer h4{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tangerine);margin-bottom:.9rem}
.footer-links{display:flex;flex-direction:column;gap:.6rem}
.footer-links a:hover{color:var(--cream)}
.footer-socials{display:flex;gap:.9rem;margin-top:.3rem}
.footer-socials svg{width:18px;height:18px}
.footer-socials a:hover{color:var(--coral)}
.footer-bottom{
  border-top:1px solid var(--line-light);padding-top:1.4rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;
  font-size:.78rem;color:rgba(255,248,236,.5);
}

/* ---- Scroll reveal ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion: reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}

/* ============== ADMIN / CMS (sin backend, todo en localStorage) ============== */
#cms-bar{
  position:fixed;top:0;left:0;right:0;z-index:500;
  background:var(--ink);color:var(--cream);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;
  padding:.6rem 1.2rem;font-family:var(--font-mono);font-size:.78rem;
}
#cms-bar span{color:var(--turquoise)}
.cms-bar-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.cms-bar-actions button{
  background:rgba(255,248,236,.1);color:var(--cream);
  padding:.4rem .8rem;border-radius:100px;font-size:.72rem;font-family:var(--font-body);font-weight:700;
}
.cms-bar-actions button:hover{background:var(--coral)}
body.cms-on{padding-top:46px}
body.cms-on #nav{top:46px}

.cms-editable{outline:1px dashed transparent;border-radius:4px}
body.cms-on .cms-editable:hover{outline-color:var(--turquoise)}
body.cms-on .cms-editable:focus{outline:2px solid var(--coral);outline-offset:2px}

body.cms-on .cms-editable-link{outline:1px dashed transparent;border-radius:4px}
body.cms-on .cms-editable-link:hover{outline-color:var(--tangerine);cursor:pointer}

.cms-img-zone{position:relative;background-size:cover!important;background-position:center!important}
body.cms-on .cms-img-zone{cursor:pointer}
.cms-img-overlay{
  position:absolute;inset:0;display:none;align-items:center;justify-content:center;
  background:rgba(22,22,29,.65);color:#fff;font-size:.74rem;font-weight:700;border-radius:inherit;
  font-family:var(--font-body);text-align:center;padding:.5rem;z-index:2;
}
body.cms-on .cms-img-zone:hover .cms-img-overlay{display:flex}
.has-img .img-fallback{display:none}
.cms-img-zone.has-img .img-fallback{display:none}

.cms-bg-btn{
  position:absolute;top:1rem;right:1rem;z-index:50;
  background:rgba(22,22,29,.78);color:#fff;border:1px solid rgba(255,248,236,.3);
  padding:.5rem .9rem;border-radius:100px;font-size:.74rem;font-weight:700;
  font-family:var(--font-body);display:none;
}
body.cms-on [data-bg]{position:relative}
body.cms-on [data-bg] .cms-bg-btn{display:inline-flex}
body.cms-on [data-bg] .cms-bg-btn:hover{background:var(--coral)}

#cms-toast{
  position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--ink);color:var(--cream);padding:.7rem 1.3rem;border-radius:100px;
  font-size:.82rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:600;
  max-width:88vw;text-align:center;
}
#cms-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:720px){
  #cms-bar{padding:.55rem 1rem}
  body.cms-on{padding-top:74px}
  body.cms-on #nav{top:74px}
}
