/*
Theme Name: TraslaPhoto
Description: Tema propio y mínimo de TraslaPhoto. Home armada desde el mockup; el buscador de fotos lo dibuja el plugin.
Version: 1.0.0
Author: Fer
Text Domain: traslaphoto
Requires PHP: 8.0
*/

/* ═══════════════════════════════════════════════════════════════════════
   COLORES Y BASE — paleta del cartel del stand (2026-10-20): celeste agua,
   azul profundo y naranja. Cambiar acá cambia todo el sitio.
   El naranja (--clay) es el que va en TP_COLOR_PRIMARIO del plugin, para que
   el buscador de cada día haga juego.
   Respaldo de la versión anterior (blanco/negro/rojo): traslaphoto-tema-v1-rojo.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --ink:#0B3A5B;          /* texto: azul muy oscuro, no negro */
  --paper:#FFFFFF;
  --paper-warm:#EAF7FD;   /* celeste muy claro para secciones alternadas */
  --river:#1BA4DE;        /* celeste agua: color principal */
  --river-deep:#0B4A73;   /* azul profundo: barra de días, pie, sombras */
  --sun:#FFC83D;
  --clay:#F28A1E;         /* naranja: botones principales y stickers */
  --clay-oscuro:#C96A0C;
  --stone:#5E7584;
  --line: rgba(11,58,91,0.13);
  --radius: 22px;
  /* Fuente de los títulos. Una sola variable para poder probar otras. */
  --tit:'Lilita One', sans-serif;
  --tit-peso:400;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:90px;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
  html{scroll-behavior:auto;}
}
a{color:inherit;}
img{max-width:100%; height:auto;}

.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
@media (max-width:480px){ .wrap{ padding:0 16px; } }

h1, h2, h3{ font-family:var(--tit); font-weight:var(--tit-peso); letter-spacing:0; }
/* La frase del cartel va en serifa, como en el impreso. */
.frase{ font-family:'Fraunces', serif; font-weight:600; }

/* ═══════════════════════════════ NAV ═══════════════════════════════ */
.tpt-nav{
  position:sticky; top:0; z-index:40;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.admin-bar .tpt-nav{ top:32px; }
@media (max-width:782px){ .admin-bar .tpt-nav{ top:46px; } }

.tpt-nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark{
  width:44px;height:44px;border-radius:50%;
  border:1.5px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  flex:none; color:var(--ink);
}
.brand-mark svg{width:26px;height:26px;}
.brand-word{ font-family:'Anton', sans-serif; font-size:19px; letter-spacing:0.02em; color:var(--ink); }
.brand--img img{ display:block; height:48px; width:auto; }
.footer-brand .brand--img img{ height:56px; }
@media (max-width:820px){ .tpt-nav .brand--img img{ height:38px; } }
.custom-logo-link{ display:flex; align-items:center; }
.custom-logo{ max-height:56px; width:auto; }

.nav-right{ display:flex; align-items:center; gap:22px; }
.nav-links{ display:flex; gap:34px; align-items:center; font-size:15px; font-weight:600; }
.nav-links a{ text-decoration:none; opacity:0.78; transition:opacity .2s; }
.nav-links a:hover{ opacity:1; }
.nav-links .nav-cta{ display:none; }
.nav-cta{
  background:var(--river);
  color:var(--paper) !important;
  padding:11px 22px;
  border-radius:999px;
  font-weight:700; font-size:14.5px;
  text-decoration:none;
  box-shadow:0 4px 0 var(--river-deep);
  transition:transform .15s, box-shadow .15s;
  white-space:nowrap;
}
.nav-cta:hover{ transform:translateY(-1px); box-shadow:0 5px 0 var(--river-deep); }

.nav-burger{
  display:none;
  width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--ink); background:transparent; color:var(--ink);
  align-items:center; justify-content:center;
  cursor:pointer; flex:none;
}
.nav-burger svg{ width:18px; height:18px; }

