@charset "UTF-8";

/* Identidad aprobada: nogal, miel y carbón. Capa final compartida. */
:root {
  --cream: #f8f0e4;
  --paper: #fffaf1;
  --ink: #29231e;
  --muted: #665242;
  --gold: #825025;
  --gold-light: #e7bd7f;
  --line: #d4bea0;
  --dark: #292521;
  --terracotta: #825025;
  --terracotta-hover: #57351f;
  --wood: #754927;
  --wood-deep: #52341f;
  --honey: #bc7c3b;
  --parchment: #efe2ce;
  --photo-mat: #e5d6bf;
  --wood-button: linear-gradient(145deg, #80512d, #604023 65%, #52341f);
}

body { background: var(--cream); color: var(--ink); }
::selection { background: #e7bd7f; color: #29231e; }
h1, h2, h3 { color: inherit; }
h1 em, h2 em, .title-period, .brand-dot { color: var(--terracotta); }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, summary:focus-visible, textarea:focus-visible {
  outline: 3px solid #9b642d;
  outline-offset: 5px;
}

/* La imagen aprobada es cuadrada: se muestra completa, sin el recorte antiguo. */
.logo-window {
  width: 88px;
  background: var(--dark);
  border: 1px solid #8c6846;
  box-shadow: 0 3px 12px #120f0c26;
}
.logo-window > img.logo-sima-madera {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}
.brand-lockup { gap: 14px; }
.brand-lockup .brand-words { gap: 7px; }
.brand-lockup .brand-small { color: #ecd7b9; letter-spacing: 2.6px; }
.brand-lockup .brand-name { color: var(--gold-light); letter-spacing: 3.5px; }
.site-header {
  background: var(--dark);
  color: var(--paper);
  border-bottom: 1px solid #805d3d;
  box-shadow: 0 3px 16px #211b1312;
}
.site-header .brand { color: var(--paper); }
.site-header #navigation a { color: #f7ecd9; }
.site-header #navigation a:hover,
.site-header #navigation a[aria-current="page"],
.site-header .nav-contact span { color: var(--gold-light); }
.site-header .nav-contact { border-color: #806345; }
.menu-toggle { color: var(--paper); }
.menu-toggle i, .menu-toggle i::after { background: var(--gold-light); }
.site-header a:focus-visible, .site-header button:focus-visible,
.site-footer a:focus-visible { outline-color: var(--gold-light); }

.header-line-choice, .home-quick-choices a {
  color: var(--paper);
  background: var(--wood-button);
  border-color: #ab7a49;
  box-shadow: inset 0 1px 0 #e7bd7f40, 0 3px 8px #17110c21;
}
.header-line-choice:hover, .home-quick-choices a:hover {
  background: var(--wood-deep);
  color: var(--paper);
  border-color: var(--gold-light);
}
.header-line-choice[aria-current="page"] {
  background: var(--paper);
  color: var(--dark);
  border-color: var(--gold-light);
  box-shadow: inset 0 0 0 1px #d4bea0;
}

/* Un emblema destacado sobre la portada, con el mismo marco de nogal. */
.home-intro {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: clamp(32px, 4.5vw, 75px);
}
.home-logo-panel {
  padding: 0;
  background: var(--dark);
  border: 1px solid #8f6943;
  box-shadow: 0 14px 38px #34251b1c;
}
.home-logo-panel > .home-logo { width: 100%; border: 0; box-shadow: none; }
.home-logo-panel > span { padding: 15px 20px 18px; color: var(--gold-light); }
.home-path-card { background: var(--paper); border-color: var(--line); box-shadow: 0 5px 18px #34251b08; }
.home-path-card:hover { border-color: var(--honey); }
.home-path-photo { background: var(--photo-mat); }
.home-family, .story-section, .site-footer, .story-closing,
.legado-video-panel { background: var(--dark); color: var(--paper); }
.home-family p:not(.eyebrow),
.story-copy > p:not(.eyebrow):not(.story-large),
.site-footer > p, .site-footer > div,
.legado-video-copy > p:not(.eyebrow),
.legado-video-panel figcaption { color: #ead9c1; }
.home-family h2 em, .story-copy h2 em,
.story-closing .eyebrow, .legado-video-copy .eyebrow { color: var(--gold-light); }
.home-family .story-link, .story-closing .story-link,
.legado-video-copy > a { color: var(--paper); border-color: var(--gold-light); }
.site-footer > small { color: #d9c6ac; border-color: #73604a; }
.site-footer .logo-window { width: 100px; }

/* Relieve discreto en las acciones; letras planas para una lectura clara. */
.button-dark, .button-gold {
  color: var(--paper);
  background: var(--wood-button);
  border: 1px solid #916039;
  box-shadow: inset 0 1px 0 #efd2ac55, 0 3px 9px #3c291519;
}
.button-dark:hover, .button-gold:hover { background: var(--wood-deep); border-color: var(--wood-deep); }
.button-outline { background: transparent; color: var(--wood-deep); border-color: #92633d; }
.button-outline:hover { color: var(--ink); background: var(--parchment); border-color: var(--wood); }
.text-link, .home-story-link, .story-link { border-color: #92633d; }
.text-link:hover, .home-story-link:hover, .story-link:hover { color: var(--terracotta-hover); }
.home-family .story-link:hover, .story-closing .story-link:hover { color: var(--gold-light); }
.purpose-tags span { background: var(--parchment); border-color: var(--line); color: var(--wood-deep); }

.line-hero { background: linear-gradient(125deg, var(--paper), var(--cream)); }
.line-hero-photo,
.line-hero-photo.garoto-photo-profesional,
#garoto .animal-photo.garoto-photo-profesional,
body[data-page="caballos"] #novedoso .animal-photo.novedoso-photo-profesional,
body[data-page="caballos"] #novedoso-dialog .dialog-layout > img,
.line-photo-grid .gallery-item img,
.legado-photo button { background: var(--photo-mat); }
.donkey-section, .felina-section, .sire-reference,
.contact-section, .line-contact { background: var(--parchment); }
.motion-section, .lab-section, .story-invitation { background: #f1e8da; }
.legado-section { background: var(--paper); }
.story-hero-photo, .pega-story-photos figure,
.story-pedigree { background: var(--parchment); border-color: var(--line); }
.pega-story-photos img { background: var(--photo-mat); }
.story-part-links a:hover { background: var(--parchment); border-color: var(--wood); }
.story-monogram { border-color: var(--honey); }
.story-monogram::before, .story-monogram::after { background: var(--dark); }
.contact-copy > p:not(.eyebrow):not(.contact-location) { color: var(--muted); }
.specialist-contacts, .felina-project, .lab-note,
.lab-table th, .lab-table td, .lab-table thead th,
.sima-genealogy-branches > div { border-color: #b99b78; }
.sima-genealogy-branches > div { border-left-color: var(--honey); }

/* Redes reconocibles, integradas en la misma paleta del criadero. */
a.social-network-link.whatsapp-link {
  background: var(--wood-button);
  border-color: #916039;
  color: var(--paper);
  box-shadow: inset 0 1px 0 #efd2ac40;
}
a.social-network-link.whatsapp-link .social-icon { color: #d9efcb; }
a.social-network-link.whatsapp-link:hover {
  color: var(--paper);
  background: var(--wood-deep);
  border-color: var(--wood-deep);
}
a.social-network-link.instagram-link {
  background: var(--paper);
  color: var(--wood-deep);
  border-color: #b99b78;
}
a.social-network-link.instagram-link .social-icon { color: var(--terracotta); }
a.social-network-link.instagram-link:hover {
  color: var(--ink);
  background: var(--parchment);
  border-color: var(--wood);
}

.field input, .field select, #message-text {
  color: var(--ink);
  background: var(--paper);
  border-color: #ac8c67;
}
.field input::placeholder { color: var(--muted); opacity: 1; }
.contact-panel { box-shadow: 0 7px 23px #34251b0c; border: 1px solid var(--line); }
.dialog-close { color: var(--ink); border-color: #ac8c67; }
.animal-dialog::backdrop, .lightbox::backdrop, .crias-dialog::backdrop { background: #211c17e8; }
.crias-dialog { border-color: #916e47; }
.cria-preview, .crias-player, .motion-grid video,
.lab-grid video, .legado-video-panel video { background: #201c18; }
.cria-play, .cria-photo-action { border-color: #c7a47a; }
.cria-dialog-genealogy .cria-card-genealogy { border-color: #8e724f; }
.crias-dialog-footer p,
.cria-dialog-genealogy .cria-genetic-note { color: #ead9c1; }

@media (min-width: 801px) {
  .site-header { padding-block: 13px; column-gap: clamp(16px, 2vw, 36px); }
  .header-line-choices { gap: 10px; }
  .header-line-choice { font-size: 15px; padding-inline: 12px; }
}
@media (max-width: 1100px) {
  .site-header #navigation { top: 100%; background: var(--dark); border-bottom: 1px solid #805d3d; box-shadow: 0 12px 22px #211b1326; }
  .site-header #navigation a { border-bottom-color: #68543e; }
  .logo-window { width: 78px; }
}
@media (max-width: 800px) {
  .home-intro { grid-template-columns: minmax(0, 1.1fr) minmax(240px, .9fr); gap: 28px; }
  .site-header { height: 104px; }
}
@media (max-width: 600px) {
  .site-header { height: 98px; }
  .logo-window { width: 76px; }
  .brand-lockup { gap: 12px; }
  .brand-lockup .brand-small { font-size: 10px; letter-spacing: 2px; }
  .brand-lockup .brand-name { font-size: 29px; letter-spacing: 3px; }
  .home-intro { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .home-logo-panel { width: min(100%, 350px); padding: 0; }
  .home-logo { width: 100%; }
  .home-logo-panel > span { font-size: 12px; padding-top: 12px; }
  .site-footer .logo-window { width: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .home-path-card { transition: none; }
}
