/* Restoiglado Pol — Premium Restaurant Guide
   Palette: Terracotta + Copper + Warm Cream + Espresso
   Fonts: Fraunces (display) + Manrope (body)
   Layout language: magazine-style, alternating rows, split hero */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  --terracotta:#a8462c;
  --terracotta-deep:#7a2f1c;
  --copper:#c17a45;
  --copper-light:#e8c9a0;
  --cream:#fbf3ea;
  --sand:#f3e4d1;
  --espresso:#2b1a12;
  --text-soft:#7a6353;
  --shadow: 0 22px 55px rgba(43,26,18,0.16);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  font-family:'Manrope', sans-serif;
  color:var(--espresso);
  background:var(--cream);
  line-height:1.75;
  font-weight:300;
  overflow-x:hidden;
}

h1,h2,h3,h4{
  font-family:'Fraunces', serif;
  font-weight:500;
  color:var(--terracotta-deep);
  line-height:1.2;
}

a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;}

.container{max-width:1200px;margin:0 auto;padding:0 32px;}

.tag-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--copper);
  font-weight:600;
  margin-bottom:16px;
}
.tag-label::before{content:"◆";font-size:9px;}

/* TOPBAR */
.topbar{
  background:var(--espresso);
  color:var(--copper-light);
  font-size:13px;
  padding:9px 0;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.topbar-links{display:flex;gap:26px;}
.topbar a:hover{color:#fff;}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(251,243,234,0.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(168,70,44,0.12);
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;max-width:1200px;margin:0 auto;
}
.logo{
  display:flex;align-items:center;gap:12px;
  font-family:'Fraunces',serif;font-size:25px;font-weight:600;
  color:var(--terracotta-deep);
}
.logo img{width:40px;height:40px;border-radius:12px;}
.logo em{font-style:normal;color:var(--copper);}
.nav-links{display:flex;gap:36px;font-size:14.5px;font-weight:500;}
.nav-links a{position:relative;padding-bottom:6px;transition:.25s;}
.nav-links a:hover,.nav-links a.active{color:var(--terracotta);}
.nav-links a.active::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--copper);border-radius:2px;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;}
.burger span{width:26px;height:2px;background:var(--terracotta-deep);}

/* SPLIT HERO */
.hero-split{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  min-height:88vh;
  align-items:center;
}
.hero-text{padding:60px 6vw;}
.hero-text h1{font-size:52px;margin:18px 0 24px;}
.hero-text p{color:var(--text-soft);font-size:17px;margin-bottom:34px;max-width:480px;}
.hero-img{
  position:relative;
  height:88vh;
  overflow:hidden;
}
.hero-img img{width:100%;height:100%;object-fit:cover;}
.hero-img::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg, var(--cream) 0%, transparent 12%);
}