@media (max-width:820px){
  .tpt-nav .wrap{ height:66px; }
  .brand-word{ font-size:16px; }
  .brand-mark{ width:38px; height:38px; }
  .custom-logo{ max-height:46px; }
  .nav-links{
    display:flex; flex-direction:column; align-items:flex-start; gap:2px;
    position:absolute; top:66px; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    padding:10px 28px 18px;
    max-height:0; overflow:hidden; visibility:hidden;
    transition:max-height .25s ease;
  }
  .tpt-nav.open .nav-links{ max-height:360px; visibility:visible; }
  .nav-links a{ padding:12px 0; width:100%; border-bottom:1px solid var(--line); opacity:1; }
  .nav-links .nav-cta{ display:block; margin-top:8px; text-align:center; border-bottom:none; }
  .nav-right > .nav-cta{ display:none; }
  .nav-burger{ display:flex; }
}

/* ═══════════════════════════════ HERO ═══════════════════════════════ */
.hero{
  position:relative; overflow:hidden; padding-top:64px;
  background:
    radial-gradient(ellipse 900px 500px at 82% -10%, rgba(255,200,61,0.30), transparent 60%),
    radial-gradient(ellipse 700px 500px at -5% 10%, rgba(27,164,222,0.18), transparent 60%);
}
.hero-inner{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:40px; align-items:center; padding-bottom:80px; }
@media (max-width:900px){ .hero-inner{grid-template-columns:1fr; padding-bottom:56px;} }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--river-deep);
  background:rgba(0,0,0,0.04);
  border:1px solid rgba(0,0,0,0.14);
  padding:8px 16px 8px 12px; border-radius:999px; margin-bottom:26px;
}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--clay);}

.hero h1{ font-size:clamp(38px, 5.4vw, 66px); line-height:1.03; margin:0 0 22px; }
.hero h1 em{ font-style:normal; color:var(--river); }
.hero p.lead{ font-size:18px; line-height:1.6; color:rgba(17,17,17,0.72); max-width:480px; margin:0 0 34px; }

