
:root {
  --bg:#0a0a0a; --bg-soft:#111; --panel:rgba(255,255,255,.04); --line:rgba(255,255,255,.10);
  --gold:#c6a66b; --gold-soft:#e1c48d; --text:#f3efe8; --muted:#bdb5aa; --red:#c81d25; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top, rgba(198,166,107,.08), transparent 35%),linear-gradient(180deg,#090909 0%,#0d0d0d 100%);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.75;letter-spacing:.01em}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.topbar{position:sticky;top:0;z-index:1000;backdrop-filter:blur(12px);background:rgba(10,10,10,.82);border-bottom:1px solid rgba(255,255,255,.06)}
.topbar-inner{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:14px}.brand-name{font-family:Georgia,serif;font-size:28px;font-weight:600;letter-spacing:.06em}.brand-logo{height:44px;width:auto;display:block;border-radius:6px;box-shadow:0 0 24px rgba(200,29,37,.20)}
.nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.nav a{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.16em;transition:color .25s}
.nav a:hover{color:var(--gold-soft)} .nav-cta{border:1px solid var(--gold);padding:10px 16px;border-radius:999px;color:var(--gold-soft)!important}
.hero{min-height:90vh;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.84)),url('/assets/images/rosso2.jpg') center/cover no-repeat;transform:scale(1.03)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.80) 0%, rgba(0,0,0,.42) 45%, rgba(0,0,0,.72) 100%)}
.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:80px 24px;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.eyebrow,.section-kicker{display:inline-block;color:var(--gold-soft);font-size:12px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:18px;border:1px solid rgba(198,166,107,.35);padding:10px 14px;border-radius:999px;background:rgba(198,166,107,.06)}
.hero h1{margin:0 0 18px;font-family:Georgia,serif;font-size:clamp(46px,7vw,82px);line-height:.97;font-weight:700}
.hero p,.section p{margin:0 0 18px;max-width:700px;font-size:18px;color:#ddd4c8}
.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-size:13px;text-transform:uppercase;letter-spacing:.18em;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--gold) 0%, #a88349 100%);color:#111;font-weight:700}
.btn-secondary{border:1px solid rgba(255,255,255,.22);color:#f1ece3;background:rgba(255,255,255,.03)}
.hero-card,.panel,.highlight,.faq-item,.article-card,.trust-box{position:relative;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border-radius:24px;backdrop-filter:blur(10px);box-shadow:0 20px 60px rgba(0,0,0,.26)}
.hero-card{justify-self:end;width:100%;max-width:370px;padding:28px}
.hero-card h3,.panel h3{margin:0 0 12px;font-family:Georgia,serif;font-size:34px;font-weight:700;color:var(--gold-soft)}
.hero-card p,.panel p,.panel li,.faq-item p,.trust-box p{color:var(--muted);font-size:15px}
.mini-line{height:1px;background:rgba(255,255,255,.08);margin:18px 0}
.detail{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#e8dfd2;margin-bottom:10px}
.section{max-width:var(--max);margin:0 auto;padding:96px 24px}
.section-grid,.info-section{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.section-image{min-height:520px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),url('/assets/images/rosso10.jpg') center/cover no-repeat;box-shadow:0 25px 60px rgba(0,0,0,.28)}
.section h2,.page-hero h1{margin:0 0 20px;font-family:Georgia,serif;font-size:clamp(38px,4vw,58px);line-height:1.02;font-weight:700}
.highlight-text{margin:26px 0 10px;padding:18px 22px;border-left:2px solid var(--gold);background:rgba(255,255,255,.03);border-radius:0 14px 14px 0}
.highlight-text strong{color:#f7f0e4;font-size:18px;font-weight:600}
.highlights,.trust-grid,.faq-grid,.blog-grid,.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.highlight,.trust-box,.faq-item,.article-card{padding:24px}
.highlight strong,.trust-box strong{display:block;font-family:Georgia,serif;font-size:28px;color:var(--gold-soft);margin-bottom:8px}
.highlight span{color:var(--muted);font-size:14px}
.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.signature-card{position:relative;border-radius:26px;overflow:hidden;min-height:400px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px rgba(0,0,0,.24);display:flex;align-items:end;padding:26px}
.signature-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.06) 15%, rgba(0,0,0,.84) 100%)}
.signature-card>div{position:relative;z-index:2}.signature-card h3{margin:0 0 10px;font-family:Georgia,serif;font-size:34px;font-weight:700}.signature-card p{margin:0;color:#ddd3c5;font-size:15px}
.card-1{background:url('/assets/images/rosso6.jpg') center/cover no-repeat}
.card-2{background:url('/assets/images/rosso10.jpg') center/cover no-repeat}
.card-3{background:url('/assets/images/rosso13.jpg') center/cover no-repeat}
.quote-block{margin-top:70px;padding:44px;border:1px solid rgba(198,166,107,.20);border-radius:28px;background:linear-gradient(180deg, rgba(198,166,107,.05), rgba(255,255,255,.02));text-align:center}
.quote-block p{margin:0;font-family:Georgia,serif;font-size:clamp(30px,3vw,44px);line-height:1.15;color:#f5efe4}
.quote-block span{display:block;margin-top:16px;color:var(--gold-soft);font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.panel{padding:34px}.panel ul{margin:0;padding-left:18px}.panel li{margin-bottom:10px}
.contact-list{display:grid;gap:16px;margin-top:24px}.contact-item{padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)} .contact-item small{display:block;color:var(--gold-soft);text-transform:uppercase;letter-spacing:.16em;font-size:11px;margin-bottom:6px}.contact-item strong{font-weight:600;color:#f6efe5}
.page-hero{padding:110px 24px 60px;max-width:var(--max);margin:0 auto}
.breadcrumbs{color:var(--muted);font-size:14px;margin-bottom:20px}
.breadcrumbs a{color:var(--gold-soft)}
.faq-item h3{margin:0 0 10px;font-size:22px;font-family:Georgia,serif;color:#f6efe5}
.article-card h3{margin:0 0 8px;font-family:Georgia,serif;font-size:30px;color:#f6efe5}
.article-card p{color:var(--muted)}
.seo-footer{max-width:var(--max);margin:0 auto;padding:0 24px 30px}
.seo-links{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.06)}
.seo-links a{color:var(--gold-soft);font-size:14px}
.footer{max-width:var(--max);margin:0 auto;padding:18px 24px 60px;color:#8e8679;font-size:13px;text-align:center}
.sticky-booking{display:none}
#rezerwacja{scroll-margin-top:110px}
.zjedzmy-widget{margin-top:20px;position:relative;z-index:5;-webkit-transform:translateZ(0);transform:translateZ(0)}
.topbar,.hero,.hero-card,.panel{overflow:visible}
@media (max-width:1024px){
 .hero-inner,.section-grid,.info-section,.signature-grid,.highlights,.trust-grid,.faq-grid,.blog-grid,.link-grid{grid-template-columns:1fr}
 .hero{min-height:auto}.hero-card{justify-self:start;max-width:100%}.section-image{min-height:360px}.signature-card{min-height:320px}
}
@media (max-width:760px){
 .topbar-inner{padding:14px 16px}.nav{display:none}.hero-inner,.section,.footer,.page-hero,.seo-footer{padding-left:16px;padding-right:16px}
 .hero-inner{padding-top:56px;padding-bottom:56px}
 .hero p,.section p{font-size:16px}
 .panel{padding:24px}
 .sticky-booking{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1200;padding:10px 14px;background:rgba(8,8,8,.92);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08)}
 .sticky-booking a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:linear-gradient(135deg,var(--gold) 0%, #a88349 100%);color:#111;font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
 body{padding-bottom:78px}
}


.photo-hero{position:relative;overflow:hidden;padding:120px 24px 90px;border-bottom:1px solid rgba(255,255,255,.06)}
.photo-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.82)), var(--hero-image) center/cover no-repeat;z-index:0}
.photo-hero>*{position:relative;z-index:1}
.hero-home::before{background:linear-gradient(rgba(0,0,0,.52), rgba(0,0,0,.84)), url('/assets/images/rosso2.jpg') center/cover no-repeat}
.hero-pizza{--hero-image:url('/assets/images/rosso2.jpg')}
.hero-pasta{--hero-image:url('/assets/images/rosso6.jpg')}
.hero-kuchnia{--hero-image:url('/assets/images/rosso13.jpg')}
.hero-best{--hero-image:url('/assets/images/rosso10.jpg')}
.hero-romantic{--hero-image:url('/assets/images/rosso1.jpg')}
.hero-centre{--hero-image:url('/assets/images/rosso15.jpg')}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.image-card{margin:0;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.image-card img{width:100%;height:340px;object-fit:cover;display:block}
.image-card figcaption{padding:14px 16px;color:var(--muted);font-size:14px}
.hero-copy .highlights{max-width:760px}
.hero-card .detail strong{font-weight:600}
.section-image.home-about{background:linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)), url('/assets/images/rosso10.jpg') center/cover no-repeat}
.trust-box strong,.faq-item strong{display:block;margin-bottom:8px}
@media (max-width:1024px){.gallery-grid{grid-template-columns:1fr}.image-card img{height:300px}}
@media (max-width:760px){.brand-logo{height:34px}.brand-name{font-size:22px}.photo-hero{padding:92px 16px 64px}.gallery-grid{gap:14px}.image-card img{height:250px}}


/* Google booking */
#rezerwacja{scroll-margin-top:110px}
.google-booking-panel{
    max-width:760px;
    margin:0 auto;
    text-align:center;
    padding:42px 28px;
    border-radius:28px;
    border:1px solid rgba(198,166,107,0.22);
    background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
    box-shadow:0 20px 60px rgba(0,0,0,0.28);
}
.google-booking-badge{
    display:inline-block;
    margin-bottom:14px;
    padding:8px 14px;
    border-radius:999px;
    border:1px solid rgba(198,166,107,0.35);
    background:rgba(198,166,107,0.08);
    color:#e1c48d;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.google-booking-panel h2{
    margin:0 0 24px;
    font-family:'Cormorant Garamond', serif;
    font-size:clamp(34px,4vw,52px);
    line-height:1;
    color:#f5efe4;
}
.google-booking-actions{
    display:flex;
    justify-content:center;
    align-items:center;
}
.google-booking-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:0 28px;
    border-radius:999px;
    background:linear-gradient(135deg,#c6a66b 0%, #a88349 100%);
    color:#111;
    font-size:13px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    box-shadow:0 14px 34px rgba(0,0,0,0.35);
}
.google-booking-btn:hover{
    transform:translateY(-2px);
}
.google-booking-note{
    margin-top:16px;
    color:#bdb5aa;
    font-size:14px;
}
.sticky-booking{display:none}
@media (max-width:760px){
    .google-booking-panel{
        padding:30px 18px;
        border-radius:22px;
    }
    .sticky-booking{
        display:block;
        position:fixed;
        left:14px;
        right:14px;
        bottom:14px;
        z-index:1200;
    }
    .sticky-booking a{
        display:flex;
        align-items:center;
        justify-content:center;
        min-height:56px;
        border-radius:999px;
        background:linear-gradient(135deg,#c6a66b 0%, #a88349 100%);
        color:#111;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.14em;
        font-size:12px;
        box-shadow:0 14px 34px rgba(0,0,0,0.35);
    }
    body{padding-bottom:88px}
}


.menu-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.menu-tabs a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid rgba(198,166,107,.26);background:rgba(255,255,255,.03);color:#f1ece3;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.menu-heading-block{margin-bottom:22px;padding:0 0 18px;border-bottom:1px solid rgba(198,166,107,.18)}
.menu-heading-block h2{position:relative;display:inline-block;margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(34px,4vw,48px);line-height:1;color:#f8f1e7}
.menu-heading-block h2::after{content:"";display:block;width:82px;height:3px;margin-top:14px;border-radius:999px;background:linear-gradient(90deg,var(--gold),rgba(198,166,107,.05))}
.menu-heading-block p{margin:0;max-width:760px;color:#d2c9bd;font-size:16px}
.menu-table{border-radius:28px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));box-shadow:0 20px 60px rgba(0,0,0,.22);overflow:hidden}
.menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:24px 28px;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-row:last-child{border-bottom:none}
.menu-row-main{min-width:0}
.menu-row h3{margin:0 0 8px;font-family:Georgia,serif;font-size:30px;line-height:1.05;color:#fff7ec}
.menu-row p{margin:0;color:#d2c9bd;font-size:15px;line-height:1.65;max-width:780px}
.menu-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0}
.menu-badge{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(198,166,107,.10);border:1px solid rgba(198,166,107,.24);color:var(--gold-soft);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.menu-price{align-self:start;white-space:nowrap;min-width:120px;text-align:right;font-size:28px;font-weight:800;line-height:1;color:#f0cf90}
.menu-note{margin-top:24px;padding:18px 22px;border-left:2px solid var(--gold);background:rgba(255,255,255,.03);border-radius:0 14px 14px 0;color:#ddd3c5}
@media (max-width:760px){
.menu-row{grid-template-columns:1fr;gap:14px;padding:20px 18px}
.menu-row h3{font-size:25px}
.menu-price{min-width:0;text-align:left;font-size:24px}
.menu-heading-block h2{font-size:34px}
}
