/* Gurgen Tour — Premium Restaurant Profile */
.site-main:has(.rstr-page){
    --rstr-shell-w:1260px;
    --rstr-gutter:22px;
    padding:0;
    max-width:none;
}
.public-body:has(.rstr-page){
    background:#fff;
    background-image:none;
}
.public-body:has(.rstr-page) .site-footer{
    display:none;
}
.rstr-page{
    --rstr-gold:#c9a227;
    --rstr-gold-light:#e8d48a;
    --rstr-dark:#121212;
    --rstr-dark-soft:#1c1c1c;
    --rstr-text:#0f172a;
    --rstr-muted:#64748b;
    --rstr-card:#fff;
    --rstr-shadow:0 12px 40px rgba(15,23,42,.1);
    --rstr-shadow-hover:0 20px 50px rgba(201,162,39,.18);
    font-family:Inter,'Segoe UI',system-ui,sans-serif;
    color:var(--rstr-text);
    padding-bottom:72px;
}
.rstr-shell{
    width:100%;
    max-width:var(--rstr-shell-w);
    margin:0 auto;
    padding:0 var(--rstr-gutter);
    box-sizing:border-box;
}
.rstr-muted{color:var(--rstr-muted);font-size:13px}
.rstr-link{color:var(--rstr-gold);font-weight:700;text-decoration:none;font-size:14px}
.rstr-link-light{color:var(--rstr-gold-light)}

/* Topbar */
.rstr-topbar{
    position:sticky;top:0;z-index:50;
    background:#fff;border-bottom:1px solid #eee;
    box-shadow:0 4px 20px rgba(0,0,0,.04);
    transition:box-shadow .25s;
}
.rstr-topbar.is-scrolled{box-shadow:0 8px 28px rgba(0,0,0,.1)}
.rstr-topbar-inner{
    display:flex;align-items:center;gap:16px;
    min-height:64px;
}
.rstr-brand{
    display:flex;align-items:center;gap:10px;
    text-decoration:none;color:var(--rstr-dark);
    flex-shrink:0;
}
.rstr-brand img{border-radius:8px}
.rstr-brand strong{display:block;font-size:11px;letter-spacing:.12em;line-height:1.2}
.rstr-brand em{display:block;font-size:10px;color:var(--rstr-gold);font-style:normal;letter-spacing:.2em}
.rstr-nav{
    display:flex;flex-wrap:wrap;gap:4px 18px;flex:1;justify-content:center;
}
.rstr-nav a{
    color:#334155;text-decoration:none;font-size:13px;font-weight:600;
    padding:6px 0;transition:color .2s;
}
.rstr-nav a:hover{color:var(--rstr-gold)}
.rstr-topbar-actions{display:flex;align-items:center;gap:10px}
.rstr-icon-btn{
    width:40px;height:40px;border-radius:50%;border:1px solid #e2e8f0;
    background:#fff;cursor:pointer;font-size:18px;
}
.rstr-lang{font-size:12px;font-weight:700;color:var(--rstr-muted);padding:0 6px}
.rstr-nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer}

.rstr-btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 22px;border-radius:12px;font-weight:700;font-size:14px;
    text-decoration:none;border:2px solid transparent;cursor:pointer;
    transition:transform .2s,box-shadow .2s,background .2s;
}
.rstr-btn-sm{padding:9px 14px;font-size:12px;border-radius:10px}
.rstr-btn-block{width:100%}
.rstr-btn-gold{
    background:linear-gradient(135deg,#d4af37 0%,#b8941f 100%);
    color:#1a1200;box-shadow:0 6px 20px rgba(201,162,39,.35);
}
.rstr-btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(201,162,39,.45)}
.rstr-btn-dark{background:var(--rstr-dark);color:#fff}
.rstr-btn-dark:hover{background:#000}
.rstr-btn-outline{
    background:transparent;color:#fff;border-color:rgba(255,255,255,.55);
}
.rstr-btn-outline:hover{background:rgba(255,255,255,.12)}

/* Hero */
.rstr-hero{position:relative;min-height:clamp(480px,72vh,620px);display:flex;align-items:center}
.rstr-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.rstr-hero-bg .cover-hero-media,.rstr-hero-bg .cover-hero-media img,.rstr-hero-bg .cover-hero-media video{width:100%;height:100%;object-fit:cover}
.rstr-hero-bg>img{width:100%;height:100%;object-fit:cover}
.rstr-hero-overlay{position:absolute;inset:0;z-index:1;
    position:absolute;inset:0;
    background:linear-gradient(105deg,rgba(8,8,8,.88) 0%,rgba(18,18,18,.75) 45%,rgba(18,18,18,.35) 100%);
}
.rstr-hero-inner{position:relative;z-index:1;width:100%;padding:48px 0}
.rstr-hero-grid{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);
    gap:32px;align-items:center;
}
.rstr-gold-tag{
    display:inline-block;color:var(--rstr-gold-light);
    font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
    margin-bottom:12px;
}
.rstr-hero-copy h1{margin:0 0 16px;line-height:1.05}
.rstr-title-line{display:block;color:#fff;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:.06em}
.rstr-title-gold{display:block;color:var(--rstr-gold);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:900;letter-spacing:.04em}
.rstr-hero-desc{color:rgba(255,255,255,.82);font-size:15px;line-height:1.65;max-width:520px;margin:0 0 20px}
.rstr-hero-meta{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px}
.rstr-hero-meta li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.9);font-size:14px}
.rstr-hero-meta a{color:inherit;text-decoration:none}
.rstr-meta-ico{opacity:.9}
.rstr-hero-cta{display:flex;flex-wrap:wrap;gap:12px}

