/*
Theme Name: Daniel Dickinson 2026
Theme URI: https://dickinsondaniel.com
Description: Tema de bloques nativo (hijo de Twenty Twenty-Five) para dickinsondaniel.com — portfolio audiovisual, dark, tipografía Manrope.
Author: Daniel Dickinson
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: dd2026
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: #e0862e; color: #0a0a0b; }

a { text-decoration: none; transition: color .25s ease, opacity .25s ease; }
a:hover { color: #e0862e; }

img, video { display: block; max-width: 100%; height: auto; }

/* ---------- Tipografía display ---------- */
h1, h2, h3, h4 { letter-spacing: -0.02em; }

.dd-display {
  font-size: clamp(3.2rem, 9vw, 7.5rem) !important;
  line-height: .95 !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: -0.03em;
}
.wp-block-column .dd-display {
  font-size: clamp(2.4rem, 5.5vw, 5rem) !important;
}
.dd-display-sm {
  font-size: clamp(2.4rem, 5.5vw, 4.5rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.dd-eyebrow {
  font-size: .78rem !important;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: #e0862e;
  font-weight: 600;
}
.dd-muted { color: #9c9c97; }

/* ---------- Header ---------- */
.dd-header {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 50;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
}
.dd-header a { color: #f4f4f2; font-size: .82rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; }
.dd-header a:hover { color: #e0862e; }
.dd-header .wp-block-site-logo img, .dd-header .dd-logo img { width: 44px; height: auto; }
.dd-header .wp-block-navigation { gap: 2.2rem; }
.dd-header .wp-block-navigation__responsive-container-open { color: #f4f4f2; }
.dd-header .wp-block-navigation__responsive-container.is-menu-open { background: #0a0a0b; color:#f4f4f2; }

/* Cuerpo de página empieza tras el header en páginas sin hero full */
.dd-pagehero { padding-top: 9rem !important; }

/* ---------- Cards de proyecto ---------- */
.dd-card { position: relative; overflow: hidden; border-radius: 6px; }
.dd-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .7s cubic-bezier(.2,.6,.2,1), opacity .4s; }
.dd-card:hover img { transform: scale(1.045); }
.dd-card figcaption { margin-top: .9rem; }

.dd-cardtitle { font-weight: 800; font-size: 1.35rem; text-transform: uppercase; letter-spacing: -0.01em; margin: 1rem 0 0.15rem !important; }
.dd-cardmeta { color: #9c9c97; font-size: .8rem; letter-spacing: .25em; text-transform: uppercase; }
.dd-cardlink a { color: inherit; }
.dd-cardlink a:hover { color: #e0862e; }

/* ---------- Logos marcas ---------- */
.dd-logos img {
  max-height: 52px; width: auto;
  filter: grayscale(1) contrast(1.05);
  opacity: .75; transition: opacity .3s, filter .3s;
}
.dd-logos img:hover { filter: none; opacity: 1; }

/* ---------- Servicios ---------- */
.dd-service { border-top: 1px solid rgba(244,244,242,.14); padding: 2.6rem 0; }
.dd-service h3 { margin: 0 0 .4rem !important; }
.dd-service .dd-num { color: #e0862e; font-weight: 800; font-size: .9rem; letter-spacing: .2em; }
.dd-lets a { font-weight: 800; font-size: clamp(1.4rem, 2.6vw, 2rem); text-transform: uppercase; border-bottom: 3px solid #e0862e; padding-bottom: .2rem; color: #f4f4f2; }
.dd-lets a:hover { color: #e0862e; }

/* ---------- Footer ---------- */
.dd-footer { border-top: 1px solid rgba(244,244,242,.12); }
.dd-footer-cta a {
  font-size: clamp(2.6rem, 7vw, 5.5rem);
  font-weight: 800; text-transform: uppercase; line-height: 1;
  color: #f4f4f2; border-bottom: 4px solid #e0862e;
}
.dd-footer-cta a:hover { color: #e0862e; }
.dd-footer small, .dd-footer .dd-small { font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: #9c9c97; }
.dd-footer h4 { font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; }

/* ---------- Media ---------- */
.wp-block-video video { border-radius: 6px; width: 100%; }
.wp-block-embed__wrapper iframe { border-radius: 6px; }
.dd-vgrid .wp-block-video video { aspect-ratio: 9/16; object-fit: cover; }
.wp-block-gallery .wp-block-image img { border-radius: 4px; }

/* ---------- Secciones claras ---------- */
.dd-light { background: #f4f4f2; color: #111; }
.dd-light h2, .dd-light h3, .dd-light p { color: #111; }
.dd-light .dd-cardmeta, .dd-light .dd-muted { color: #666; }
.dd-light a { color: #111; }
.dd-light a:hover { color: #c96f1a; }

/* Scroll sutil en hero */
.dd-scrollhint { opacity: .7; font-size: 1.6rem; }