.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:36px; }
.btn{
  font-family:'Work Sans', sans-serif; font-weight:700; font-size:15.5px;
  padding:15px 26px; border-radius:999px; text-decoration:none;
  display:inline-flex; align-items:center; gap:9px;
  border:1.5px solid transparent; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn svg{ width:16px; height:16px; }
.btn-primary{ background:var(--clay); color:var(--paper); box-shadow:0 5px 0 var(--clay-oscuro); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 7px 0 var(--clay-oscuro); }
.btn-secondary{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-secondary:hover{ background:var(--ink); color:var(--paper); }

.hero-meta{ display:flex; gap:28px; flex-wrap:wrap; font-size:13.5px; color:var(--stone); font-weight:600; }
.hero-meta span{display:flex; align-items:center; gap:7px;}
.hero-meta svg{width:15px;height:15px; flex:none;}

.hero-visual{ position:relative; height:430px; }
/* Fotos colgadas con clips, tipo copia impresa (como en el cartel del stand):
   borde blanco, más ancho abajo, y un broche arriba. */
.photo-card{
  position:absolute; margin:0;
  background:var(--paper); padding:8px 8px 30px; border-radius:4px;
  box-shadow:0 18px 40px -12px rgba(11,58,91,0.40);
}
.photo-card img{ display:block; width:100%; height:100%; object-fit:cover; border-radius:2px; }
.photo-card .tag{
  position:absolute; bottom:7px; left:12px; right:12px;
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:13px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* El broche: cuerpo oscuro + el alambre. Todo CSS, sin imágenes. */
.clip{
  position:absolute; top:-16px; left:50%; transform:translateX(-50%); z-index:2;
  width:38px; height:20px; background:#1E2B35; border-radius:3px 3px 5px 5px;
  clip-path:polygon(12% 0, 88% 0, 100% 100%, 0 100%);
}
.photo-card::before{
  content:""; position:absolute; left:50%; top:-28px; transform:translateX(-50%); z-index:1;
  width:26px; height:18px; border:2.5px solid #8C99A3; border-bottom:none; border-radius:10px 10px 0 0;
}
.pc1{ width:230px; height:290px; top:0; right:40px; z-index:3; transform:rotate(3deg); }
.pc2{ width:200px; height:250px; top:130px; right:230px; z-index:2; transform:rotate(-6deg); }
.pc3{ width:180px; height:150px; top:290px; right:60px; z-index:1; transform:rotate(8deg); }
.pc4{ width:200px; height:170px; top:0; right:250px; z-index:1; transform:rotate(-4deg); }
@media (max-width:900px){
  .hero-visual{ height:300px; margin:0 -6px; }
  .pc1{ width:150px; height:190px; top:10px; right:14px; }
  .pc2{ width:130px; height:165px; top:100px; right:150px; }
  .pc3{ width:120px; height:100px; top:200px; right:30px; }
  .pc4{ width:150px; height:130px; top:105px; right:270px; transform:rotate(5deg); }
  .photo-card{ padding:5px 5px 22px; }
  .photo-card .tag{ font-size:11px; bottom:4px; }
  .clip{ width:30px; height:16px; top:-12px; }
  .photo-card::before{ width:20px; height:14px; top:-23px; }
}
@media (max-width:480px){
  .pc1{ width:125px; height:160px; right:8px; }
  .pc2{ width:108px; height:138px; top:82px; right:118px; }
  .pc3{ width:100px; height:84px; top:168px; right:22px; }
  .hero-visual{ height:290px; }
  .pc4{ width:118px; height:108px; top:118px; right:220px; }
}
.ripple{ position:absolute; bottom:-2px; left:0; width:100%; line-height:0; }
.ripple svg{ width:100%; height:70px; display:block; }

/* ═══════════════════ ELEGIR EL DÍA (barra oscura) ═══════════════════ */
.search-panel{ background:var(--river-deep); padding:34px 0; }
.search-panel .wrap{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:space-between; }
.search-title{ color:var(--paper); font-family:'Fraunces', serif; font-size:21px; font-style:italic; flex:none; }
.search-input{
  flex:1; min-width:220px; max-width:620px;
  display:flex; align-items:center; gap:10px;
  background:var(--paper); border-radius:999px; padding:6px 6px 6px 20px;
}
.search-input select{
  border:none; outline:none; flex:1; min-width:0;
  font-family:'Work Sans'; font-size:15px; font-weight:600; color:var(--ink);
  background:transparent; padding:10px 0; cursor:pointer;
}
.search-input button{
  background:var(--river); color:var(--paper); border:none;
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer; flex:none;
}
.search-input button:disabled, .search-input select:disabled{ opacity:0.5; cursor:not-allowed; }
.search-input button svg{width:18px;height:18px;}
@media (max-width:640px){
  .search-panel .wrap{ flex-direction:column; align-items:stretch; gap:14px; }
  .search-title{ text-align:center; }
  .search-input{ width:100%; max-width:none; }
}

/* ═══════════════════════════ SECCIONES ═══════════════════════════ */
.section{ padding:96px 0; }
@media (max-width:640px){ .section{ padding:64px 0; } }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:48px; flex-wrap:wrap; }
.section-eyebrow{
  font-size:13px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--clay); margin-bottom:10px; display:block;
}
.section h2{ font-size:clamp(28px,3.4vw,40px); margin:0; }
.section-head p{ color:var(--stone); font-size:15.5px; max-width:360px; margin:0; }

/* Tarjetas de días */
.event-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:26px; }
@media (max-width:920px){ .event-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .event-grid{grid-template-columns:1fr;} }
.event-card{
  background:var(--paper-warm); border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--line);
  transition:transform .22s ease, box-shadow .22s ease;
  display:flex; flex-direction:column;
}
.event-card:hover{ transform:translateY(-6px); box-shadow:0 22px 40px -18px rgba(0,0,0,0.25); }
.event-photo{ height:170px; position:relative; background:linear-gradient(155deg, var(--c1), var(--c2)); }
.event-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.event-photo .event-status, .event-photo .event-seal{ z-index:1; }
.event-card.open .event-photo{ --c1:#1BA4DE; --c2:#0B4A73; }
.event-card.soon .event-photo{ --c1:#F28A1E; --c2:#C96A0C; }
.event-status{
  position:absolute; top:14px; left:14px;
  font-size:11px; font-weight:700; letter-spacing:0.04em;
  padding:6px 12px; border-radius:999px;
  background:rgba(255,255,255,0.92); color:var(--ink);
}
.event-seal{
  position:absolute; bottom:-22px; right:16px;
  width:52px; height:52px; border-radius:50%;
  background:var(--paper); border:1.5px solid var(--ink); color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px rgba(0,0,0,0.12);
}
.event-seal svg{ width:26px;height:26px; }
.event-body{ padding:34px 22px 24px; flex:1; display:flex; flex-direction:column; }
.event-date{ font-size:12.5px; font-weight:700; color:var(--river); letter-spacing:0.04em; text-transform:uppercase; margin-bottom:8px; }
.event-name{ font-size:21px; margin:0 0 10px; line-height:1.2; }
.event-desc{ font-size:14px; color:var(--stone); line-height:1.55; margin:0 0 22px; flex:1; }
.event-link{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:14.5px; text-decoration:none; color:var(--ink);
  padding-top:16px; border-top:1px solid var(--line);
}
.event-link svg{ width:15px;height:15px; transition:transform .18s; }
.event-card:hover .event-link svg{ transform:translateX(4px); }
.tpt-vacio, .tpt-mas-dias{ color:var(--stone); font-size:15px; }
.tpt-mas-dias{ margin-top:28px; text-align:center; }

/* Cómo funciona / servicios */
.how{ background:var(--paper-warm); }
.how-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
@media (max-width:820px){ .how-grid{grid-template-columns:1fr;} }
.how-step{ padding:30px 26px; position:relative; }
.how-step:not(:last-child){ border-right:1px dashed var(--line); }
@media (max-width:820px){ .how-step:not(:last-child){ border-right:none; border-bottom:1px dashed var(--line);} }
.how-num{ font-family:'Anton', sans-serif; font-size:15px; color:var(--clay); letter-spacing:0.06em; margin-bottom:14px; display:block; }
.how-step h3{ font-size:20px; margin:0 0 10px; }
.how-step p{ font-size:14.5px; color:var(--stone); line-height:1.6; margin:0; }

.how-grid--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .how-grid--4{ grid-template-columns:repeat(2,1fr); } .how-grid--4 .how-step:nth-child(2){ border-right:none; } }
@media (max-width:820px){ .how-grid--4{ grid-template-columns:1fr; } }

/* Servicios: los nombres que da Carolina, como tarjetas simples */
.tpt-servicios{ display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:14px; }
.tpt-servicio{ background:var(--paper); border:1px solid var(--line); border-left:4px solid var(--clay); border-radius:14px; padding:22px 22px; }
.tpt-servicio h3{ font-size:18px; margin:0; }
.tpt-servicio p{ font-size:14.5px; color:var(--stone); line-height:1.6; margin:8px 0 0; }

/* Quiénes somos */
.tpt-dos-col{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media (max-width:820px){ .tpt-dos-col{ grid-template-columns:1fr; gap:20px; } }
.tpt-texto{ font-size:16.5px; line-height:1.7; color:rgba(17,17,17,0.8); }
.tpt-texto p:first-child{ margin-top:0; }

/* Contacto */
.tpt-contacto{ text-align:center; }
.tpt-contacto p{ color:var(--stone); font-size:16px; margin:14px 0 28px; }

/* ═══════════════════════════════ FOOTER ═══════════════════════════════ */
.tpt-footer{ background:var(--river-deep); color:var(--paper); padding:64px 0 32px; }
.footer-top{
  display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap;
  padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.14); margin-bottom:28px;
}
.footer-brand{ max-width:340px; }
.footer-brand .brand-word{ color:var(--paper); }
.footer-brand p{ color:rgba(255,255,255,0.6); font-size:14.5px; line-height:1.6; margin-top:16px;}
.footer-cols{ display:flex; gap:60px; flex-wrap:wrap; }
.footer-col h4{ font-size:12.5px; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.5); margin:0 0 16px; font-family:'Work Sans', sans-serif; }
.footer-col a{ display:block; font-size:14.5px; text-decoration:none; color:rgba(255,255,255,0.85); margin-bottom:11px; }
.footer-col a:hover{ color:var(--paper); }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:13px; color:rgba(255,255,255,0.45); }
@media (max-width:640px){
  .footer-top{ flex-direction:column; gap:28px; }
  .footer-cols{ gap:36px; }
}

