/* The decorative fonts originally came from Elementor's generated CSS. Keep
   them owned by the theme so native headers do not depend on Elementor. */
@font-face{font-family:"DC";src:url("https://davidcabrera.eu/wp-content/uploads/2025/11/DC.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"DC Decorative";src:url("https://davidcabrera.eu/wp-content/uploads/2025/11/DC-Decorative.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}

:root{
  --dc-white:#fff;
  --dc-cream:#f4f1e8;
  --dc-gold:#d69a2d;
  --dc-gold-soft:#ffeebd;
  --dc-night:#05070a;
  --dc-panel:rgba(2,7,13,.82);
  --dc-ui:"DC","Aboreto","Cinzel",serif;
  --dc-body:"Jura",system-ui,sans-serif;
}

html,body{overflow-x:hidden}
body{background-color:var(--dc-night);color:var(--dc-cream)}
body::before{z-index:0;pointer-events:none;opacity:.14}

/* Cabecera original: logo en el centro y piano sin marco ni cambio de color. */
.dc-site-header{position:absolute;top:0;left:50%;z-index:10020;display:flex;align-items:flex-start;justify-content:space-between;width:93%;height:110px;transform:translateX(-50%);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.dc-site-header__logo{position:absolute;left:50%;top:7px;display:block;width:78px;height:78px;transform:translateX(-50%);pointer-events:auto;color:var(--dc-white);text-decoration:none}
.dc-site-header__logo img{display:block;width:100%;height:100%;object-fit:contain}.dc-site-header__logo span{display:grid;place-items:center;height:100%;font:400 21px/1 var(--dc-ui);letter-spacing:.14em}
.dc-menu-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:56px;margin:10px 0 0 auto;padding:0;border:0!important;border-radius:0!important;background:transparent!important;color:var(--dc-white)!important;font:400 12px/1 var(--dc-ui);letter-spacing:.04em;cursor:pointer;pointer-events:auto;box-shadow:none!important}
.dc-menu-trigger img{display:block;width:40px;height:40px;object-fit:contain;transition:opacity .2s ease}.dc-menu-trigger:hover img,.dc-menu-trigger:focus-visible img{transform:none;filter:none;opacity:.88}
.dc-menu-trigger:focus-visible,.dc-menu__close:focus-visible,.dc-menu__links a:focus-visible,.dc-menu__socials a:focus-visible,.dc-menu__email:focus-visible{outline:1px solid var(--dc-gold-soft);outline-offset:5px}
.dc-mobile-bar{display:none}

/* Opcional: cabecera clásica centralizada, activada con dc_theme_desktop_header_mode=classic. */
.dc-classic-nav{position:fixed;top:15px;left:50%;z-index:10021;display:flex;align-items:flex-start;justify-content:center;gap:clamp(12px,2vw,42px);width:min(900px,68vw);transform:translateX(-50%);transition:opacity .3s ease,transform .3s ease}
.dc-classic-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:52px;color:var(--dc-white);font:400 10px/1.1 var(--dc-ui);text-align:center;text-decoration:none}.dc-classic-nav img{width:28px;height:28px;object-fit:contain}.dc-classic-nav a:hover{color:var(--dc-gold-soft)}
.dc-site-header--classic .dc-menu-trigger{display:none}
body.dc-smart-header-hidden .dc-classic-nav{opacity:0;transform:translate(-50%,-130%);pointer-events:none}

/* Popup de escritorio: banda lateral de vidrio, sin recuadro alrededor del piano. */
.dc-menu{position:fixed;inset:0;z-index:10030;visibility:hidden;pointer-events:none}.dc-menu[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.dc-menu__backdrop{position:absolute;inset:0;background:rgba(1,7,17,.14);backdrop-filter:blur(12px);opacity:0;transition:opacity .36s ease}
.dc-menu__panel{position:absolute;top:0;right:0;display:flex;flex-direction:column;width:20.2vw;min-width:256px;max-width:720px;height:100%;padding:0 0 30px;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(1,7,17,.88));box-shadow:inset 0 0 10px rgba(0,0,0,.5),-18px 0 45px rgba(0,0,0,.14);transform:translateX(100%);transition:transform .36s cubic-bezier(.22,.61,.36,1);overflow:auto}
.dc-menu[aria-hidden="false"] .dc-menu__backdrop{opacity:1}.dc-menu[aria-hidden="false"] .dc-menu__panel{transform:none}
.dc-menu__top{position:relative;display:flex;align-items:flex-start;justify-content:center;min-height:198px;padding:24px 42px 0}.dc-menu__brand{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--dc-white);font:400 clamp(18px,1.25vw,34px)/1.1 var(--dc-ui);letter-spacing:.04em;text-align:center;text-decoration:none}.dc-menu__brand img{width:clamp(48px,4vw,94px);height:clamp(48px,4vw,94px);object-fit:contain}
.dc-menu__close{position:absolute;top:14px;right:18px;display:grid;place-items:center;width:25px;height:25px;padding:0;border:0;background:transparent;color:var(--dc-white);font:300 28px/1 Arial,sans-serif;cursor:pointer}
.dc-menu__rule{height:1px;margin:0 auto 22px;width:56%;background:var(--dc-gold);opacity:.6}.dc-menu__links{display:flex;flex-direction:column;width:100%}
.dc-menu__links a{display:flex;align-items:center;min-height:clamp(56px,4.35vw,125px);padding:11px 10% 11px 12%;color:var(--dc-white);font:400 clamp(16px,1.1vw,36px)/1.18 var(--dc-ui);text-decoration:none;transition:background .2s ease,color .2s ease}
.dc-menu__links a:hover,.dc-menu__links a:focus-visible{background:rgba(255,255,255,.07);color:var(--dc-gold-soft)}.dc-menu__links img{flex:0 0 clamp(26px,1.7vw,54px);width:clamp(26px,1.7vw,54px);height:clamp(26px,1.7vw,54px);margin-right:clamp(11px,.9vw,28px);object-fit:contain}.dc-menu__links span{max-width:78%}
.dc-menu__email{display:flex;align-items:center;justify-content:center;gap:10px;margin:auto 20px 20px;color:var(--dc-white);font:400 clamp(12px,.85vw,26px)/1.2 var(--dc-body);text-decoration:none}.dc-menu__email:hover{color:var(--dc-gold-soft)}.dc-email-glyph{color:var(--dc-gold);font-size:1.1em}
.dc-menu__socials{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 18px;margin:0 18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.68);font:500 10px/1 var(--dc-body);letter-spacing:.08em;text-transform:uppercase}.dc-menu__socials-label{width:100%;color:var(--dc-gold-soft);text-align:center}.dc-menu__socials a{display:inline-flex;align-items:center;gap:5px;color:var(--dc-white);font:500 clamp(10px,.65vw,18px)/1 var(--dc-body);text-decoration:none}.dc-menu__socials a:hover{color:var(--dc-gold-soft)}
.dc-social-glyph{position:relative;display:inline-block;width:17px;height:17px;color:currentColor}.dc-social-glyph--youtube{border:1.5px solid currentColor;border-radius:4px}.dc-social-glyph--youtube:after{content:"";position:absolute;top:4px;left:6px;border-width:4px 0 4px 6px;border-style:solid;border-color:transparent transparent transparent currentColor}.dc-social-glyph--instagram{border:1.5px solid currentColor;border-radius:5px}.dc-social-glyph--instagram:before{content:"";position:absolute;inset:3px;border:1.5px solid currentColor;border-radius:50%}.dc-social-glyph--instagram:after{content:"";position:absolute;top:2px;right:2px;width:3px;height:3px;border-radius:50%;background:currentColor}.dc-social-glyph--tiktok:before{content:"♪";position:absolute;inset:-4px 0 0 2px;font-size:21px;line-height:1}
body.dc-menu-is-open{overflow:hidden}

