/* Prego Caffe — jeden spójny arkusz, desktop / tablet / telefon */
:root {
 --burgundy:#702b35; --burgundy-dark:#59202a; --cream:#f8f2e7;
 --cream-light:#f8f2e7; --pink:#f2dfd9; --ink:#382725; --line:#b88c87;
 --font-display:Georgia,'Times New Roman',serif;
 --font-body:Arial,Helvetica,sans-serif; --font-script:'Caveat',Georgia,serif;
 --gutter:clamp(24px,4.5vw,88px);
}
*,*::before,*::after { box-sizing:border-box; }
body,h1,h2,h3,h4,p,ul { margin:0; }
ul { list-style:none; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { background:var(--cream); color:var(--ink); font-family:var(--font-body); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
a:focus-visible,button:focus-visible { outline:2px solid var(--burgundy); outline-offset:5px; }
h1,h2,h3 { color:var(--burgundy); font-family:var(--font-display); font-weight:400; }
.section-pad { padding:72px var(--gutter); }
.navbar { position:fixed; inset:0 0 auto; z-index:20; transition:background .2s; }
.navbar.scrolled { background:rgba(248,242,231,.98); box-shadow:0 1px 0 #702b3520; }
.nav-inner { padding:14px var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nav-logo,.footer-logo { display:flex; flex-direction:column; width:max-content; line-height:1; }
.logo-prego { font:52px/.95 Georgia,serif; letter-spacing:-3px; color:var(--burgundy); }
.logo-caffe { font:9px/1.8 Arial,sans-serif; text-align:center; letter-spacing:6px; padding-left:6px; color:var(--burgundy); }
.nav-links { display:flex; gap:32px; }
.nav-links a { font-size:14px; color:var(--burgundy); }
.nav-links a:hover,.footer-col a:hover { text-decoration:underline; text-underline-offset:5px; }
.nav-cta { padding:11px 24px; background:var(--burgundy); color:var(--cream); border:1px solid #d8b3a9; font:15px/1.5 Georgia,serif; }
.hamburger { display:none; background:none; border:0; padding:12px; cursor:pointer; }
.hamburger span { display:block; width:24px; height:2px; margin:5px 0; background:var(--burgundy); }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* Pełna szerokość tła: fotografia zawsze dochodzi do prawej krawędzi. */
.hero { position:relative; isolation:isolate; width:100%; height:min(860px,calc(100svh - 54px)); min-height:620px; }
.hero-bg { position:absolute; inset:0; z-index:-1; }
.hero-bg picture { display:block; width:100%; height:100%; }
.hero-bg img { width:100%; height:100%; object-fit:contain; object-position:right center; }
.hero-fade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 22%,rgba(248,242,231,.9) 30%,rgba(248,242,231,.3) 41%,transparent 50%); }
.hero-content { height:100%; display:flex; align-items:center; padding:86px var(--gutter) 30px; }
.hero-text-block { width:57%; max-width:740px; }
.hero-label,.about-label,.cta-label,.menu-top-label { color:var(--burgundy); font:11px/1.6 Arial,sans-serif; letter-spacing:3px; margin-bottom:20px; }
.hero-heading { font-size:clamp(49px,min(6.2vw,9svh),88px); line-height:1.01; letter-spacing:-.052em; margin-bottom:23px; }
.hero-sub { font-size:clamp(15px,1.3vw,20px); color:var(--burgundy); max-width:530px; margin-bottom:26px; }
.hero-buttons { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:28px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 25px; font:16px/1.4 Georgia,serif; border:1px solid var(--burgundy); transition:background .2s,color .2s; }
.btn-dark,.btn-light { background:var(--burgundy); color:var(--cream); }
.btn-outline { color:var(--burgundy); }
.btn:hover { background:var(--burgundy-dark); color:var(--cream); }
.hero-separator { width:220px; height:1px; background:var(--line); margin-bottom:16px; }
.hero-address { display:flex; align-items:center; gap:8px; color:var(--burgundy); font:15px/1.5 Georgia,serif; margin-bottom:22px; }
.pin-icon { flex-shrink:0; }
.hero-script-wrapper { display:inline-block; padding:0 0 4px 8px; transform:rotate(-5deg); }
.hero-script { font-family:var(--font-script); font-size:clamp(30px,3.2vw,42px); font-weight:400; line-height:1.18; color:var(--burgundy); letter-spacing:.3px; }
.hero-script-wrapper::after { content:''; display:block; width:135px; height:12px; border-top:1px solid var(--burgundy); border-radius:50%; margin:12px 0 0 70px; transform:rotate(-8deg); }

/* Nowe elementy Hero */
.hero-features { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 35px; border-left: 2px solid var(--line); padding-left: 20px; }
.feature-item { display: flex; align-items: center; gap: 8px; color: var(--burgundy-dark); font: 15px/1.5 Georgia, serif; }
.feature-item svg { color: var(--burgundy); }

.divider-bar { display:flex; align-items:center; justify-content:center; gap:23px; padding:18px var(--gutter); background:var(--burgundy); color:var(--cream); font:14px/1.4 Georgia,serif; letter-spacing:2px; }
.divider-bar::before,.divider-bar::after { content:''; flex:1; height:1px; background:#d9b4b0; margin-inline:18px; }
.dot { font-size:9px; }
.showcase,.taste-section { max-width:1560px; margin-inline:auto; }
.showcase { text-align:center; }
.showcase-heading,.taste-heading { font-size:clamp(34px,4vw,60px); letter-spacing:-.045em; line-height:1.15; }
.showcase-line { height:1px; background:var(--line); width:44px; margin:24px auto 36px; }
.showcase-grid,.taste-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
/* Równe kwadratowe kadry; portrety kadrujemy od dołu, zachowując produkty. */
.showcase-img-wrap,.taste-img-wrap { aspect-ratio:1; width:100%; overflow:hidden; }
.showcase-img-wrap img,.taste-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.showcase-caption,.taste-caption { font:clamp(19px,2vw,27px)/1.3 Georgia,serif; color:var(--burgundy); margin-top:18px; }
.showcase-caption::after { content:''; display:block; width:36px; height:1px; background:var(--line); margin:18px auto 0; }
.showcase-note { font:16px/1.6 Georgia,serif; color:var(--burgundy); margin:34px 0 20px; }
.showcase-link { font-size:11px; letter-spacing:3px; color:var(--burgundy); display:inline-block; padding:10px; }
.menu-section { border-top:1px solid #702b3518; }
.menu-container { max-width:1140px; margin:auto; text-align:center; }
.menu-main-heading { font-size:clamp(42px,6vw,88px); line-height:1.1; letter-spacing:-.045em; margin-bottom:20px; }
.menu-subtitle { font:22px/1.5 Georgia,serif; margin-bottom:38px; }
.menu-divider { display:flex; align-items:center; gap:20px; margin-bottom:40px; }
.menu-divider-line { height:1px; background:var(--line); flex:1; }
.menu-divider-text { color:var(--burgundy); letter-spacing:4px; font:16px Georgia,serif; }
.menu-prices-label { font:14px Georgia,serif; }
.menu-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:72px; text-align:left; position:relative; }
.menu-columns::after { content:''; position:absolute; top:0; bottom:0; left:50%; width:1px; background:#caa6a0; }
.menu-cat-title { font-size:34px; line-height:1.2; padding-bottom:12px; border-bottom:1px solid var(--line); margin:38px 0 18px; }
.menu-cat-title:first-child { margin-top:0; }
.menu-list li { display:flex; align-items:baseline; gap:7px; margin-bottom:9px; font:19px/1.5 Georgia,serif; }
.m-name { min-width:0; overflow-wrap:break-word; }
.m-dots { flex:1; min-width:12px; border-bottom:1px dotted #b79d92; }
.m-price { flex-shrink:0; font-variant-numeric:tabular-nums; }
.cup-illustration { text-align:right; margin-top:25px; }
.menu-footnote { border-top:1px solid var(--line); padding-top:20px; margin:32px 0; font:16px/1.5 Georgia,serif; }
.menu-bottom-bar { background:var(--pink); padding:26px; color:var(--burgundy); }
.menu-bar-heading { font:29px/1.3 Georgia,serif; margin-bottom:10px; }
.menu-bar-sub { font:18px/1.5 Georgia,serif; }
.about-section { display:grid; grid-template-columns:1fr 1fr; }
.about-image img { width:100%; height:auto; }
.about-text { align-self:center; padding:clamp(28px,5vw,90px); }
.about-heading,.cta-heading { font-size:clamp(40px,5vw,74px); line-height:1.08; letter-spacing:-.04em; margin-bottom:26px; }
.about-desc { max-width:470px; font:20px/1.6 Georgia,serif; margin-bottom:30px; }
.about-bottom { display:flex; align-items:center; gap:30px; }
.about-script { font:400 44px/1.3 var(--font-script); color:var(--burgundy); }
.taste-header { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:32px; }
.taste-ig { display:flex; align-items:center; gap:10px; color:var(--burgundy); font-size:14px; overflow-wrap:anywhere; }
.taste-ig svg { flex-shrink:0; }
/* Opinie Google */
.reviews-section { background: #fdfbf8; border-top: 1px solid #702b3518; }
.reviews-header { text-align: center; margin-bottom: 50px; }
.reviews-heading { font-size: clamp(34px, 5vw, 54px); color: var(--burgundy-dark); margin-bottom: 16px; }
.reviews-google { display: flex; align-items: center; justify-content: center; gap: 12px; font: 15px Arial, sans-serif; color: #57433d; }
.reviews-google .stars { display: flex; gap: 2px; }
.reviews-slider-container { display: flex; align-items: center; gap: 15px; max-width: 1200px; margin: 0 auto; position: relative; }
.reviews-slider { flex: 1; display: flex; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 20px; -ms-overflow-style: none; scrollbar-width: none; }
.reviews-slider::-webkit-scrollbar { display: none; }
.review-card { background: #fff; padding: 35px; border-radius: 12px; box-shadow: 0 10px 30px rgba(56, 39, 37, 0.05); position: relative; border: 1px solid rgba(112, 43, 53, 0.05); min-width: 320px; max-width: 350px; flex: 0 0 auto; scroll-snap-align: start; }
.review-nav { background: #fff; border: 1px solid rgba(112, 43, 53, 0.1); width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--burgundy); font-size: 18px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); transition: all 0.3s; flex-shrink: 0; z-index: 2; }
.review-nav:hover { background: var(--burgundy); color: #fff; border-color: var(--burgundy); }
.review-nav:active { transform: scale(0.95); }
.reviews-action { text-align: center; margin-top: 40px; }
.review-author { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.author-avatar { width: 48px; height: 48px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: bold; font-family: Arial, sans-serif; }
.author-name { font: 17px/1.2 Georgia, serif; font-weight: bold; color: var(--burgundy-dark); margin-bottom: 4px; }
.author-stars { color: #fbbc04; font-size: 16px; letter-spacing: 2px; }
.review-text { font: 15px/1.7 Arial, sans-serif; color: #4a3834; font-style: italic; }
.review-icon { position: absolute; top: 35px; right: 35px; opacity: 0.8; }

.cta-section { background:var(--pink); color:var(--burgundy); }
.cta-inner { max-width:1500px; padding:65px var(--gutter); margin:auto; display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:center; }
.cta-address { font:21px/1.6 Georgia,serif; margin-bottom:28px; }
.cta-cup { width:100%; max-width:430px; justify-self:center; }
.cta-cup svg { display:block; width:100%; height:auto; }
.footer-map-widget { margin: 15px 0 20px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1); line-height: 0; }
.footer-map-widget iframe { display: block; width: 100%; height: 160px; }
/* Old footer styles removed */
@media (min-width:769px) and (max-width:1100px) {
 .hero-text-block { width:62%; }
 .hero-heading { font-size:clamp(48px,6.3vw,68px); }
 .hero-sub { max-width:380px; }
 .hero-bg img { object-fit:cover; object-position:70% center; }
 .hero-fade { background:linear-gradient(90deg,var(--cream) 0%,rgba(248,242,231,.95) 25%,transparent 63%); }
 .nav-links { gap:22px; }
 .nav-cta { padding:10px 15px; }
 .menu-columns { gap:46px; }
 .menu-list li { font-size:17px; }
 .menu-cat-title { font-size:29px; }
 .about-desc { font-size:18px; }
 .cta-inner { gap:30px; }
}
@media (max-width:768px) {
 html { scroll-padding-top:78px; }
 .navbar { background:rgba(248,242,231,.98); }
 .nav-inner { padding:12px 24px; }
 .logo-prego { font-size:43px; }
 .nav-cta,.nav-links { display:none; }
 .hamburger { display:block; }
 .nav-links.active { display:flex; position:absolute; top:100%; left:0; right:0; padding:24px; background:var(--cream); flex-direction:column; gap:22px; border-bottom:1px solid var(--line); }
 .nav-links a { display:block; font-size:18px; }
 .hero { height:auto; min-height:0; display:flex; flex-direction:column; padding-top:78px; }
 .hero-content { order:0; height:auto; padding:35px var(--gutter) 20px; }
 .hero-text-block { width:100%; max-width:none; }
 .hero-heading { font-size:clamp(40px,8.5vw,65px); margin-bottom:20px; }
 .hero-label { font-size:10px; letter-spacing:2px; }
 .hero-sub { font-size:17px; max-width:480px; }
 .hero-script { font-size:34px; }
 .hero-bg { order:1; position:relative; inset:auto; z-index:0; width:100%; }
 .hero-bg picture { height:auto; }
 .hero-bg img { width:100%; height:auto; max-height:700px; object-fit:contain; }
 .hero-fade { background:linear-gradient(180deg,var(--cream),transparent 15%); }
 .divider-bar { font-size:12px; gap:12px; padding:18px 15px; letter-spacing:1px; }
 .divider-bar::before,.divider-bar::after { display:none; }
 .section-pad { padding:48px var(--gutter); }
 .showcase-grid,.taste-grid { gap:28px 18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .showcase-heading,.taste-heading { font-size:36px; }
 .showcase-caption,.taste-caption { font-size:21px; }
 .menu-columns { grid-template-columns:1fr; gap:36px; }
 .menu-columns::after { display:none; }
 .menu-subtitle { font-size:20px; }
 .menu-divider { gap:12px; flex-wrap:wrap; }
 .menu-prices-label { flex-basis:100%; text-align:right; }
 .menu-cat-title { font-size:30px; }
 .menu-list li { font-size:18px; }
 /* Old about-section mobile rules removed */
 .taste-header { flex-direction:column; align-items:flex-start; }
 .reviews-google { flex-direction: column; gap: 8px; }
 .review-nav { display: none; } /* On mobile, users can swipe natively */
 .review-card { padding: 25px; min-width: 280px; max-width: 85vw; }
 .reviews-slider-container { padding: 0 10px; }
 .cta-inner { padding:45px var(--gutter); gap:32px; grid-template-columns:1fr; }
 .cta-cup { max-width:320px; }
 .cta-address { font-size:19px; }
 /* Old footer media query removed */
 }
@media (max-width:480px) {
 .showcase-grid,.taste-grid { grid-template-columns:1fr; }
 .hero-buttons { gap:12px; }
 .btn { font-size:15px; padding:11px 18px; }
 .hero-address { font-size:14px; }
 .hero-script { font-size:32px; }
 .menu-list li { font-size:17px; }
 .menu-bottom-bar { padding:24px 18px; }
 .menu-bar-heading { font-size:25px; }
 .menu-bar-sub { font-size:17px; }
 .footer-bottom { flex-wrap:wrap; }
}
@media (min-width:769px) and (max-height:700px) {
 .hero { min-height:560px; }
 .hero-heading { font-size:clamp(47px,5.5vw,58px); margin-bottom:16px; }
 .hero-content { padding-top:85px; padding-bottom:20px; }
 .hero-label { margin-bottom:12px; }
 .hero-sub { margin-bottom:18px; }
 .hero-buttons { margin-bottom:18px; }
 .hero-address { margin-bottom:16px; }
 .hero-script { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* Przesunięcie tekstu ku zdjęciu tylko na szerokich ekranach. */
@media (min-width:1101px) {
 .hero-content { padding-left:clamp(72px,10vw,210px); }
 .hero-text-block { width:54%; }
}
.hero-script-wrapper::after { width:125px; margin-left:52px; }
.showcase-card,.taste-card { min-width:0; }
.nav-links a[aria-current="location"] { text-decoration:underline; text-underline-offset:6px; }

/* Nawigacja z własnym, czytelnym tłem nad fotografią. */
.navbar { background:#fffaf2; border-bottom:1px solid #702b352c; box-shadow:0 3px 18px #38272508; }
.navbar.scrolled { background:#fffaf2; box-shadow:0 5px 22px #38272512; }
.nav-inner { min-height:88px; padding-block:13px; gap:30px; }
.nav-links { gap:12px; }
.nav-links a { display:block; padding:12px 19px; font-size:16px; font-weight:500; border-radius:3px; transition:background .2s,color .2s; }
.nav-links a:hover,.nav-links a[aria-current="location"] { background:#702b350c; color:var(--burgundy-dark); text-decoration:none; }
.nav-cta { font-family:var(--font-body); font-size:14px; font-weight:600; padding:13px 23px; border-color:var(--burgundy); }
.nav-cta:hover { background:var(--burgundy-dark); }

/* Sekcja o kawiarni — spokojna kompozycja redakcyjna w ramie. */
.about-section { 
    margin: 60px var(--gutter); 
    padding: clamp(40px, 6vw, 100px); 
    display: grid; 
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); 
    gap: clamp(40px, 7vw, 110px); 
    align-items: center; 
    background: linear-gradient(135deg, #f1eae0 0%, #e8decb 100%);
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(112, 43, 53, 0.04);
}
.about-image { 
    position: relative; 
    margin: 0;
    z-index: 1;
}
/* Dekoracyjne linie w tle zdjęcia */
.about-image::before { 
    content: ''; 
    position: absolute; 
    inset: -20px 20px 20px -20px; 
    border: 1px solid rgba(112, 43, 53, 0.2); 
    border-radius: 200px 200px 4px 4px;
    z-index: -1; 
}
.about-image::after {
    content: '';
    position: absolute;
    inset: -10px 10px 10px -10px;
    border: 1px solid rgba(112, 43, 53, 0.1);
    border-radius: 200px 200px 4px 4px;
    z-index: -1;
}
.about-image img { 
    position: relative; 
    width: 100%; 
    height: auto; 
    max-height: none; 
    border-radius: 200px 200px 4px 4px; 
    box-shadow: 0 20px 40px rgba(56, 39, 37, 0.08);
}
.about-photo-note { 
    position: absolute; 
    bottom: -30px;
    right: -30px;
    background: #fffaf2; 
    padding: 24px 32px; 
    border-left: 3px solid var(--burgundy);
    box-shadow: 0 15px 35px rgba(56, 39, 37, 0.1); 
    color: var(--burgundy);
    border-radius: 0 4px 4px 4px;
    z-index: 2;
    min-width: 260px;
}
.about-photo-note span { display: block; }
.about-photo-note span:first-child { font: italic 26px/1.2 Georgia, serif; margin-bottom: 6px; }
.about-photo-note span:last-child { font: 13px/1.6 Arial, sans-serif; letter-spacing: 0.5px; opacity: 0.8; }
.about-text { padding: 0; min-width: 0; }
.about-label { display: flex; align-items: center; gap: 15px; margin-bottom: 24px; font-weight: 600; letter-spacing: 4px; color: var(--burgundy-dark); }
.about-label::before { content: ''; width: 50px; height: 1px; background: var(--burgundy); }
.about-heading { font-size: clamp(42px, 5vw, 72px); margin-bottom: 25px; line-height: 1.1; color: var(--burgundy-dark); }
.about-heading em { font-weight: 400; color: var(--burgundy); display: block; margin-top: 8px;}
.about-lead { font: 24px/1.5 Georgia, serif; color: var(--burgundy); margin-bottom: 20px; border-left: 2px solid var(--line); padding-left: 20px; }
.about-desc { font: 17px/1.85 Arial, sans-serif; color: #4a3834; max-width: 520px; margin-bottom: 35px; }
.about-ritual { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 24px 0; border-block: 1px solid rgba(112, 43, 53, 0.15); color: var(--burgundy-dark); font: italic 19px/1.5 Georgia, serif; margin-bottom: 40px; }
.about-bottom { gap: 30px; flex-wrap: wrap; display: flex; align-items: center; }
.about-bottom .btn { font-size: 15px; letter-spacing: 1px; text-transform: uppercase; padding: 16px 32px; border-radius: 2px; }
.about-script { font-size: 42px; opacity: 0.9; transform: rotate(-3deg); }

/* Stopka - nowa rozbudowana wersja */
.site-footer { background: var(--ink); color: var(--cream); position: relative; overflow: hidden; }
/* Dekoracyjne elementy w tle stopki */
.site-footer::before {
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(112,43,53,0.3) 0%, transparent 70%);
    pointer-events: none;
}
.footer-top { 
    display: grid; 
    grid-template-columns: 2fr 1fr 1fr 1.5fr; 
    gap: 50px; 
    padding: 80px var(--gutter) 60px; 
    max-width: 1400px;
    margin: 0 auto;
}
.footer-brand { padding-right: 40px; }
.footer-logo { margin-bottom: 24px; }
.footer-logo .logo-prego { color: var(--cream); font-size: 72px; }
.footer-logo .logo-caffe { color: var(--cream); letter-spacing: 8px; }
.footer-desc { font: 16px/1.7 Arial, sans-serif; color: #cfc2bb; max-width: 340px; }
.footer-col h4 { font: 18px/1.5 Georgia, serif; margin-bottom: 24px; color: #fff; letter-spacing: 1px; text-transform: uppercase; }
.footer-col li { font: 16px/1.6 Arial, sans-serif; margin-bottom: 12px; color: #cfc2bb; transition: color 0.2s; }
.footer-col a:hover { color: #fff; }
.footer-hours li { display: flex; justify-content: space-between; border-bottom: 1px dashed rgba(207, 194, 187, 0.2); padding-bottom: 8px; }
.footer-hours li span:last-child { color: #fff; font-weight: 500; }
.footer-contact li { display: flex; align-items: flex-start; gap: 10px; }
.footer-contact a { border-bottom: 1px solid transparent; transition: border-color 0.2s; }
.footer-contact a:hover { border-color: rgba(255,255,255,0.4); text-decoration: none; }
.footer-socials { display: flex; gap: 16px; margin-top: 24px; }
.footer-socials a { 
    display: flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; 
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff; font-family: Georgia, serif; font-style: italic;
    transition: all 0.3s;
}
.footer-socials a:hover { background: var(--burgundy); border-color: var(--burgundy); transform: translateY(-3px); }
.footer-bottom { 
    margin: 0 var(--gutter); 
    padding: 30px 0; 
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    border-top: 1px solid rgba(255,255,255,0.1); 
    font: 14px/1.5 Arial, sans-serif;
    color: #a49791;
    max-width: 1400px;
    margin: 0 auto;
}
.footer-bottom-right { display: flex; gap: 30px; align-items: center; }
.footer-bottom-right a { transition: color 0.2s; }
.footer-bottom-right a:hover { color: #fff; text-decoration: none; }
.back-top { display: inline-flex; align-items: center; gap: 8px; color: #fff !important; font-weight: 500; padding: 8px 16px; background: rgba(255,255,255,0.05); border-radius: 20px; }
.back-top:hover { background: rgba(255,255,255,0.1); }

@media (min-width:769px) and (max-width:1100px) {
    .nav-links { gap: 2px; }
    .nav-links a { padding: 10px 12px; font-size: 15px; }
    .about-section { gap: 40px; padding: 50px 40px; margin: 40px var(--gutter); }
    .about-heading { font-size: 44px; }
    .about-desc { font-size: 16px; }
    .about-lead { font-size: 20px; }
    .about-photo-note { right: -20px; bottom: -20px; padding: 20px; min-width: 220px; }
    .footer-top { grid-template-columns: 1fr 1fr; gap: 60px 40px; }
    .footer-brand { grid-column: 1 / -1; padding-right: 0; }
}
@media (max-width:768px) {
    .nav-inner { min-height: 76px; gap: 16px; padding: 10px 24px; }
    .nav-links.active { padding: 12px 24px 22px; gap: 5px; background: #fffaf2; }
    .nav-links a { padding: 13px; font-size: 18px; }
    
    .about-section { margin: 30px var(--gutter); padding: 40px 24px; grid-template-columns: 1fr; gap: 50px; background: linear-gradient(135deg, #f1eae0 0%, #e8decb 100%); }
    .about-image { max-width: 460px; width: calc(100% - 20px); justify-self: center; margin-bottom: 20px; }
    .about-image::before, .about-image::after { display: none; }
    .about-image img { border-radius: 120px 120px 4px 4px; }
    .about-photo-note { right: 0; bottom: -20px; padding: 18px 24px; min-width: 0; width: calc(100% - 20px); border-radius: 4px; }
    .about-text { padding: 0; }
    .about-heading { font-size: clamp(38px, 8vw, 54px); }
    .about-lead { font-size: 20px; padding-left: 15px; }
    .about-desc { font-size: 16px; }
    .about-ritual { font-size: 17px; gap: 8px 16px; padding: 16px 0; }
    .about-script { font-size: 34px; }
    
    .footer-top { grid-template-columns: 1fr; gap: 40px; padding: 60px var(--gutter) 40px; }
    .footer-brand { padding-right: 0; }
    .footer-bottom { flex-direction: column; gap: 20px; text-align: center; padding: 30px var(--gutter); }
    .footer-bottom-right { flex-direction: column; gap: 16px; }
    .back-top { margin-top: 10px; }
}

/* Fix for animation jump - hide elements before JS animates them */
html.js-ready .hero-text-block > *,
html.js-ready .showcase-heading, html.js-ready .showcase-card, 
html.js-ready .menu-main-heading, html.js-ready .menu-col, 
html.js-ready .about-text, html.js-ready .taste-header, html.js-ready .taste-card, 
html.js-ready .cta-text, html.js-ready .cta-cup, html.js-ready .footer-brand {
    opacity: 0;
}
