/**
 * Theme Name: CDPSI — Senda de Sal
 * Theme URI: https://www.instagram.com/cdpsipichilemu/
 * Author: Manus AI
 * Description: Tema de bloques para CDPSI Pichilemu. Diseñado para editar la landing directamente con el Editor del Sitio de Gutenberg.
 * Version: 1.0.0
 * Requires at least: 6.4
 * Tested up to: 6.8
 * Requires PHP: 7.4
 * Text Domain: cdpsi-senda-de-sal
 * License: GPL-2.0-or-later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 */

/* Dirección visual: Senda de Sal — editorial costero contemporáneo; Verde Orilla #173F3C es la firma de marca. */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap');

:root { --cdpsi-sand: #f5f0e7; --cdpsi-paper: #fbf8f2; --cdpsi-ink: #173f3c; --cdpsi-deep: #102f2d; --cdpsi-clay: #bf6548; --cdpsi-pale-clay: #e8c8b8; --cdpsi-mist: #cedbd5; --cdpsi-line: rgba(23,63,60,.22); --cdpsi-muted: #68736b; --cdpsi-ease: cubic-bezier(.23,1,.32,1); }
html { scroll-behavior: smooth; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-button__link { border-radius: 0; transition: background-color .2s var(--cdpsi-ease), color .2s var(--cdpsi-ease), transform .16s var(--cdpsi-ease); }
.wp-block-button__link:active { transform: scale(.97); }
.wp-block-button__link:hover { background-color: var(--cdpsi-clay) !important; color: var(--cdpsi-paper) !important; }
.cdpsi-header { min-height: 92px; border-bottom: 1px solid var(--cdpsi-line); background: rgba(245,240,231,.92); }
.cdpsi-site-logo { width: 37px; height: 37px; margin: 0 !important; }
.cdpsi-site-logo img { width: 37px; height: 37px; object-fit: contain; }
.cdpsi-brand-wordmark { margin: 0 !important; color: var(--cdpsi-ink); font-family: 'DM Serif Display', Georgia, serif; font-size: 1.35rem; letter-spacing: .04em; line-height: 1; }
.cdpsi-brand-location { margin: .14rem 0 0 !important; color: var(--cdpsi-muted); font-family: Manrope, Arial, sans-serif; font-size: .57rem; font-weight: 700; letter-spacing: .16em; line-height: 1; text-transform: uppercase; }
.cdpsi-header .wp-block-navigation { font-family: Manrope, Arial, sans-serif; font-size: .69rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.cdpsi-header .wp-block-navigation-item__content { position: relative; padding-bottom: .32rem; }
.cdpsi-header .wp-block-navigation-item__content::after { position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: currentColor; content: ''; transition: width .24s var(--cdpsi-ease); }
.cdpsi-header .wp-block-navigation-item__content:hover::after { width: 100%; }
.cdpsi-hero { position: relative; min-height: calc(100vh - 92px); padding-top: clamp(4rem,9vw,8.5rem) !important; padding-bottom: clamp(5.5rem,9vw,8.5rem) !important; }
.cdpsi-hero-grid { align-items: end !important; gap: clamp(2rem,7vw,9.5rem) !important; }
.cdpsi-hero-copy { max-width: 550px; padding-bottom: 3rem; }
.cdpsi-eyebrow { display: flex; gap: .65rem; align-items: center; margin-bottom: 1.8rem !important; color: var(--cdpsi-ink); font-family: Manrope, Arial, sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.cdpsi-eyebrow::before { width: 22px; height: 1px; background: var(--cdpsi-clay); content: ''; }
.cdpsi-hero-title { margin-bottom: 1.7rem !important; font-size: clamp(3.75rem,7.2vw,7.2rem) !important; letter-spacing: -.055em; line-height: .9 !important; }
.cdpsi-hero-title em, .cdpsi-heading em { color: var(--cdpsi-clay); font-style: italic; font-weight: 400; }
.cdpsi-hero-lead { max-width: 420px; font-size: clamp(1rem,1.2vw,1.1rem); line-height: 1.8; }
.cdpsi-hero .wp-block-buttons { margin-top: 2.7rem; }
.cdpsi-hero-figure { position: relative; margin-top: 0 !important; padding: clamp(1rem,2.6vw,2.4rem) 0 0 clamp(1rem,2.6vw,2.4rem); }
.cdpsi-hero-figure::before { position: absolute; inset: 0 11% 11% 0; z-index: 0; background: var(--cdpsi-pale-clay); content: ''; }
.cdpsi-hero-figure img { position: relative; z-index: 1; width: 100%; height: clamp(375px,53vw,630px); object-fit: cover; }
.cdpsi-hero-figure figcaption { position: relative; z-index: 1; display: flex; justify-content: space-between; padding: .95rem 0 0 1rem; color: var(--cdpsi-muted); font-family: Manrope, Arial, sans-serif; font-size: .6rem; font-weight: 700; letter-spacing: .13em; }
.cdpsi-origin { position: relative; padding-top: clamp(7rem,13vw,11rem) !important; padding-bottom: clamp(7rem,13vw,12rem) !important; background-image: linear-gradient(rgba(23,63,60,.96), rgba(23,63,60,.96)), url('assets/images/cdpsi-textura-origen.jpg'); background-position: center; background-size: cover; }
.cdpsi-origin::before { position: absolute; top: 32px; right: -2vw; left: -2vw; height: 140px; border-top: 1px dashed var(--cdpsi-pale-clay); border-radius: 47% 53% 0 0; content: ''; opacity: .65; transform: rotate(-5deg); }
.cdpsi-kicker { display: flex; justify-content: space-between; margin-bottom: clamp(4.5rem,10vw,9rem) !important; color: #d8e2dd; font-family: Manrope, Arial, sans-serif; font-size: .62rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cdpsi-origin-grid { gap: 2rem !important; }
.cdpsi-origin-aside { color: var(--cdpsi-pale-clay); font-size: clamp(1.15rem,1.8vw,1.55rem); font-weight: 500; line-height: 1.55; }
.cdpsi-heading { letter-spacing: -.045em; line-height: .96 !important; }
.cdpsi-origin .cdpsi-heading { color: var(--cdpsi-paper); }
.cdpsi-origin-copy { max-width: 480px; color: #d8e2dd; line-height: 1.8; }
.cdpsi-origin .wp-block-button.is-style-outline .wp-block-button__link { border-color: transparent; color: var(--cdpsi-paper); padding-left: 0; }
.cdpsi-practices { padding-top: clamp(7rem,12vw,11rem) !important; padding-bottom: clamp(7rem,11vw,10rem) !important; }
.cdpsi-practice-header { align-items: end !important; gap: 4rem !important; }
.cdpsi-practice-intro { max-width: 330px; margin-left: auto !important; margin-bottom: 2rem !important; color: var(--cdpsi-muted); line-height: 1.75; }
.cdpsi-service-list { margin-top: 4.5rem !important; border-top: 1px solid var(--cdpsi-line); }
.cdpsi-service { display: grid; grid-template-columns: 10% 32% 1fr auto; gap: 1.5rem; align-items: center; min-height: 140px; padding: 1.75rem 0; border-bottom: 1px solid var(--cdpsi-line); transition: padding .25s var(--cdpsi-ease), background .25s var(--cdpsi-ease); }
.cdpsi-service:hover { padding-right: 1.3rem; padding-left: 1.3rem; background: #efe9dd; }
.cdpsi-service-number { margin: 0 !important; color: var(--cdpsi-clay); font-family: Manrope, Arial, sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .12em; }
.cdpsi-service-name { margin: 0 !important; font-size: clamp(1.85rem,3.2vw,3.4rem); letter-spacing: -.035em; }
.cdpsi-service-text { max-width: 360px; margin: 0 !important; color: var(--cdpsi-muted); font-size: .87rem; line-height: 1.7; }
.cdpsi-service-arrow { display: grid; width: 42px; height: 42px; margin: 0 !important; place-items: center; }
.cdpsi-service-arrow a { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--cdpsi-line); border-radius: 50%; color: var(--cdpsi-ink); font-family: 'DM Serif Display', Georgia, serif; font-size: 1.4rem; line-height: 1; transition: background .2s var(--cdpsi-ease), color .2s var(--cdpsi-ease), transform .2s var(--cdpsi-ease); }
.cdpsi-service-arrow a:hover { background: var(--cdpsi-ink); color: var(--cdpsi-paper); transform: rotate(45deg); }
.cdpsi-encounter { align-items: center !important; gap: clamp(2rem,10vw,10rem) !important; padding-top: clamp(6rem,11vw,10rem) !important; padding-bottom: clamp(6rem,11vw,10rem) !important; }
.cdpsi-space-figure { position: relative; max-width: 690px; }
.cdpsi-space-figure::after { position: absolute; right: -1.2rem; bottom: -1.2rem; width: 43%; height: 37%; border: 1px solid var(--cdpsi-clay); content: ''; }
.cdpsi-space-figure img { position: relative; z-index: 1; width: 100%; height: clamp(370px,43vw,560px); object-fit: cover; }
.cdpsi-space-copy { max-width: 475px; }
.cdpsi-space-copy > p:not(.cdpsi-eyebrow) { max-width: 410px; color: #385049; line-height: 1.78; }
.cdpsi-quiet-note { display: grid; grid-template-columns: 43px 1fr; gap: 1rem; margin-top: 3.2rem !important; color: var(--cdpsi-ink); font-family: 'DM Serif Display', Georgia, serif; font-size: 1.35rem; line-height: 1.34; }
.cdpsi-quiet-note::before { height: 1px; margin-top: .75rem; background: var(--cdpsi-clay); content: ''; }
.cdpsi-care { padding-top: clamp(3rem,6vw,6rem) !important; }
.cdpsi-care-figure { max-width: 1420px; }
.cdpsi-care-figure img { width: 100%; height: clamp(360px,52vw,670px); object-fit: cover; object-position: center 59%; }
.cdpsi-caption { color: var(--cdpsi-muted); font-family: Manrope, Arial, sans-serif; font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.cdpsi-contact { padding-top: clamp(7rem,12vw,11rem) !important; padding-bottom: clamp(7rem,11vw,10rem) !important; }
.cdpsi-contact .cdpsi-kicker { margin-bottom: clamp(4rem,8vw,7rem) !important; color: rgba(255,255,255,.7); }
.cdpsi-contact-grid { align-items: end !important; gap: 4rem !important; }
.cdpsi-contact-heading { margin-bottom: 0 !important; color: var(--cdpsi-paper); }
.cdpsi-contact-heading em { color: var(--cdpsi-deep); }
.cdpsi-contact-copy { max-width: 380px; color: #fff8ee; line-height: 1.75; }
.cdpsi-contact .wp-block-button { width: 100%; margin-top: 1.65rem; }
.cdpsi-contact .wp-block-button__link { width: 100%; background: var(--cdpsi-paper); color: var(--cdpsi-ink); }
.cdpsi-footer { min-height: 142px; }
.cdpsi-footer .cdpsi-brand-wordmark { color: var(--cdpsi-paper); }
.cdpsi-footer .cdpsi-brand-location { color: #bdcec7; }
.cdpsi-footer-tagline { font-family: 'DM Serif Display', Georgia, serif; font-size: 1.05rem; }
.cdpsi-footer-link { color: #d8e2dd; font-family: Manrope, Arial, sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 781px) {
  .cdpsi-header { min-height: 76px; }
  .cdpsi-header .wp-block-group { gap: .9rem !important; }
  .cdpsi-hero { min-height: auto; }
  .cdpsi-hero-copy { padding-bottom: 0; }
  .cdpsi-origin-aside { display: none; }
  .cdpsi-practice-intro { margin-left: 0 !important; }
  .cdpsi-service { grid-template-columns: 50px 1fr auto; gap: 1rem; min-height: 0; }
  .cdpsi-service-text { grid-column: 2 / 4; }
  .cdpsi-service:hover { padding-right: .4rem; padding-left: .4rem; }
  .cdpsi-space-copy, .cdpsi-contact-copy { max-width: 100%; }
  .cdpsi-footer { text-align: left; }
}
@media (max-width: 490px) {
  .cdpsi-hero-title { font-size: clamp(3.55rem,18vw,4.7rem) !important; }
  .cdpsi-heading { font-size: clamp(2.55rem,13vw,3.6rem) !important; }
  .cdpsi-service { grid-template-columns: 38px 1fr auto; }
  .cdpsi-service-name { font-size: 2rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
