/*
Theme Name: LaTizes
Theme URI: https://latizes.com/
Author: LaTizes
Description: Block Theme nativo para LaTizes. Presentación, plantillas y contenido editorial; la lógica del directorio pertenece a LaTizes Core.
Version: 1.1.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: latizes
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, editor-style, featured-images
*/

:root {
  --latizes-bg: #f9f6f1;
  --latizes-fg: #2c221b;
  --latizes-card: #fcfbf7;
  --latizes-primary: #2c6d55;
  --latizes-secondary: #ede8de;
  --latizes-muted: #eeeae3;
  --latizes-muted-fg: #72645a;
  --latizes-accent: #ba4b1c;
  --latizes-border: #dad1c8;
  --latizes-radius: 6px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--latizes-bg);
  color: var(--latizes-fg);
  font-family: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: clip;
}
::selection { background: rgba(44,109,85,.22); }

h1,h2,h3,h4,h5,h6,
.wp-block-site-title,
.wp-block-post-title,
.latizes-display {
  font-family: "Fraunces", Georgia, serif;
  font-optical-sizing: auto;
}
a { text-underline-offset: .2em; }

/* Header */
.latizes-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--latizes-border);
  background: rgba(249,246,241,.95);
  backdrop-filter: blur(12px);
}
.admin-bar .latizes-header { top: 32px; }
.latizes-header-inner { min-height: 64px; }
.latizes-brand { margin: 0; line-height: 1; }
.latizes-brand a {
  color: var(--latizes-fg);
  font-family: "Fraunces", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 650;
  letter-spacing: -.03em;
  text-decoration: none;
}
.latizes-brand a::after { content: "."; color: var(--latizes-primary); }
.latizes-nav .wp-block-navigation-item__content {
  color: rgba(44,34,27,.72);
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
}
.latizes-nav .wp-block-navigation-item__content:hover,
.latizes-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--latizes-primary); }
.latizes-header .wp-block-button__link { white-space: nowrap; }

/* Shared */
.latizes-section {
  border-bottom: 1px solid var(--latizes-border);
  padding-top: clamp(3.75rem, 7vw, 5.5rem);
  padding-bottom: clamp(3.75rem, 7vw, 5.5rem);
}
.latizes-section-compact {
  border-bottom: 1px solid var(--latizes-border);
  padding-top: clamp(2rem, 4vw, 2.8rem);
  padding-bottom: clamp(2rem, 4vw, 2.8rem);
}
.latizes-eyebrow {
  position: relative;
  margin: 0;
  padding-top: .75rem;
  color: var(--latizes-primary);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.latizes-eyebrow::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5rem;
  height: 1px;
  background: var(--latizes-primary);
}
.latizes-eyebrow.is-accent { color: var(--latizes-accent); }
.latizes-heading {
  margin-top: .8rem;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.latizes-muted { color: var(--latizes-muted-fg); }
.latizes-card {
  overflow: hidden;
  border: 1px solid var(--latizes-border);
  border-radius: var(--latizes-radius);
  background: var(--latizes-card);
}
.latizes-card:hover { border-color: rgba(44,34,27,.28); }

.latizes-core-slot:empty { display:none; }
.latizes-dynamic-section:has(.latizes-core-slot:empty) { display:none; }
.latizes-card-body { padding: 1.25rem; }
.latizes-demo-notice {
  border: 1px solid rgba(186,75,28,.28);
  border-radius: var(--latizes-radius);
  background: rgba(186,75,28,.055);
  padding: .85rem 1rem;
  color: var(--latizes-muted-fg);
  font-size: .82rem;
  line-height: 1.55;
}
.latizes-demo-notice strong { color: var(--latizes-fg); }
.latizes-pill-row { display:flex; flex-wrap:wrap; gap:.6rem; }
.latizes-pill {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border:1px solid var(--latizes-border);
  border-radius:4px;
  background:var(--latizes-card);
  padding:.62rem .85rem;
  color:var(--latizes-fg);
  font-size:.86rem;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap;
}
.latizes-pill:hover { border-color: rgba(44,109,85,.5); color: var(--latizes-primary); }

/* Hero */
.latizes-hero {
  overflow: hidden;
  border-bottom: 1px solid var(--latizes-border);
  padding-top: clamp(3.25rem, 6vw, 5rem);
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
}
.latizes-hero h1 {
  max-width: 11ch;
  margin-top: 1.1rem;
  font-size: clamp(3rem, 6vw, 4.2rem);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.045em;
}
.latizes-hero h1 em { color: var(--latizes-accent); font-weight: 350; }
.latizes-hero-copy { max-width: 34rem; font-size: clamp(1.03rem, 2vw, 1.18rem); line-height: 1.75; }
.latizes-hero-image-wrap { position: relative; }
.latizes-hero-image-wrap img {
  width: 100%;
  min-height: 430px;
  max-height: 540px;
  border: 1px solid var(--latizes-border);
  border-radius: var(--latizes-radius);
  object-fit: cover;
}
.latizes-image-note {
  position:absolute;
  bottom:1rem;
  left:1rem;
  max-width:250px;
  border:1px solid var(--latizes-border);
  border-radius:4px;
  background:rgba(249,246,241,.95);
  padding:1rem;
}

/* Search / filter shell */
.latizes-search-shell {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(96px,max-content);
  gap:.5rem;
  width:100%;
  min-width:0;
  margin-top:1.8rem;
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-card);
  padding:.55rem;
}
.latizes-search-shell > * { min-width:0; }
.latizes-search-shell > input[type="search"],
.latizes-search-shell > input:first-child {
  grid-column:1 / -1;
}
.latizes-search-shell input,
.latizes-search-shell select,
.latizes-form input,
.latizes-form select,
.latizes-form textarea {
  width:100%;
  max-width:100%;
  min-height:48px;
  border:1px solid transparent;
  border-radius:4px;
  background:var(--latizes-bg);
  color:var(--latizes-fg);
  font:inherit;
  font-size:.9rem;
  padding:.72rem .85rem;
  outline:none;
}
.latizes-search-shell select {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.latizes-search-shell input:focus,
.latizes-search-shell select:focus,
.latizes-form input:focus,
.latizes-form select:focus,
.latizes-form textarea:focus {
  border-color:rgba(44,109,85,.65);
  box-shadow:0 0 0 2px rgba(44,109,85,.10);
}
.latizes-search-shell button,
.latizes-form button,
.latizes-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  min-height:48px;
  border:0;
  border-radius:4px;
  background:var(--latizes-primary);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  line-height:1.15;
  padding:.75rem 1.1rem;
  text-align:center;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
}
.latizes-search-shell button:hover,
.latizes-form button:hover,
.latizes-submit:hover { opacity:.92; }

