/* Casa de Peñasco theme — layout details theme.json can't express. Colors and type live in theme.json. */
:root{--cp-line:rgba(14,58,71,.14);--cp-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ---------- Page transitions (Chrome, Edge, Safari 18.2+; other browsers navigate normally) ---------- */
@view-transition{navigation:auto}
.cp-header{view-transition-name:cp-header}
.cp-hero .wp-block-cover__image-background{view-transition-name:cp-hero}
.cdp-gallery .cdp-ph:first-child img{view-transition-name:cp-photo}
::view-transition-group(*){animation-duration:.62s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-old(root){animation:cp-vt-out .28s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:cp-vt-in .55s .08s cubic-bezier(.2,.7,.2,1) both}
::view-transition-old(cp-header),::view-transition-new(cp-header){animation:none;mix-blend-mode:normal}
::view-transition-image-pair(cp-photo),::view-transition-image-pair(cp-hero){isolation:auto}
::view-transition-old(cp-photo),::view-transition-new(cp-photo),::view-transition-old(cp-hero),::view-transition-new(cp-hero){height:100%;object-fit:cover;overflow:clip}
@keyframes cp-vt-out{to{opacity:0}}
@keyframes cp-vt-in{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Quiet reveals (added by theme.js only for things below the fold) */
.js .cp-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}
.js .cp-reveal.is-in{opacity:1;transform:none}
.js .wp-block-image.cp-reveal img{clip-path:inset(6% 0 0 0);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.js .wp-block-image.cp-reveal.is-in img{clip-path:inset(0)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
::selection{background:var(--wp--preset--color--seaglass)}
a{text-decoration-thickness:1px;text-underline-offset:.22em}
:where(a,button,input,select,summary,textarea):focus-visible{outline:2px solid var(--wp--preset--color--gold);outline-offset:3px}
.wp-site-blocks{padding-top:0}
.wp-site-blocks > *{margin-block-start:0}

/* ---------- Header ---------- */
.cp-header{position:sticky;top:0;z-index:50;background:var(--wp--preset--color--salt);border-bottom:1px solid transparent;transition:background-color .35s var(--cp-ease),border-color .35s,color .35s,transform .45s var(--cp-ease)}
.cp-header.is-tucked{transform:translateY(-100%)}
.admin-bar .cp-header{top:32px}
.cp-header-inner{max-width:calc(1240px + 2 * clamp(1rem,4vw,3rem));margin:0 auto;padding:22px clamp(1rem,4vw,3rem)!important;gap:2rem}
.cp-header .wp-block-site-title a{text-decoration:none;color:inherit;white-space:nowrap}
.cp-header .wp-block-navigation a{text-decoration:none}
.cp-header .wp-block-navigation .wp-block-navigation-item__content{position:relative;padding:4px 0}
.cp-header .wp-block-navigation .wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--wp--preset--color--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--cp-ease)}
.cp-header .wp-block-navigation .wp-block-navigation-item__content:hover::after{transform:scaleX(1)}
.cp-header-nav{gap:2.4rem}
.cp-header-cta .wp-block-button__link{padding:.7rem 1.4rem;font-size:.9rem}
.cp-header.is-scrolled{border-bottom-color:var(--cp-line)}
.home .cp-header:not(.is-scrolled),.page-template-page-wide .cp-header:not(.is-scrolled){border-bottom-color:rgba(255,255,255,.18)}

/* Over a photo (home page and full-width pages): transparent and white until you scroll. */
.home .cp-header,.page-template-page-wide .cp-header{position:fixed;left:0;right:0;background:transparent;color:#fff}
.home .cp-header:not(.is-scrolled),.page-template-page-wide .cp-header:not(.is-scrolled){background:linear-gradient(rgba(8,39,49,.38),rgba(8,39,49,0))}
.home .cp-header:not(.is-scrolled) a,.page-template-page-wide .cp-header:not(.is-scrolled) a,
.home .cp-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open,.page-template-page-wide .cp-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open{color:#fff}
.home .cp-header:not(.is-scrolled) .is-style-outline .wp-block-button__link,.page-template-page-wide .cp-header:not(.is-scrolled) .is-style-outline .wp-block-button__link{border-color:rgba(255,255,255,.7);color:#fff}
.home .cp-header.is-scrolled,.page-template-page-wide .cp-header.is-scrolled{background:var(--wp--preset--color--salt);color:var(--wp--preset--color--tide)}
.wp-block-navigation__responsive-container.is-menu-open{padding:28px clamp(1rem,4vw,3rem)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:1.1rem;font-family:var(--wp--preset--font-family--display);font-size:2rem}
.wp-block-navigation__responsive-container.is-menu-open a{color:var(--wp--preset--color--tide)!important}
@media (max-width:1240px){.cp-header .cp-header-cta{display:none!important}}
.cp-header .wp-block-navigation__container{flex-wrap:nowrap}
.cp-header-cta .wp-block-button__link{white-space:nowrap}
@media (max-width:1100px){.cp-header .wp-block-navigation{--wp--style--block-gap:1.3rem;gap:1.3rem}.cp-header .wp-block-navigation .wp-block-navigation__container{gap:1.3rem}}
@media (max-width:600px){.admin-bar .cp-header{top:0}.cp-header-inner{padding-top:16px!important;padding-bottom:16px!important}.cp-header .wp-block-site-title{font-size:1.3rem}}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link{border:1px solid currentColor;background:transparent;color:inherit;padding:.9rem 1.8rem}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{background:var(--wp--preset--color--tide);border-color:var(--wp--preset--color--tide);color:#fff}
.wp-block-button.is-style-light > .wp-block-button__link{background:#fff;color:var(--wp--preset--color--tide)}
.wp-block-button.is-style-light > .wp-block-button__link:hover{background:var(--wp--preset--color--sand)}
.wp-block-button.is-style-outline-light > .wp-block-button__link{border-color:rgba(255,255,255,.75);color:#fff}
.wp-block-button.is-style-outline-light > .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--tide);border-color:#fff}
.wp-block-button__link{transition:background-color .25s,color .25s,border-color .25s}

/* ---------- Heroes ---------- */
.cp-hero{position:relative;padding-top:140px!important;padding-bottom:clamp(2rem,6vw,4.5rem)!important}
.cp-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,39,49,.42),rgba(8,39,49,0) 62%),linear-gradient(180deg,rgba(8,39,49,.15) 0%,rgba(8,39,49,0) 30%,rgba(8,39,49,.12) 55%,rgba(8,39,49,.62) 100%)}
.wp-block-cover.cp-hero .wp-block-cover__inner-container,.wp-block-cover.cp-band .wp-block-cover__inner-container{position:relative;z-index:2;width:100%!important;max-width:1240px;margin-inline:auto!important;padding-inline:0!important}
.cp-hero .wp-block-cover__inner-container > *,.cp-band .wp-block-cover__inner-container > *{margin-left:0!important;margin-right:auto!important}
.cp-hero,.cp-band{padding-left:clamp(1rem,4vw,3rem)!important;padding-right:clamp(1rem,4vw,3rem)!important}
.cp-hero-title{max-width:11.5ch;line-height:.94!important;letter-spacing:-.025em!important;margin-block:0!important;font-weight:400}
.cp-hero-lede{max-width:34ch;margin-top:1.4rem!important;opacity:.95}
.cp-hero-search{max-width:1000px;margin-top:clamp(2rem,4vw,3.2rem)!important}
.cp-hero-short .cp-hero-title{max-width:14ch}
.cp-kicker{margin-block:0 .9rem!important;font-size:1.05rem;letter-spacing:.01em;opacity:.9}
@media (prefers-reduced-motion:no-preference){
	.home .cp-hero-title,.home .cp-hero-lede,.home .cp-hero-search{animation:cp-rise 1.1s var(--cp-ease) both}
	.home .cp-hero-lede{animation-delay:.15s}
	.home .cp-hero-search{animation-delay:.3s}
	.home .cp-hero .wp-block-cover__image-background{animation:cp-settle 2.4s var(--cp-ease) both}
}
@keyframes cp-rise{from{transform:translateY(22px)}}
@keyframes cp-settle{from{transform:scale(1.06)}}

/* ---------- Sections ---------- */
.cp-section-title{margin-block:0 clamp(1.6rem,3vw,2.6rem)!important}
.cp-row-head{margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.cp-row-head .cp-section-title{margin-block:0!important}
.cp-intro h2{line-height:1.05}
.cp-textlink a,.cp-place-link a{text-decoration:none;border-bottom:1px solid var(--wp--preset--color--gold);padding-bottom:2px}
.cp-textlink a:hover,.cp-place-link a:hover{color:var(--wp--preset--color--gold)}
.cp-muted{color:var(--wp--preset--color--stone)}
.cp-lede{max-width:46ch;margin-left:0!important;margin-bottom:clamp(2rem,4vw,3rem)!important}
.wp-block-heading a{text-decoration:none;color:inherit}
.wp-block-heading a:hover{color:var(--wp--preset--color--gold)}

/* Resorts */
.wp-block-image.is-style-tall img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;border-radius:2px}
.wp-block-image.is-style-tall{overflow:hidden;margin-bottom:1.4rem}
.wp-block-image.is-style-tall a img{transition:transform 1.2s var(--cp-ease)}
.wp-block-image.is-style-tall a:hover img{transform:scale(1.03)}
.cp-resorts h3{margin:0 0 .5rem}
.cp-resorts p{max-width:40ch;color:var(--wp--preset--color--stone)}
@media (min-width:782px){.cp-stagger{margin-top:clamp(4rem,10vw,9rem)}}

/* Sunset band */
.cp-band{position:relative}
.cp-band::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,39,49,.62),rgba(8,39,49,.1) 70%)}

/* Lists */
.cp-ticks{list-style:none;padding:0;margin:1.6rem 0 0;border-top:1px solid var(--cp-line)}
.cp-ticks li{padding:.8rem 0 .8rem 1.6rem;border-bottom:1px solid var(--cp-line);position:relative}
.cp-ticks li::before{content:"";position:absolute;left:0;top:1.45em;width:.8rem;height:1px;background:var(--wp--preset--color--gold)}
.cp-route{list-style:none;counter-reset:cp;padding:0;margin:1.8rem 0 0}
.cp-route li{counter-increment:cp;position:relative;padding:0 0 1.6rem 3.4rem;margin:0}
.cp-route li::before{content:counter(cp);position:absolute;left:0;top:-.15em;font-family:var(--wp--preset--font-family--display);font-size:1.7rem;color:var(--wp--preset--color--gold);line-height:1}
.cp-route li strong{font-weight:500;font-size:1.08rem}
.cp-checklist{border-top:2px solid var(--wp--preset--color--gold)}
.cp-checklist h3{margin-top:0}

/* Guide places */
.cp-places{gap:clamp(1.6rem,3vw,2.6rem) clamp(1.4rem,3vw,2.6rem)!important}
.cp-place{border-top:1px solid var(--cp-line);padding-top:1.2rem}
.cp-place > *{margin:0!important}
.cp-place > * + *{margin-top:.55rem!important}
.cp-place-kind{font-size:.88rem;color:#7d6232}
.cp-place-name{font-size:1.5rem!important;line-height:1.15}
.cp-place-tip{font-size:.92rem;color:var(--wp--preset--color--stone);padding-left:.9rem;border-left:1px solid var(--wp--preset--color--seaglass)}

/* FAQ */
.cp-faq .wp-block-details{border-top:1px solid var(--cp-line);padding:1.3rem 0;margin:0}
.cp-faq .wp-block-details:last-child{border-bottom:1px solid var(--cp-line)}
.cp-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;font-family:var(--wp--preset--font-family--display);font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.2}
.cp-faq summary::-webkit-details-marker{display:none}
.cp-faq summary::after{content:"+";font-family:var(--wp--preset--font-family--body);font-weight:300;color:var(--wp--preset--color--gold);transition:transform .3s var(--cp-ease)}
.cp-faq details[open] summary::after{transform:rotate(45deg)}
.cp-faq details > :not(summary){max-width:66ch;color:var(--wp--preset--color--stone)}

/* Gallery */
.cp-gallery.wp-block-gallery img{border-radius:2px}
.cp-gallery.wp-block-gallery{gap:8px!important}

/* Owners band */
.cp-owners h2{margin-bottom:.6rem}
.cp-owners .wp-block-buttons{justify-content:flex-end}
@media (max-width:781px){.cp-owners .wp-block-buttons{justify-content:flex-start}}

/* Property page */
.cp-property .wp-block-post-title{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important;text-wrap:balance}

/* ---------- Footer ---------- */
.cp-footer{margin-top:0!important}
.cp-footer a{color:var(--wp--preset--color--salt);text-decoration:none}
.cp-footer a:hover{color:var(--wp--preset--color--gold)}
.cp-footer .wp-block-site-title a{color:var(--wp--preset--color--salt)}
.cp-foot-h{font-family:var(--wp--preset--font-family--body)!important;font-size:.9rem!important;font-weight:400!important;color:var(--wp--preset--color--seaglass)!important;letter-spacing:.02em!important;margin-bottom:.8rem!important}
.cp-foot-list{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.cp-muted-light{color:rgba(248,248,245,.72)}
.cp-foot-rule{border-color:rgba(248,248,245,.14)!important;background:rgba(248,248,245,.14)!important;color:rgba(248,248,245,.14)!important;opacity:1}

/* About + owner pages */
@media (min-width:900px){.cp-route-wide{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.cp-route-wide li{padding:3rem 0 0;border-top:1px solid var(--cp-line)}.cp-route-wide li::before{top:.9rem}}
.cp-owner-info h2{margin-bottom:1rem!important}
.cp-owner-info .cp-ticks{margin-top:0}
.cp-owners .wp-block-buttons{gap:.8rem}
/* Menu collapses to the menu button below 900px (core's default is 600px) */
.cp-header .wp-block-navigation-item__content{white-space:nowrap}
@media (max-width:900px){
	.cp-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex!important}
	.cp-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
}

/* Why book direct strip */
.cp-why{border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}
.cp-why .wp-block-column{padding:2rem 0}
.cp-why .wp-block-column + .wp-block-column{border-left:1px solid var(--cp-line);padding-left:clamp(1.2rem,3vw,2.5rem)}
.cp-why h3{font-size:1.45rem!important;margin:0 0 .4rem!important}
.cp-why p{margin:0;color:var(--wp--preset--color--stone);font-size:.98rem}
@media (max-width:781px){.cp-why .wp-block-column + .wp-block-column{border-left:0;padding-left:0;border-top:1px solid var(--cp-line)}.cp-why .wp-block-column{padding:1.4rem 0}}

/* =====================================================================
   v1.3 refinement: same palette, a quieter and more tailored finish.
   ===================================================================== */
:root{--cp-hair:rgba(14,58,71,.12);--cp-gold-hair:rgba(185,151,91,.55)}

/* Wordmark: the business name set as a logotype */
.cp-wordmark{margin:0!important;font-family:var(--wp--preset--font-family--display);font-weight:500;font-size:1.02rem;line-height:1;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.cp-wordmark a{text-decoration:none;color:inherit;padding-block:.35em;display:inline-block}
.cp-wordmark a:hover{color:inherit;opacity:.8}
.cp-wordmark-lg{font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:.22em}
.cp-foot-tag{font-family:var(--wp--preset--font-family--display);font-size:1.3rem;line-height:1.3;margin:1.4rem 0 .6rem!important;color:var(--wp--preset--color--gold)}
@media (max-width:600px){.cp-wordmark{font-size:.9rem;letter-spacing:.18em}}

/* Header: lighter, more space between links */
.cp-header-inner{padding-block:26px!important}
.cp-header .wp-block-navigation{font-weight:400;letter-spacing:.015em}
.cp-header.is-scrolled .cp-header-inner{padding-block:16px!important;transition:padding .35s var(--cp-ease)}

/* Body copy: a little lighter and airier */
body{font-weight:400}
p.has-large-font-size,.cp-hero-lede{font-weight:300;line-height:1.55}
h1,h2,h3,.wp-block-heading{text-wrap:balance}

/* Buttons: tailored, not pills */
.wp-block-button__link{border-radius:2px}
.wp-block-button.is-style-outline > .wp-block-button__link{padding:1rem 2.1rem}
.cp-header-cta .wp-block-button__link{padding:.72rem 1.5rem;font-size:.86rem}

/* Hero: the brand line, one phrase per line */
.cp-hero::before{background:linear-gradient(90deg,rgba(8,39,49,.55),rgba(8,39,49,.08) 66%),linear-gradient(180deg,rgba(8,39,49,.22) 0%,rgba(8,39,49,0) 28%,rgba(8,39,49,.1) 52%,rgba(8,39,49,.7) 100%)}
.home .cp-hero-title{max-width:none;font-size:clamp(3rem,8.2vw,7.6rem)!important;line-height:.98!important;letter-spacing:-.03em!important}
.home .cp-hero-title span{display:block}
.home .cp-hero-title span:nth-child(2){padding-left:clamp(0rem,6vw,6.5rem)}
.home .cp-hero-title span:nth-child(3){padding-left:clamp(0rem,12vw,13rem)}
.home .cp-hero-lede{max-width:44ch;margin-top:2rem!important;padding-top:1.6rem;position:relative}
.home .cp-hero-lede::before{content:"";position:absolute;left:0;top:0;width:72px;height:1px;background:var(--wp--preset--color--gold)}
@media (prefers-reduced-motion:no-preference){
	.home .cp-hero-title span{animation:cp-line 1.2s var(--cp-ease) both}
	.home .cp-hero-title span:nth-child(2){animation-delay:.12s}
	.home .cp-hero-title span:nth-child(3){animation-delay:.24s}
	.home .cp-hero-title{animation:none}
	.home .cp-hero-lede{animation-delay:.42s}
	.home .cp-hero-search{animation-delay:.55s}
}
@keyframes cp-line{from{opacity:0;transform:translateY(.35em)}}
@media (max-width:600px){.home .cp-hero-title span:nth-child(2),.home .cp-hero-title span:nth-child(3){padding-left:0}}

/* Statement after the hero */
.cp-statement{font-size:clamp(2.1rem,4.4vw,3.9rem)!important;line-height:1.08!important;max-width:20ch}
.cp-intro{align-items:flex-end}
.cp-intro .is-vertically-aligned-bottom p.has-large-font-size{color:var(--wp--preset--color--stone)}

/* Sections breathe a little more */
.cp-section-title{font-size:clamp(2rem,3.6vw,3.1rem)!important}
.cp-why{border-color:var(--cp-hair)}
.cp-why h3{font-size:1.5rem!important}
.cp-why .wp-block-column{padding-block:2.4rem}
.cp-resorts h3{font-size:clamp(1.7rem,2.6vw,2.2rem)!important}
.wp-block-image.is-style-tall img{border-radius:0}

/* Text links: gold hairline that thickens on hover */
.cp-textlink a,.cp-place-link a{border-bottom-color:var(--cp-gold-hair);transition:border-color .3s,color .3s}
.cp-textlink a:hover,.cp-place-link a:hover{border-bottom-color:var(--wp--preset--color--gold)}

/* Footer */
.cp-footer .cp-wordmark a{color:var(--wp--preset--color--salt)}
.cp-foot-h{letter-spacing:.04em!important}

/* Brand tagline block (List your home page) */
.cp-tagline{margin:clamp(1.4rem,3vw,2.4rem) 0 clamp(2.6rem,6vw,4.5rem)!important;padding-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--cp-hair)}
.cp-tagline-title{font-size:clamp(2.1rem,4.4vw,3.9rem)!important;line-height:.98!important;letter-spacing:-.03em!important;margin:0!important}
.cp-tagline-title span{display:block}
.cp-tagline-title span:nth-child(2){padding-left:clamp(0rem,5vw,5rem)}
.cp-tagline-title span:nth-child(3){padding-left:clamp(0rem,10vw,10rem)}
.cp-tagline-text{max-width:46ch;margin-top:2rem!important;padding-top:1.5rem;position:relative;color:var(--wp--preset--color--stone);font-weight:300}
.cp-tagline-text::before{content:"";position:absolute;left:0;top:0;width:72px;height:1px;background:var(--wp--preset--color--gold)}
@media (max-width:600px){.cp-tagline-title span:nth-child(2),.cp-tagline-title span:nth-child(3){padding-left:0}}

/* Footer on phones: link lists side by side */
@media (max-width:781px){
	.cp-footer .wp-block-columns{display:grid!important;grid-template-columns:1fr 1fr;gap:2rem 1.4rem!important}
	.cp-footer .wp-block-columns > .wp-block-column:first-child{grid-column:1/-1}
}
.cdp-map-wrap{margin-top:clamp(2rem,4vw,3rem)!important}
