/*
Theme Name:     Bellevue - Child Theme
Theme URI:      https://bellevuetheme.com
Template:       bellevuex
Author:         Themovation
Author URI:     http://themovation.com
Version:        3.1
Text Domain:    bellevue
Domain Path:    /languages/
*/

/* = Paradise Trail Lodge — rustic refresh (2026)
   Palette: pine #2F4A3A · pine-dark #22362B · moss #5B7553 · cedar #B5713A
            bark #6B4A2F · cream #F6F1E7 · sand #EAE1CF · ink #2B2B26
-------------------------------------------------------------- */
:root{
  --pt-pine:#2F4A3A; --pt-pine-dark:#22362B; --pt-moss:#5B7553; --pt-cedar:#B5713A; --pt-cedar-dark:#94592B;
  --pt-bark:#6B4A2F; --pt-cream:#F6F1E7; --pt-sand:#EAE1CF; --pt-ink:#2B2B26; --pt-muted:#5E5A50;
  --pt-serif:'Lora',Georgia,serif; --pt-sans:'Source Sans 3','Source Sans Pro',system-ui,sans-serif;
  --pt-radius:6px; --pt-shadow:0 10px 30px rgba(34,54,43,.12);
}
body{background:var(--pt-cream);color:var(--pt-ink);font-family:var(--pt-sans);-webkit-font-smoothing:antialiased}
body p, body li{font-family:var(--pt-sans)}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{font-family:var(--pt-serif)}
.elementor-widget-text-editor{font-size:18px;line-height:1.7;color:var(--pt-ink)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- Buttons ---------- */
.pt-btn-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:8px}
.pt-btn-row--left{justify-content:flex-start}
.pt-btn, .elementor-button, .frm_button_submit, .frm_forms .frm_submit button, input[type=submit]{
  display:inline-block;font-family:var(--pt-sans)!important;font-weight:600!important;font-size:16px!important;letter-spacing:.5px;
  background:var(--pt-cedar)!important;color:#fff!important;border:2px solid var(--pt-cedar)!important;border-radius:4px!important;
  padding:14px 28px!important;text-decoration:none!important;line-height:1.2!important;box-shadow:none!important;transition:background .2s,border-color .2s,color .2s,transform .2s}
