/*
Theme Name: Ruby Mae's Appalachian Alchemy
Author: Ruby Mae's Appalachian Alchemy & Mountain Mysticism
Description: Production-ready, responsive WordPress theme for Ruby Mae's.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ruby-maes
*/
:root{--forest:#142219;--forest2:#1e3023;--plum:#321637;--plum2:#4a2450;--cream:#f7efd9;--paper:#fbf8ef;--gold:#c7a35a;--ink:#211d18;--muted:#706858;--line:#d8cdb7;--shadow:0 14px 40px rgba(20,22,17,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:#0d170f;color:#eee4cd;font-size:.84rem;border-bottom:1px solid rgba(199,163,90,.35)}.topbar .container{display:flex;gap:20px;justify-content:space-between;padding:8px 0}.site-header{background:var(--forest);color:var(--cream);position:sticky;top:0;z-index:100;box-shadow:0 4px 18px rgba(0,0,0,.18)}.header-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}.logo-wide{width:min(540px,62vw);height:74px;object-fit:contain;object-position:left center}.logo-round{width:74px;height:74px;object-fit:contain;border-radius:50%}.brand-area{display:flex;align-items:center;gap:14px}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:17px;align-items:center}.main-nav a{text-decoration:none;color:var(--cream);font-size:.9rem}.main-nav a:hover{color:var(--gold)}.menu-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--cream);padding:8px 10px}.hero{min-height:82vh;display:flex;align-items:center;color:var(--cream);background:linear-gradient(90deg,rgba(7,15,9,.92) 0%,rgba(7,15,9,.66) 48%,rgba(7,15,9,.40) 100%),url("assets/images/enchanted-forest-atmosphere.jpg") center/cover;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,var(--forest));pointer-events:none}.hero-copy{position:relative;z-index:2}.hero-copy{max-width:650px;padding:95px 0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;color:var(--gold)}h1,h2,h3,h4{line-height:1.16}h1{font-size:clamp(2.7rem,6vw,5.4rem);margin:.25em 0}.hero p{font-size:1.16rem;max-width:650px}.buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.button{display:inline-block;background:var(--plum);color:var(--cream);border:1px solid var(--gold);padding:11px 19px;text-decoration:none;font-weight:bold;border-radius:3px;transition:.2s}.button:hover{transform:translateY(-1px);background:var(--plum2)}.button.gold{background:var(--gold);color:#231b10}.section{padding:78px 0}.section.dark{background:var(--forest);color:var(--cream)}.section.plum{background:var(--plum);color:var(--cream)}.section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.section-heading h2{font-size:clamp(2rem,4vw,3rem);margin:.25em 0}.section-heading p{color:var(--muted)}.dark .section-heading p,.plum .section-heading p{color:#e8dfca}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.card-image{height:215px;width:100%;object-fit:cover}.card-body{padding:22px}.card h3{margin-top:0;color:var(--plum)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:25px 18px;text-align:center;background:rgba(255,255,255,.055);border:1px solid rgba(199,163,90,.38);min-height:255px}.service-icon{font-size:2rem}.service-card h3{color:var(--gold);margin:12px 0 7px}.service-card p{color:#e8dfca}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:38px;align-items:center}.about-image{width:100%;height:470px;object-fit:cover;box-shadow:var(--shadow)}.paper-panel{background:#f4ead2;border:1px solid #d6c49c;padding:38px;box-shadow:var(--shadow);position:relative}.paper-panel:after{content:"";position:absolute;inset:10px;border:1px solid rgba(94,72,35,.18);pointer-events:none}.maker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.maker{padding:24px;background:#fff;border-left:4px solid var(--gold);box-shadow:var(--shadow)}.forest-banner{background:linear-gradient(rgba(10,18,11,.72),rgba(10,18,11,.82)),url("assets/images/ruby-maes-forest.jpg") center/cover;color:var(--cream);text-align:center;padding:105px 20px}.gallery{columns:3 250px;column-gap:18px}.gallery img{width:100%;margin:0 0 18px;border:5px solid #fff;box-shadow:0 7px 25px rgba(0,0,0,.15)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.info-box{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}.connect-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px;align-items:center}.socials{display:flex;flex-wrap:wrap;gap:9px}.socials a{padding:9px 13px;border:1px solid var(--gold);text-decoration:none;background:rgba(255,255,255,.03)}.bbb{width:175px;background:white;padding:10px;border:1px solid #ddd}.footer{background:#0b130d;color:var(--cream);padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{text-decoration:none}.fine{font-size:.88rem;color:#cfc5b1}.page-hero{background:var(--forest);color:var(--cream);padding:70px 0}.page-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);margin:0}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px;border:1px solid var(--line);background:white;margin:5px 0 15px;font:inherit}.map-wrap{min-height:340px;background:#dfe7da;border:1px solid var(--line);overflow:hidden}.map-wrap iframe{width:100%;height:340px;border:0}.woocommerce ul.products li.product a.button{background:var(--plum);color:#fff}.woocommerce a.button,.woocommerce button.button{background:var(--plum);color:#fff}.site-content{min-height:50vh}
@media(max-width:1050px){.main-nav ul{gap:11px}.logo-wide{width:48vw}.service-grid{grid-template-columns:repeat(2,1fr)}.connect-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.topbar .container{flex-wrap:wrap}.main-nav{display:none}.menu-toggle{display:block}.header-main{position:relative}.main-nav.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--forest);padding:15px 4%;box-shadow:0 10px 20px rgba(0,0,0,.2)}.main-nav.open ul{flex-direction:column;align-items:flex-start}.logo-wide{width:60vw;height:60px}.logo-round{width:60px;height:60px}.about-grid,.visit-grid,.connect-grid,.footer-grid{grid-template-columns:1fr}.cards,.maker-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hero{min-height:78vh}.hero-copy{padding:70px 0}.cards,.service-grid,.maker-grid{grid-template-columns:1fr}.section{padding:58px 0}.logo-round{display:none}.logo-wide{width:74vw}.topbar{font-size:.75rem}.topbar .container{gap:5px}.about-image{height:340px}.paper-panel{padding:26px}.buttons .button{width:100%;text-align:center}}

