/*
Theme Name: Astra Child – Hotel Patagon
Template: astra
Version: 1.0.0
Description: Boutique-hotel design pass for Hotel Patagon (Bariloche). Single source of truth for site styling; supersedes the hp-* block injected by the Hotel Embeds plugin.
*/

/* ================= TOKENS ================= */
:root{
	--hp-ink:#20302a;
	--hp-muted:#5d6b64;
	--hp-paper:#fbfaf7;
	--hp-stone:#f1efe8;
	--hp-pine:#2c4a3b;
	--hp-pine-deep:#1e3529;
	--hp-brass:#9c7a3f;
	--hp-line:#ddd7ca;
	--hp-white:#ffffff;
	--hp-radius:8px;
	--hp-display:"Fraunces",Georgia,"Times New Roman",serif;
	--hp-body:"Archivo","Helvetica Neue",Arial,sans-serif;
}

/* ================= BASE (scoped to beat Astra inline CSS) ================= */
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
html body{background:var(--hp-paper);color:var(--hp-ink);font-family:var(--hp-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html body a{color:var(--hp-pine)}
::selection{background:var(--hp-pine);color:#fff}

/* ================= LAYOUT WRAPPERS (override Astra flex container) ================= */
.site-content .ast-container{display:block;max-width:1240px;margin:0 auto;padding:0}
#primary{margin:0;padding:0;width:auto}
.entry-content{max-width:1080px;margin:0 auto;padding:56px 24px 72px}

/* ================= HEADER ================= */
.hp-header{position:sticky;top:0;z-index:998;background:rgba(251,250,247,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hp-line)}
.hp-container{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
.hp-header-inner{display:flex;align-items:center;gap:36px;height:76px}
.hp-logo{font-family:var(--hp-display);font-weight:600;font-size:1.18rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hp-pine-deep);text-decoration:none;white-space:nowrap}
.hp-nav{margin-left:auto}
.hp-nav-list{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.hp-nav-list a{font-size:.95rem;font-weight:500;color:var(--hp-ink);text-decoration:none;position:relative;padding:6px 0}
.hp-nav-list a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--hp-brass);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hp-nav-list a:hover{color:var(--hp-pine)}
.hp-nav-list a:hover::after,.hp-nav-list .current-menu-item > a::after{transform:scaleX(1)}
.hp-nav-list .current-menu-item > a{color:var(--hp-pine);font-weight:600}
.hp-header-cta{margin-left:8px;flex-shrink:0}
.hp-burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative;z-index:1001}
.hp-burger span{display:block;width:22px;height:2px;background:var(--hp-pine-deep);margin:5px auto;transition:transform .25s ease,opacity .2s ease}

/* ================= BUTTONS ================= */
.hp-btn,.entry-content a.button,.hp-cta a.button{display:inline-block;background:var(--hp-pine);color:#fff;font-family:var(--hp-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;text-decoration:none;padding:14px 30px;border-radius:3px;border:1px solid var(--hp-pine);transition:background .2s ease,transform .2s ease}
.hp-btn:hover,.entry-content a.button:hover,.hp-cta a.button:hover{background:var(--hp-pine-deep);border-color:var(--hp-pine-deep);color:#fff;transform:translateY(-1px)}
.hp-btn-ghost{display:inline-block;background:rgba(16,24,20,.3);color:#fff;font-size:.95rem;font-weight:600;padding:14px 30px;border-radius:3px;border:1px solid rgba(255,255,255,.7);text-decoration:none;transition:background .2s ease}
.hp-btn-ghost:hover{background:rgba(16,24,20,.5);color:#fff}

/* ================= CONTENT TYPOGRAPHY ================= */
.entry-header{padding-top:64px;padding-bottom:8px}
.entry-header:not(:has(.entry-title)){display:none}
.entry-title{font-family:var(--hp-display)!important;font-size:clamp(2rem,4vw,2.9rem)!important;font-weight:500;line-height:1.12;color:var(--hp-pine-deep);margin:0;max-width:760px}
.entry-title::before{content:"";display:block;width:56px;height:3px;background:var(--hp-brass);margin-bottom:20px}
.entry-content h2{font-family:var(--hp-display)!important;font-size:clamp(1.7rem,3vw,2.4rem)!important;font-weight:500;line-height:1.18;color:var(--hp-pine-deep);margin:64px 0 20px}
.entry-content > section:first-child h2,.entry-content h2:first-of-type{margin-top:8px}
.entry-content h3{font-family:var(--hp-display)!important;font-size:1.35rem!important;font-weight:500;color:var(--hp-pine-deep);margin:32px 0 12px}
.entry-content > p{max-width:72ch;margin:0 0 1.4em;color:var(--hp-ink)}
.entry-content p a,.entry-content li a{color:var(--hp-pine);text-decoration:none;border-bottom:1px solid rgba(44,74,59,.35);transition:border-color .2s ease,color .2s ease}
.entry-content p a:hover,.entry-content li a:hover{color:var(--hp-brass);border-color:var(--hp-brass)}
.entry-content ul{margin:0 0 1.6em;padding-left:1.35em;max-width:72ch}
.entry-content li{margin-bottom:.55em}
.entry-content li strong,.entry-content p strong{color:var(--hp-pine-deep);font-weight:600}
.entry-content img{max-width:100%;height:auto;display:block;border-radius:var(--hp-radius)}
.entry-content > p > img{width:100%;margin:28px 0}

/* ================= HERO (home) ================= */
.entry-content > .hp-hero{position:relative;width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:-56px;min-height:min(86vh,700px);display:flex;align-items:flex-end;border-radius:0;overflow:hidden}
.entry-content > .hp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.entry-content > .hp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(14,22,18,.86) 0%,rgba(14,22,18,.42) 48%,rgba(14,22,18,.22) 100%)}
.entry-content > .hp-hero .hp-hero-text{position:relative;z-index:2;padding-top:96px;padding-bottom:72px;padding-left:max(32px,calc((100vw - 1240px)/2 + 24px));padding-right:max(32px,calc((100vw - 1240px)/2 + 24px));max-width:860px;box-sizing:content-box}
.hp-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#d9c49a;margin:0 0 14px}
.hp-hero-text h1{font-family:var(--hp-display);font-size:clamp(2.5rem,5.4vw,4rem);font-weight:500;line-height:1.08;color:#fff;margin:0 0 20px;max-width:16ch}
.entry-content > .hp-hero .hp-hero-text p{color:rgba(255,255,255,.95);font-size:1.15rem;font-weight:500;max-width:48ch;margin:0 0 34px;line-height:1.6}
.hp-hero-actions{display:flex;gap:14px;flex-wrap:wrap}

/* ================= GRIDS & CARDS ================= */
.entry-content .hp-grid{display:grid;gap:24px;margin:36px 0}
.hp-grid-3{grid-template-columns:repeat(3,1fr)}
.hp-grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.hp-grid-3,.hp-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.hp-grid-3,.hp-grid-4{grid-template-columns:1fr}}
.entry-content .hp-card{background:#fff;border:1px solid var(--hp-line);border-radius:var(--hp-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.entry-content .hp-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px -20px rgba(32,48,42,.28)}
.entry-content .hp-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:0}
.hp-card-body{padding:20px 22px 24px}
.hp-card h3{font-size:1.28rem;margin:0 0 8px}
.hp-card p{margin:0;color:var(--hp-muted);font-size:.95rem;line-height:1.6;max-width:none}

/* ================= SPEC TABLES / PRICES / NOTES ================= */
.entry-content table.hp-table{width:100%;border-collapse:collapse;margin:24px 0;background:#fff;border:1px solid var(--hp-line)}
.hp-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--hp-brass);text-align:left;font-weight:600;padding:13px 18px;border-bottom:1px solid var(--hp-line)}
.hp-table td{padding:13px 18px;border-bottom:1px solid var(--hp-line);color:var(--hp-ink);font-size:.97rem}
.hp-table tr:last-child th,.hp-table tr:last-child td{border-bottom:none}
.entry-content .hp-price{font-family:var(--hp-display);font-size:1.45rem;font-weight:600;color:var(--hp-pine-deep);margin:10px 0 28px}
.entry-content .hp-price small{font-family:var(--hp-body);font-size:.9rem;font-weight:400;color:var(--hp-muted)}
.entry-content .hp-note{background:var(--hp-stone);border-left:3px solid var(--hp-brass);padding:16px 20px;border-radius:0 var(--hp-radius) var(--hp-radius) 0;color:var(--hp-muted);font-size:.95rem;margin:28px 0;max-width:none}

/* ================= SPLIT SECTION ================= */
.entry-content .hp-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:36px 0}
.entry-content .hp-split img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:900px){.entry-content .hp-split{grid-template-columns:1fr}}

/* ================= CTA BAND (full-bleed) ================= */
.entry-content > .hp-cta-band{width:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--hp-pine-deep);color:#fff;text-align:center;padding:76px 24px}
.hp-cta-band h2{color:#fff;margin-top:0;font-size:clamp(1.8rem,3.4vw,2.6rem)}
.hp-cta-band p{color:rgba(255,255,255,.75);max-width:56ch;margin:14px auto 30px}

/* ================= BOOKING (iframe page) ================= */
.entry-content .hp-booking-wrap iframe{width:100%;height:900px;border:none;border-radius:var(--hp-radius);background:#fff;display:block}
.hp-booking-alt{text-align:center;margin-top:16px;font-size:.9rem;color:var(--hp-muted)}

/* ================= FOOTER ================= */
.hp-footer{background:var(--hp-pine-deep);color:#cfd8d2;margin-top:0}
.hp-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;padding-top:64px;padding-bottom:56px}
@media (max-width:900px){.hp-footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.hp-footer-grid{grid-template-columns:1fr}}
.hp-logo-light{font-family:var(--hp-display);font-weight:600;font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;display:block;margin-bottom:14px}
.hp-f-brand p{font-size:.92rem;line-height:1.7;color:#a8b8ae;max-width:34ch;margin:0}
.hp-footer h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:#8fa396;margin:0 0 16px}
.hp-f-col ul{list-style:none;margin:0;padding:0}
.hp-f-col li{margin-bottom:10px;font-size:.92rem;line-height:1.55}
.hp-f-menu{display:block}
.hp-f-menu a,.hp-f-col a{color:#cfd8d2;text-decoration:none;transition:color .2s ease}
.hp-f-menu a:hover,.hp-f-col a:hover{color:#fff}
.hp-footer-bottom{border-top:1px solid rgba(255,255,255,.14)}
.hp-footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;padding-bottom:18px;font-size:.8rem;color:#8fa396}
@media (max-width:700px){.hp-footer-bottom-inner{flex-direction:column;text-align:center}}

/* ================= MOBILE HEADER / NAV ================= */
@media (max-width:959px){
	.hp-nav-list{display:none}
	.hp-burger{display:block}
	.hp-header-cta{margin-left:auto}
	.hp-nav.open .hp-nav-list{display:flex;flex-direction:column;align-items:flex-start;gap:4px;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid var(--hp-line);padding:12px 24px 20px;box-shadow:0 24px 40px -24px rgba(32,48,42,.25)}
	.hp-nav.open .hp-nav-list a{display:block;width:100%;padding:10px 0;font-size:1.05rem}
	.hp-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.hp-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
	.hp-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:600px){
	.hp-header-cta{display:none}
	.hp-logo{font-size:1.02rem;letter-spacing:.12em}
}

/* hp-rbw-protect: ReserBoutique booking widget - keep its own typography and spacing (overrides the .entry-content h2/h3/ul rules above) */
.entry-content .rbw-root h2.rbw-step-title{font-size:20px!important;font-weight:600;line-height:normal;margin:0 0 16px}
.entry-content .rbw-confirm h2{font-size:28px!important;margin:0 0 6px}
.entry-content .rbw-summary h3,.entry-content .rbw-root h3{font-size:17px!important;font-weight:600;margin:0 0 14px}
.entry-content .rbw-root ul.rbw-notes{margin-top:20px!important;padding-left:0!important;max-width:none!important}
