/*
Theme Name: Bisa Cueva Del Gato
Theme URI: https://example.com
Author: Bisa Cueva Del Gato
Description: Dark boutique hotel theme. Orange accent #FFD3AB, Cormorant Garamond + Satoshi.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: bisa-cueva
*/
:root {
--color-accent:#FFD3AB; --color-accent-hover:#FFBE87; --color-accent-active:#FFA860;
--color-accent-muted:rgba(255,211,171,.15); --color-text-on-accent:#1a1410;
--color-bg:#141210; --color-surface:#1c1a17; --color-surface-2:#231f1b; --color-surface-3:#2a2520;
--color-divider:rgba(255,255,255,.07); --color-border:rgba(255,255,255,.10);
--color-text:#e8e4de; --color-text-muted:#a09890; --color-text-faint:#5a534c;
--font-display:'Cormorant Garamond','Georgia',serif;
--font-body:'Satoshi','Inter',sans-serif;
--text-xs:clamp(.75rem,.7rem + .25vw,.875rem); --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
--text-base:clamp(1rem,.95rem + .25vw,1.125rem); --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem); --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
--text-3xl:clamp(2.5rem,1rem + 4vw,5rem); --text-hero:clamp(3rem,.5rem + 7vw,8rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
--space-20:5rem;--space-24:6rem;
--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;
--shadow-sm:0 1px 3px rgba(0,0,0,.35);--shadow-md:0 4px 16px rgba(0,0,0,.45);--shadow-lg:0 12px 40px rgba(0,0,0,.60);
--transition:180ms cubic-bezier(.16,1,.3,1);
--content-narrow:640px;--content-default:960px;--content-wide:1200px;--nav-height:72px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.65}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15;font-family:var(--font-display);color:var(--color-text)}
p,li,figcaption{text-wrap:pretty;max-width:72ch}
a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--color-accent-hover)}
button{cursor:pointer;background:none;border:none}
::selection{background:rgba(255,211,171,.2);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.container{max-width:var(--content-default);margin-inline:auto;padding-inline:var(--space-6)}
.container--wide{max-width:var(--content-wide);margin-inline:auto;padding-inline:var(--space-6)}
.container--narrow{max-width:var(--content-narrow);margin-inline:auto;padding-inline:var(--space-6)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);border:1.5px solid transparent;transition:background var(--transition),color var(--transition),border-color var(--transition);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent)}
.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-text-on-accent)}
.btn-outline{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}
.btn-outline:hover{background:var(--color-accent-muted)}
.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}
.btn-ghost:hover{color:var(--color-text);border-color:var(--color-text-muted)}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card__img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__body{padding:var(--space-5)}
.card__label{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-2);font-family:var(--font-body)}
.card__title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--space-2)}
.card__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.field{display:flex;flex-direction:column;gap:var(--space-2)}
.field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);letter-spacing:.04em}
.field input,.field textarea,.field select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-text);font-size:var(--text-base);transition:border-color var(--transition),box-shadow var(--transition);width:100%}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(255,211,171,.12)}
.field textarea{min-height:140px;resize:vertical}
.fade-in{opacity:1}
@supports(animation-timeline:scroll()){.fade-in{opacity:0;animation:reveal-fade linear both;animation-timeline:view();animation-range:entry 0% entry 80%}}
@keyframes reveal-fade{to{opacity:1}}
.section-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3)}
.section-header{margin-bottom:var(--space-10)}
.section-header h2{font-size:var(--text-2xl)}
.section-header--centered{text-align:center}

/* CF7 FORM STYLES */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  background: var(--color-surface-2) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text) !important;
  padding: var(--space-3) var(--space-4) !important;
  width: 100% !important;
  font-size: var(--text-base) !important;
  transition: border-color var(--transition) !important;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--color-accent) !important;
  box-shadow: 0 0 0 3px rgba(255, 211, 171, .12) !important;
}

.wpcf7-form label {
  display: block;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-muted);
  letter-spacing: .04em;
  margin-bottom: var(--space-5);
}

.wpcf7-form .wpcf7-textarea {
  min-height: unset !important;
  height: auto !important;
}

.wpcf7-form .wpcf7-text,
.wpcf7-form .wpcf7-email {
  height: 48px !important;
  min-height: unset !important;
  padding-block: 0 !important;
}

.wpcf7-submit {
  background: var(--color-accent) !important;
  color: var(--color-text-on-accent) !important;
  border: 1.5px solid var(--color-accent) !important;
  border-radius: var(--radius-sm) !important;
  font-family: var(--font-body) !important;
  font-size: var(--text-sm) !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  padding: var(--space-3) var(--space-6) !important;
  cursor: pointer !important;
  transition: background var(--transition), border-color var(--transition) !important;
}

.wpcf7-submit:hover {
  background: var(--color-accent-hover) !important;
  border-color: var(--color-accent-hover) !important;
}