/* ═══════════════════ GLOBITO DE WHATSAPP ("ante cualquier duda") ═══════════════════ */
.tpt-wa{
  position:fixed; right:18px; bottom:18px; z-index:99980;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,0.25);
  transition:transform .15s ease;
}
.tpt-wa:hover{ transform:scale(1.06); }
.tpt-wa svg{ width:32px; height:32px; }
/* Con el carrito flotante del buscador a la vista, sube para no taparlo. */
body.ft-cart-active .tpt-wa{ bottom:96px; }
/* Con fotos elegidas (barra de abajo) o una foto abierta en grande, se esconde. */
body.tp-sel-activa .tpt-wa,
body.ft-lb-open .tpt-wa{ display:none; }

/* ══════════════════ PÁGINAS COMUNES (carrito, checkout, buscador) ══════════════════ */
.tpt-pagina{ padding:56px 0 96px; min-height:50vh; }
.tpt-pagina-titulo{ font-size:clamp(30px,4vw,44px); margin:0 0 32px; }
.tpt-contenido{ font-size:16px; line-height:1.65; }
.tpt-contenido > *:first-child{ margin-top:0; }
@media (max-width:640px){ .tpt-pagina{ padding:32px 0 64px; } }

/* ═══════════════════ STICKERS CON PINCELADA (del cartel) ═══════════════════
   La pincelada es assets/pincelada.svg (onlygfx, una sola forma negra). Se usa
   como MÁSCARA: el color lo pone background-color, así que se puede cambiar
   sin tocar el SVG. Va en un ::before para que no recorte el texto. */