/* Forms rendered by LaTizes Core inherit the theme instead of bringing their own look. */
.latizes-form {
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-card);
  padding:clamp(1.15rem,3vw,1.75rem);
}
.latizes-form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.latizes-field { min-width:0; }
.latizes-field.is-full { grid-column:1 / -1; }
.latizes-field label {
  display:block;
  margin-bottom:.38rem;
  color:var(--latizes-fg);
  font-size:.84rem;
  font-weight:700;
}
.latizes-field small,
.latizes-help {
  display:block;
  margin-top:.35rem;
  color:var(--latizes-muted-fg);
  font-size:.78rem;
  line-height:1.45;
}
.latizes-form textarea { min-height:130px; resize:vertical; }
.latizes-form-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  margin-top:1.2rem;
}
.latizes-status,
.latizes-empty-state {
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-card);
  padding:1rem 1.1rem;
}
.latizes-status.is-error { border-color:rgba(186,75,28,.38); }
.latizes-status.is-success { border-color:rgba(44,109,85,.42); }

/* Worker demo cards */
.latizes-worker-grid { align-items:stretch; }
.latizes-worker-card { height:100%; }
.latizes-worker-card .wp-block-image { margin:0; }
.latizes-worker-card img { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:top; }
.latizes-worker-card h3 { margin:.25rem 0; font-size:1.32rem; line-height:1.15; }
.latizes-worker-meta { color:var(--latizes-muted-fg); font-size:.82rem; }
.latizes-worker-tag {
  display:inline-block;
  margin-bottom:.2rem;
  color:var(--latizes-primary);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.latizes-worker-verified { color:var(--latizes-accent); font-size:.78rem; font-weight:700; }
.latizes-worker-link { border-top:1px solid var(--latizes-border); padding-top:.8rem; }

/* Steps and trust */
.latizes-step {
  height:100%;
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-card);
  padding:clamp(1.25rem,3vw,2rem);
}
.latizes-step-number { margin:0; color:rgba(44,109,85,.68); font-family:"Fraunces",Georgia,serif; font-size:2.2rem; font-weight:300; }
.latizes-trust-grid {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px !important;
  overflow:hidden;
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-border);
}
.latizes-trust-grid > .wp-block-column {
  min-width:0;
  margin:0 !important;
  background:var(--latizes-card);
  padding:clamp(1.35rem,2.2vw,1.8rem);
}
.latizes-trust-grid h3 {
  margin:.5rem 0 1rem;
  font-size:clamp(1.65rem,2.05vw,2.15rem) !important;
  line-height:1.08;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
.latizes-trust-grid p:not(.latizes-trust-icon) {
  line-height:1.62;
}
.latizes-trust-icon { color:var(--latizes-accent); font-size:1.35rem; }

/* Guide cards */
.latizes-guide-card { height:100%; }
.latizes-guide-card .wp-block-image { margin:0; }
.latizes-guide-card img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.latizes-guide-card h3 { margin:.2rem 0; font-size:1.25rem; line-height:1.18; }
.latizes-guide-label { color:var(--latizes-accent); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* Inner pages */
.latizes-page-shell { padding-top:clamp(3rem,6vw,4.5rem); padding-bottom:clamp(4rem,7vw,6rem); }
.latizes-prose { max-width:760px; }
.latizes-prose p { line-height:1.78; }
.latizes-rule-section { border-top:1px solid var(--latizes-border); padding-top:2rem; margin-top:2rem; }
.latizes-signal-list { padding-left:0; list-style:none; }
.latizes-signal-list li { border:1px solid var(--latizes-border); border-radius:var(--latizes-radius); background:var(--latizes-card); padding:1rem; margin:.65rem 0; }
.latizes-core-placeholder {
  border:1px dashed rgba(44,109,85,.45);
  border-radius:var(--latizes-radius);
  background:rgba(44,109,85,.045);
  padding:clamp(1.3rem,4vw,2rem);
}

/* Query loop / blog */
.latizes-query-grid { list-style:none; padding:0; }
.latizes-query-grid .wp-block-post {
  overflow:hidden;
  border:1px solid var(--latizes-border);
  border-radius:var(--latizes-radius);
  background:var(--latizes-card);
}
.latizes-query-grid .wp-block-post-featured-image { margin:0; }
.latizes-query-grid .wp-block-post-featured-image img { aspect-ratio:3/2; object-fit:cover; }
.latizes-query-grid .wp-block-post-title,
.latizes-query-grid .wp-block-post-excerpt,
.latizes-query-grid .wp-block-post-date { margin-left:1.25rem; margin-right:1.25rem; }
.latizes-query-grid .wp-block-post-title { margin-top:1.15rem; font-size:1.3rem; }
.latizes-query-grid .wp-block-post-date { color:var(--latizes-muted-fg); font-size:.78rem; }
.latizes-query-grid .wp-block-post-excerpt { margin-bottom:1.25rem; color:var(--latizes-muted-fg); font-size:.9rem; }

/* Footer */
.latizes-footer { border-top:1px solid var(--latizes-border); background:rgba(237,232,222,.45); }
.latizes-footer a { color:rgba(44,34,27,.82); }
.latizes-footer a:hover { color:var(--latizes-primary); }
.latizes-footer-title { color:var(--latizes-muted-fg); font-size:.69rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.latizes-footer-bottom { border-top:1px solid var(--latizes-border); color:var(--latizes-muted-fg); font-size:.76rem; }

/* Buttons */
.wp-element-button, .wp-block-button__link { transition:transform .15s ease, opacity .15s ease, background-color .15s ease, border-color .15s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { opacity:.92; }
.wp-element-button:active, .wp-block-button__link:active { transform:scale(.985); }

/* Accessible motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

@media (max-width: 1020px) {
  .latizes-trust-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .latizes-search-shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .latizes-search-shell > input[type="search"],
  .latizes-search-shell > input:first-child { grid-column:1 / -1; }
  .latizes-search-shell button { grid-column:1 / -1; width:100%; }
  .latizes-header-inner { gap:.75rem; }
}
@media (max-width: 781px) {
  .admin-bar .latizes-header { top:46px; }
  .latizes-header .latizes-header-cta { display:none; }
  .latizes-header-inner { min-height:58px; }
  .latizes-brand a { font-size:1.4rem; }
  .latizes-hero { padding-top:2.5rem; padding-bottom:3.25rem; }
  .latizes-hero-image-wrap { margin-top:.5rem; }
  .latizes-hero-image-wrap img { min-height:320px; }
  .latizes-image-note { max-width:220px; }
  .latizes-trust-grid { gap:1px !important; }
  .latizes-form-grid { grid-template-columns:1fr; }
  .latizes-field.is-full { grid-column:auto; }
}
@media (max-width: 560px) {
  .latizes-trust-grid { grid-template-columns:1fr; }
  .latizes-trust-grid h3 { font-size:clamp(1.6rem,8vw,2rem) !important; }
  .latizes-search-shell { grid-template-columns:1fr; gap:.42rem; }
  .latizes-search-shell > * { grid-column:1 !important; }
  .latizes-search-shell button { width:100%; }
  .latizes-hero h1 { font-size:clamp(2.55rem,13vw,3.35rem); }
  .latizes-hero-copy { line-height:1.65; }
  .latizes-hero-image-wrap img { min-height:280px; }
  .latizes-image-note { position:static; max-width:none; margin-top:.6rem; }
}
