/*
Theme Name: David Reinoso — Norte
Author: David Reinoso
Description: Un escenario digital para David Reinoso. Música, historia, galería, shows y contrataciones, con administración propia y diseño adaptable.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: david-reinoso
Tags: entertainment, one-column, custom-colors, featured-images, full-width-template
*/
:root{--bg:#111211;--panel:#1a1b19;--paper:#f2efe8;--muted:#b4b5ac;--accent:#eda778;--line:#ffffff24;--ink:#182019;--max:1240px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img,video{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}h2{font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;letter-spacing:-.045em;margin-bottom:24px}h3{font-weight:500}p{color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.section{padding:112px 0}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:600;margin-bottom:25px;color:var(--accent)}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;z-index:1000;top:8px;left:8px;width:auto;height:auto;padding:12px;margin:0;clip:auto;background:var(--accent);color:var(--bg)}.site-header{position:sticky;top:0;z-index:20;background:#111211f5;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.admin-bar .site-header{top:32px}.header-inner{min-height:94px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:21px;font-weight:800;line-height:.95;letter-spacing:.03em}.brand>span{display:block}.brand-dot{color:var(--accent)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:.875rem;color:#d8d8cf}nav a:hover,.text-link:hover,.social-links a:hover{color:var(--accent)}.nav-contact{border:1px solid #ffffff55;padding:10px 20px;color:var(--paper)}.nav-contact span{margin-left:25px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 14px}.hero{position:relative;min-height:760px;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:50% 30%;z-index:-3;filter:saturate(.65)}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111211 2%,#111211f2 25%,#11121188 50%,#11121112 78%),linear-gradient(0deg,#111211 0%,transparent 26%)}.hero-inner{padding-top:86px;position:relative;min-height:760px;padding-bottom:100px}.hero .eyebrow{display:flex;align-items:center;gap:14px}.small-line{width:30px;height:1px;background:var(--accent)}.artist-name{font-size:14px;letter-spacing:.3em;color:var(--paper);margin-bottom:24px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.8rem,6.7vw,6.6rem);font-weight:400;line-height:1.03;letter-spacing:-.055em;max-width:830px;margin:0 0 28px;text-wrap:balance}.hero-description{max-width:410px;font-size:1.05rem;color:#d0d0c8;margin-bottom:34px}.actions{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:16px;justify-content:center;align-items:center;padding:15px 23px;border:1px solid transparent;font-size:.9rem;font-weight:600;line-height:1.5;min-height:52px;transition:background .2s,color .2s}.button.primary{background:var(--accent);color:#171a16}.button.primary:hover{background:#ffd0ad}.text-link{font-size:.9rem;border-bottom:1px solid #ffffff50;padding-bottom:5px}.text-link span{margin-left:10px}.hero-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.16em;color:#d3d4c9}.hero-bottom a{letter-spacing:0}.hero-bottom a span{margin-left:20px;color:var(--accent)}.genres{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:clamp(20px,4vw,70px);padding:22px 30px;color:#d3d3c7;text-transform:uppercase;font-size:.9rem;letter-spacing:.16em}.genres b{color:var(--accent);font-size:25px;line-height:1}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:.95rem;margin-bottom:4px}.music-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.record-art{aspect-ratio:1;position:relative;background:#343a30;overflow:hidden}.record-art img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.65)}.record-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#131812bd,transparent 70%)}.record-label{position:absolute;left:28px;bottom:45px;font-size:clamp(2rem,4.4vw,4.4rem);font-weight:800;letter-spacing:-.065em;line-height:.9;z-index:1}.record-sub{position:absolute;bottom:18px;left:30px;font-size:.66rem;letter-spacing:.16em;z-index:1}.record-card>p{margin-top:20px;font-size:.85rem}.playlist-head{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.13em;color:var(--muted);padding:0 0 16px;border-bottom:1px solid var(--line)}.playlist{list-style:none;padding:0;margin:0;max-height:380px;overflow:auto;scrollbar-color:#696c61 transparent;scrollbar-width:thin}.track{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:18px 14px 18px 0;transition:background .2s}.track:hover,.track.is-current{background:#ffffff07}.track.is-current .track-number,.track.is-current strong{color:var(--accent)}.track-number{font-size:.8rem;color:#93958b;min-width:25px}.track-info{flex:1;min-width:0}.track-info strong{display:block;font-size:1rem;line-height:1.4;font-weight:500;overflow-wrap:anywhere}.track-info small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.track-play{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff40;border-radius:50%;font-size:10px;flex-shrink:0}.player{margin-top:25px;background:#22241f;padding:22px}.player-heading{margin-bottom:14px}.player-heading .eyebrow{display:block;font-size:.65rem;margin-bottom:5px}.player-heading strong{font-size:.9rem;font-weight:500}audio{width:100%;height:42px;display:block}.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.player-bottom button{background:none;border:0;font-size:.78rem;padding:10px 0;white-space:nowrap}.player-bottom p{font-size:.75rem;line-height:1.3;margin:0;text-align:center}.about{background:var(--paper);color:var(--ink)}.about p{color:#52594f}.about .eyebrow{color:#78502f}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-visual{position:relative}.about-visual video,.about-visual>img{width:100%;max-height:650px;aspect-ratio:4/5;object-fit:cover;background:#21281e}.visual-caption{display:block;font-size:.7rem;letter-spacing:.14em;margin-top:14px;color:#52594f}.about h2{font-size:clamp(2.4rem,3.7vw,3.5rem)}.biography p{font-size:.95rem;line-height:1.8}.location{border-top:1px solid #17201830;padding-top:20px;font-size:.85rem;margin:28px 0 0}.location span{margin-right:12px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-item{position:relative;overflow:hidden;background:var(--panel)}.gallery-item:nth-child(even){margin-top:42px}.gallery-item:nth-child(odd){margin-bottom:42px}.gallery-item img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.65);transition:transform .3s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span{display:flex;gap:12px;justify-content:space-between;padding:16px 12px;font-size:.75rem;line-height:1.4}.gallery-item b{color:var(--accent);font-size:1rem}.shows{padding-top:30px}.shows-empty{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 0;display:flex;gap:32px;align-items:center}.show-symbol{font-size:65px;line-height:1;color:var(--accent)}.shows-empty>div{flex:1}.shows-empty h3{font-size:1.6rem;margin-bottom:12px}.shows-empty p{max-width:550px;margin:0;font-size:.95rem}.button.outline{border-color:#ffffff50;font-weight:400}.button.outline:hover{background:var(--paper);color:var(--bg)}.show-row{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);padding:30px 0}.show-row time{color:var(--accent);text-transform:uppercase}.show-row>div{flex:1}.show-row h3{margin:0 0 6px;font-size:1.4rem}.show-row p{margin:0}.contact{background:#232b23}.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}.contact h2{font-size:clamp(2.5rem,4.6vw,4.5rem)}.contact h2 .serif{color:var(--accent)}.contact-grid>div>p:not(.eyebrow){font-size:.95rem}.contact-links{display:flex;align-items:start;flex-direction:column;gap:10px;margin-top:30px;font-size:.9rem;overflow-wrap:anywhere}.contact-links a{border-bottom:1px solid #ffffff40}.booking-form{border:1px solid #ffffff35;padding:32px}.booking-form h3{font-size:1.5rem;margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.8rem}input,select,textarea{display:block;width:100%;min-width:0;background:transparent;color:var(--paper);border:0;border-bottom:1px solid #ffffff45;padding:12px 0;border-radius:0;font-size:.9rem;margin:3px 0 20px}input::placeholder,textarea::placeholder{color:#c2c5ba;opacity:1}select option{background:#232b23}textarea{resize:vertical}.form-note{font-size:.75rem;line-height:1.6;margin-bottom:20px}.booking-form .button{width:100%;padding:15px 10px;font-size:.85rem}.site-footer{padding:55px 0 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center}.footer-top{padding-bottom:36px;border-bottom:1px solid var(--line)}.footer-brand{font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.065em;font-weight:800}.footer-brand span{color:var(--accent)}.social-links{display:flex;gap:25px;flex-wrap:wrap;font-size:.8rem}.footer-bottom{margin-top:22px;font-size:.72rem;color:var(--muted)}.footer-bottom p{margin:0}.modal-open{overflow:hidden}dialog{background:#171916;color:var(--paper);border:1px solid #ffffff30;width:min(1050px,94vw);max-height:94dvh;padding:20px}dialog::backdrop{background:#000e}dialog:not([open]){display:none}dialog img{max-height:72dvh;width:100%;object-fit:contain}.lightbox-toolbar,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-toolbar p{margin:0}.lightbox-controls{margin-top:10px}dialog button{background:transparent;border:1px solid #ffffff40;padding:10px 16px;font-size:.85rem}.lightbox-toolbar{margin-bottom:15px}.content-page{min-height:65vh;max-width:960px}.content-page h1{font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.045em}.content-page article{margin-bottom:60px}.entry-content a,.comments-area a{text-decoration:underline;color:var(--accent)}.entry-content img{height:auto}.entry-content iframe{max-width:100%}.entry-content:after{content:'';display:table;clear:both}.alignwide{max-width:100%}.alignleft{float:left;margin:0 24px 24px 0}.alignright{float:right;margin:0 0 24px 24px}.aligncenter{margin-inline:auto}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:.85rem}.sticky{border-left:2px solid var(--accent);padding-left:20px}.bypostauthor{border-left:2px solid var(--accent);padding-left:12px}
@media(min-width:1600px){.hero-photo{width:60%}.hero{min-height:840px}.hero-inner{min-height:840px;padding-top:110px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}nav{gap:20px}.music-layout{gap:35px}.about-grid,.contact-grid{gap:40px}.booking-form{padding:24px}.genres{gap:25px;font-size:.75rem}.hero h1{font-size:5.4rem}}
@media(max-width:900px){.header-inner{min-height:78px;flex-wrap:wrap;padding:16px 0}.js .menu-toggle{display:block}nav{width:100%;flex-wrap:wrap;padding:15px 0}.js nav{display:none}.js nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.js nav a{padding:12px 0}.js nav .nav-contact{padding:12px;margin-top:10px}.hero,.hero-inner{min-height:700px}.hero-inner{padding-top:75px}.hero h1{font-size:4.5rem}.hero-photo{width:83%;opacity:.7}.hero-shade{background:linear-gradient(90deg,#111211f5,#11121195 45%,#11121130),linear-gradient(0deg,#111211,transparent 50%)}.section{padding:80px 0}.section-heading{align-items:start}.music-layout{grid-template-columns:.85fr 1.15fr;gap:25px}.record-label{font-size:2.4rem;left:20px}.record-sub{left:20px;font-size:.6rem}.about-grid{grid-template-columns:.85fr 1.15fr;gap:30px}.about h2{font-size:2.4rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr;gap:30px}.shows-empty{flex-wrap:wrap}.shows-empty .button{margin-left:97px}.footer-bottom{flex-wrap:wrap}.shows{padding-top:0}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.admin-bar .site-header{top:46px}.brand{font-size:19px}.hero,.hero-inner{min-height:700px}.hero-inner{padding-top:64px;padding-bottom:95px}.hero h1{font-size:clamp(3.25rem,12vw,4.4rem);max-width:100%}.hero-photo{width:100%;object-position:58% center}.hero-shade{background:linear-gradient(90deg,#111211d9,#11121165),linear-gradient(0deg,#111211 1%,transparent 65%)}.hero .eyebrow{font-size:.65rem;letter-spacing:.12em}.artist-name{font-size:.75rem;letter-spacing:.24em}.hero-description{max-width:330px;font-size:.95rem}.actions{gap:20px}.hero-bottom{font-size:.6rem;letter-spacing:.1em}.genres{padding:18px 20px;gap:10px 16px;flex-wrap:wrap;font-size:.65rem;letter-spacing:.09em}.genres b{font-size:16px}.section{padding:65px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:20px;display:inline-block}.section-heading h2{font-size:2.6rem}.music-layout,.about-grid{grid-template-columns:1fr;gap:35px}.record-art{aspect-ratio:1.15}.record-label{font-size:3.5rem}.record-sub{font-size:.68rem}.playlist{max-height:350px}.playlist-head{font-size:.65rem}.track{gap:14px}.player{padding:18px}.about-visual video{aspect-ratio:1}.about-copy{order:-1}.about h2{font-size:2.5rem}.gallery-grid{gap:12px}.gallery-item:nth-child(even){margin-top:25px}.gallery-item:nth-child(odd){margin-bottom:25px}.gallery-item>span{font-size:.67rem;padding:12px 8px}.shows{padding-top:0}.shows-empty{gap:20px}.show-symbol{font-size:44px}.shows-empty>div{flex-basis:calc(100% - 65px)}.shows-empty h3{font-size:1.3rem}.shows-empty .button{margin-left:65px}.show-row{gap:15px;flex-wrap:wrap}.show-row>div{min-width:55%}.show-row>a{width:100%}.contact h2{font-size:3rem}.booking-form{padding:24px 18px}.form-grid{grid-template-columns:1fr;gap:0}.footer-top{flex-direction:column;align-items:start}.footer-bottom{align-items:start;flex-direction:column;gap:12px}.lightbox-toolbar p{font-size:.75rem}dialog{padding:12px}.lightbox-controls{font-size:.8rem}dialog button{padding:10px;font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep the portrait, shading and text in an explicit stacking order. */
.hero-photo{z-index:0;mask-image:linear-gradient(90deg,transparent,#000 32%)}.hero-shade{z-index:1;pointer-events:none}.hero-inner{z-index:2}

@media(max-width:600px){.hero-photo{object-position:35% center;mask-image:none}}
