/*
Theme Name: Rabble & Roost Editable
Theme URI: https://www.rabbleandroost.co.uk/
Author: Rabble & Roost
Description: Custom responsive theme converted from the Rabble & Roost HTML website.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rabble-roost
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&family=Caveat:wght@400;500;600&display=swap');
:root{--ink:#29382d;--olive:#42583f;--sage:#788b71;--cream:#f7f3e9;--paper:#fffdf7;--clay:#b27b5d;--line:#ded9ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.2;margin:0 0 .65em}h1{font-size:clamp(2.8rem,5.5vw,5.3rem)}h2{font-size:clamp(2rem,3.5vw,3.2rem)}h3{font-size:1.55rem}p{margin:.5em 0 1em}.hand{font-family:'Caveat',cursive;font-size:clamp(1.55rem,2.6vw,2.25rem);color:var(--clay)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.73rem;font-weight:700;color:var(--sage);margin-bottom:1rem}.container{max-width:1160px;padding:0 26px;margin:auto}.sitehead{position:sticky;top:0;z-index:10;background:#fbf9f2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px}.logo{text-decoration:none;font-family:'Caveat',cursive;font-size:2.25rem;line-height:.8;white-space:nowrap;transform:rotate(-3deg);display:inline-block}.logo small{display:block;font:500 .62rem 'DM Sans',sans-serif;letter-spacing:.12em;margin-top:11px;transform:rotate(3deg)}.navlinks{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.navlinks a{text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;font-weight:700}.navlinks a:hover{color:var(--clay)}.menu{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:5px}.hero{min-height:590px;display:flex;align-items:center;color:#fff;background:#344738;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,39,26,.86),rgba(22,39,26,.22)),url('assets/cabin-meadow.jpg') center 56%/cover no-repeat;filter:saturate(.92)}.hero .container{position:relative;width:100%}.hero p{max-width:530px;font-size:1.12rem}.hero .hand{color:#fff0d8}.btn{display:inline-block;background:var(--olive);color:white;border:0;border-radius:4px;padding:12px 23px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-size:.74rem;cursor:pointer}.btn:hover{background:#31432f}.btn.outline{background:transparent;border:1px solid currentColor}.btn.light{background:#e8e2d3;color:var(--ink)}section{padding:85px 0}.cream{background:var(--cream)}.center{text-align:center}.center p{max-width:700px;margin:0 auto 1.4rem}.intro{max-width:760px;margin:auto auto 45px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);background:#fff;text-decoration:none;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card img{width:100%;height:210px;object-fit:cover}.card .body{padding:22px 18px 26px}.card p{font-size:.91rem}.card .go{color:var(--olive);font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--clay);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;height:450px;object-fit:cover;border-radius:3px}.wide-photo{width:100%;max-height:430px;object-fit:cover}.strip{padding:52px 0}.eventgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event{padding:26px;border:1px solid var(--line);background:#fff}.event small{color:var(--clay);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.event h3{margin-top:12px}.note{font-family:'Caveat',cursive;color:var(--clay);font-size:1.8rem;transform:rotate(-3deg);display:inline-block}.pagehero{background:var(--cream);padding:80px 0}.pagehero .container{max-width:930px}.pagehero p{font-size:1.13rem;max-width:760px}.banner{height:330px;object-fit:cover;width:100%}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.unit{background:#fff;border:1px solid var(--line);overflow:hidden}.unit img{width:100%;height:235px;object-fit:cover}.unit .body{padding:23px}.unit .body p{font-size:.92rem}.muted{color:#687265}.faq{max-width:880px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:18px 5px}.faq summary{cursor:pointer;font-weight:700;font-size:1.04rem;list-style:none;display:flex;justify-content:space-between;gap:18px}.faq summary:after{content:'+';font-size:1.3rem;color:var(--clay)}.faq details[open] summary:after{content:'−'}.faq details p{max-width:790px}.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.step{padding:23px;border-radius:6px;background:#e7e9df}.step:nth-child(4n+2){background:#f1e5d8}.step:nth-child(4n+3){background:#e6e9e7}.step:nth-child(4n){background:#eee7d7}.step b{display:block;font:500 1.3rem 'Playfair Display',serif;margin-bottom:6px}.step p{margin:0;font-size:.92rem}.activities{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.activity{padding:27px;border:1px solid var(--line);background:#fff}.activity h3{margin-bottom:8px}.activity ul{padding-left:18px}.activity li{margin:6px 0}.formbox{max-width:800px;background:#fff;border:1px solid var(--line);padding:28px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}label{font-size:.82rem;font-weight:700}input,select,textarea{font:inherit;border:1px solid #cbc9bf;padding:11px 12px;border-radius:4px;width:100%;background:#fff}textarea{min-height:130px}.warning{padding:14px 18px;background:#eee7d8;border-left:3px solid var(--clay);font-size:.9rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery img{width:100%;height:230px;object-fit:cover}.footer{background:#2d3b30;color:#f6f1e7;padding:55px 0 28px}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.footer a{display:block;text-decoration:none;margin:8px 0}.footer small{opacity:.7}.footer .logo{font-size:2.6rem}.tiny{font-size:.78rem}.labelpill{display:inline-block;border:1px solid #bcbcae;border-radius:20px;padding:3px 10px;font-size:.72rem;color:#61725f}.photo-credit{font-size:.72rem;color:#677369;margin-top:8px}.subtle{background:#eef0e7}.spacing{margin-top:25px}.link{color:var(--olive);font-weight:700}.hero-sub{background:#43583e;color:white;padding:70px 0}.hero-sub h1{font-size:clamp(2.6rem,4vw,4.4rem)}.hero-sub .eyebrow{color:#d7e1c8}.hero-sub p{max-width:680px}.quote{font:500 2rem/1.35 'Playfair Display',serif;max-width:850px;margin:auto}.soon{position:absolute;top:15px;left:15px;background:#f4ecdd;padding:5px 12px;font-size:.72rem;font-weight:700;text-transform:uppercase}.rel{position:relative}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.navlinks{display:none;position:absolute;top:80px;left:0;right:0;background:#fbf9f2;padding:22px;flex-direction:column;align-items:flex-start;box-shadow:0 12px 20px #0001}.navlinks.open{display:flex}.menu{display:block}.split{gap:25px}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:650px){section{padding:55px 0}.hero{min-height:530px}.hero:before{background:linear-gradient(90deg,#1a2b21b9,#1a2b2140),url('assets/cabin-meadow.jpg') center/cover}.cards,.grid3,.eventgrid,.split,.activities,.steps,.footergrid,.formgrid{grid-template-columns:1fr}.card img{height:220px}.split img{height:300px}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:160px}.container{padding:0 18px}.pagehero{padding:55px 0}.formbox{padding:18px}.footergrid{gap:15px}}
/* Draft 3: lighter, consistent display type and botanical detail */
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.025em}
.hero h1,.hero-sub h1{font-weight:400;letter-spacing:-.035em;line-height:1.12}
.hero-sub p{font-size:1.32rem;line-height:1.6;max-width:840px}
.logo{font-family:'Caveat',cursive;font-weight:500;position:relative;padding-right:39px;font-size:2.35rem}
.logo:after{content:'';position:absolute;right:1px;top:-12px;width:32px;height:49px;background:url('assets/leaf.svg') center/contain no-repeat;transform:rotate(15deg)}
.hero .hand{font-weight:500}
.activity p{line-height:1.8}
.step p{font-size:.96rem;line-height:1.7}
.step b{font-size:1.4rem}
.gallery{grid-template-columns:repeat(3,1fr)}
.gallery a{display:block;overflow:hidden;cursor:zoom-in}
.gallery img{transition:transform .25s;width:100%;height:230px;object-fit:cover}
.gallery a:hover img{transform:scale(1.04)}
.check-label{display:flex;gap:10px;align-items:center;cursor:pointer;margin-top:30px}
.check-label input{width:18px;height:18px;flex-shrink:0}
.lightbox{position:fixed;inset:0;z-index:200;background:#0e180fe9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lightbox[hidden]{display:none}.lightbox img{max-height:78vh;max-width:88vw;object-fit:contain}.lightbox button{cursor:pointer;background:#f7f3e9;border:0;padding:12px 16px;border-radius:4px;font-size:1.1rem}.lightbox .controls{display:flex;gap:16px;align-items:center;margin-top:15px;color:white}.lightbox .close{position:absolute;right:25px;top:22px}.lightbox .counter{min-width:95px;text-align:center}
@media(max-width:650px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:170px}.hero-sub p{font-size:1.12rem}.logo{font-size:1.9rem}}