/* Cabeceras de páginas internas: símbolo de marca y título centrados. */
.dc-page-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:clamp(280px,34vw,500px);padding:120px 24px 62px;background:transparent;text-align:center}
.dc-page-hero__inner{display:flex;flex-direction:column;align-items:center;width:min(100%,900px);margin:0 auto}.dc-page-hero__symbol{display:block;width:clamp(58px,7vw,92px);height:clamp(58px,7vw,92px);margin:0 auto 18px;object-fit:contain}.dc-page-hero__eyebrow{margin:0 0 12px;color:var(--dc-gold-soft);font:400 clamp(11px,1vw,16px)/1 var(--dc-ui);letter-spacing:.38em;text-transform:uppercase}.dc-page-hero h1{margin:0;color:var(--dc-white);font:400 clamp(42px,6vw,78px)/1 var(--dc-ui);letter-spacing:.035em;text-transform:uppercase}

/* Footer integrado: hereda el fondo continuo de body y no crea otra sección visual. */
.dc-site-footer{position:relative;isolation:isolate;overflow:hidden;padding:clamp(48px,7vw,90px) clamp(24px,6vw,90px) 36px;background:transparent!important;color:var(--dc-white)}
.dc-site-footer__noise{display:none}.dc-site-footer__grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:clamp(30px,7vw,100px);align-items:center;max-width:1463px;margin:0 auto 54px}.dc-site-footer h2{margin:0 0 12px;color:var(--dc-gold-soft);font:400 20px/1.2 var(--dc-ui)}.dc-site-footer p{margin:0;color:rgba(255,255,255,.9);font:400 15px/1.55 var(--dc-body)}
.dc-site-footer__newsletter{max-width:430px}.dc-site-footer__newsletter .mailpoet_form{margin-top:24px}.dc-site-footer__newsletter input{min-height:42px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}.dc-site-footer__newsletter button{min-height:42px!important;background:var(--dc-gold-soft)!important;color:#07131f!important;border:0!important}
.dc-site-footer__identity{display:flex;flex-direction:column;align-items:center;text-align:center}.dc-site-footer__logo{width:110px;height:110px;margin-bottom:8px;object-fit:contain}.dc-site-footer__identity strong{font:400 18px/1.25 var(--dc-ui);letter-spacing:.08em}.dc-site-footer__socials{display:flex;gap:17px;margin-top:20px}.dc-site-footer__socials a,.dc-site-footer__contact a,.dc-site-footer__legal a{color:#fff;text-decoration:none}.dc-site-footer__socials a{font:400 13px/1 var(--dc-body)}.dc-site-footer__socials a:hover,.dc-site-footer__contact a:hover,.dc-site-footer__legal a:hover{color:var(--dc-gold-soft)}
.dc-site-footer__contact{display:flex;flex-direction:column;align-items:flex-end;gap:14px;font:400 15px/1.2 var(--dc-body)}.dc-site-footer__legal{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;max-width:1100px;margin:0 auto;padding:20px 0;border-top:1px solid rgba(255,255,255,.2);font:400 13px/1.3 var(--dc-body)}.dc-site-footer__copyright{text-align:center;font-size:13px!important}

@media (max-width:767px){
  .dc-site-header,.dc-classic-nav{display:none}
  .dc-mobile-bar{position:fixed;right:0;bottom:0;left:0;z-index:10020;display:grid;grid-template-columns:33.333% 33.333% 33.333%;align-items:center;width:100%;min-height:73px;padding:1px 1px calc(1px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(9,25,44,0),rgba(1,7,17,.52));backdrop-filter:blur(7px)}
  .dc-mobile-bar__item{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:var(--dc-white);text-decoration:none;cursor:pointer}.dc-mobile-bar__item img{display:block;object-fit:contain}.dc-mobile-bar__concerts,.dc-mobile-bar__menu{flex-direction:column;gap:6px;font:400 10px/1 var(--dc-ui);letter-spacing:.03em}.dc-mobile-bar .dc-menu-trigger{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;justify-self:stretch}.dc-mobile-bar__concerts img{width:30px;height:30px}.dc-mobile-bar__menu img{width:29px;height:29px}.dc-mobile-bar__home img{width:69px;height:69px;padding:5px;object-fit:contain}.dc-mobile-bar__home span{font:400 20px/1 var(--dc-ui);letter-spacing:.12em}
  /* Modal móvil original: vidrio a pantalla completa y glifos grandes en 2 columnas. */
  .dc-menu__backdrop{background:rgba(1,7,17,.7);backdrop-filter:blur(15px)}.dc-menu__panel{width:100%;min-width:0;max-width:none;height:100%;padding:22px 0 calc(92px + env(safe-area-inset-bottom));background:linear-gradient(135deg,rgba(8,24,36,.88),rgba(1,5,10,.94))}.dc-menu__top{min-height:266px;padding:22px 24px 0}.dc-menu__brand{gap:12px;font-size:clamp(25px,7vw,38px)}.dc-menu__brand img{width:94px;height:94px}.dc-menu__close{top:25px;right:24px;width:30px;height:30px;font-size:34px}.dc-menu__rule{display:none}
  .dc-menu__links{display:grid;grid-template-columns:1fr 1fr;row-gap:56px;column-gap:8px;padding:0 24px}.dc-menu__links a{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-height:128px;padding:0;color:var(--dc-white);font-size:clamp(19px,5vw,30px);line-height:1.18;text-align:center}.dc-menu__links a:hover,.dc-menu__links a:focus-visible{padding:0;background:transparent;color:var(--dc-white)}.dc-menu__links img{flex:0 0 auto;width:56px;height:56px;margin:0 0 13px}.dc-menu__links span{max-width:100%}
  .dc-page-hero{min-height:270px;padding:102px 18px 42px}.dc-page-hero__symbol{width:64px;height:64px;margin-bottom:14px}.dc-page-hero__eyebrow{font-size:10px;letter-spacing:.26em}.dc-page-hero h1{font-size:clamp(35px,11vw,52px)}
  .dc-menu__email{margin:54px 18px 0;font-size:15px}.dc-menu__socials{margin:32px 30px 0;padding-top:18px;gap:13px 19px}.dc-menu__socials a{font-size:12px}.dc-social-glyph{width:19px;height:19px}
  .dc-site-footer{padding:54px 24px calc(112px + env(safe-area-inset-bottom))}.dc-site-footer__grid{grid-template-columns:1fr;gap:44px;margin-bottom:36px}.dc-site-footer__newsletter{max-width:none;text-align:center}.dc-site-footer__identity{order:-1}.dc-site-footer__contact{align-items:center}.dc-site-footer__legal{gap:9px 15px;font-size:11px}.dc-site-footer__copyright{font-size:11px!important}
}
@media (prefers-reduced-motion:reduce){.dc-menu__backdrop,.dc-menu__panel,.dc-menu-trigger img,.dc-menu__links a,.dc-classic-nav{transition:none}}