.sticker{
  position:relative; isolation:isolate; display:inline-block;
  font-family:'Anton', sans-serif; font-size:20px; letter-spacing:.03em; text-transform:uppercase;
  color:#fff; padding:10px 26px; transform:rotate(-4deg);
}
.sticker--pincel::before{
  content:""; position:absolute; inset:-6px -14px; z-index:-1;
  background-color:var(--clay);
  -webkit-mask:url('assets/pincelada.svg') center / 100% 100% no-repeat;
          mask:url('assets/pincelada.svg') center / 100% 100% no-repeat;
}
.sticker--celeste::before{ background-color:var(--river); }
.st-hero{ position:absolute; bottom:4px; left:0; z-index:4; font-size:18px; }
@media (max-width:900px){ .st-hero{ top:auto; bottom:6px; left:6px; font-size:15px; padding:8px 18px; } }

/* ═══════════════════ FRANJA "VALLE ENCANTADO" ═══════════════════ */
.banda-parque{
  background-size:cover; background-position:center 35%;
  color:#fff; padding:110px 0;
}
.banda-parque .frase{ font-size:clamp(30px,4.2vw,50px); line-height:1.1; margin:22px 0 14px; max-width:620px; color:#fff; }
.banda-texto{ font-size:17px; line-height:1.6; max-width:520px; margin:0 0 30px; color:rgba(255,255,255,0.92); }
@media (max-width:640px){
  .banda-parque{ padding:72px 0; background-position:30% 35%; }
}
/* Logo del parque, arriba del sticker, sobre la parte AZUL de la franja (a la
   derecha taparía las caras de la foto de fondo). Trae su propio contorno
   blanco tipo sticker: sobre el azul resalta solo; la sombra sigue la silueta. */
.logo-parque{
  display:block; width:160px; height:auto; margin:0 0 20px;
  transform:rotate(-4deg);
  filter:drop-shadow(0 10px 18px rgba(0,0,0,0.35));
}
@media (max-width:640px){ .logo-parque{ width:120px; margin-bottom:16px; } }
/* El mismo logo en la portada: en PC, en el hueco entre el texto y las fotos;
   en celular, arriba a la izquierda de las fotos. */
.logo-parque--hero{ position:absolute; z-index:3; margin:0; width:165px; top:205px; left:-168px; transform:rotate(-6deg); }
@media (max-width:900px){ .logo-parque--hero{ width:115px; top:0; left:12px; } }
@media (max-width:480px){ .logo-parque--hero{ width:100px; top:2px; left:4px; } }

/* ═══════════════════ PÁGINA DEL DÍA (/fotos/{fecha}/) ═══════════════════
   La estructura la arma el plugin (.tp-dia, .tp-busqueda, pestañas). Acá va
   el look de TraslaPhoto: cabecera celeste a azul de lado a lado (como en el
   mockup de evento) y la tarjeta de búsqueda montada encima. */
html, body{ overflow-x:clip; } /* la cabecera sale del contenedor; clip no rompe el menú fijo */
.tpt-pagina--dia{ padding-top:0; }
.tp-dia{ max-width:640px; margin-top:0; }
.tp-dia .tp-dia-cabecera{
  margin:0 calc(50% - 50vw) 0; padding:46px 20px 92px;
  background:
    radial-gradient(ellipse 600px 300px at 85% 0%, rgba(255,200,61,0.30), transparent 60%),
    linear-gradient(155deg, var(--river) 0%, var(--river-deep) 100%);
  color:#fff;
}
.tp-dia .tp-dia-cabecera h1{ color:#fff; font-size:clamp(34px,7vw,56px); line-height:1.05; margin:0; text-shadow:0 3px 0 rgba(11,58,91,0.35); }
.tp-dia .tp-dia-etiqueta{ background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.35); color:#fff; }
.tp-dia .tp-dia-meta, .tp-dia .tp-dia-desc{ color:rgba(255,255,255,0.85); }

.tp-dia .tp-busqueda{ margin-top:-60px; border-radius:24px; box-shadow:0 30px 60px -20px rgba(11,74,115,0.40); }
.tp-dia .tp-busqueda h3{ color:var(--ink); }
.tp-dia .tp-pestana{ font-family:'Work Sans', sans-serif; color:var(--stone); }
.tp-dia .tp-pestana.is-activa{ color:var(--ink); border-bottom-color:var(--clay); }
.tp-dia .tp-boton--pri{ background:var(--clay); border-color:var(--clay); box-shadow:0 5px 0 var(--clay-oscuro); }
.tp-dia .tp-boton--sec{ color:var(--river-deep); border-color:var(--river); }
.tp-dia .tp-consejo, .tp-dia .tp-privacidad, .tp-dia .tp-panel-bajada{ color:var(--stone); }
.tp-dia .tp-dudas{ color:var(--stone); }

/* ═══════════════════ GALERÍA ═══════════════════ */
/* Bloque de la home: 4 fotos cuadradas que llevan a la página Galería. */
.tpt-galeria-mini{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tpt-galeria-mini img{ width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; border-radius:10px; display:block; transition:transform .2s ease; }
.tpt-galeria-mini:hover img{ transform:scale(1.02); }
.tpt-galeria-mas{ margin:28px 0 0; text-align:center; }
@media (max-width:640px){ .tpt-galeria-mini{ grid-template-columns:repeat(2,1fr); gap:10px; } }

/* La página Galería: títulos de sección con aire, fotos con esquinas suaves. */
.tpt-pagina--galeria .tpt-contenido h2{ font-size:clamp(24px,3vw,32px); margin:48px 0 18px; color:var(--ink); }
.tpt-pagina--galeria .tpt-contenido h2:first-child{ margin-top:0; }
.tpt-pagina--galeria .wp-block-gallery{ gap:12px; }
.tpt-pagina--galeria .wp-block-gallery img{ border-radius:8px; }