/* Overlapping food stack */
.rstr-hero-food-stack{position:relative;min-height:360px}
.rstr-food-main{
    position:relative;z-index:2;margin:0;
    border-radius:20px;overflow:hidden;
    border:3px solid rgba(255,255,255,.9);
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    cursor:pointer;transition:transform .35s ease;
}
.rstr-food-main:hover{transform:scale(1.02)}
.rstr-food-main img{width:100%;height:clamp(260px,32vw,340px);object-fit:cover;display:block}
.rstr-food-small{
    position:absolute;z-index:3;margin:0;
    width:46%;border-radius:16px;overflow:hidden;
    border:2px solid rgba(255,255,255,.85);
    box-shadow:0 16px 40px rgba(0,0,0,.4);
    cursor:pointer;transition:transform .3s ease;
}
.rstr-food-small:hover{transform:translateY(-4px) scale(1.03)}
.rstr-food-small img{width:100%;height:120px;object-fit:cover;display:block}
.rstr-food-small-top{right:0;top:8%}
.rstr-food-small-bottom{right:12%;bottom:0}

/* Sections */
.rstr-section{padding:48px 0}
.rstr-section-light{background:#fff}
.rstr-section-dark{background:var(--rstr-dark-soft);color:#fff}
.rstr-section-head{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;margin-bottom:24px;flex-wrap:wrap;
}
.rstr-section-head h2{margin:0;font-size:1.5rem;font-weight:800}
.rstr-section-head-light h2{color:#fff}

/* Featured foods */
.rstr-food-grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
}
.rstr-food-card{
    background:var(--rstr-card);border-radius:16px;overflow:hidden;
    border:1px solid #f1f5f9;transition:transform .25s,box-shadow .25s;
}
.rstr-food-card:hover{transform:translateY(-6px);box-shadow:var(--rstr-shadow-hover)}
.rstr-food-card-media{aspect-ratio:4/3;overflow:hidden}
.rstr-food-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.rstr-food-card:hover .rstr-food-card-media img{transform:scale(1.08)}
.rstr-food-card-body{padding:14px 16px 18px}
.rstr-food-card-body h3{margin:0 0 6px;font-size:15px}
.rstr-food-card-body p{margin:0 0 8px;font-size:12px;color:var(--rstr-muted);line-height:1.45}
.rstr-food-price{color:var(--rstr-dark);font-size:15px}

/* Gallery track */
.rstr-gallery-track{
    display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
}
.rstr-gallery-card{
    flex:0 0 min(320px,78vw);scroll-snap-align:start;
    border:none;padding:0;border-radius:16px;overflow:hidden;
    position:relative;cursor:pointer;background:#000;
    transition:transform .25s;
}
.rstr-gallery-card:hover{transform:scale(1.02)}
.rstr-gallery-card img{width:100%;height:220px;object-fit:cover;display:block;opacity:.92}
.rstr-gallery-cap{
    position:absolute;left:0;right:0;bottom:0;padding:10px 14px;
    background:linear-gradient(transparent,rgba(0,0,0,.8));
    color:#fff;font-size:13px;text-align:left;
}

/* Reviews + map */
.rstr-reviews-map-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.rstr-review-list{display:grid;gap:14px}
.rstr-review-card{
    background:#fff;border:1px solid #e8ecf0;border-radius:16px;padding:18px;
    box-shadow:0 4px 16px rgba(15,23,42,.04);
}
.rstr-review-head{display:flex;gap:12px;margin-bottom:10px}
.rstr-review-avatar{
    width:44px;height:44px;border-radius:50%;background:#fef9e7;
    color:var(--rstr-gold);display:flex;align-items:center;justify-content:center;font-weight:800;
}
.rstr-stars-sm span{color:#e2e8f0;font-size:13px}
.rstr-stars-sm span.on{color:#fbbf24}
.rstr-map-card{
    background:#fff;border-radius:18px;padding:18px;
    border:1px solid #e8ecf0;box-shadow:var(--rstr-shadow);
}
.rstr-map-frame{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#e2e8f0}
.rstr-map-frame iframe{width:100%;height:100%;min-height:240px;border:0}
.rstr-map-address{font-size:14px;margin:12px 0}

/* Features bar */
.rstr-features-bar{background:#f4f4f5;padding:28px 0;border-top:1px solid #e8e8e8}
.rstr-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rstr-feature-item{display:flex;gap:14px;align-items:center}
.rstr-feature-icon{
    width:48px;height:48px;border-radius:14px;
    background:linear-gradient(135deg,#fef9e7,#f5e6b8);
    flex-shrink:0;
}
.rstr-feature-item strong{display:block;font-size:14px}
.rstr-feature-item span{font-size:12px;color:var(--rstr-muted)}

/* Page footer */
.rstr-page-footer{
    background:var(--rstr-dark);color:rgba(255,255,255,.85);
    padding:48px 0 28px;
}
.rstr-footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px;
    margin-bottom:28px;
}
.rstr-footer-brand img{margin-bottom:12px;border-radius:8px}
.rstr-footer-brand p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.65);max-width:280px}
.rstr-footer-social{display:flex;gap:12px;margin-top:14px}
.rstr-footer-social a{color:var(--rstr-gold-light);font-size:13px;font-weight:600;text-decoration:none}
.rstr-page-footer h3{color:#fff;font-size:14px;margin:0 0 12px}
.rstr-page-footer ul{list-style:none;margin:0;padding:0}
.rstr-page-footer li{margin-bottom:8px}
.rstr-page-footer a{color:rgba(255,255,255,.7);text-decoration:none;font-size:13px}
.rstr-page-footer a:hover{color:var(--rstr-gold)}
.rstr-footer-copy{text-align:center;font-size:12px;color:rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin:0}

/* Mobile bar */
.rstr-mobile-bar{
    display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:#fff;border-top:1px solid #eee;
    padding:8px var(--rstr-gutter) calc(8px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 24px rgba(0,0,0,.08);
}
.rstr-mobile-inner{max-width:var(--rstr-shell-w);margin:0 auto;display:flex;gap:8px;justify-content:center}

/* Lightbox */
.rstr-lightbox{
    position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);
    display:flex;align-items:center;justify-content:center;padding:24px;
}
.rstr-lightbox[hidden]{display:none!important}
.rstr-lightbox img{max-width:min(94vw,1000px);max-height:88vh;border-radius:12px}
.rstr-lightbox-close{
    position:absolute;top:16px;right:20px;width:44px;height:44px;
    border:none;border-radius:50%;background:#fff;font-size:24px;cursor:pointer;
}

/* Animations */
.rstr-section{animation:rstrFadeIn .6s ease both}
@keyframes rstrFadeIn{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:none}
}

@media (max-width:1100px){
    .rstr-food-grid{grid-template-columns:repeat(3,1fr)}
    .rstr-footer-grid{grid-template-columns:repeat(2,1fr)}
    .rstr-features-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
    .rstr-nav{display:none}
    .rstr-nav.is-open{
        display:flex;flex-direction:column;position:absolute;
        left:0;right:0;top:64px;background:#fff;padding:16px var(--rstr-gutter);
        border-bottom:1px solid #eee;box-shadow:0 12px 24px rgba(0,0,0,.08);
    }
    .rstr-nav-toggle{display:block;margin-left:auto}
    .rstr-topbar-actions .rstr-btn-dark{display:none}
    .rstr-hero-grid{grid-template-columns:1fr}
    .rstr-hero-food-stack{min-height:280px;max-width:400px;margin:0 auto}
    .rstr-reviews-map-grid{grid-template-columns:1fr}
    .rstr-food-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
    .rstr-food-grid{grid-template-columns:1fr}
    .rstr-footer-grid{grid-template-columns:1fr}
    .rstr-features-grid{grid-template-columns:1fr}
    .rstr-mobile-bar{display:block}
    .rstr-page{padding-bottom:64px}
    .rstr-food-small{display:none}
}
