/*
Theme Name: Folklore Restaurant
Author: OpenAI
Description: A simple one-page restaurant theme with Google Places reviews.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: folklore-restaurant
*/

:root{--cream:#f7f3e9;--ink:#242722;--olive:#555e40;--rust:#ad633f;--line:#d9d5ca}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:#f7f3e9ef;border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:72px}.brand{font-family:Georgia,serif;font-size:1.65rem;font-weight:bold;text-decoration:none;letter-spacing:-.04em}.nav{display:flex;gap:24px;align-items:center}.nav a{text-decoration:none;font-size:.83rem;text-transform:uppercase;letter-spacing:.1em}.nav a:hover,.text-link:hover{color:var(--rust)}.button{display:inline-block;background:var(--olive);color:white;text-decoration:none;padding:13px 23px;border-radius:2px;font-size:.82rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.button:hover{background:var(--rust);color:white}.hero{min-height:650px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(21,27,19,.8),rgba(21,27,19,.12)),url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=1800&q=85') center/cover;color:white}.hero-content{padding:100px 0;max-width:670px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:bold}.hero h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.12}.hero h1{font-size:clamp(3.5rem,8vw,7rem);margin:18px 0}.hero p{font-size:1.14rem;max-width:490px;margin-bottom:30px}.section{padding:100px 0}.section h2{font-size:clamp(2.4rem,5vw,4.4rem);margin:10px 0 26px}.intro{max-width:650px}.muted{color:#666b61}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.food-card{background:white}.food-card img{height:290px;width:100%;object-fit:cover}.food-card div{padding:25px}.food-card h3{font-size:1.7rem;margin:0 0 8px}.food-card p{margin:0;color:#666b61}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.split img{width:100%;height:520px;object-fit:cover}.soft{background:#e9e8dc}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.review{padding:27px;background:white;border:1px solid var(--line)}.stars{color:#b47b3c;letter-spacing:.12em}.review p{font-family:Georgia,serif;font-size:1.15rem}.review small{color:#60665c}.location{background:#2e3629;color:#fff}.location .muted{color:#d4d8cd}.location-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center}.map{width:100%;min-height:390px;border:0;background:#e9e8dc}.site-footer{padding:35px 0;background:#20271e;color:#ddd}.footer-inner{display:flex;justify-content:space-between;gap:20px}.text-link{text-decoration:underline;text-underline-offset:5px}.admin-bar .site-header{top:32px}@media(max-width:800px){.nav{gap:11px;flex-wrap:wrap;justify-content:flex-end}.nav a{font-size:.7rem}.nav .button{display:none}.hero{min-height:560px}.food-grid,.review-grid{grid-template-columns:1fr 1fr}.split,.location-grid{grid-template-columns:1fr}.split img{height:350px}.section{padding:70px 0}}@media(max-width:560px){.header-inner{align-items:flex-start;padding:15px 0;flex-direction:column}.nav{justify-content:flex-start}.food-grid,.review-grid{grid-template-columns:1fr}.hero h1{font-size:3.6rem}.footer-inner{flex-direction:column}.admin-bar .site-header{top:46px}}
.location-preview{min-height:390px;background:radial-gradient(circle at 65% 35%,#cfd5bf 0 10%,transparent 10.5%),linear-gradient(30deg,transparent 40%,#d7dbc9 40% 43%,transparent 43%),linear-gradient(120deg,#dce0d1 0 45%,#e9ecdf 45%);color:#293227;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;text-decoration:none}.location-preview strong{font:normal 3rem Georgia,serif}.location-preview span:last-child{max-width:300px}.pin{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ad633f;color:white;margin-bottom:18px;box-shadow:0 8px 20px #0002}#review-grid:empty{display:none}
/* Motion and interaction */
.logo-brand{display:inline-flex;align-items:center;text-decoration:none}.logo-brand img{width:66px;height:66px;object-fit:contain;border-radius:3px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.logo-brand:hover img{transform:rotate(-5deg) scale(1.08);box-shadow:0 10px 24px #0002}.header-inner{min-height:86px}.nav a:not(.button){position:relative;transition:color .25s}.nav a:not(.button)::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav a:not(.button):hover::after,.nav a:not(.button):focus-visible::after{transform:scaleX(1)}.button{position:relative;overflow:hidden;transition:background .3s,transform .3s,box-shadow .3s}.button:hover,.button:focus-visible{transform:translateY(-4px);box-shadow:0 12px 22px #0002}.button:active{transform:translateY(-1px) scale(.97)}.button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff3d 50%,transparent 70%);transform:translateX(-160%);transition:transform .65s}.button:hover::before{transform:translateX(160%)}.food-card{transition:transform .5s,box-shadow .5s}.food-card:hover{transform:translateY(-9px);box-shadow:0 22px 36px #2222}.food-card img,.split img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}.food-card{overflow:hidden}.food-card:hover img{transform:scale(1.06)}.split img:hover{filter:saturate(1.2)}.review{transition:transform .35s,box-shadow .35s}.review:hover{transform:translateY(-6px);box-shadow:0 15px 30px #2222}.location-preview{transition:transform .45s,box-shadow .45s}.location-preview:hover{transform:translateY(-6px);box-shadow:0 20px 30px #0003}.pin{animation:pinFloat 2.8s ease-in-out infinite}@keyframes pinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero{animation:heroZoom 1.5s ease-out both}@keyframes heroZoom{from{opacity:.7}to{opacity:1}}.hero-content>*{animation:riseIn .75s both}.hero-content>*:nth-child(2){animation-delay:.13s}.hero-content>*:nth-child(3){animation-delay:.27s}.hero-content>*:nth-child(4){animation-delay:.4s}@keyframes riseIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.motion-ready .reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.motion-ready .food-card:nth-child(2),.motion-ready .review:nth-child(2){transition-delay:.12s}.motion-ready .food-card:nth-child(3),.motion-ready .review:nth-child(3){transition-delay:.24s}a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .reveal{opacity:1;transform:none}}
.story-intro{margin-bottom:38px}.story-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-gallery figure{position:relative;overflow:hidden;margin:0;min-height:290px;background:#d9d5ca}.story-gallery img{width:100%;height:310px;object-fit:cover;transition:transform .7s,filter .5s}.story-gallery figure:hover img{transform:scale(1.07);filter:brightness(.8)}.story-gallery figcaption{position:absolute;left:22px;bottom:18px;color:white;text-shadow:0 2px 8px #000;font:1.6rem Georgia,serif}.site-header{transition:transform .35s ease,box-shadow .35s ease}.site-header.header-hidden{transform:translateY(-105%);box-shadow:none}@media(max-width:800px){.story-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.story-gallery{grid-template-columns:1fr}.story-gallery img{height:260px}}@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* ============================
   GOOGLE REVIEWS
============================ */

.google-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 25px 0 15px;
}

.overall-stars,
.review-stars {
    color: #e0a72e;
    letter-spacing: 2px;
}

.overall-stars {
    font-size: 22px;
}

.overall-rating-text {
    font-size: 15px;
    font-weight: 600;
}

.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.review-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 3px;
    min-height: 260px;
}

.review-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.review-author img {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
}

.review-author a {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

.review-author a:hover {
    text-decoration: underline;
}

.review-date {
    margin-top: 3px;
    font-size: 13px;
    opacity: 0.65;
}

.review-stars {
    margin-bottom: 14px;
    font-size: 19px;
}

.review-text {
    line-height: 1.7;
    margin: 0;
}

.reviews-loading {
    grid-column: 1 / -1;
}

.reviews-footer {
    margin-top: 35px;
}

.google-place-attribution {
    margin-top: 15px;
    font-size: 12px;
    opacity: 0.7;
}


/* Tablet */

@media (max-width: 900px) {

    .review-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* Mobile */

@media (max-width: 600px) {

    .review-grid {
        grid-template-columns: 1fr;
    }

    .review-card {
        min-height: auto;
    }

    .google-rating {
        align-items: flex-start;
        flex-direction: column;
    }

}