.pt-btn:hover, .elementor-button:hover, .frm_button_submit:hover, .frm_forms .frm_submit button:hover, input[type=submit]:hover{
  background:var(--pt-cedar-dark)!important;border-color:var(--pt-cedar-dark)!important;color:#fff!important;transform:translateY(-1px)}
.pt-btn--ghost{background:transparent!important;border-color:rgba(255,255,255,.85)!important}
.pt-btn--ghost:hover{background:#fff!important;color:var(--pt-pine)!important;border-color:#fff!important}
.pt-link-arrow{font-weight:600;color:var(--pt-cedar-dark);text-decoration:none;border-bottom:2px solid rgba(181,113,58,.35);padding-bottom:2px}
.pt-link-arrow:after{content:" →"}
.pt-link-arrow:hover{color:var(--pt-pine);border-color:var(--pt-pine)}

/* ---------- Eyebrows / photos ---------- */
.pt-eyebrow .elementor-heading-title{margin-bottom:-4px}
.pt-photo img{border-radius:var(--pt-radius);box-shadow:var(--pt-shadow);width:100%}
.pt-photo--tall img{aspect-ratio:4/5;object-fit:cover}

/* ---------- Hero ---------- */
.pt-hero .pt-hero-lead{max-width:720px;margin:0 auto 10px}
.pt-hero .pt-hero-lead p{font-size:inherit}

/* ---------- Facts strip ---------- */
.pt-fact{text-align:center;color:#fff;padding:6px 10px}
.pt-fact__num{font-family:var(--pt-serif);font-size:44px;font-weight:600;line-height:1.1;color:#F3D9B8}
.pt-fact__label{font-size:15px;letter-spacing:.4px;opacity:.9;margin-top:4px}
.pt-facts .elementor-column + .elementor-column .pt-fact{border-left:1px solid rgba(255,255,255,.15)}
@media(max-width:767px){.pt-facts .elementor-column + .elementor-column .pt-fact{border-left:0;border-top:1px solid rgba(255,255,255,.15);padding-top:18px}}

/* ---------- Cards ---------- */
.pt-card{background:#fff;border-radius:var(--pt-radius);overflow:hidden;box-shadow:var(--pt-shadow);height:100%;border:1px solid #EFE8DA;transition:transform .25s,box-shadow .25s}
.pt-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(34,54,43,.18)}
.pt-card__img{aspect-ratio:4/3;background-size:cover;background-position:center}
.pt-card__body{padding:24px 26px 28px}
.pt-card__body h3{font-size:22px;margin:0 0 8px;color:var(--pt-pine)}
.pt-card__body p{margin:0;color:var(--pt-muted);font-size:17px;line-height:1.6}
.elementor-column-wrap, .elementor-widget-wrap{height:100%}

/* ---------- Rates ---------- */
.pt-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:767px){.pt-rates{grid-template-columns:1fr}}
.pt-rate{background:#fff;border-radius:var(--pt-radius);padding:28px;box-shadow:var(--pt-shadow);border-top:4px solid var(--pt-cedar)}
.pt-rate__name{font-weight:700;text-transform:uppercase;letter-spacing:2px;font-size:13px;color:var(--pt-moss)}
.pt-rate__price{font-family:var(--pt-serif);font-size:46px;font-weight:600;color:var(--pt-pine);line-height:1.2;margin:6px 0}
.pt-rate__price span{font-size:18px;color:var(--pt-muted);font-weight:400}
.pt-rate__note{font-size:16px;color:var(--pt-muted);line-height:1.5}

/* ---------- CTA band ---------- */
.pt-cta-text a{color:#F3D9B8;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(243,217,184,.5)}
.pt-cta-text p{font-size:20px}

/* ---------- fixes round 1 ---------- */
body .elementor-widget-text-editor, body .elementor-widget-text-editor p, body .elementor-widget-text-editor li{color:var(--pt-ink)}
body .pt-hero .pt-hero-lead p, body .pt-cta-text p{color:#F4EFE6!important;font-size:20px;line-height:1.6;text-shadow:0 1px 10px rgba(0,0,0,.35)}
@media(max-width:767px){body .pt-hero .pt-hero-lead p, body .pt-cta-text p{font-size:17px}}
.pt-hero .pt-eyebrow .elementor-heading-title{text-shadow:0 1px 8px rgba(0,0,0,.5)}
.elementor-widget-html, .elementor-widget-html .elementor-widget-container{width:100%}
.pt-rates{width:100%}
.pt-photo--tall img{aspect-ratio:1/1}

/* ---------- Footer ---------- */
.pt-footer, .pt-footer p{color:rgba(246,241,231,.82)}
.pt-footer p{font-size:16px;line-height:1.65;max-width:380px}
.pt-foot-brand{font-family:'Allura',cursive;font-size:40px;color:#fff;line-height:1;margin-bottom:14px}
.pt-footer h4{font-family:var(--pt-sans);font-size:13px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#F3D9B8;margin:6px 0 18px}
.pt-foot-list{list-style:none;margin:0;padding:0}
.pt-foot-list li{display:flex;gap:12px;align-items:baseline;margin:0 0 12px;font-size:16px;color:rgba(246,241,231,.82)}
.pt-foot-list i{color:#F3D9B8;width:16px;text-align:center;font-size:14px}
.pt-footer a{color:rgba(246,241,231,.92);text-decoration:none;transition:color .2s}
.pt-footer a:hover{color:#F3D9B8}
.pt-foot-social{display:flex;gap:10px;margin-top:18px}
.pt-foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(246,241,231,.3);display:inline-flex;align-items:center;justify-content:center}
.pt-foot-social a:hover{background:#F3D9B8;color:#22362B;border-color:#F3D9B8}
.pt-footer-bar p, .pt-foot-copy p{margin:0;font-size:14px;color:rgba(246,241,231,.6)!important;text-align:center}
@media(max-width:767px){.pt-footer .elementor-column{margin-bottom:26px}}

/* ---------- Mobile ---------- */
@media(max-width:767px){
  .elementor-section .elementor-column-gap-wide > .elementor-column > .elementor-element-populated{padding:10px}
  .pt-eyebrow .elementor-heading-title{letter-spacing:1.5px!important;font-size:12px!important;line-height:1.6}
  .pt-fact__num{font-size:34px}
  .pt-facts .elementor-column + .elementor-column .pt-fact{border-top:0;padding-top:6px}
  .pt-card__body{padding:20px}
}
/* Mobile header bar (WP Mobile Menu plugin) */
.mobmenu-panel, .mobmenu-content{background-color:var(--pt-pine-dark)!important}
.mob-menu-header-holder, .mobmenu-left-bt, .mobmenu-right-bt{background-color:var(--pt-cream)!important}
.mob-menu-header-holder{box-shadow:0 1px 0 rgba(47,74,58,.12)}
.mob-menu-header-holder .headertext, .mob-menu-header-holder .headertext span{color:var(--pt-pine)!important}
.mob-menu-header-holder .mob-menu-icon, .mob-menu-header-holder .mob-cancel-button{color:var(--pt-pine)!important}
.mob-menu-header-holder{border-bottom:1px solid rgba(255,255,255,.08)}
.mobmenu-content li a{font-family:var(--pt-sans)!important;color:#F6F1E7!important}
.mobmenu-content li a:hover{color:#F3D9B8!important}

/* =================== v2: bolder redesign =================== */
:root{--pt-display:'Fraunces','Lora',Georgia,serif}
h1,h2,h3,.elementor-heading-title{font-family:var(--pt-display)!important;letter-spacing:-.01em}
.pt-eyebrow .elementor-heading-title{font-family:var(--pt-sans)!important;letter-spacing:3px}

/* Light header */
#thhf-masthead nav.elementor-section{background:rgba(246,241,231,.97)!important;border-bottom:1px solid rgba(47,74,58,.12)!important}
#thhf-masthead .elementor-heading-title{color:var(--pt-pine)!important;font-family:'Allura',cursive!important;letter-spacing:0}
#thhf-masthead .menu-item > a, #thhf-masthead .hfe-menu-item, #thhf-masthead nav a.hfe-menu-item{color:var(--pt-ink)!important;font-family:var(--pt-sans)!important;font-size:14px!important;font-weight:600!important;letter-spacing:1.6px;text-transform:uppercase}
#thhf-masthead .menu-item > a:hover, #thhf-masthead .current-menu-item > a, #thhf-masthead .menu-item > a.hfe-menu-item:hover{color:var(--pt-cedar)!important}
#thhf-masthead .menu-item:last-child > a{border:2px solid var(--pt-pine)!important;background:transparent!important;color:var(--pt-pine)!important;border-radius:999px!important;padding:8px 22px!important;margin-left:12px}
#thhf-masthead .menu-item:last-child > a:hover{background:var(--pt-pine)!important;color:#fff!important}

/* Split hero */
.pt-hero2{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300' viewBox='0 0 600 300'%3E%3Cg fill='none' stroke='%232F4A3A' stroke-opacity='.07' stroke-width='1.2'%3E%3Cpath d='M0 220 Q150 120 300 200 T600 180'/%3E%3Cpath d='M0 250 Q150 150 300 230 T600 210'/%3E%3Cpath d='M0 280 Q150 180 300 260 T600 240'/%3E%3Cpath d='M0 190 Q150 90 300 170 T600 150'/%3E%3Cpath d='M0 160 Q150 60 300 140 T600 120'/%3E%3C/g%3E%3C/svg%3E")!important;background-size:900px auto!important}
.pt-hero2 > .elementor-container{max-width:1320px;margin:0 auto}
.pt-display .elementor-heading-title{font-size:clamp(46px,6vw,88px)!important;line-height:1.02!important;font-weight:500!important;color:var(--pt-pine)!important}
.pt-display em{font-style:italic;color:var(--pt-cedar);font-weight:400}
.pt-display--center .elementor-heading-title{color:#fff!important;text-align:center;font-size:clamp(40px,5vw,72px)!important}
.pt-lead p{font-size:20px!important;line-height:1.65;color:var(--pt-muted)!important;max-width:520px}
.pt-btn--outline{background:transparent!important;color:var(--pt-pine)!important;border-color:var(--pt-pine)!important}
.pt-btn--outline:hover{background:var(--pt-pine)!important;color:#fff!important;border-color:var(--pt-pine)!important}
.pt-hero-stats{list-style:none;display:flex;gap:34px;padding:22px 0 0;margin:14px 0 0;border-top:1px solid rgba(47,74,58,.15);max-width:520px}
.pt-hero-stats li{font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--pt-muted);font-weight:600}
.pt-hero-stats b{display:block;font-family:var(--pt-display);font-size:34px;color:var(--pt-pine);letter-spacing:0;text-transform:none;font-weight:500;line-height:1.1}
.pt-collage{position:relative;height:min(46vw,640px);min-height:420px}
.pt-collage img{position:absolute;object-fit:cover;border-radius:10px;box-shadow:0 24px 50px rgba(34,54,43,.25)}
.pt-collage__a{right:0;top:0;width:56%;height:88%}
.pt-collage__b{left:4%;top:6%;width:44%;height:42%}
.pt-collage__c{left:12%;bottom:0;width:46%;height:42%;border:8px solid var(--pt-cream)}
.pt-stamp{position:absolute;left:47%;top:41%;width:130px;height:130px;border-radius:50%;background:var(--pt-cedar);color:#fff;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%) rotate(-12deg);box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:2}
.pt-stamp svg{position:absolute;inset:0;width:100%;height:100%}
.pt-stamp text{fill:#fff;font:700 9.5px var(--pt-sans);letter-spacing:2.4px}
.pt-stamp span{text-align:center;font:600 13px var(--pt-sans);letter-spacing:2px;text-transform:uppercase;line-height:1}
.pt-stamp b{display:block;font:500 30px var(--pt-display);letter-spacing:0;margin-top:2px}
@keyframes pt-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.pt-stamp svg{animation:none}}
@media(max-width:767px){.pt-collage{height:110vw;min-height:0}.pt-stamp{width:100px;height:100px}.pt-stamp b{font-size:22px}.pt-hero-stats{gap:22px}}

/* Season tiles */
.pt-tile{display:block;position:relative;height:min(42vw,560px);min-height:360px;background-size:cover;background-position:center;text-decoration:none!important;overflow:hidden}
.pt-tile:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,43,34,0) 35%,rgba(27,43,34,.88) 100%);transition:background .3s}
.pt-tile:hover:before{background:linear-gradient(180deg,rgba(27,43,34,.15) 20%,rgba(27,43,34,.92) 100%)}
.pt-tile__inner{position:absolute;left:0;right:0;bottom:0;padding:44px 48px;color:#fff;max-width:560px}
.pt-tile__tag{display:inline-block;font:700 12px var(--pt-sans);letter-spacing:3px;text-transform:uppercase;background:var(--pt-cedar);padding:6px 12px;border-radius:3px}
.pt-tile h3{color:#fff!important;font-size:clamp(28px,3vw,42px)!important;margin:14px 0 8px;font-weight:500}
.pt-tile p{color:rgba(255,255,255,.88)!important;font-size:18px;margin:0 0 14px}
.pt-tile__more{font-weight:600;color:#F3D9B8;border-bottom:1px solid rgba(243,217,184,.5)}
.pt-tile__more:after{content:" →"}
@media(max-width:767px){.pt-tile__inner{padding:28px 22px}}

/* Story band */
.pt-story{overflow:hidden}
.pt-framed{position:relative;padding:0 22px 22px 0}
.pt-framed:before{content:"";position:absolute;right:0;bottom:0;width:85%;height:85%;border:2px solid rgba(243,217,184,.45);border-radius:10px}
.pt-framed img{position:relative;border-radius:10px;width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 24px 50px rgba(0,0,0,.35)}
.pt-bignum{font-family:var(--pt-display);font-size:clamp(90px,12vw,170px);line-height:.8;font-weight:600;color:transparent;-webkit-text-stroke:1.5px rgba(243,217,184,.35);margin:0 0 -6px -4px;user-select:none}
.pt-on-dark p{color:rgba(246,241,231,.85)!important;font-size:19px}
.pt-link-arrow--light{color:#F3D9B8!important;border-color:rgba(243,217,184,.4)!important}

/* Amenities */
.pt-amen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(47,74,58,.15);border-left:1px solid rgba(47,74,58,.15);margin:20px 0 40px}
.pt-amen__item{padding:38px 34px;border-right:1px solid rgba(47,74,58,.15);border-bottom:1px solid rgba(47,74,58,.15);transition:background .25s}
.pt-amen__item:hover{background:#fff}
.pt-amen__item i{font-size:26px;color:var(--pt-cedar);width:56px;height:56px;border-radius:50%;background:rgba(181,113,58,.1);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.pt-amen__item h4{font-family:var(--pt-display)!important;font-size:22px;font-weight:500;color:var(--pt-pine);margin:0 0 6px;letter-spacing:0;text-transform:none}
.pt-amen__item p{margin:0;color:var(--pt-muted);font-size:17px;line-height:1.55}
@media(max-width:900px){.pt-amen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pt-amen{grid-template-columns:1fr}.pt-amen__item{padding:26px 22px}}

/* Rates v2 */
.pt-rates2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:26px 0 34px;align-items:stretch}
.pt-rate2{background:#fff;border-radius:10px;padding:34px 30px;box-shadow:var(--pt-shadow)}
.pt-rate2--feature{background:var(--pt-pine);color:#fff;transform:translateY(-10px)}
.pt-rate2__name{font:700 13px var(--pt-sans);letter-spacing:3px;text-transform:uppercase;color:var(--pt-cedar)}
.pt-rate2--feature .pt-rate2__name{color:#F3D9B8}
.pt-rate2__price{font-family:var(--pt-display);font-size:58px;font-weight:500;color:var(--pt-pine);line-height:1.1;margin:10px 0 8px}
.pt-rate2--feature .pt-rate2__price{color:#fff}
.pt-rate2__price small{font-size:18px;opacity:.7;font-family:var(--pt-sans)}
.pt-rate2 p{margin:0;color:var(--pt-muted)!important;font-size:16px;line-height:1.55}
.pt-rate2--feature p{color:rgba(255,255,255,.82)!important}
.pt-rate2 ul{list-style:none;margin:16px 0 0;padding:0}
.pt-rate2 li{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px dashed rgba(47,74,58,.2);font-size:16px;color:var(--pt-muted)}
.pt-rate2 li b{font-family:var(--pt-display);font-size:22px;color:var(--pt-pine);font-weight:500}
@media(max-width:900px){.pt-rates2{grid-template-columns:1fr}.pt-rate2--feature{transform:none}}

/* Photo strip */
.pt-strip{display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.pt-strip a:not(.pt-strip__cta){aspect-ratio:1/1;background-size:cover;background-position:center;filter:saturate(.9);transition:filter .3s,transform .4s}
.pt-strip a:not(.pt-strip__cta):hover{filter:saturate(1.15) brightness(1.05)}
.pt-strip__cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--pt-cream);color:var(--pt-pine)!important;font:600 15px var(--pt-sans);letter-spacing:1.5px;text-transform:uppercase;padding:16px 30px;border-radius:999px;text-decoration:none!important;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.pt-strip__cta:hover{background:var(--pt-cedar);color:#fff!important}
@media(max-width:767px){.pt-strip{grid-template-columns:repeat(3,1fr)}}
#thhf-masthead nav ul:not(.sub-menu) > li, #thhf-masthead nav ul:not(.sub-menu) > li > a{background:transparent!important}
#thhf-masthead .sub-menu{background:#fff!important;border-radius:8px;box-shadow:0 14px 40px rgba(34,54,43,.18)!important;padding:6px 0!important}
#thhf-masthead .sub-menu a{color:var(--pt-ink)!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:500!important;border:0!important;margin:0!important;border-radius:0!important;padding:10px 18px!important}
#thhf-masthead .sub-menu a:hover{background:var(--pt-cream)!important;color:var(--pt-cedar)!important}
#thhf-masthead a.hfe-menu-item, #thhf-masthead a.hfe-menu-item:hover, #thhf-masthead a.hfe-menu-item:focus{background-color:transparent!important}
#thhf-masthead .sub-menu a.hfe-menu-item:hover{background-color:var(--pt-cream)!important}

/* =================== Inner pages =================== */
.pt-display--sm .elementor-heading-title{font-size:clamp(32px,4vw,54px)!important}
.pt-pagehero .pt-display .elementor-heading-title{font-size:clamp(40px,5.5vw,76px)!important}
.pt-dark .elementor-widget-text-editor p, .pt-dark li{color:rgba(246,241,231,.85)!important}
.pt-btn-row--right{justify-content:flex-end}
.pt-btn--lg{font-size:18px!important;padding:18px 34px!important}
.pt-btn--block{display:block;text-align:center;width:100%}
@media(max-width:767px){.pt-btn-row--right{justify-content:flex-start}}

/* rates (4 up) */
.pt-rates4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}
.pt-rate2__sub{font-size:14px;font-weight:600;color:var(--pt-moss);margin-bottom:8px}
.pt-rate2--feature .pt-rate2__sub{color:#F3D9B8}
@media(max-width:1024px){.pt-rates4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pt-rates4{grid-template-columns:1fr}}

/* deposits */
.pt-deposit{background:#fff;border-radius:10px;box-shadow:var(--pt-shadow);overflow:hidden}
.pt-deposit__row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:26px 30px;align-items:center}
.pt-deposit__row + .pt-deposit__row{border-top:1px dashed rgba(47,74,58,.2)}
.pt-deposit__when{font-size:15px;color:var(--pt-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.pt-deposit__when b{display:block;font-family:var(--pt-display);font-size:24px;color:var(--pt-pine);text-transform:none;letter-spacing:0;font-weight:500}
.pt-deposit__what{font-size:17px;line-height:1.6}
.pt-deposit__what b{font-family:var(--pt-display);font-size:22px;color:var(--pt-cedar);font-weight:600}
@media(max-width:600px){.pt-deposit__row{grid-template-columns:1fr;gap:6px}}

/* steps */
.pt-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding:0;margin:34px 0 0}
.pt-steps li{counter-increment:s;position:relative;background:#fff;border-radius:10px;padding:56px 28px 30px;box-shadow:var(--pt-shadow)}
.pt-steps li:before{content:counter(s);position:absolute;top:-22px;left:28px;width:48px;height:48px;border-radius:50%;background:var(--pt-cedar);color:#fff;font:500 24px var(--pt-display);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(181,113,58,.35)}
.pt-steps h4{font-family:var(--pt-display)!important;font-size:23px;font-weight:500;color:var(--pt-pine);margin:0 0 8px;text-transform:none;letter-spacing:0}
.pt-steps p{color:var(--pt-muted);font-size:17px;line-height:1.6;margin:0 0 12px}
@media(max-width:900px){.pt-steps{grid-template-columns:1fr;gap:40px}}

/* callouts */
.pt-callout{display:flex;gap:18px;align-items:flex-start;background:#fff;border-left:4px solid var(--pt-moss);border-radius:8px;padding:22px 26px;box-shadow:var(--pt-shadow);font-size:17px;line-height:1.6;color:var(--pt-ink)}
.pt-callout i{font-size:22px;color:var(--pt-moss);margin-top:3px}
.pt-callout b{display:block;font-family:var(--pt-display);font-weight:600;font-size:19px;color:var(--pt-pine);margin-bottom:2px}
.pt-callout--warn{border-left-color:var(--pt-cedar)} .pt-callout--warn i{color:var(--pt-cedar)}

/* availability calendar card */
.pt-calcard > .elementor-widget-wrap, .pt-calcard > .elementor-column-wrap{background:#fff;border-radius:14px;box-shadow:var(--pt-shadow);padding:34px!important}
.pt-calcard .pt-callout{box-shadow:none;background:var(--pt-cream)}
@media(max-width:767px){.pt-calcard > .elementor-widget-wrap{padding:16px!important}}
.wpbs-container, .wpbs-main-wrapper{font-family:var(--pt-sans)!important}
.wpbs-calendar{border-radius:10px;overflow:hidden;border:1px solid #EFE8DA!important}
.wpbs-calendar-header{background:var(--pt-pine)!important;color:#fff!important}
.wpbs-calendar-header select, .wpbs-calendar-header .wpbs-select-container select{font-family:var(--pt-sans)!important;border-radius:6px}
.wpbs-form-container input[type=text], .wpbs-form-container input[type=email], .wpbs-form-container input[type=tel], .wpbs-form-container input[type=number], .wpbs-form-container textarea, .wpbs-form-container select{border:1px solid #DCD3C1!important;border-radius:6px!important;padding:12px 14px!important;font-size:16px!important;background:#FFFDF8!important;width:100%}
.wpbs-form-container label{font-weight:600!important;color:var(--pt-ink)!important;font-size:15px!important}
.wpbs-form-container button, .wpbs-form-container input[type=submit]{background:var(--pt-cedar)!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:14px 28px!important;font-weight:600!important;cursor:pointer}

/* docs */
.pt-docs{display:grid;gap:14px}
.pt-doc{display:flex;align-items:center;gap:18px;background:#fff;border-radius:10px;padding:22px 24px;box-shadow:var(--pt-shadow);text-decoration:none!important;color:var(--pt-ink)!important;transition:transform .2s}
.pt-doc:hover{transform:translateX(4px)}
.pt-doc > i:first-child{font-size:30px;color:var(--pt-cedar)}
.pt-doc span{flex:1} .pt-doc b{display:block;font-family:var(--pt-display);font-weight:500;font-size:20px;color:var(--pt-pine)}
.pt-doc small{color:var(--pt-muted);font-size:14px}
.pt-doc__go{color:var(--pt-moss)}

/* checklists */
.pt-list{background:#fff;border-radius:12px;padding:34px 36px;box-shadow:var(--pt-shadow);height:100%;border-top:5px solid var(--pt-moss)}
.pt-list--provide{border-top-color:var(--pt-cedar)}
.pt-list__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pt-list__head i{width:46px;height:46px;border-radius:50%;background:rgba(91,117,83,.12);color:var(--pt-moss);display:flex;align-items:center;justify-content:center;font-size:18px}
.pt-list--provide .pt-list__head i{background:rgba(181,113,58,.12);color:var(--pt-cedar)}
.pt-list__head h3{margin:0;font-size:26px!important}
.pt-list h4{font-family:var(--pt-sans)!important;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--pt-moss);margin:22px 0 8px;font-weight:700}
.pt-list ul{list-style:none;padding:0;margin:0;columns:2;column-gap:24px}
.pt-list li{position:relative;padding:6px 0 6px 26px;font-size:16.5px;line-height:1.45;break-inside:avoid;color:var(--pt-ink)}
.pt-list li:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;position:absolute;left:0;top:7px;font-size:12px;color:var(--pt-moss)}
.pt-list--provide li:before{color:var(--pt-cedar)}
@media(max-width:600px){.pt-list ul{columns:1}.pt-list{padding:26px 22px}}

/* directions */
.pt-dirs{list-style:none;counter-reset:d;padding:0;margin:20px 0 0}
.pt-dirs li{counter-increment:d;position:relative;padding:0 0 22px 56px;color:rgba(246,241,231,.88);font-size:17px;line-height:1.6}
.pt-dirs li:before{content:counter(d);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;border:2px solid #F3D9B8;color:#F3D9B8;font:600 16px var(--pt-sans);display:flex;align-items:center;justify-content:center}
.pt-dirs li:after{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:rgba(243,217,184,.25)}
.pt-dirs li:last-child:after{display:none}
.pt-map iframe, .pt-map .elementor-custom-embed{border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25)}

/* quote + timeline */
.pt-quote{margin:0;text-align:center;position:relative;padding-top:40px}
.pt-quote:before{content:"\201C";font-family:var(--pt-display);font-size:160px;line-height:1;color:var(--pt-cedar);opacity:.25;position:absolute;left:50%;top:-30px;transform:translateX(-50%)}
.pt-quote p{font-family:var(--pt-display)!important;font-size:clamp(26px,3.2vw,40px)!important;line-height:1.3!important;color:var(--pt-pine)!important;font-style:italic;font-weight:400}
.pt-quote cite{display:block;margin-top:18px;font:700 13px var(--pt-sans);letter-spacing:3px;text-transform:uppercase;color:var(--pt-cedar);font-style:normal}
.pt-framed--light:before{border-color:rgba(47,74,58,.25)}
.pt-timeline{list-style:none;padding:0;margin:26px 0 0;border-left:2px solid rgba(243,217,184,.3)}
.pt-timeline li{position:relative;padding:0 0 26px 30px}
.pt-timeline li:before{content:"";position:absolute;left:-8px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--pt-cedar);box-shadow:0 0 0 4px #1B2B22}
.pt-timeline__when{font-family:var(--pt-display);font-size:22px;color:#F3D9B8;font-weight:500}
.pt-timeline p{margin:4px 0 0;color:rgba(246,241,231,.85)!important;font-size:17px;line-height:1.6}

/* feature rows (layout page) */
.pt-pics{display:grid;gap:14px}
.pt-pics img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:var(--pt-shadow)}
.pt-pics--1 img{aspect-ratio:4/3}
.pt-pics--3{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
.pt-pics--3 img:first-child{grid-column:1/3;aspect-ratio:16/9}
.pt-pics--3 img:not(:first-child){aspect-ratio:4/3}
.pt-pics--4b{grid-template-columns:repeat(2,1fr);margin:30px 0}
.pt-pics--4b img{aspect-ratio:4/3}
.pt-feature .pt-callout{margin-top:10px}
.pt-rooms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.pt-room{background:rgba(246,241,231,.06);border:1px solid rgba(243,217,184,.2);border-radius:10px;padding:18px 20px}
.pt-room i{color:#F3D9B8;font-size:18px}
.pt-room h4{font-family:var(--pt-display)!important;color:#fff;font-size:19px;font-weight:500;margin:8px 0 4px;text-transform:none;letter-spacing:0}
.pt-room p{margin:0;color:rgba(246,241,231,.78)!important;font-size:15.5px;line-height:1.5}
.pt-room--total{background:var(--pt-cedar);border-color:var(--pt-cedar)}
.pt-room--total i, .pt-room--total p{color:#fff!important} .pt-room--total b{font-family:var(--pt-display);font-size:26px}
.pt-baths{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.pt-bath{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--pt-shadow)}
.pt-bath__img{aspect-ratio:16/10;background-size:cover;background-position:center}
.pt-bath__body{padding:24px 28px}
.pt-bath h4{font-family:var(--pt-display)!important;font-size:24px;font-weight:500;color:var(--pt-pine);margin:0 0 6px;text-transform:none;letter-spacing:0}
.pt-bath p{margin:0;color:var(--pt-muted)}
@media(max-width:767px){.pt-baths,.pt-rooms{grid-template-columns:1fr}}

/* galleries */
.pt-gallery .gallery{display:grid!important;grid-template-columns:repeat(var(--pt-cols,4),1fr);gap:12px;margin:0!important}
.pt-gallery .gallery-columns-3{--pt-cols:3} .pt-gallery .gallery-columns-2{--pt-cols:2}
.pt-gallery .gallery-item{width:auto!important;max-width:none!important;padding:0!important;margin:0!important}
.pt-gallery .gallery-icon{overflow:hidden;border-radius:8px}
.pt-gallery img{width:100%!important;aspect-ratio:1/1;object-fit:cover;border:0!important;display:block;transition:transform .5s}
.pt-gallery .gallery-item:hover img{transform:scale(1.06)}
@media(max-width:1024px){.pt-gallery .gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.pt-gallery .gallery{grid-template-columns:repeat(2,1fr);gap:8px}}

/* events */
.pt-events{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pt-event{display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--pt-shadow);text-decoration:none!important;color:var(--pt-ink)!important;transition:transform .25s,box-shadow .25s}
.pt-event:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(34,54,43,.2)}
.pt-event__img{aspect-ratio:16/9;background-size:cover;background-position:center;position:relative}
.pt-event__img span{position:absolute;left:18px;top:18px;background:var(--pt-cedar);color:#fff;font:700 12px var(--pt-sans);letter-spacing:2.5px;text-transform:uppercase;padding:6px 12px;border-radius:3px}
.pt-event__body{padding:26px 30px 30px}
.pt-event h3{font-size:26px!important;margin:0 0 8px;color:var(--pt-pine)}
.pt-event p{color:var(--pt-muted);font-size:17px;line-height:1.6;margin:0 0 16px}
@media(max-width:767px){.pt-events{grid-template-columns:1fr}}

/* articles */
.pt-article__meta{display:flex;gap:14px;align-items:center;font-size:14px;color:var(--pt-muted);margin-bottom:6px}
.pt-tag{background:rgba(181,113,58,.12);color:var(--pt-cedar-dark);font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.pt-article__title .elementor-heading-title{font-size:clamp(32px,4vw,52px)!important}
.pt-article__body p{font-size:19px!important;line-height:1.75}
.pt-article__sub .elementor-heading-title{font-size:22px!important;margin-top:10px}
.pt-article__img{width:100%;border-radius:12px;box-shadow:var(--pt-shadow);margin:20px 0 26px;aspect-ratio:16/9;object-fit:cover}
.pt-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.pt-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;filter:sepia(.25)}
@media(max-width:600px){.pt-thumbs{grid-template-columns:repeat(3,1fr)}}

/* contact */
.pt-lift{margin-top:-10px;position:relative;z-index:3}
.pt-ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pt-ccard{background:#fff;border-radius:12px;padding:30px;box-shadow:var(--pt-shadow);text-decoration:none!important;color:var(--pt-ink)!important;transition:transform .2s}
a.pt-ccard:hover{transform:translateY(-3px)}
.pt-ccard i{width:52px;height:52px;border-radius:50%;background:var(--pt-pine);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px}
.pt-ccard h4{font:700 13px var(--pt-sans)!important;letter-spacing:2.5px;text-transform:uppercase;color:var(--pt-moss);margin:0 0 6px}
.pt-ccard p{font-family:var(--pt-display);font-size:20px;color:var(--pt-pine)!important;margin:0;line-height:1.35;word-break:break-word}
@media(max-width:900px){.pt-ccards{grid-template-columns:1fr}}
.pt-faq .elementor-toggle-item{background:#fff;border-radius:10px;margin-bottom:12px;box-shadow:0 4px 14px rgba(34,54,43,.07);overflow:hidden}
.pt-faq .elementor-tab-title{border:0!important;padding:20px 26px!important;font-family:var(--pt-display)!important;font-size:20px!important;font-weight:500!important;color:var(--pt-pine)!important}
.pt-faq .elementor-tab-title a{color:var(--pt-pine)!important}
.pt-faq .elementor-tab-title.elementor-active{color:var(--pt-cedar)!important}
.pt-faq .elementor-toggle-icon{color:var(--pt-cedar)!important}
.pt-faq .elementor-tab-content{border:0!important;padding:0 26px 22px!important;font-size:17px;color:var(--pt-muted)}
.pt-faq .elementor-tab-content ul{margin:0;padding-left:20px}

/* forms (Formidable) */
.pt-formcard > .elementor-widget-wrap, .pt-formcard > .elementor-column-wrap{background:#fff;border-radius:14px;box-shadow:var(--pt-shadow);padding:36px!important}
@media(max-width:767px){.pt-formcard > .elementor-widget-wrap{padding:20px!important}}
.frm_forms{max-width:none!important}
.frm_forms .frm_form_fields input:not([type=checkbox]):not([type=radio]):not([type=submit]), .frm_forms .frm_form_fields textarea, .frm_forms .frm_form_fields select{background:#FFFDF8!important;border:1px solid #DCD3C1!important;border-radius:6px!important;padding:13px 15px!important;font-size:16px!important;color:var(--pt-ink)!important;box-shadow:none!important;height:auto!important;font-family:var(--pt-sans)!important}
.frm_forms .frm_form_fields input:focus, .frm_forms .frm_form_fields textarea:focus{border-color:var(--pt-moss)!important;outline:2px solid rgba(91,117,83,.2)!important}
.frm_forms label.frm_primary_label{font-family:var(--pt-sans)!important;font-weight:600!important;color:var(--pt-ink)!important;font-size:15px!important}
.frm_forms .frm_form_field{margin-bottom:18px!important}

/* donate */
.pt-prose h3{font-size:28px!important;margin:34px 0 12px;color:var(--pt-pine)}
.pt-prose h3:first-child{margin-top:0}
.pt-prose p{font-size:18.5px!important;line-height:1.8}
.pt-sticky > .elementor-widget-wrap{position:sticky;top:110px}
.pt-donatecard{background:var(--pt-pine);color:#fff;border-radius:14px;padding:36px;box-shadow:0 24px 50px rgba(34,54,43,.3)}
.pt-donatecard > i{font-size:34px;color:#F3D9B8}
.pt-donatecard h3{color:#fff!important;font-size:30px!important;margin:12px 0 8px}
.pt-donatecard p{color:rgba(255,255,255,.82)!important;font-size:16.5px;line-height:1.6}
.pt-donatecard__goal{margin:24px 0 0;padding:20px 0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.pt-donatecard__goal b{display:block;font-family:var(--pt-display);font-size:40px;font-weight:500;color:#F3D9B8;line-height:1.1}
.pt-donatecard__goal span{font-size:15px;color:rgba(255,255,255,.75)}
.pt-donatecard__mail{margin-top:20px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.8)}
.pt-donatecard__mail b{display:block;color:#fff;margin-bottom:4px}
/* theme renders [gallery] as bootstrap rows: .gallery > .gallery-row > .col-* > a.thumbnail > img */
.pt-gallery .gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pt-gallery--3 .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
.pt-gallery .gallery-row{display:contents!important}
.pt-gallery .gallery-row > div{width:auto!important;max-width:none!important;padding:0!important;margin:0!important;float:none!important;flex:none!important}
.pt-gallery a.thumbnail{display:block;padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;overflow:hidden;background:none!important;box-shadow:none!important}
.pt-gallery a.thumbnail img{width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .5s}
.pt-gallery a.thumbnail:hover img{transform:scale(1.06)}
@media(max-width:1024px){.pt-gallery .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.pt-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.wpbs-calendar-header select, .wpbs-calendar-header option{color:var(--pt-ink)!important;background:#fff!important}
.pt-pagehero .pt-cta-text p{font-size:21px}
.pt-gallery .gallery-text{display:none!important}
.pt-gallery .gallery-row > div{position:relative}
.pt-quote{border:0!important;padding-left:0!important;padding-right:0!important;background:none!important}
.pt-faq .elementor-toggle-title, .pt-faq .elementor-tab-title a{font-family:var(--pt-display)!important;font-size:20px!important;font-weight:500!important;color:var(--pt-pine)!important;letter-spacing:0!important;text-transform:none!important}
.pt-faq .elementor-tab-title.elementor-active .elementor-toggle-title{color:var(--pt-cedar)!important}
