/*
Theme Name: Harden Hill Propolis
Description: Product-focused theme for Harden Hill Honey Propolis Tincture.
Version: 1.0.0
WPVibe: yes
*/
:root{--ink:#17130e;--cream:#f3ead7;--paper:#fbf7ee;--honey:#c88a22;--amber:#7b4a18;--line:#d8c9aa;--muted:#6f6658}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",sans-serif;font-size:18px;line-height:1.6}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{max-width:790px}.site-header{position:absolute;z-index:10;width:100%;padding:26px 0}.header-inner{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(23,19,14,.22);padding-bottom:18px}.brand{font-family:"DM Serif Display",serif;text-decoration:none;font-size:1.3rem;display:flex;gap:10px;align-items:center}.brand-mark{color:var(--honey)}nav{display:flex;gap:28px}nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-family:"Oswald",sans-serif;font-size:.76rem}.hero{min-height:760px;padding:155px 0 90px;background:radial-gradient(circle at 82% 30%,#e9c98c 0,transparent 28%),linear-gradient(135deg,#f6eddc 0%,#ead8b5 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:80px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font:500 .78rem "Oswald",sans-serif;color:var(--amber)}h1,h2{font-family:"DM Serif Display",serif;font-weight:400;line-height:.95;margin:.15em 0}h1{font-size:clamp(4.3rem,9vw,8rem);max-width:650px}h2{font-size:clamp(2.7rem,5vw,4.8rem)}h3{font:600 1.25rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.05em}.lead{font-size:1.25rem;max-width:600px;color:#40372d}.badges{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.badges span{border:1px solid var(--ink);border-radius:99px;padding:7px 14px;font:500 .75rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em}.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:15px 24px;font:500 .82rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em}.product-stage{position:relative;display:grid;place-items:center;min-height:480px}.honeycomb{position:absolute;font-size:34rem;line-height:1;color:rgba(123,74,24,.08);transform:rotate(30deg)}.product-photo{position:relative;margin:0;text-align:center}.product-photo a{display:inline-block;cursor:zoom-in}.product-photo img{display:block;max-height:360px;width:auto;max-width:100%;margin:auto;filter:drop-shadow(0 28px 28px rgba(56,35,15,.2));transition:transform .2s ease}.product-photo a:hover img{transform:scale(1.025)}.product-photo figcaption{margin-top:18px;font:500 .75rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--amber)}.product-placeholder{position:relative;width:210px;height:390px;border-radius:22px 22px 35px 35px;background:linear-gradient(90deg,#452812,#8c571e 45%,#573315);box-shadow:0 35px 55px rgba(56,35,15,.25);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#111}.product-placeholder:before{content:"";position:absolute;top:-75px;width:155px;height:100px;border-radius:14px 14px 4px 4px;background:#17130e}.product-placeholder strong,.product-placeholder small,.product-placeholder em{background:#f3ead7;width:100%;padding:7px 12px}.product-placeholder strong{font-family:"DM Serif Display",serif;font-size:1.2rem}.product-placeholder small{font:600 .75rem "Oswald",sans-serif;letter-spacing:.12em}.product-placeholder em{font-size:.68rem;color:#6f6658}.bee{background:#f3ead7;width:100%;padding-top:16px;color:#b47718}.story{padding:120px 0;background:var(--ink);color:#f8f0df}.story p:not(.kicker){font-size:1.22rem;color:#d8cebc}.usage{padding:120px 0}.section-head{max-width:760px;margin-bottom:60px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps article{padding:34px 28px;border-right:1px solid var(--line)}.steps article:last-child{border-right:0}.steps b{font:500 .75rem "Oswald",sans-serif;color:var(--honey);letter-spacing:.12em}.steps p{color:var(--muted);font-size:1rem}.notice{margin-top:36px;padding:24px 28px;border-left:5px solid var(--honey);background:#f0e3c9}.origin{padding:110px 0;background:#dcae5c}.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.origin-grid>p{font-size:1.25rem}.closing{text-align:center;padding:120px 0}.bee-mark{font-size:4rem;color:var(--honey);margin:0}.closing p{color:var(--muted)}.text-link{font:500 .8rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.12em}.site-footer{background:#100e0b;color:#e9dfcc;padding:50px 0}.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;align-items:end}.footer-inner p{margin:4px 0;color:#a99f90;font-size:.9rem}.footer-warning{font-family:"Oswald",sans-serif!important;text-transform:uppercase;letter-spacing:.1em;color:#e0ae54!important}
.formats{padding:120px 0;background:#fffaf0}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:var(--paper);border:1px solid var(--line);padding:34px;position:relative}.product-image{height:390px;display:grid;place-items:center;margin-bottom:26px;background:linear-gradient(145deg,#f3e5c9,#fffaf0)}.product-image a{display:grid;place-items:center;width:100%;height:100%;cursor:zoom-in}.product-image img{max-height:260px;max-width:78%;width:auto;filter:drop-shadow(0 18px 16px rgba(56,35,15,.16));transition:transform .2s ease}.product-image a:hover img{transform:scale(1.035)}.product-size{font:500 .75rem "Oswald",sans-serif;letter-spacing:.15em;color:var(--amber);margin:0}.product-card h3{font-family:"DM Serif Display",serif;text-transform:none;font-size:2rem;font-weight:400;margin:.15em 0}.product-card>p:not(.product-size){color:var(--muted);font-size:1rem}.use-tag{display:inline-block;border-top:1px solid var(--line);padding-top:14px;margin-top:10px;font:500 .7rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.11em}@media(max-width:800px){.formats{padding:80px 0}.product-grid{grid-template-columns:1fr}.product-image{height:330px}}@media(max-width:800px){body{font-size:16px}.site-header{position:relative;background:#f3ead7;padding:18px 0}.header-inner{align-items:flex-start}.header-inner nav{display:none}.hero{padding:80px 0}.hero-grid,.origin-grid{grid-template-columns:1fr;gap:50px}.hero-copy{text-align:left}.product-stage{min-height:430px}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid var(--line)}.steps article:last-child{border-bottom:0}.story,.usage,.origin,.closing{padding:80px 0}.footer-inner{grid-template-columns:1fr;gap:18px}h1{font-size:4.5rem}}
.reviews{padding:120px 0;background:#f5ead4}.reviews .section-head>p:last-child{color:var(--muted);max-width:700px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}.review-card{background:#fffaf0;border:1px solid var(--line);padding:34px}.review-photo{display:block;margin:-34px -34px 28px;overflow:hidden;cursor:zoom-in}.review-photo img{display:block;width:100%;height:auto;transition:transform .2s ease}.review-photo:hover img{transform:scale(1.015)}.review-stars{color:var(--honey);font-size:1.15rem;letter-spacing:.16em}.review-product{font:500 .72rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.14em;color:var(--amber);margin:10px 0 0}.review-card h3{font-family:"DM Serif Display",serif;text-transform:none;letter-spacing:0;font-size:1.7rem;font-weight:400;line-height:1.12;margin:.35em 0 .65em}.review-card>p:not(.review-product):not(.review-author){font-size:1rem;color:#4f463a}.review-author{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;font:600 .78rem "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em}.review-author span{font-weight:400;text-transform:none;letter-spacing:.04em;color:var(--muted)}@media(max-width:800px){.reviews{padding:80px 0}.review-grid{grid-template-columns:1fr}.review-card{padding:26px}.review-photo{margin:-26px -26px 24px}}

@media(max-width:600px){
html,body{max-width:100%;overflow-x:hidden}
body{font-size:16px}
.wrap{width:calc(100% - 32px);max-width:100%}
.site-header{padding:14px 0}
.header-inner{padding-bottom:14px}
.brand{font-size:1.08rem;min-width:0}
.hero{min-height:auto;padding:58px 0 64px}
.hero-grid{gap:30px}
h1{font-size:clamp(3rem,16vw,4.25rem);line-height:.92;overflow-wrap:anywhere}
h2{font-size:clamp(2.35rem,12vw,3.5rem);line-height:1}
h3{overflow-wrap:anywhere}
.lead{font-size:1.08rem}
.badges{margin:22px 0}
.badges span{font-size:.68rem;padding:6px 10px}
.button{max-width:100%;text-align:center}
.product-stage{min-height:330px;width:100%}
.honeycomb{font-size:22rem;max-width:100%;overflow:hidden}
.product-photo,.product-photo a{max-width:100%}
.product-photo img{max-height:300px;max-width:86%}
.formats,.reviews,.story,.usage,.origin,.closing{padding:64px 0}
.section-head{margin-bottom:38px}
.product-grid,.review-grid,.hero-grid,.origin-grid{min-width:0}
.product-card,.review-card{min-width:0;padding:22px}
.product-image{height:290px;margin-bottom:20px}
.product-image img{max-height:230px;max-width:82%}
.product-card h3{font-size:1.75rem}
.review-photo{margin:-22px -22px 22px}
.review-photo img{width:100%;max-width:100%;height:auto}
.review-card h3{font-size:1.5rem}
.review-card>p{overflow-wrap:break-word}
.steps article{padding:26px 20px}
.notice{padding:20px;border-left-width:4px}
.origin-grid{gap:30px;width:100%;max-width:100%;min-width:0}.origin-grid>div,.origin-grid>p{width:100%;max-width:100%;min-width:0;overflow-wrap:break-word;word-wrap:break-word}.origin-grid h2{max-width:100%;overflow-wrap:break-word}.origin-grid>p{font-size:1.08rem}
.footer-inner{min-width:0}
img,svg,video,iframe{max-width:100%;height:auto}
}

@media(max-width:380px){
.wrap{width:calc(100% - 24px)}
h1{font-size:2.9rem}
h2{font-size:2.3rem}
.product-card,.review-card{padding:18px}
.product-image{height:260px}
}

/* iPhone/mobile viewport hardening */
html{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{width:100%;max-width:100%;overflow-x:hidden}
main,.site-header,.site-footer,section{max-width:100%;overflow-x:hidden}
.wrap{max-width:calc(100% - 40px)}
.hero-grid,.product-grid,.review-grid,.origin-grid,.footer-inner,.steps{max-width:100%}
.hero-grid>*,.product-grid>*,.review-grid>*,.origin-grid>*,.footer-inner>*{min-width:0}
.review-photo{display:block;width:88%;max-width:520px;margin:0 auto 24px;cursor:zoom-in}
.review-photo img{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--line)}
@media(max-width:600px){
.wrap{width:auto;max-width:none;margin-left:16px;margin-right:16px}
.hero-grid,.product-grid,.review-grid,.origin-grid,.footer-inner,.steps{width:100%;max-width:100%}
.hero-copy{width:100%;max-width:100%;min-width:0}
.hero-copy h1{font-size:clamp(2.65rem,14vw,4rem);max-width:100%;word-break:normal;overflow-wrap:break-word}
.hero-copy .lead{max-width:100%}
.product-card,.review-card{width:100%;max-width:100%;min-width:0}
.review-photo{width:90%;max-width:100%;margin:0 auto 22px}
.review-photo img{width:100%;height:auto;object-fit:contain}
}
@media(max-width:380px){
.wrap{margin-left:12px;margin-right:12px}
.hero-copy h1{font-size:2.65rem}
.review-photo{width:92%}
}

/* From the Hive: deliberately remove CSS Grid on phones.
   This avoids Safari grid intrinsic-width overflow. */
@media(max-width:800px){
.origin{width:100%;max-width:100%;overflow:hidden}
.origin>.wrap{display:block;width:auto;max-width:none;margin-left:20px;margin-right:20px}
.origin-grid{display:block!important;width:auto!important;max-width:none!important;min-width:0!important}
.origin-grid>div,.origin-grid>p{display:block;width:auto!important;max-width:100%!important;min-width:0!important;margin-left:0;margin-right:0;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal}
.origin-grid h2{display:block;width:auto;max-width:100%;font-size:clamp(2.15rem,10vw,3.35rem);line-height:1.02;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.origin-grid>p{margin-top:28px;font-size:1.05rem;line-height:1.6}
}
@media(max-width:380px){
.origin>.wrap{margin-left:16px;margin-right:16px}
.origin-grid h2{font-size:2.15rem}
}
