/*
Theme Name: Hops & Stops
Author: Hops & Stops
Description: Editorial brewery discovery and travel directory.
Version: 1.5.13
Text Domain: hops-and-stops
*/
:root{--forest:#0f3b2e;--amber:#f4a024;--cream:#f7ead7;--rust:#8b3e1f;--ink:#2b2b2b}*{box-sizing:border-box}body{margin:0;background:#fffaf1;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.6}h1,h2,h3,.brand{font-family:"Bree Serif",Georgia,serif;line-height:1.16}a{color:inherit}header.site-header{background:var(--forest);color:var(--cream);padding:18px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-size:29px;white-space:nowrap}.brand span{color:var(--amber)}.site-logo{display:block;width:clamp(180px,23vw,290px);height:auto}nav a{margin-left:23px;text-decoration:none;font-size:14px;font-weight:600}nav a:hover{color:var(--amber)}.hero{background:var(--forest);color:var(--cream);padding:100px 24px 112px;text-align:center;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--amber);font-size:12px;font-weight:800}.hero h1{font-size:clamp(45px,6vw,82px);max-width:900px;margin:22px auto}.hero p{font-size:19px;max-width:620px;margin:0 auto 32px;color:#e3e4d9}.search-form{display:flex;max-width:650px;margin:auto;background:white;padding:7px;border-radius:5px}.search-form input{flex:1;min-width:0;padding:15px;border:0;font-size:16px}.search-form button,.cta{border:0;background:var(--amber);color:#24221b;font-weight:800;padding:15px 25px;cursor:pointer;text-decoration:none;border-radius:3px}.wrap{max-width:1180px;margin:auto;padding:72px 24px}.section-kicker{color:var(--rust);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.section-title{font-size:clamp(34px,4vw,51px);margin:12px 0 20px}.lead{max-width:690px;color:#5e5c55;font-size:18px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}.city{min-height:250px;background:#e6dfcd;display:flex;flex-direction:column;justify-content:end;padding:28px;text-decoration:none;border-bottom:5px solid var(--amber)}.city:nth-child(2){background:#dce2d5}.city:nth-child(3){background:#e7d9c8}.city strong{font-family:"Bree Serif",Georgia,serif;font-size:29px}.city small{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.band{background:#efe9dc;padding:64px 24px}.band .wrap{padding:0 24px}.page-layout{padding-top:78px;padding-bottom:100px}.editorial-page{max-width:790px;margin:0 auto}.editorial-page>.section-title{font-size:clamp(40px,5vw,62px);margin:12px 0 36px;letter-spacing:-.025em}.editorial-content{font-size:17px;line-height:1.85;color:#363b35}.editorial-content p{margin:0 0 23px}.editorial-content h2{font-size:clamp(27px,3vw,36px);line-height:1.22;margin:56px 0 19px;color:var(--forest);letter-spacing:-.015em}.editorial-content h2:first-child{font-size:26px;margin:0 0 24px;color:var(--rust)}.editorial-content strong{font-weight:750}.editorial-content:not(.city-guide-intro):not(.city-guide-copy)>p:last-child{font-family:"Bree Serif",Georgia,serif;color:var(--forest);font-size:23px;margin-top:26px}.editorial-content .addtoany_share_save_container{margin-top:52px;padding-top:24px;border-top:1px solid #ddd4c4}@media(max-width:750px){.page-layout{padding-top:48px;padding-bottom:70px}.editorial-content{font-size:16px;line-height:1.75}.editorial-content h2{margin-top:42px}}.footer{background:#172820;color:#f7ead7;padding:46px 24px;text-align:center}.footer a{color:var(--amber)}@media(max-width:750px){header.site-header{flex-direction:column;align-items:flex-start}nav a{margin:0 18px 0 0}.hero{padding:70px 22px}.city-grid{grid-template-columns:1fr}.search-form{flex-direction:column}}

/* v1.5.12: homepage city cards with the city guides' own photographs. Brand: forest #0f3b2e, cream, amber #f4a024. */
.home-cities{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.home-cities .home-city{min-height:0;padding:0;justify-content:flex-start;overflow:hidden;border-radius:6px;border-bottom:5px solid var(--amber);box-shadow:0 1px 0 rgba(15,59,46,.06);transition:box-shadow .2s ease,transform .2s ease}
.home-cities .home-city:hover{box-shadow:0 12px 28px rgba(15,59,46,.14);transform:translateY(-2px)}
.home-cities .home-city:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.home-city-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#d3d4c8}
.home-city-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-city:hover .home-city-img{transform:scale(1.03)}
.home-city-text{display:flex;flex-direction:column;gap:4px;padding:22px 24px 22px;flex:1}
.home-city-text small{color:var(--rust)}
.home-city-text strong{color:var(--forest)}
.home-city-cta{font-weight:600;color:var(--forest)}
.home-city:hover .home-city-cta{text-decoration:underline;text-underline-offset:3px}
.home-city-credit{margin-top:auto;padding-top:12px;font-size:11.5px;line-height:1.4;color:#6b6656}
.home-cities .home-city-more{background:var(--forest);color:var(--cream);justify-content:flex-end}
.home-cities .home-city-more .home-city-text{flex:0 0 auto;padding:28px}
.home-cities .home-city-more small{color:var(--amber)}
.home-cities .home-city-more strong,.home-cities .home-city-more .home-city-cta{color:var(--cream)}
@media(max-width:900px){.home-cities{grid-template-columns:repeat(2,minmax(0,1fr))}.home-cities .home-city-more{grid-column:1/-1;min-height:150px}}
@media(max-width:620px){.home-cities{grid-template-columns:1fr}.home-city-photo{aspect-ratio:16/10}.home-cities .home-city-more{min-height:0}}
@media(prefers-reduced-motion:reduce){.home-cities .home-city,.home-city-img{transition:none}.home-cities .home-city:hover{transform:none}.home-city:hover .home-city-img{transform:none}}
/* v1.5.12: footer links (incl. Photography & Image Credits) */
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px;margin:14px 0 12px}
.footer-links a{display:inline-block;padding:10px 2px;font-size:14px;font-weight:600;text-underline-offset:3px}
/* v1.5.12: breadcrumbs on state and city guide pages; visible photo credit on profiles */
.editorial-page>.profile-breadcrumbs{margin:0 0 22px}
.profile-breadcrumbs .crumb-current{color:#605e54}
.profile-photo-credit{margin:-17px 0 26px;font-size:12.5px;line-height:1.5;color:#6b6656}
.profile-photo-credit-label{font-weight:700;color:#4d4a40}
/* v1.5.12: the older ".profile-featured img{max-height:480px}" left a grey strip under wide photos in the 4:3 gallery tile. */
.profile-photo-gallery .profile-gallery-tile img{max-height:none;border-radius:0}
/* 1.5.13 photo hero (Customizer > Homepage hero; only when .hero-has-photo is present). Overlay stops were set by sampling the photo under every text line: worst pixel >= 4.5:1 for body/eyebrow text at 320-1440px. */
.hero.hero-has-photo{overflow:hidden;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:96px max(24px,calc((100vw - 1180px)/2)) 116px;isolation:isolate}
.hero.hero-has-photo .hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 45%}
.hero.hero-has-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,44,34,.94) 0%,rgba(15,59,46,.88) 52%,rgba(15,59,46,.42) 74%,rgba(15,59,46,.14) 100%),linear-gradient(0deg,rgba(11,44,34,.6),rgba(11,44,34,0) 38%)}
@media(max-width:1000px){.hero.hero-has-photo::before{background:linear-gradient(90deg,rgba(11,44,34,.94) 0%,rgba(15,59,46,.88) 70%,rgba(15,59,46,.62) 100%),linear-gradient(0deg,rgba(11,44,34,.6),rgba(11,44,34,0) 38%)}}
.hero.hero-has-photo>*:not(.hero-photo):not(.hero-credit){width:100%;max-width:620px}
.hero.hero-has-photo h1{font-size:clamp(40px,5.4vw,68px);line-height:1.06;margin:14px 0 18px;color:var(--cream);text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero.hero-has-photo>p{color:#f1e8d6;font-size:18px;margin:0 0 26px}
.hero.hero-has-photo .search-form{margin:0;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.hero.hero-has-photo .home-nearby{margin:16px 0 0}
.hero.hero-has-photo .hero-credit{position:absolute;right:16px;bottom:12px;left:auto;z-index:1;max-width:min(560px,calc(100% - 32px));margin:0;padding:5px 10px;border-radius:4px;background:rgba(11,44,34,.82);color:#f7ead7;font-size:11.5px;line-height:1.45;text-align:right}
.hero.hero-has-photo .hero-credit a{color:#f7ead7;text-decoration:underline;text-underline-offset:2px}
.hero.hero-has-photo .hero-credit a:hover,.hero.hero-has-photo .hero-credit a:focus-visible{color:var(--amber)}
.hero.hero-has-photo a:focus-visible,.hero.hero-has-photo button:focus-visible,.hero.hero-has-photo input:focus-visible,.hero.hero-has-photo select:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
@media(max-width:700px){.hero.hero-has-photo{min-height:0;padding:56px 20px 92px}.hero.hero-has-photo::before{background:linear-gradient(180deg,rgba(15,59,46,.8) 0%,rgba(15,59,46,.84) 42%,rgba(11,44,34,.95) 100%)}.hero.hero-has-photo .hero-photo{object-position:68% 40%}.hero.hero-has-photo h1{font-size:clamp(36px,10vw,46px)}.hero.hero-has-photo>p{font-size:16px}.hero.hero-has-photo .hero-credit{left:12px;right:12px;bottom:10px;max-width:none;text-align:left}}
@media(prefers-reduced-transparency:reduce){.hero.hero-has-photo::before{background:rgba(11,44,34,.9)}}