/* Enchanted forest identity */
.section.dark,.footer{background-image:radial-gradient(circle at 10% 20%,rgba(199,163,90,.08),transparent 25%),radial-gradient(circle at 90% 70%,rgba(74,36,80,.16),transparent 30%)}
.forest-frame{border:1px solid rgba(199,163,90,.45);box-shadow:inset 0 0 0 8px rgba(20,34,25,.65),0 15px 45px rgba(0,0,0,.3);background:#0f1b12 url("assets/images/enchanted-forest-atmosphere.jpg") center/cover;padding:34px;position:relative}
.forest-frame:before,.forest-frame:after{content:"✦";position:absolute;color:var(--gold);font-size:1.4rem}
.forest-frame:before{top:12px;left:18px}.forest-frame:after{bottom:12px;right:18px}
.forest-frame .inner{background:rgba(8,17,10,.68);padding:38px;text-align:center;border:1px solid rgba(199,163,90,.28)}

.magical-page-hero{min-height:48vh;background-position:center;background-size:cover;background-attachment:fixed;display:flex;align-items:center;color:var(--cream);position:relative}.page-hero-inner{padding:80px 0;max-width:900px}.page-hero-inner h1{font-size:clamp(2.5rem,6vw,5rem);margin:.2em 0;text-shadow:0 4px 20px rgba(0,0,0,.6)}.page-hero-inner p{font-size:1.15rem;max-width:700px}.magical-page-content{position:relative}.magical-page-content:before{content:"✦";position:absolute;left:-10px;top:-35px;color:var(--gold);font-size:2rem}.enchanted-card{background:linear-gradient(145deg,#fffdf6,#efe4cd);border-color:#bfa879}.magic-symbol{font-size:2rem;color:var(--plum)}.enchanted-service{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,0,0,.12));box-shadow:inset 0 0 0 1px rgba(199,163,90,.12),0 18px 38px rgba(0,0,0,.18)}.forest-game{display:grid;gap:26px}.quest-progress{display:inline-block;border:1px solid rgba(199,163,90,.5);padding:9px 16px;margin-top:12px;color:var(--gold)}.quest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.quest-card{appearance:none;border:1px solid rgba(199,163,90,.35);background:linear-gradient(160deg,#17281c,#0b150e);color:var(--cream);padding:20px 12px;min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;cursor:pointer;font-family:inherit;box-shadow:0 12px 28px rgba(0,0,0,.2);transition:.22s}.quest-card:hover,.quest-card.found{transform:translateY(-5px);border-color:var(--gold);background:linear-gradient(160deg,#243b28,#161d16)}.quest-card.found{box-shadow:0 0 0 2px rgba(199,163,90,.18),0 14px 34px rgba(0,0,0,.28)}.quest-icon{font-size:2.2rem}.quest-card strong{font-size:1.1rem;color:var(--gold)}.quest-card small{font-size:.86rem;color:#ded3bd}.quest-card em{margin-top:auto;font-style:normal;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.quest-message{min-height:58px;border-left:3px solid var(--gold);padding:14px 18px;background:#f2e8d2;color:var(--ink);display:none}.quest-message.show{display:block}.forest-map{margin-top:4px}.forest-map .inner{text-align:center}.forest-map h3{color:var(--gold)}@media(max-width:1050px){.quest-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.magical-page-hero{background-attachment:scroll}.quest-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.quest-grid{grid-template-columns:1fr}.quest-card{min-height:190px}}

.business-hours{margin:20px 0 26px}.business-hours h3{margin-bottom:10px}.business-hours ul{list-style:none;margin:0;padding:0}.business-hours li{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgba(199,163,90,.2)}.business-hours li span{font-weight:600}.business-hours li strong{font-weight:500;text-align:right}@media(max-width:520px){.business-hours li{gap:10px;flex-direction:column}.business-hours li strong{text-align:left}}
