/*
Theme Name: Reconnect Retreats
Theme URI: https://reconnectretreats.ca
Author: Reconnect Retreats Inc.
Description: Custom Reconnect Retreats WordPress theme with retreat pages, services, team, contact, guide posts, Rank Math support, responsive styling, and Beast-compatible post layouts.
Version: 1.3.3
License: Private
Text Domain: reconnect-retreats
*/

/* ── Global reset & base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;
}
body {
  font-family: 'Jost', sans-serif;
  background: #FDFAF5;
  color: #1A1F1A;
  overflow-x: hidden;
  max-width: 100vw;
}
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
*, a, button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
input, select, textarea { font-family: 'Jost', sans-serif; font-size: 16px; border-radius: 0; -webkit-appearance: none; }

/* ── WordPress required ── */
.wp-site-blocks { overflow-x: hidden; }
.alignwide { margin-left: -80px; margin-right: -80px; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }


/* ── SEO content pages, Guides, and blog posts ── */
.rr-page-hero { position: relative; min-height: 420px; display:flex; align-items:center; justify-content:center; text-align:center; background: var(--forest); overflow:hidden; }
.rr-page-hero::before { content:""; position:absolute; inset:0; background: linear-gradient(rgba(30,51,32,.62), rgba(30,51,32,.78)), var(--rr-hero-image, none) center/cover no-repeat; }
.rr-page-hero-inner { position:relative; z-index:1; max-width:920px; padding:90px 28px; color:#fff; }
.rr-eyebrow { font-size:11px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); margin-bottom:14px; }
.rr-page-hero h1 { font-family:'Playfair Display',serif; font-size:clamp(40px,7vw,84px); line-height:.98; font-weight:400; margin:0 0 18px; }
.rr-page-hero p { max-width:760px; margin:0 auto; color:rgba(255,255,255,.84); font-size:18px; line-height:1.75; }
.rr-content-wrap { background:var(--cream); padding:80px 24px; }
.rr-content { max-width:920px; margin:0 auto; font-size:18px; line-height:1.85; color:var(--text-mid); }
.rr-content h2 { font-family:'Playfair Display',serif; color:var(--forest); font-weight:400; font-size:clamp(30px,4vw,46px); line-height:1.15; margin:54px 0 18px; }
.rr-content h3 { font-family:'Playfair Display',serif; color:var(--forest); font-weight:400; font-size:28px; margin:38px 0 14px; }
.rr-content p, .rr-content ul, .rr-content ol { margin:0 0 22px; }
.rr-content ul { list-style:none; padding-left:0; }
.rr-content li { position:relative; padding-left:25px; margin-bottom:12px; }
.rr-content li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:8px; background:var(--gold); border-radius:50%; }
.rr-content a { color:var(--forest); border-bottom:1px solid rgba(184,147,58,.45); }
.rr-content blockquote { margin:40px 0; padding:32px 36px; background:var(--parchment); border-left:4px solid var(--gold); font-family:'Playfair Display',serif; color:var(--forest); font-size:24px; line-height:1.55; }
.rr-content .wp-block-button__link, .rr-btn { display:inline-block; background:var(--gold); color:#fff!important; padding:14px 24px; border-radius:2px; border:0!important; font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; transition:background .2s; }
.rr-content .wp-block-button__link:hover, .rr-btn:hover { background:var(--gold-light); }
.rr-card-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rr-card { background:#fff; border:1px solid rgba(30,51,32,.08); padding:32px; box-shadow:0 18px 45px rgba(30,51,32,.06); }
.rr-card h2, .rr-card h3 { font-family:'Playfair Display',serif; color:var(--forest); font-weight:400; margin:0 0 12px; }
.rr-card p { color:var(--text-mid); line-height:1.7; margin:0 0 18px; }
.rr-post-meta { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.rr-guides-grid { max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rr-guide-card { background:#fff; border:1px solid rgba(30,51,32,.08); box-shadow:0 18px 45px rgba(30,51,32,.06); overflow:hidden; display:flex; flex-direction:column; }
.rr-guide-thumb { aspect-ratio:16/10; background:var(--parchment); overflow:hidden; }
.rr-guide-thumb img { width:100%; height:100%; object-fit:cover; }
.rr-guide-body { padding:28px; flex:1; display:flex; flex-direction:column; }
.rr-guide-body h2 { font-family:'Playfair Display',serif; color:var(--forest); font-weight:400; font-size:28px; line-height:1.2; margin:0 0 12px; }
.rr-guide-body p { color:var(--text-mid); line-height:1.7; margin:0 0 20px; }
.rr-guide-body a { margin-top:auto; color:var(--gold); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
@media(max-width:980px){ .rr-card-grid,.rr-guides-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:640px){ .rr-page-hero{min-height:360px}.rr-page-hero-inner{padding:70px 22px}.rr-content-wrap{padding:56px 22px}.rr-content{font-size:16px}.rr-card-grid,.rr-guides-grid{grid-template-columns:1fr}.rr-card{padding:26px}.rr-content blockquote{font-size:21px;padding:26px 24px;} }

/* v15: Site-matched scrollbar styling */
html {
  scrollbar-width: auto;
  scrollbar-color: #c49a3e #173b24;
}

body::-webkit-scrollbar,
html::-webkit-scrollbar {
  width: 14px;
  height: 14px;
}

body::-webkit-scrollbar-track,
html::-webkit-scrollbar-track {
  background: #173b24;
}

body::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #d0a348 0%, #b58632 100%);
  border-radius: 999px;
  border: 3px solid #173b24;
}

body::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #e0b85a 0%, #c49a3e 100%);
}

body::-webkit-scrollbar-corner,
html::-webkit-scrollbar-corner {
  background: #173b24;
}

