/*
Theme Name: Bloomington Retreats
Theme URI: https://example.com/bloomington-retreats
Author: Bloomington Retreats
Description: A boutique hospitality WordPress theme for the Bloomington Retreats property collection.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: bloomington-retreats
*/

:root{
  --cream:#f5f0e7; --paper:#fffdf8; --ink:#171815; --muted:#696b64; --line:#ddd5c8;
  --coral:#cb5c44; --orange:#d97845; --gold:#d6aa46; --teal:#286b69; --green:#526a50;
  --burgundy:#733d49; --blue:#4d6f86; --shadow:0 22px 55px rgba(27,24,18,.12);
  --shadow2:0 10px 28px rgba(27,24,18,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
button{font:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* navigation */
.nav{position:sticky;top:0;z-index:99;background:rgba(245,240,231,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,20,15,.07)}
.navin{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{font-family:Georgia,serif;font-size:22px;font-weight:800;letter-spacing:.035em;line-height:1}
.brand small{display:block;margin-top:6px;font-family:Inter,system-ui,sans-serif;font-size:9px;letter-spacing:.22em;color:var(--muted);font-weight:800}
.navlinks{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:800}
.navlinks a{padding:10px 0;border-bottom:2px solid transparent}
.navlinks a.active{border-color:var(--coral)}
.cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid var(--ink);padding:14px 19px;font-size:13px;font-weight:850;letter-spacing:.02em;cursor:pointer;transition:.2s ease;background:transparent}
.cta,.btn.dark{background:var(--ink);color:#fff}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn:hover,.cta:hover{transform:translateY(-1px)}
.mobileMenu{display:none;background:transparent;border:0;font-size:24px}

/* page system */
.page{display:block;animation:fade .25s ease}@keyframes fade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.eyebrow,.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;color:var(--coral)}
h1,h2,h3,h4{font-family:Georgia,serif;letter-spacing:-.035em}
h1{font-size:72px;line-height:.96;margin:18px 0 24px}h2{font-size:48px;line-height:1.04;margin:0 0 18px}h3{font-size:32px;margin:0}h4{font-size:22px;margin:0}
.lead{font-size:19px;line-height:1.58;color:#4f514c}.section{padding:74px 0}.sectionhead{max-width:760px;margin-bottom:34px}.sectionhead p{color:var(--muted);font-size:17px;line-height:1.6;margin:0}.hr{height:1px;background:var(--line);margin:0}

/* home hero */
.hero{padding:38px 0 62px}.heroGrid{display:grid;grid-template-columns:.91fr 1.09fr;gap:34px;align-items:center}.heroCopy{padding:38px 0}.heroCopy .lead{max-width:630px}.heroActions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.proofrow{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.proofrow b{display:block;color:var(--ink);font-size:19px;margin-bottom:2px}
.heroPhotos{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:270px 270px;gap:12px;min-height:552px}.photo{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(145deg,#b99478,#4a5f56);box-shadow:var(--shadow)}.photo.big{grid-row:1/3}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.58))}.photoLabel{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff}.photoLabel b{font-family:Georgia,serif;font-size:22px}.photoLabel span{display:block;font-size:11px;opacity:.9;margin-top:3px}.img-failed:before{content:"Bloomington Retreats";position:absolute;inset:0;display:grid;place-items:center;color:white;font-family:Georgia,serif;font-size:24px;background:linear-gradient(145deg,var(--coral),var(--teal))}

/* cards */
.propertyGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.propertyCard{background:var(--paper);border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:var(--shadow2)}.propertyImage{height:300px;position:relative;overflow:hidden;background:#ccc}.propertyImage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(0,0,0,.58))}.propertyBadge{position:absolute;top:16px;left:16px;z-index:2;background:rgba(255,253,248,.93);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900}.propertyTitle{position:absolute;left:22px;bottom:20px;z-index:2;color:white}.propertyTitle h3{font-size:37px}.propertyTitle p{margin:5px 0 0;font-size:13px;opacity:.9}.propertyBody{padding:24px}.meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted)}.propertyBody>p{font-size:15px;line-height:1.58;color:#555750}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.tag{background:#efe9df;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:800}.cardActions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.textLink{font-size:13px;font-weight:900;color:var(--coral)}

/* experience band */
.band{border-radius:32px;background:var(--ink);color:#fff;padding:52px;display:grid;grid-template-columns:.8fr 1.2fr;gap:38px}.band p{color:#c9cac4;line-height:1.6}.chooser{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.choice{border:1px solid rgba(255,255,255,.16);border-radius:17px;padding:17px}.choice b{display:block;font-size:14px;margin-bottom:4px}.choice span{font-size:12px;color:#c8c9c2}.iconrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.iconCard{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px}.iconCard .symbol{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eee6db;font-weight:900;margin-bottom:22px}.iconCard p{font-size:13px;line-height:1.55;color:var(--muted)}

/* route 66 band */
.routeBand{background:#efe1c6;border:1px solid #dfcba5;border-radius:28px;padding:32px;display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center}.shield{width:100px;height:112px;background:#fff;border:7px solid #252525;border-radius:18px 18px 42px 42px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.shield small{font-weight:900;font-size:11px}.shield b{font-family:Georgia,serif;font-size:38px}.routeBand p{color:#625847;line-height:1.55;margin:7px 0 0}

/* page header */
.pageHero{padding:58px 0 42px}.pageHero h1{font-size:62px;max-width:950px}.pageHero .lead{max-width:800px}.crumb{font-size:11px;color:var(--muted);font-weight:800;margin-bottom:16px}.crumb a{color:var(--coral)}

/* property detail */
.detail{padding:26px 0 76px}.detailTop{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px}.detailTop h2{margin:8px 0 5px}.detailRating{white-space:nowrap;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:13px 16px;font-size:12px;font-weight:850}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:235px 235px;gap:10px;border-radius:25px;overflow:hidden}.gallery figure{margin:0;position:relative;background:#cfc7bb;overflow:hidden}.gallery figure:first-child{grid-row:1/3}.detailGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;margin-top:34px}.detailCopy{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px}.detailCopy p{color:#565852;line-height:1.65}.featureCols{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}.featureBox{background:#f2ece3;border-radius:17px;padding:18px}.featureBox b{display:block;margin-bottom:7px}.featureBox span{font-size:13px;line-height:1.5;color:#5c5e57}.sideCard{background:var(--ink);color:white;border-radius:24px;padding:26px;height:max-content;position:sticky;top:102px}.sideCard h4{font-size:26px;margin-bottom:10px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}.stat{border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:13px}.stat b{font-size:18px;display:block}.stat span{font-size:11px;color:#bbbdb8}.sideCard .btn{width:100%;margin-top:10px}.fine{font-size:11px;line-height:1.5;color:#aaaea6;margin-top:15px}.goodToKnow{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.goodToKnow b{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.goodToKnow p{font-size:12px;line-height:1.55;color:#c4c5c0}

/* comparison table */
.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:16px 15px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f4eee5}tr:last-child td{border-bottom:0}

/* local guide */
.guideHero{display:grid;grid-template-columns:1.05fr .95fr;gap:22px}.guidePanel{border-radius:28px;padding:38px;background:var(--ink);color:#fff}.guidePanel h1{font-size:58px}.guidePanel p{color:#c4c6bf;max-width:650px}.guideArt{border-radius:28px;background:linear-gradient(135deg,#d7a347,#c96846 47%,#2b6a68);min-height:440px;position:relative;overflow:hidden}.guideArt:after{content:"66";position:absolute;right:30px;bottom:-32px;font-family:Georgia,serif;font-size:250px;font-weight:800;color:rgba(255,255,255,.14)}.guideArt .localWords{position:absolute;left:30px;top:34px;color:white;font-family:Georgia,serif;font-size:34px;line-height:1.2;max-width:370px}.guideFilter{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0}.filterBtn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:10px 13px;font-size:12px;font-weight:850;cursor:pointer}.filterBtn.active{background:var(--ink);color:white;border-color:var(--ink)}.recGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rec{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;min-height:220px}.rec.hide{display:none}.recType{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);font-weight:900}.rec h3{font-size:25px;margin:12px 0 8px}.rec p{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 18px}.rec .where{margin-top:auto;font-size:11px;font-weight:850;color:#484a45}.recActions{display:flex;gap:8px;margin-top:14px}.mini{font-size:11px;font-weight:850;border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:#f5efe6}.itinerary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.day{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px}.day .num{font-size:10px;letter-spacing:.14em;color:var(--coral);font-weight:900}.day h4{font-size:24px;margin:10px 0}.day p{font-size:13px;color:var(--muted);line-height:1.55}

/* about + faq */
.aboutGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}.hostPhoto{height:520px;border-radius:30px;overflow:hidden;background:#bbb;box-shadow:var(--shadow)}.aboutCopy p{font-size:16px;line-height:1.68;color:#555750}.quote{font-family:Georgia,serif;font-size:30px;line-height:1.25;border-left:4px solid var(--coral);padding-left:20px;margin:26px 0}.valueGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.value{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:20px}.value b{display:block;margin-bottom:6px}.value span{font-size:12px;color:var(--muted);line-height:1.5}.pressGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.press{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.press small{font-size:10px;color:var(--coral);font-weight:900;letter-spacing:.1em;text-transform:uppercase}.press h4{font-size:22px;margin:10px 0}.press p{font-size:12px;color:var(--muted);line-height:1.5}.faq{max-width:900px}.faqItem{border-top:1px solid var(--line)}.faqItem:last-child{border-bottom:1px solid var(--line)}.faqQ{width:100%;background:transparent;border:0;padding:20px 0;display:flex;justify-content:space-between;gap:18px;text-align:left;font-weight:850;cursor:pointer}.faqA{display:none;padding:0 0 21px;color:var(--muted);line-height:1.6;font-size:14px}.faqItem.open .faqA{display:block}.faqItem.open .plus{transform:rotate(45deg)}.plus{font-size:22px;transition:.2s}

/* closing */
.final{background:var(--coral);color:#fff;border-radius:32px;padding:58px;text-align:center}.final h2{font-size:55px}.final p{font-size:17px;color:#ffe8e0;max-width:670px;margin:0 auto 25px}.finalActions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
footer{padding:44px 0 58px}.foot{border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:24px;color:var(--muted);font-size:12px}.foot b{color:var(--ink)}.footLinks{display:flex;gap:14px;flex-wrap:wrap}.sourceNote{font-size:10px;color:#8b8d86;margin-top:12px;line-height:1.5}

@media(max-width:980px){
  .navlinks{display:none}.mobileMenu{display:block}.nav.open .navlinks{display:flex;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:18px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav .cta{display:none}
  h1{font-size:54px}.heroGrid,.guideHero,.aboutGrid,.detailGrid,.band{grid-template-columns:1fr}.heroPhotos{min-height:480px}.sideCard{position:static}.propertyGrid{grid-template-columns:1fr}.iconrow,.valueGrid{grid-template-columns:repeat(2,1fr)}.recGrid,.itinerary,.pressGrid{grid-template-columns:repeat(2,1fr)}.routeBand{grid-template-columns:100px 1fr}.routeBand .btn{grid-column:1/3;width:max-content}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 180px 180px}.gallery figure:first-child{grid-column:1/3;grid-row:auto}.foot{grid-template-columns:1fr 1fr}.foot>div:last-child{grid-column:1/3}
}
@media(max-width:620px){
  .wrap{padding:0 18px}.navin{min-height:70px}.brand{font-size:18px}.brand small{font-size:8px}.nav.open .navlinks{top:70px}
  .hero{padding-top:18px}.heroGrid{gap:18px}h1{font-size:45px}.lead{font-size:17px}.heroPhotos{grid-template-columns:1fr 1fr;grid-template-rows:260px 170px}.photo.big{grid-column:1/3;grid-row:auto}.proofrow{gap:16px}.section{padding:54px 0}h2{font-size:39px}.propertyImage{height:240px}.band{padding:30px 22px}.chooser{grid-template-columns:1fr}.iconrow,.valueGrid,.recGrid,.itinerary,.pressGrid{grid-template-columns:1fr}.routeBand{grid-template-columns:1fr;text-align:center}.shield{margin:auto}.routeBand .btn{grid-column:auto;margin:auto}.pageHero{padding:38px 0 25px}.pageHero h1,.guidePanel h1{font-size:44px}.guidePanel{padding:30px 24px}.guideArt{min-height:330px}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:250px 150px}.gallery figure:first-child{grid-column:1/3}.gallery figure:nth-child(n+4){display:none}.detailTop{display:block}.detailRating{display:inline-block;margin-top:12px}.featureCols{grid-template-columns:1fr}.final{padding:40px 22px}.final h2{font-size:41px}.foot{grid-template-columns:1fr}.foot>div:last-child{grid-column:auto}.hostPhoto{height:420px}.aboutGrid{gap:28px}
}

/* WordPress integration */
body.admin-bar .nav{top:32px}
.wp-block-image img{height:auto}
.entry-content > *{max-width:900px}
.entry-content{font-size:16px;line-height:1.7;color:#555750}
.admin-edit-link{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--ink);color:#fff;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:800;box-shadow:var(--shadow2)}
.propertyCard .propertyImage img,.gallery img,.photo img,.hostPhoto img{transition:transform .45s ease}
.propertyCard:hover .propertyImage img{transform:scale(1.025)}
@media(max-width:782px){body.admin-bar .nav{top:46px}}