/* Redraft 4: quiet, image-led, natural */
.hero:before{background:linear-gradient(90deg,rgba(19,36,24,.78),rgba(19,36,24,.13)),url('https://rabbleandroost.co.uk/wp-content/uploads/2026/11/wellies.jpg') center 54%/cover no-repeat}
@media(max-width:650px){.hero:before{background:linear-gradient(90deg,rgba(19,36,24,.80),rgba(19,36,24,.2)),url('https://rabbleandroost.co.uk/wp-content/uploads/2026/11/wellies.jpg') center/cover no-repeat}}
.roost-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px}.roost-photos figure{margin:0}.roost-photos img{width:100%;height:330px;object-fit:cover}.roost-photos figcaption{font-size:.85rem;color:#5f6d5f;padding-top:8px}@media(max-width:650px){.roost-photos{grid-template-columns:1fr}.roost-photos img{height:260px}}

/* Gutenberg block compatibility: page layout remains editable in Pages */
.rr-content > .wp-block-group {padding:80px 0}
.rr-content > .wp-block-group.hero,.rr-content > .wp-block-group.hero-sub,.rr-content > .wp-block-group.pagehero {padding:0}
.rr-content .wp-block-group.container {max-width:1160px;margin-left:auto;margin-right:auto;padding-left:26px;padding-right:26px}
.rr-content .wp-block-group.container > .wp-block-group {max-width:100%}
.rr-content .wp-block-group.cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.rr-content .wp-block-group.card {background:white;border:1px solid var(--line);overflow:hidden}
.rr-content .wp-block-group.card > .wp-block-image {margin:0}
.rr-content .wp-block-group.card > .wp-block-group.body {padding:22px 18px}
.rr-content .wp-block-group.split {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px;align-items:center}
.rr-content .wp-block-group.grid3,.rr-content .wp-block-group.eventgrid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rr-content .wp-block-group.gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rr-content .wp-block-group.roost-photos,.rr-content .wp-block-group.steps,.rr-content .wp-block-group.activities {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rr-content .wp-block-group.hero {min-height:590px;display:flex;align-items:center}
.rr-content .wp-block-group.hero > .container {position:relative;width:100%}
.rr-content .wp-block-group.hero-sub {padding:70px 0}
.rr-content .wp-block-group.pagehero {padding:80px 0}
.rr-content .wp-block-image img {height:auto}
.rr-content .split .wp-block-image img {width:100%;max-height:450px;object-fit:cover}
.rr-content .card .wp-block-image img {width:100%;height:210px;object-fit:cover}
.rr-content .wp-block-group.gallery .wp-block-image img {width:100%;height:230px;object-fit:cover}
.rr-content .wp-block-group.center {text-align:center}
.rr-content .wp-block-buttons {margin-top:20px}
.rr-content .wp-block-button__link {background:var(--olive);color:white;border-radius:4px;font:700 .74rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.07em;padding:14px 22px}
.rr-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rr-contact-form{max-width:750px}
.rr-content .wp-block-group.unit,.rr-content .wp-block-group.event,.rr-content .wp-block-group.activity {background:#fff;border:1px solid var(--line);padding:20px}
.rr-content .wp-block-group.step {padding:23px;border-radius:6px;background:#e7e9df}
.rr-content .wp-block-group.cream {background:var(--cream)}
@media(max-width:900px){.rr-content .wp-block-group.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-content .wp-block-group.split{gap:25px}}
@media(max-width:650px){.rr-content .wp-block-group.cards,.rr-content .wp-block-group.split,.rr-content .wp-block-group.grid3,.rr-content .wp-block-group.eventgrid,.rr-content .wp-block-group.activities,.rr-content .wp-block-group.steps,.rr-content .wp-block-group.roost-photos{grid-template-columns:1fr}.rr-content .wp-block-group.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.rr-content > .wp-block-group{padding:55px 0}.rr-content .wp-block-group.container{padding-left:18px;padding-right:18px}}