.btn{
  display:inline-block;
  padding:16px 36px;
  background:var(--terracotta);
  color:#fff;
  font-size:13.5px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:600;
  border-radius:2px;
  transition:.3s;
  border:1px solid var(--terracotta);
}
.btn:hover{background:transparent;color:var(--terracotta);}
.btn-outline{background:transparent;color:var(--terracotta-deep);border-color:var(--terracotta-deep);}
.btn-outline:hover{background:var(--terracotta-deep);color:#fff;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

/* SECTIONS */
section{padding:110px 0;}
.section-head{max-width:640px;margin:0 0 56px;}
.section-head.center{margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:38px;margin-bottom:16px;}
.section-head p{color:var(--text-soft);font-size:16px;}

.bg-sand{background:var(--sand);}
.bg-espresso{background:var(--espresso);color:#e9d8c8;}
.bg-espresso h2,.bg-espresso h3{color:#fff;}
.bg-espresso .text-soft{color:#c9b09a;}

/* ALTERNATING ROWS (restaurant list style) */
.alt-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
  margin-bottom:90px;
}
.alt-row:last-child{margin-bottom:0;}
.alt-row.reverse .img-col{order:2;}
.alt-row .img-col img{border-radius:6px;box-shadow:var(--shadow);}
.alt-row .num{
  font-family:'Fraunces',serif;
  font-size:15px;
  color:var(--copper);
  letter-spacing:2px;
  margin-bottom:10px;
  display:block;
}
.alt-row h3{font-size:28px;margin-bottom:14px;}
.alt-row p{color:var(--text-soft);margin-bottom:18px;}
.alt-row .meta-line{
  display:flex;gap:24px;
  font-size:13.5px;
  color:var(--terracotta-deep);
  font-weight:600;
  margin-bottom:20px;
}

/* DISH GALLERY - masonry feel */
.masonry{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:180px;
  gap:20px;
}
.masonry .m-item{position:relative;border-radius:6px;overflow:hidden;}
.masonry .m-item img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.masonry .m-item:hover img{transform:scale(1.08);}
.masonry .m-item.tall{grid-row:span 2;}
.m-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:14px 16px;
  background:linear-gradient(180deg,transparent,rgba(43,26,18,0.88));
  color:#fff;font-size:13.5px;font-weight:500;
}

/* STATS strip with icons */
.stats-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  text-align:center;
}
.stat-box{padding:20px;}
.stat-num{font-family:'Fraunces',serif;font-size:42px;color:var(--copper);}
.stat-label{font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;color:#c9b09a;margin-top:8px;}

/* TESTIMONIAL SLIDER (static row) */
.testi-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid var(--sand);
  border-radius:8px;
  overflow:hidden;
}
.testi-cell{
  padding:40px 32px;
  border-right:1px solid var(--sand);
}
.testi-cell:last-child{border-right:none;}
.testi-cell .stars{color:var(--copper);margin-bottom:14px;}
.testi-cell p{color:var(--text-soft);font-size:14.5px;font-style:italic;margin-bottom:20px;}
.testi-name{font-family:'Fraunces',serif;color:var(--terracotta-deep);font-size:16px;}
.testi-role{font-size:12px;color:var(--text-soft);}

/* CTA banner */
.cta-banner{
  position:relative;
  padding:100px 0;
  text-align:center;
  color:#fff;
  background-size:cover;
  background-position:center;
}
.cta-banner::before{content:"";position:absolute;inset:0;background:rgba(43,26,18,0.75);}
.cta-banner .container{position:relative;z-index:1;}
.cta-banner h2{color:#fff;font-size:36px;margin-bottom:18px;}
.cta-banner p{margin-bottom:32px;color:#e9d8c8;}

/* PROCESS numbered list (horizontal) */
.process-list{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.process-item{
  padding:0 26px;
  border-left:1px solid var(--sand);
}
.process-item:first-child{border-left:none;padding-left:0;}
.process-item .p-num{font-family:'Fraunces',serif;font-size:34px;color:var(--copper-light);-webkit-text-stroke:1px var(--copper);color:transparent;display:block;margin-bottom:14px;}
.process-item h4{font-size:17px;margin-bottom:10px;color:var(--terracotta-deep);}
.process-item p{font-size:13.8px;color:#c9b09a;}

/* FOOTER */
.site-footer{background:var(--espresso);color:#c9b09a;padding:76px 0 30px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:54px;}
.footer-logo{font-family:'Fraunces',serif;font-size:24px;color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.footer-logo img{width:36px;height:36px;border-radius:10px;}
.footer-about p{font-size:14px;color:#a68d78;line-height:1.85;}
.footer-col h4{color:#fff;font-size:14.5px;margin-bottom:20px;letter-spacing:1px;}
.footer-col ul li{margin-bottom:12px;font-size:14px;}
.footer-col ul li a:hover{color:var(--copper-light);}
.footer-contact p{font-size:14px;margin-bottom:12px;color:#a68d78;}
.footer-contact strong{color:#fff;display:block;font-size:13px;letter-spacing:1px;margin-bottom:3px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:28px;display:flex;justify-content:space-between;font-size:13px;color:#83695a;flex-wrap:wrap;gap:10px;}
.footer-bottom a:hover{color:var(--copper-light);}

/* PAGE HERO (inner pages) */
.page-hero{
  position:relative;height:44vh;min-height:320px;
  display:flex;align-items:center;color:#fff;
}
.page-hero .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;}
.page-hero .bgimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(43,26,18,0.35), rgba(43,26,18,0.85));}
.page-hero-content{position:relative;z-index:1;max-width:800px;padding:0 32px;}
.page-hero h1{color:#fff;font-size:44px;}
.breadcrumb{font-size:13px;color:#e9d8c8;margin-top:14px;}
.breadcrumb a:hover{color:var(--copper-light);}

/* LEGAL PAGES */
.legal-content{max-width:800px;margin:0 auto;padding:80px 32px;}
.legal-content h2{margin-top:44px;margin-bottom:16px;font-size:25px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p,.legal-content li{color:var(--text-soft);margin-bottom:14px;font-size:15.5px;}
.legal-content ul{padding-left:22px;list-style:disc;}
.legal-content .updated{color:var(--copper);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:30px;display:block;}

/* CONTACT PAGE */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;}
.contact-info-card{background:#fff;border-radius:10px;padding:42px;box-shadow:var(--shadow);}
.contact-info-card .row{display:flex;gap:18px;margin-bottom:28px;align-items:flex-start;}
.contact-info-card .icon{
  width:46px;height:46px;border-radius:10px;background:var(--sand);color:var(--terracotta);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;
}
.contact-info-card h4{font-size:15px;margin-bottom:4px;color:var(--terracotta-deep);}
.contact-info-card p{color:var(--text-soft);font-size:14.5px;}
.form-box{background:#fff;border-radius:10px;padding:42px;box-shadow:var(--shadow);}
.form-box h3{margin-bottom:24px;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--terracotta-deep);margin-bottom:8px;font-weight:600;}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:13px 16px;border:1px solid var(--sand);border-radius:6px;
  font-family:'Manrope',sans-serif;font-size:14.5px;background:var(--cream);
}
.form-group textarea{resize:vertical;min-height:110px;}
.form-note{font-size:12.5px;color:var(--text-soft);margin-top:14px;}
.map-embed{width:100%;height:320px;border-radius:10px;overflow:hidden;margin-top:32px;box-shadow:var(--shadow);}
.map-embed iframe{width:100%;height:100%;border:0;}

/* FILTER TABS */
.filter-tabs{display:flex;gap:14px;justify-content:center;margin-bottom:56px;flex-wrap:wrap;}
.filter-tabs button{
  padding:11px 26px;border:1px solid var(--terracotta-deep);background:transparent;color:var(--terracotta-deep);
  font-family:'Manrope',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  cursor:pointer;border-radius:30px;transition:.3s;font-weight:600;
}
.filter-tabs button.active,.filter-tabs button:hover{background:var(--terracotta-deep);color:#fff;}

/* MENU LIST */
.menu-block{margin-bottom:54px;}
.menu-block h3{font-size:26px;margin-bottom:26px;border-bottom:1px solid var(--copper);padding-bottom:14px;}
.menu-row{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px dashed var(--sand);gap:20px;}
.menu-row .name{font-family:'Fraunces',serif;font-size:17px;}
.menu-row .desc{color:var(--text-soft);font-size:13.8px;margin-top:4px;}
.menu-row .price{color:var(--copper);font-family:'Fraunces',serif;font-size:17px;white-space:nowrap;}

/* RESTAURANT CARDS (used in filter grid on restaurants page) */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.rest-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 32px rgba(43,26,18,0.1);transition:.3s;}
.rest-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
.rest-card .img-wrap{height:220px;overflow:hidden;}
.rest-card img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.rest-card:hover img{transform:scale(1.07);}
.rest-card .body{padding:26px 28px;}
.rest-card .tag{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--copper);margin-bottom:8px;display:block;font-weight:600;}
.rest-card h3{font-size:21px;margin-bottom:10px;}
.rest-card p{color:var(--text-soft);font-size:14.5px;margin-bottom:16px;}
.rest-card .meta{display:flex;justify-content:space-between;font-size:13px;color:var(--terracotta-deep);border-top:1px solid var(--sand);padding-top:14px;font-weight:600;}

/* RESPONSIVE */
@media (max-width:980px){
  .hero-split{grid-template-columns:1fr;}
  .hero-img{height:50vh;order:-1;}
  .hero-text{padding:50px 6vw;}
  .alt-row{grid-template-columns:1fr;gap:30px;}
  .alt-row.reverse .img-col{order:0;}
  .masonry{grid-template-columns:repeat(2,1fr);}
  .stats-strip{grid-template-columns:repeat(2,1fr);}
  .testi-row{grid-template-columns:1fr;}
  .testi-cell{border-right:none;border-bottom:1px solid var(--sand);}
  .process-list{grid-template-columns:repeat(2,1fr);gap:30px;}
  .process-item{border-left:none;padding:0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .cards-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:720px){
  .nav-links{
    position:absolute;top:100%;left:0;right:0;background:var(--cream);
    flex-direction:column;padding:20px 32px;gap:20px;display:none;border-bottom:1px solid var(--sand);
  }
  .nav-links.open{display:flex;}
  .burger{display:flex;}
  .topbar-links{gap:14px;font-size:11.5px;}
  .hero-text h1{font-size:34px;}
  .masonry{grid-template-columns:1fr 1fr;grid-auto-rows:140px;}
  section{padding:70px 0;}
  .section-head h2{font-size:27px;}
  .footer-grid{grid-template-columns:1fr;gap:34px;}
  .process-list{grid-template-columns:1fr;}
  .cards-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
}

