:root{
  --cream:#f8f3eb;
  --dark:#171717;
  --black:#101010;
  --burgundy:#a51635;
  --burgundy-dark:#7f1028;
  --gold:#c99a2e;
  --gold-soft:#e4c06a;
  --white:#ffffff;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial, Helvetica, sans-serif;
  background:var(--cream);
  color:var(--dark);
  line-height:1.6;
}

a{
  text-decoration:none;
}

.site-header{
  position:fixed;
  width:100%;
  top:0;
  left:0;
  z-index:1000;
  background:rgba(16,16,16,.94);
  border-bottom:1px solid rgba(201,154,46,.35);
  backdrop-filter:blur(12px);
}

.navbar{
  max-width:1300px;
  margin:auto;
  padding:14px 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--white);
  font-size:24px;
  font-weight:800;
  letter-spacing:.5px;
}

.brand img{
  width:62px;
  height:62px;
  border-radius:50%;
  object-fit:cover;
  background:var(--cream);
  border:2px solid var(--gold);
  padding:4px;
}

.nav-links{
  display:flex;
  gap:32px;
}

.nav-links a{
  color:var(--white);
  font-weight:600;
  transition:.3s;
}

.nav-links a:hover{
  color:var(--gold-soft);
}

.menu-btn{
  display:none;
  background:none;
  border:none;
  color:var(--white);
  font-size:30px;
  cursor:pointer;
}

.hero{
  min-height:100vh;
  background:
    linear-gradient(rgba(16,16,16,.78),rgba(80,9,26,.75)),
    url("assets/hero.jpg") center center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:130px 20px 70px;
}

.hero-content{
  color:var(--white);
  max-width:900px;
}

.badge{
  display:inline-block;
  padding:10px 24px;
  background:linear-gradient(135deg,var(--burgundy),var(--gold));
  border-radius:30px;
  margin-bottom:22px;
  font-weight:800;
  letter-spacing:.5px;
}

.hero h1{
  font-size:64px;
  line-height:1.08;
  margin-bottom:22px;
}

.hero p{
  font-size:22px;
  margin-bottom:36px;
  color:#f3e8d8;
}

.hero-buttons{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn{
  padding:15px 35px;
  border-radius:50px;
  font-weight:800;
  transition:.3s;
}

.primary{
  background:var(--burgundy);
  color:var(--white);
  border:2px solid var(--burgundy);
}

.primary:hover{
  background:var(--burgundy-dark);
}

.secondary{
  border:2px solid var(--gold);
  color:var(--gold-soft);
}

.secondary:hover{
  background:var(--gold);
  color:var(--black);
}

.features{
  max-width:1200px;
  margin:-45px auto 0;
  padding:0 20px 90px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
  position:relative;
  z-index:5;
}

.feature-box{
  background:var(--white);
  padding:36px;
  border-radius:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  text-align:center;
  border-top:4px solid var(--burgundy);
}

.feature-box h3{
  margin-bottom:15px;
  color:var(--burgundy);
}

.section{
  max-width:1200px;
  margin:auto;
  padding:85px 20px;
}

.section-title{
  text-align:center;
  margin-bottom:52px;
}

.section-title span{
  color:var(--burgundy);
  font-weight:900;
  letter-spacing:1px;
}

.section-title h2{
  font-size:44px;
  margin-top:10px;
  color:var(--black);
}

.menu-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
}

.menu-card{
  background:var(--white);
  padding:32px;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  transition:.3s;
  border:1px solid rgba(201,154,46,.25);
}

.menu-card:hover{
  transform:translateY(-8px);
  border-color:var(--gold);
}

.menu-card h3{
  margin-bottom:12px;
  color:var(--burgundy);
}

.about{
  background:linear-gradient(135deg,var(--black),var(--burgundy-dark));
  color:var(--white);
  padding:95px 20px;
}

.about-content{
  max-width:900px;
  margin:auto;
  text-align:center;
}

.about-content span{
  color:var(--gold-soft);
  font-weight:900;
}

.about-content h2{
  font-size:42px;
  margin:20px 0;
}

.about-content p{
  color:#f4e8d6;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:22px;
}

.gallery-item{
  height:280px;
  background:linear-gradient(135deg,#eee4d4,#d5c19b);
  border-radius:20px;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:24px;
  color:var(--burgundy);
  font-weight:800;
  border:1px solid rgba(201,154,46,.4);
}

.comments{
  background:var(--white);
  padding:90px 20px;
}

.comment-grid{
  max-width:1100px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:25px;
}

.comment-card{
  background:var(--cream);
  padding:32px;
  border-radius:22px;
  border-left:5px solid var(--burgundy);
}

.comment-card strong{
  display:block;
  margin-top:15px;
  color:var(--gold);
}

.contact{
  max-width:1200px;
  margin:auto;
  padding:90px 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
}

.contact-info span{
  color:var(--burgundy);
  font-weight:900;
}

.contact-info h2{
  font-size:42px;
  margin:15px 0 30px;
}

.contact-info p{
  margin-bottom:15px;
}

.contact-buttons{
  margin-top:30px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.contact-buttons a{
  background:var(--burgundy);
  color:var(--white);
  padding:14px 25px;
  border-radius:50px;
  font-weight:800;
}

.contact-buttons a:hover{
  background:var(--gold);
  color:var(--black);
}

.map-box iframe{
  width:100%;
  height:400px;
  border:none;
  border-radius:22px;
  box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  background:#25D366;
  color:#fff;
  padding:14px 22px;
  border-radius:50px;
  font-weight:bold;
  z-index:999;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}

footer{
  background:var(--black);
  color:#cfc6b8;
  text-align:center;
  padding:30px;
  border-top:1px solid rgba(201,154,46,.35);
}

@media(max-width:900px){
  .hero h1{
    font-size:42px;
  }

  .hero p{
    font-size:18px;
  }

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

  .nav-links{
    position:absolute;
    top:91px;
    left:0;
    width:100%;
    background:var(--black);
    flex-direction:column;
    display:none;
    padding:25px;
  }

  .nav-links.active{
    display:flex;
  }

  .menu-btn{
    display:block;
  }
}

@media(max-width:520px){
  .brand span{
    font-size:17px;
  }

  .brand img{
    width:50px;
    height:50px;
  }

  .hero h1{
    font-size:34px;
  }

  .section-title h2,
  .about-content h2,
  .contact-info h2{
    font-size:32px;
  }
}

.menu-note{
  margin-top:12px;
  color:#6b5b48;
}

.home-menu-card{
  background:var(--white);
  padding:28px;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  border:1px solid rgba(201,154,46,.25);
}

.home-menu-card small{
  color:var(--gold);
  font-weight:900;
}

.home-menu-card h3{
  margin:8px 0 10px;
  color:var(--burgundy);
}

.home-menu-card p{
  color:#555;
}

.qr-menu-call{
  margin-top:35px;
  background:linear-gradient(135deg,var(--black),var(--burgundy-dark));
  color:white;
  padding:30px;
  border-radius:24px;
  text-align:center;
}

.qr-menu-call h3{
  font-size:28px;
  margin-bottom:8px;
}

.qr-menu-call p{
  color:#f0ddc0;
  margin-bottom:20px;
}

.qr-menu-call a{
  display:inline-block;
  background:var(--gold);
  color:#111;
  padding:14px 28px;
  border-radius:50px;
  font-weight:900;
}

.page-hero{
  padding:150px 20px 80px;
  text-align:center;
  color:white;
  background:linear-gradient(135deg,#101010,#7f1028);
}

.page-hero span{
  color:var(--gold);
  font-weight:900;
  letter-spacing:1px;
}

.page-hero h1{
  font-size:56px;
  margin:12px 0;
}

.page-hero p{
  color:#f1dfbd;
  font-size:18px;
}

.about-page{
  max-width:950px;
  margin:70px auto;
  background:white;
  padding:40px;
  border-radius:26px;
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.about-page h2{
  color:var(--burgundy);
  font-size:38px;
  margin-bottom:18px;
}

.home-menu-card{
  background:var(--white);
  padding:28px;
  border-radius:20px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
  border:1px solid rgba(201,154,46,.25);
}

.home-menu-card small{
  color:var(--gold);
  font-weight:900;
}

.home-menu-card h3{
  margin:8px 0 10px;
  color:var(--burgundy);
}

.home-menu-card p{
  color:#555;
}

@media(max-width:520px){
  .page-hero h1{
    font-size:38px;
  }
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}

.gallery-photo{
  height:320px;
  border-radius:26px;
  overflow:hidden;
  position:relative;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
  background:#eee;
}

.gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.gallery-photo:hover img{
  transform:scale(1.08);
}

.gallery-photo div{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:45px 18px 18px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
  color:white;
  font-weight:900;
  letter-spacing:.3px;
}

.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.86);
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:25px;
}

.lightbox.active{
  display:flex;
}

.lightbox img{
  max-width:92%;
  max-height:86vh;
  border-radius:20px;
  box-shadow:0 25px 80px rgba(0,0,0,.45);
}

.lightbox-close{
  position:absolute;
  top:20px;
  right:25px;
  color:white;
  font-size:42px;
  cursor:pointer;
}

.home-hero{
  min-height:100vh;
  padding:135px 24px 70px;
  background:
    linear-gradient(135deg,rgba(16,16,16,.94),rgba(122,16,42,.82)),
    radial-gradient(circle at top right,rgba(201,154,46,.38),transparent 36%),
    url("assets/hero.jpg") center/cover no-repeat;
  position:relative;
  overflow:hidden;
}

.home-hero-inner{
  max-width:1250px;
  margin:auto;
  min-height:calc(100vh - 210px);
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:45px;
  align-items:center;
}

.hero-text{
  color:white;
}

.hero-kicker,
.section-kicker{
  display:inline-block;
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1px;
  margin-bottom:16px;
}

.hero-text h1{
  font-size:68px;
  line-height:1.05;
  max-width:900px;
  margin-bottom:24px;
}

.hero-text p{
  font-size:21px;
  color:#f3dfbd;
  max-width:720px;
  line-height:1.7;
  margin-bottom:34px;
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.hero-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(201,154,46,.35);
  backdrop-filter:blur(16px);
  color:white;
  border-radius:34px;
  padding:34px;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.25);
}

.hero-card img{
  width:150px;
  height:150px;
  object-fit:contain;
  border-radius:50%;
  background:white;
  border:3px solid #c99a2e;
  padding:10px;
  margin-bottom:18px;
}

.hero-card h3{
  font-size:28px;
  margin-bottom:10px;
}

.hero-card p{
  color:#f3dfbd;
  line-height:1.6;
}

.hero-mini-info{
  margin-top:22px;
  padding:14px;
  background:rgba(0,0,0,.30);
  border-radius:18px;
  color:#e4c06a;
  font-weight:900;
}

.premium-features{
  max-width:1200px;
  margin:-55px auto 0;
  padding:0 20px 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  position:relative;
  z-index:4;
}

.premium-feature{
  background:white;
  padding:32px;
  border-radius:28px;
  box-shadow:0 20px 45px rgba(0,0,0,.12);
  border:1px solid rgba(201,154,46,.22);
}

.premium-feature span{
  color:#c99a2e;
  font-size:28px;
  font-weight:900;
}

.premium-feature h3{
  color:#a51635;
  margin:12px 0 10px;
  font-size:23px;
}

.premium-feature p{
  color:#555;
  line-height:1.6;
}

.home-about{
  max-width:1200px;
  margin:auto;
  padding:80px 20px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:40px;
  align-items:center;
}

.home-about h2{
  font-size:46px;
  color:#101010;
  line-height:1.15;
  margin-bottom:18px;
}

.home-about p{
  color:#555;
  line-height:1.8;
  font-size:17px;
}

.text-link{
  display:inline-block;
  margin-top:22px;
  color:#a51635;
  font-weight:900;
}

.about-box{
  min-height:320px;
  border-radius:34px;
  background:linear-gradient(145deg,#101010,#7f1028);
  color:white;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 20px 45px rgba(0,0,0,.16);
}

.about-box strong{
  font-size:86px;
  color:#c99a2e;
  line-height:1;
}

.about-box span{
  margin-top:12px;
  color:#f3dfbd;
  font-weight:900;
}

.home-gallery-preview{
  max-width:1200px;
  margin:auto;
  padding:70px 20px;
}

.home-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.home-gallery-card{
  height:320px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 42px rgba(0,0,0,.13);
}

.home-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}

.home-gallery-card:hover img{
  transform:scale(1.07);
}

.home-gallery-card span{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  color:white;
  padding:45px 18px 18px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
  font-weight:900;
}

.home-gallery-empty{
  grid-column:1/-1;
  background:white;
  padding:35px;
  border-radius:24px;
  text-align:center;
  color:#777;
}

.center-link{
  text-align:center;
  margin-top:26px;
}

.center-link a{
  display:inline-block;
  background:#a51635;
  color:white;
  padding:14px 28px;
  border-radius:999px;
  font-weight:900;
}

.home-cta{
  max-width:1200px;
  margin:20px auto 80px;
  padding:45px 25px;
  text-align:center;
  border-radius:34px;
  background:linear-gradient(145deg,#101010,#7f1028);
  color:white;
  box-shadow:0 22px 55px rgba(0,0,0,.16);
}

.home-cta h2{
  font-size:38px;
  margin-bottom:12px;
}

.home-cta p{
  color:#f3dfbd;
  margin-bottom:25px;
}

.home-cta-buttons{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.home-cta-buttons a{
  background:#c99a2e;
  color:#111;
  padding:14px 24px;
  border-radius:999px;
  font-weight:900;
}

.home-cta-buttons a:nth-child(2){
  background:#25D366;
  color:white;
}

.home-cta-buttons a:nth-child(3){
  background:white;
  color:#111;
}

@media(max-width:900px){
  .home-hero-inner,
  .home-about{
    grid-template-columns:1fr;
  }

  .hero-text h1{
    font-size:44px;
  }

  .hero-text p{
    font-size:18px;
  }

  .premium-features,
  .home-gallery-grid{
    grid-template-columns:1fr;
  }

  .premium-features{
    margin-top:-35px;
  }

  .home-about h2{
    font-size:34px;
  }

  .home-cta h2{
    font-size:30px;
  }
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}

.hero-video-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(10,10,10,.88),rgba(122,16,42,.72)),
    radial-gradient(circle at top right,rgba(201,154,46,.30),transparent 38%);
  z-index:1;
}

.home-hero{
  background:#111 !important;
}

.home-hero-inner{
  position:relative;
  z-index:2;
}

/* Premium Home Upgrade */
.site-header{
  background:rgba(10,10,10,.78) !important;
  border-bottom:1px solid rgba(201,154,46,.28) !important;
}

.navbar{
  padding:12px 28px !important;
}

.nav-links a{
  font-size:15px;
  letter-spacing:.2px;
}

.home-hero{
  min-height:100vh;
  padding:150px 24px 85px !important;
}

.home-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:130px;
  background:linear-gradient(transparent,#f8f3eb);
  z-index:1;
}

.hero-video{
  filter:saturate(1.05) contrast(1.1);
}

.hero-video-overlay{
  background:
    linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(42,9,18,.72) 48%,rgba(0,0,0,.52) 100%),
    radial-gradient(circle at 75% 25%,rgba(201,154,46,.32),transparent 32%) !important;
}

.home-hero-inner{
  max-width:1320px !important;
  grid-template-columns:1.25fr .75fr !important;
}

.hero-kicker{
  background:rgba(201,154,46,.14);
  border:1px solid rgba(201,154,46,.35);
  padding:9px 16px;
  border-radius:999px;
  color:#f1cc74 !important;
  backdrop-filter:blur(10px);
}

.hero-text h1{
  font-size:78px !important;
  letter-spacing:-2px;
  text-shadow:0 18px 45px rgba(0,0,0,.38);
}

.hero-text p{
  font-size:22px !important;
  max-width:760px;
}

.hero-actions .btn{
  min-width:190px;
  text-align:center;
  box-shadow:0 14px 35px rgba(0,0,0,.22);
}

.hero-actions .primary{
  background:linear-gradient(135deg,#a51635,#711324) !important;
  border:1px solid rgba(255,255,255,.10);
}

.hero-actions .secondary{
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}

.hero-card{
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  overflow:hidden;
}

.hero-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top,rgba(201,154,46,.25),transparent 45%);
  pointer-events:none;
}

.hero-card img,
.hero-card h3,
.hero-card p,
.hero-mini-info{
  position:relative;
  z-index:2;
}

.hero-card h3{
  color:#fff;
}

.premium-features{
  margin-top:-80px !important;
}

.premium-feature{
  position:relative;
  overflow:hidden;
}

.premium-feature:after{
  content:"";
  position:absolute;
  right:-35px;
  top:-35px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(201,154,46,.10);
}

.home-about{
  padding-top:95px !important;
}

.home-about h2{
  font-size:52px !important;
  letter-spacing:-1px;
}

.about-box{
  position:relative;
  overflow:hidden;
}

.about-box:before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(201,154,46,.25);
  top:-70px;
  right:-70px;
}

.home-gallery-card{
  height:360px !important;
}

.home-cta{
  position:relative;
  overflow:hidden;
}

.home-cta:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  border:1px solid rgba(201,154,46,.28);
  left:-90px;
  top:-120px;
}

.home-cta h2,
.home-cta p,
.home-cta-buttons{
  position:relative;
  z-index:2;
}

@media(max-width:900px){
  .home-hero{
    padding:125px 18px 70px !important;
  }

  .hero-text h1{
    font-size:46px !important;
    letter-spacing:-1px;
  }

  .hero-card{
    display:none;
  }

  .home-hero-inner{
    grid-template-columns:1fr !important;
  }

  .premium-features{
    margin-top:-45px !important;
  }

  .home-about h2{
    font-size:36px !important;
  }
}

/* PROFESSIONAL HOME PAGE */
.premium-header{
  background:rgba(8,8,8,.72) !important;
  backdrop-filter:blur(18px);
}

.pro-hero{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:150px 24px 90px;
  background:#111;
}

.pro-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.12) saturate(1.08);
}

.pro-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.93),rgba(60,10,24,.76),rgba(0,0,0,.48)),
    radial-gradient(circle at 75% 20%,rgba(201,154,46,.30),transparent 34%);
}

.pro-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:160px;
  background:linear-gradient(transparent,#f8f3eb);
}

.pro-hero-content{
  width:100%;
  max-width:1320px;
  margin:auto;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:44px;
  align-items:center;
  position:relative;
  z-index:2;
}

.pro-hero-text{
  color:white;
}

.pro-badge{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  color:#f3ca67;
  background:rgba(201,154,46,.13);
  border:1px solid rgba(201,154,46,.35);
  font-weight:900;
  letter-spacing:1px;
  margin-bottom:20px;
}

.pro-hero-text h1{
  font-size:78px;
  line-height:1.02;
  letter-spacing:-2.5px;
  max-width:920px;
  margin-bottom:24px;
  text-shadow:0 20px 55px rgba(0,0,0,.45);
}

.pro-hero-text p{
  max-width:760px;
  font-size:22px;
  line-height:1.75;
  color:#f3dfbd;
  margin-bottom:34px;
}

.pro-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.pro-actions a{
  display:inline-block;
  padding:16px 28px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 16px 40px rgba(0,0,0,.25);
}

.pro-actions a:first-child{
  background:linear-gradient(135deg,#a51635,#681124);
  color:white;
}

.pro-actions a:last-child{
  border:1px solid rgba(255,255,255,.45);
  color:white;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}

.pro-reservation-card{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(18px);
  border-radius:36px;
  padding:34px;
  color:white;
  text-align:center;
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.pro-reservation-card img{
  width:145px;
  height:145px;
  object-fit:contain;
  border-radius:50%;
  background:white;
  border:3px solid #c99a2e;
  padding:10px;
  margin-bottom:18px;
}

.pro-reservation-card span{
  color:#e4c06a;
  font-weight:900;
}

.pro-reservation-card strong{
  display:block;
  font-size:24px;
  margin:10px 0;
}

.pro-reservation-card p{
  color:#f3dfbd;
  line-height:1.6;
}

.pro-trust{
  max-width:1200px;
  margin:-62px auto 0;
  padding:0 20px 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  position:relative;
  z-index:5;
}

.pro-trust div{
  background:white;
  border-radius:28px;
  padding:30px;
  box-shadow:0 22px 50px rgba(0,0,0,.13);
  border:1px solid rgba(201,154,46,.22);
}

.pro-trust strong{
  display:block;
  color:#a51635;
  font-size:34px;
  margin-bottom:8px;
}

.pro-trust span{
  color:#555;
  font-weight:700;
}

.pro-story{
  max-width:1200px;
  margin:auto;
  padding:90px 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
}

.pro-story-left span,
.pro-highlight span,
.pro-contact span{
  color:#a51635;
  font-weight:900;
  letter-spacing:1px;
}

.pro-story-left h2{
  font-size:48px;
  line-height:1.14;
  letter-spacing:-1.3px;
  margin-top:14px;
}

.pro-story-right p{
  color:#555;
  font-size:17px;
  line-height:1.85;
  margin-bottom:16px;
}

.pro-story-right a,
.pro-highlight a{
  display:inline-block;
  margin-top:12px;
  color:#a51635;
  font-weight:900;
}

.pro-highlight{
  max-width:1200px;
  margin:auto;
  min-height:430px;
  border-radius:38px;
  padding:60px;
  color:white;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(126,15,43,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
  display:flex;
  align-items:center;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.pro-highlight div{
  max-width:660px;
}

.pro-highlight h2{
  font-size:46px;
  line-height:1.12;
  margin:16px 0;
}

.pro-highlight p{
  color:#f3dfbd;
  font-size:18px;
  line-height:1.7;
}

.pro-highlight a{
  background:#c99a2e;
  color:#111;
  padding:14px 24px;
  border-radius:999px;
  text-decoration:none;
}

.pro-gallery{
  max-width:1200px;
  margin:auto;
  padding:90px 20px;
}

.pro-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.pro-gallery-card{
  height:310px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 42px rgba(0,0,0,.14);
}

.pro-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}

.pro-gallery-card:hover img{
  transform:scale(1.08);
}

.pro-gallery-card strong{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  color:white;
  padding:48px 16px 16px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
}

.gallery-empty{
  grid-column:1/-1;
  background:white;
  padding:30px;
  border-radius:24px;
  text-align:center;
}

.pro-contact{
  max-width:1200px;
  margin:0 auto 80px;
  padding:55px 25px;
  text-align:center;
  border-radius:38px;
  color:white;
  background:linear-gradient(145deg,#101010,#7f1028);
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.pro-contact h2{
  font-size:42px;
  margin:14px 0;
}

.pro-contact p{
  color:#f3dfbd;
  margin-bottom:26px;
}

.pro-contact-buttons{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.pro-contact-buttons a{
  padding:14px 25px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  background:#c99a2e;
  color:#111;
}

.pro-contact-buttons a:nth-child(2){
  background:#25D366;
  color:white;
}

.pro-contact-buttons a:nth-child(3){
  background:white;
  color:#111;
}

@media(max-width:900px){
  .pro-hero{
    padding:130px 18px 80px;
  }

  .pro-hero-content,
  .pro-story{
    grid-template-columns:1fr;
  }

  .pro-hero-text h1{
    font-size:46px;
    letter-spacing:-1px;
  }

  .pro-hero-text p{
    font-size:18px;
  }

  .pro-reservation-card{
    display:none;
  }

  .pro-trust{
    grid-template-columns:1fr;
    margin-top:-42px;
  }

  .pro-story-left h2,
  .pro-highlight h2,
  .pro-contact h2{
    font-size:34px;
  }

  .pro-highlight{
    padding:36px 24px;
    border-radius:28px;
    margin:0 14px;
  }

  .pro-gallery-grid{
    grid-template-columns:1fr;
  }
}

.public-menu-main{
  padding-top:30px;
}

.no-price-item{
  grid-template-columns:155px 1fr !important;
}

@media(max-width:720px){
  .no-price-item{
    grid-template-columns:96px 1fr !important;
  }
}

/* ===== Osman Kayar Professional Homepage v2 ===== */
.ok-hero{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:150px 24px 100px;
  background:#0b0b0b;
}

.ok-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.15) saturate(1.08) brightness(.78);
}

.ok-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.95),rgba(85,13,32,.78),rgba(0,0,0,.55)),
    radial-gradient(circle at 75% 20%,rgba(201,154,46,.35),transparent 35%);
}

.ok-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:170px;
  background:linear-gradient(transparent,#f8f3eb);
}

.ok-hero-content{
  width:100%;
  max-width:1320px;
  margin:auto;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:50px;
  align-items:center;
  position:relative;
  z-index:2;
}

.ok-hero-left{
  color:white;
}

.ok-eyebrow{
  display:inline-block;
  background:rgba(201,154,46,.14);
  border:1px solid rgba(201,154,46,.38);
  color:#f0ca70;
  padding:10px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.4px;
  margin-bottom:22px;
}

.ok-eyebrow.red{
  color:#a51635;
  background:rgba(165,22,53,.08);
  border-color:rgba(165,22,53,.20);
}

.ok-hero-left h1{
  max-width:920px;
  font-size:82px;
  line-height:1;
  letter-spacing:-3px;
  margin-bottom:26px;
  text-shadow:0 22px 65px rgba(0,0,0,.48);
}

.ok-hero-left p{
  max-width:760px;
  color:#f5dfbb;
  font-size:22px;
  line-height:1.75;
  margin-bottom:36px;
}

.ok-hero-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.ok-hero-buttons a{
  display:inline-block;
  padding:16px 30px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 16px 42px rgba(0,0,0,.25);
}

.ok-hero-buttons a:first-child{
  background:linear-gradient(135deg,#a51635,#651124);
  color:white;
}

.ok-hero-buttons a:last-child{
  color:white;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(12px);
}

.ok-hero-panel{
  color:white;
  text-align:center;
  padding:36px 30px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(255,255,255,.17),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(18px);
  box-shadow:0 30px 85px rgba(0,0,0,.34);
}

.ok-hero-panel img{
  width:150px;
  height:150px;
  object-fit:contain;
  border-radius:50%;
  background:white;
  padding:10px;
  border:3px solid #c99a2e;
  margin-bottom:18px;
}

.ok-hero-panel span{
  color:#e4c06a;
  font-size:13px;
  font-weight:900;
  letter-spacing:1px;
}

.ok-hero-panel h3{
  font-size:26px;
  margin:10px 0;
}

.ok-hero-panel p{
  color:#f5dfbb;
  font-weight:800;
}

.ok-signature{
  max-width:1200px;
  margin:-65px auto 0;
  padding:0 20px 90px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  position:relative;
  z-index:5;
}

.ok-signature-card{
  background:white;
  border:1px solid rgba(201,154,46,.24);
  border-radius:30px;
  padding:34px;
  box-shadow:0 24px 55px rgba(0,0,0,.14);
  position:relative;
  overflow:hidden;
}

.ok-signature-card.dark{
  background:linear-gradient(145deg,#111,#7f1028);
  color:white;
}

.ok-signature-card span{
  color:#c99a2e;
  font-size:32px;
  font-weight:900;
}

.ok-signature-card h3{
  color:#a51635;
  margin:14px 0 10px;
  font-size:25px;
}

.ok-signature-card.dark h3{
  color:white;
}

.ok-signature-card p{
  color:#555;
  line-height:1.65;
}

.ok-signature-card.dark p{
  color:#f5dfbb;
}

.ok-story{
  max-width:1200px;
  margin:auto;
  padding:90px 20px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  align-items:center;
}

.ok-story-img{
  min-height:460px;
  border-radius:40px;
  background:
    linear-gradient(145deg,rgba(0,0,0,.60),rgba(126,15,43,.45)),
    url("assets/hero.jpg") center/cover no-repeat;
  display:flex;
  align-items:flex-end;
  padding:34px;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.ok-story-img div{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  color:white;
  padding:24px;
  border-radius:26px;
}

.ok-story-img strong{
  display:block;
  color:#c99a2e;
  font-size:70px;
  line-height:1;
}

.ok-story-img span{
  color:#f5dfbb;
  font-weight:900;
}

.ok-story-text h2{
  font-size:50px;
  line-height:1.12;
  letter-spacing:-1.5px;
  margin:16px 0 20px;
}

.ok-story-text p{
  color:#555;
  line-height:1.85;
  font-size:17px;
  margin-bottom:16px;
}

.ok-story-text a{
  color:#a51635;
  font-weight:900;
  text-decoration:none;
}

.ok-taste{
  max-width:1200px;
  margin:auto;
  min-height:460px;
  border-radius:42px;
  padding:65px;
  color:white;
  background:
    linear-gradient(90deg,rgba(0,0,0,.90),rgba(119,16,40,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
  display:flex;
  align-items:center;
  box-shadow:0 28px 75px rgba(0,0,0,.20);
  overflow:hidden;
}

.ok-taste div{
  max-width:700px;
}

.ok-taste span,
.ok-contact span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.2px;
}

.ok-taste h2{
  font-size:50px;
  line-height:1.1;
  margin:16px 0;
}

.ok-taste p{
  color:#f5dfbb;
  font-size:18px;
  line-height:1.75;
}

.ok-taste a{
  display:inline-block;
  margin-top:24px;
  padding:15px 26px;
  border-radius:999px;
  background:#c99a2e;
  color:#111;
  font-weight:900;
  text-decoration:none;
}

.ok-gallery{
  max-width:1200px;
  margin:auto;
  padding:95px 20px;
}

.ok-section-title{
  text-align:center;
  margin-bottom:38px;
}

.ok-section-title span{
  color:#a51635;
  font-weight:900;
  letter-spacing:1px;
}

.ok-section-title h2{
  font-size:42px;
  margin-top:10px;
}

.ok-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.ok-gallery-card{
  height:320px;
  border-radius:30px;
  overflow:hidden;
  position:relative;
  box-shadow:0 20px 46px rgba(0,0,0,.15);
}

.ok-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.ok-gallery-card:hover img{
  transform:scale(1.08);
}

.ok-gallery-card strong{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  color:white;
  padding:50px 18px 18px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
}

.ok-contact{
  max-width:1200px;
  margin:0 auto 90px;
  text-align:center;
  color:white;
  padding:60px 25px;
  border-radius:42px;
  background:linear-gradient(145deg,#111,#7f1028);
  box-shadow:0 28px 75px rgba(0,0,0,.20);
}

.ok-contact h2{
  font-size:44px;
  margin:14px 0;
}

.ok-contact p{
  color:#f5dfbb;
  margin-bottom:28px;
}

.ok-contact-buttons{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.ok-contact-buttons a{
  padding:15px 26px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  background:#c99a2e;
  color:#111;
}

.ok-contact-buttons a:nth-child(2){
  background:#25D366;
  color:white;
}

.ok-contact-buttons a:nth-child(3){
  background:white;
  color:#111;
}

@media(max-width:900px){
  .ok-hero{
    padding:130px 18px 80px;
  }

  .ok-hero-content,
  .ok-story{
    grid-template-columns:1fr;
  }

  .ok-hero-left h1{
    font-size:48px;
    letter-spacing:-1.3px;
  }

  .ok-hero-left p{
    font-size:18px;
  }

  .ok-hero-panel{
    display:none;
  }

  .ok-signature{
    grid-template-columns:1fr;
    margin-top:-45px;
  }

  .ok-story-img{
    min-height:340px;
  }

  .ok-story-text h2,
  .ok-taste h2,
  .ok-contact h2{
    font-size:34px;
  }

  .ok-taste{
    margin:0 14px;
    padding:38px 24px;
    border-radius:30px;
  }

  .ok-gallery-grid{
    grid-template-columns:1fr;
  }
}

.taste-hero{
  min-height:430px;
  padding:150px 20px 70px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.88),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.taste-hero span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.5px;
}

.taste-hero h1{
  font-size:64px;
  margin:14px 0;
}

.taste-hero p{
  color:#f3dfbd;
  font-size:19px;
}

.taste-page{
  max-width:1200px;
  margin:auto;
  padding:45px 20px 80px;
}

.taste-search{
  position:sticky;
  top:86px;
  z-index:20;
  background:rgba(248,243,235,.92);
  backdrop-filter:blur(10px);
  padding:14px 0;
}

.taste-search input{
  width:100%;
  padding:17px 20px;
  border-radius:20px;
  border:1px solid rgba(201,154,46,.35);
  font-size:16px;
  outline:none;
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.taste-categories{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:12px 0 22px;
}

.taste-cat{
  border:none;
  background:white;
  color:#a51635;
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border:1px solid rgba(201,154,46,.25);
}

.taste-cat span{
  margin-right:5px;
}

.taste-cat.active{
  background:linear-gradient(135deg,#a51635,#681124);
  color:white;
}

.taste-intro{
  background:linear-gradient(135deg,#fff,#fff7ea);
  border:1px solid rgba(201,154,46,.35);
  border-radius:30px;
  padding:28px;
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:26px;
  box-shadow:0 16px 38px rgba(0,0,0,.08);
}

.taste-intro > span{
  width:70px;
  height:70px;
  border-radius:22px;
  background:#111;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  flex-shrink:0;
}

.taste-intro h2{
  color:#a51635;
  font-size:32px;
  margin-bottom:6px;
}

.taste-intro p{
  color:#6b5b48;
  line-height:1.6;
}

.taste-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:22px;
}

.taste-card{
  background:white;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
  transition:.28s;
}

.taste-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 58px rgba(0,0,0,.14);
}

.taste-img{
  height:210px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a51635;
  font-size:50px;
}

.taste-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.taste-content{
  padding:22px;
}

.taste-content small{
  color:#c99a2e;
  font-weight:900;
  letter-spacing:.7px;
  text-transform:uppercase;
}

.taste-content h3{
  color:#a51635;
  font-size:24px;
  margin:8px 0 10px;
}

.taste-content p{
  color:#555;
  line-height:1.65;
}

.taste-empty{
  grid-column:1/-1;
  background:white;
  padding:30px;
  border-radius:22px;
  text-align:center;
  color:#777;
}

.taste-cta{
  max-width:1200px;
  margin:0 auto 80px;
  padding:48px 24px;
  border-radius:36px;
  text-align:center;
  color:white;
  background:linear-gradient(145deg,#111,#7f1028);
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.taste-cta h2{
  font-size:36px;
  margin-bottom:12px;
}

.taste-cta p{
  color:#f3dfbd;
  margin-bottom:24px;
}

.taste-cta div{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.taste-cta a{
  padding:14px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  background:#c99a2e;
  color:#111;
}

.taste-cta a:nth-child(2){
  background:#25D366;
  color:white;
}

@media(max-width:720px){
  .taste-hero h1{
    font-size:42px;
  }

  .taste-intro{
    align-items:flex-start;
    padding:22px;
  }

  .taste-intro > span{
    width:55px;
    height:55px;
    font-size:27px;
  }

  .taste-intro h2{
    font-size:26px;
  }

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

  .taste-img{
    height:190px;
  }

  .taste-cta h2{
    font-size:28px;
  }
}

/* Happy-style category menu */
.hm-menu-hero{
  min-height:420px;
  padding:150px 20px 70px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.86),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.hm-menu-hero span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.5px;
}

.hm-menu-hero h1{
  font-size:64px;
  margin:14px 0;
}

.hm-menu-hero p{
  color:#f3dfbd;
  font-size:19px;
  max-width:680px;
  line-height:1.7;
}

.hm-menu-page{
  max-width:1220px;
  margin:auto;
  padding:60px 20px 90px;
}

.hm-section-head{
  text-align:center;
  margin-bottom:38px;
}

.hm-section-head span{
  color:#a51635;
  font-weight:900;
  letter-spacing:1.2px;
}

.hm-section-head h2{
  font-size:42px;
  margin-top:10px;
}

.hm-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:26px;
}

.hm-category-card{
  background:white;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.11);
  border:1px solid rgba(201,154,46,.22);
  cursor:pointer;
  transition:.3s;
}

.hm-category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 65px rgba(0,0,0,.16);
}

.hm-category-img{
  height:230px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a51635;
  font-size:58px;
  overflow:hidden;
}

.hm-category-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.hm-category-card:hover .hm-category-img img{
  transform:scale(1.08);
}

.hm-category-body{
  padding:24px;
}

.hm-category-body h3{
  color:#a51635;
  font-size:26px;
  margin-bottom:10px;
}

.hm-category-body p{
  color:#555;
  line-height:1.65;
  min-height:78px;
}

.hm-category-body a{
  display:inline-block;
  margin-top:18px;
  color:#111;
  font-weight:900;
  letter-spacing:1px;
  border-bottom:2px solid #c99a2e;
}

.hm-back-btn{
  border:none;
  background:#111;
  color:white;
  padding:13px 20px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  margin-bottom:24px;
}

.hm-product-header{
  background:linear-gradient(135deg,#fff,#fff7ea);
  border:1px solid rgba(201,154,46,.35);
  border-radius:30px;
  padding:30px;
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
  box-shadow:0 16px 38px rgba(0,0,0,.08);
}

.hm-product-header > span{
  width:76px;
  height:76px;
  border-radius:24px;
  background:#111;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  flex-shrink:0;
}

.hm-product-header h2{
  color:#a51635;
  font-size:36px;
}

.hm-product-header p{
  color:#6b5b48;
  line-height:1.6;
}

.hm-product-search{
  position:sticky;
  top:86px;
  z-index:20;
  padding:12px 0 24px;
  background:rgba(248,243,235,.92);
  backdrop-filter:blur(10px);
}

.hm-product-search input{
  width:100%;
  padding:17px 20px;
  border-radius:20px;
  border:1px solid rgba(201,154,46,.35);
  font-size:16px;
  outline:none;
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.hm-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}

.hm-product-card{
  background:white;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
  transition:.28s;
}

.hm-product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 58px rgba(0,0,0,.14);
}

.hm-product-img{
  height:215px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a51635;
  font-size:54px;
  overflow:hidden;
}

.hm-product-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hm-product-card h3{
  color:#a51635;
  font-size:24px;
  padding:22px 22px 8px;
}

.hm-product-card p{
  color:#555;
  line-height:1.65;
  padding:0 22px 24px;
}

.hm-empty{
  grid-column:1/-1;
  background:white;
  padding:30px;
  border-radius:24px;
  text-align:center;
}

@media(max-width:720px){
  .hm-menu-hero h1{
    font-size:42px;
  }

  .hm-section-head h2{
    font-size:32px;
  }

  .hm-product-header{
    align-items:flex-start;
    padding:22px;
  }

  .hm-product-header > span{
    width:58px;
    height:58px;
    font-size:28px;
  }

  .hm-product-header h2{
    font-size:28px;
  }
}

/* Happy-style category menu */
.hm-menu-hero{
  min-height:420px;
  padding:150px 20px 70px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.86),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.hm-menu-hero span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.5px;
}

.hm-menu-hero h1{
  font-size:64px;
  margin:14px 0;
}

.hm-menu-hero p{
  color:#f3dfbd;
  font-size:19px;
  max-width:680px;
  line-height:1.7;
}

.hm-menu-page{
  max-width:1220px;
  margin:auto;
  padding:60px 20px 90px;
}

.hm-section-head{
  text-align:center;
  margin-bottom:38px;
}

.hm-section-head span{
  color:#a51635;
  font-weight:900;
  letter-spacing:1.2px;
}

.hm-section-head h2{
  font-size:42px;
  margin-top:10px;
}

.hm-category-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:26px;
}

.hm-category-card{
  background:white;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(0,0,0,.11);
  border:1px solid rgba(201,154,46,.22);
  cursor:pointer;
  transition:.3s;
}

.hm-category-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 65px rgba(0,0,0,.16);
}

.hm-category-img{
  height:230px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a51635;
  font-size:58px;
  overflow:hidden;
}

.hm-category-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.hm-category-card:hover .hm-category-img img{
  transform:scale(1.08);
}

.hm-category-body{
  padding:24px;
}

.hm-category-body h3{
  color:#a51635;
  font-size:26px;
  margin-bottom:10px;
}

.hm-category-body p{
  color:#555;
  line-height:1.65;
  min-height:78px;
}

.hm-category-body a{
  display:inline-block;
  margin-top:18px;
  color:#111;
  font-weight:900;
  letter-spacing:1px;
  border-bottom:2px solid #c99a2e;
}

.hm-back-btn{
  border:none;
  background:#111;
  color:white;
  padding:13px 20px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  margin-bottom:24px;
}

.hm-product-header{
  background:linear-gradient(135deg,#fff,#fff7ea);
  border:1px solid rgba(201,154,46,.35);
  border-radius:30px;
  padding:30px;
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
  box-shadow:0 16px 38px rgba(0,0,0,.08);
}

.hm-product-header > span{
  width:76px;
  height:76px;
  border-radius:24px;
  background:#111;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  flex-shrink:0;
}

.hm-product-header h2{
  color:#a51635;
  font-size:36px;
}

.hm-product-header p{
  color:#6b5b48;
  line-height:1.6;
}

.hm-product-search{
  position:sticky;
  top:86px;
  z-index:20;
  padding:12px 0 24px;
  background:rgba(248,243,235,.92);
  backdrop-filter:blur(10px);
}

.hm-product-search input{
  width:100%;
  padding:17px 20px;
  border-radius:20px;
  border:1px solid rgba(201,154,46,.35);
  font-size:16px;
  outline:none;
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.hm-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}

.hm-product-card{
  background:white;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
  transition:.28s;
}

.hm-product-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 58px rgba(0,0,0,.14);
}

.hm-product-img{
  height:215px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#a51635;
  font-size:54px;
  overflow:hidden;
}

.hm-product-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hm-product-card h3{
  color:#a51635;
  font-size:24px;
  padding:22px 22px 8px;
}

.hm-product-card p{
  color:#555;
  line-height:1.65;
  padding:0 22px 24px;
}

.hm-empty{
  grid-column:1/-1;
  background:white;
  padding:30px;
  border-radius:24px;
  text-align:center;
}

@media(max-width:720px){
  .hm-menu-hero h1{
    font-size:42px;
  }

  .hm-section-head h2{
    font-size:32px;
  }

  .hm-product-header{
    align-items:flex-start;
    padding:22px;
  }

  .hm-product-header > span{
    width:58px;
    height:58px;
    font-size:28px;
  }

  .hm-product-header h2{
    font-size:28px;
  }
}

.contact-hero{
  padding:150px 20px 80px;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.88),rgba(126,16,42,.82)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.contact-hero span,
.contact-help-title span,
.contact-info-pro span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.2px;
}

.contact-hero h1{
  font-size:62px;
  margin:14px 0;
}

.contact-hero p{
  color:#f3dfbd;
  max-width:680px;
  margin:auto;
  line-height:1.7;
  font-size:18px;
}

.contact-help{
  max-width:1200px;
  margin:-45px auto 0;
  padding:0 20px 70px;
  position:relative;
  z-index:5;
}

.contact-help-title{
  background:white;
  padding:34px;
  border-radius:30px;
  box-shadow:0 20px 50px rgba(0,0,0,.13);
  text-align:center;
  margin-bottom:24px;
}

.contact-help-title span{
  color:#a51635;
}

.contact-help-title h2{
  font-size:34px;
  margin-top:10px;
}

.contact-help-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.contact-help-card{
  background:white;
  padding:30px;
  border-radius:28px;
  text-decoration:none;
  color:#111;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.24);
  transition:.25s;
}

.contact-help-card:hover{
  transform:translateY(-5px);
}

.contact-help-card strong{
  display:block;
  color:#a51635;
  font-size:22px;
  margin-bottom:10px;
}

.contact-help-card p{
  color:#555;
  line-height:1.6;
}

.contact-premium{
  max-width:1200px;
  margin:0 auto 90px;
  padding:0 20px;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
}

.contact-info-pro,
.map-box-pro{
  background:white;
  border-radius:32px;
  padding:34px;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.20);
}

.contact-info-pro span{
  color:#a51635;
}

.contact-info-pro h2{
  font-size:36px;
  line-height:1.25;
  margin:12px 0 24px;
}

.contact-line{
  padding:16px 0;
  border-bottom:1px solid #eee;
}

.contact-line:last-child{
  border-bottom:none;
}

.contact-line b{
  color:#a51635;
}

.contact-line p{
  margin-top:6px;
  color:#111;
  font-weight:800;
}

.map-box-pro{
  padding:0;
  overflow:hidden;
  min-height:430px;
}

.map-box-pro iframe{
  width:100%;
  height:100%;
  min-height:430px;
  border:0;
}

@media(max-width:900px){
  .contact-hero h1{
    font-size:42px;
  }

  .contact-help-grid,
  .contact-premium{
    grid-template-columns:1fr;
  }

  .contact-help-title h2,
  .contact-info-pro h2{
    font-size:28px;
  }
}

.gallery-hero{
  min-height:430px;
  padding:150px 20px 80px;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.88),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.gallery-hero span,
.gallery-pro-title span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.4px;
}

.gallery-hero h1{
  font-size:64px;
  margin:14px 0;
}

.gallery-hero p{
  color:#f3dfbd;
  max-width:680px;
  margin:auto;
  line-height:1.7;
  font-size:18px;
}

.gallery-pro-section{
  max-width:1220px;
  margin:auto;
  padding:70px 20px 90px;
}

.gallery-pro-title{
  text-align:center;
  margin-bottom:42px;
}

.gallery-pro-title span{
  color:#a51635;
}

.gallery-pro-title h2{
  font-size:42px;
  margin:10px 0;
}

.gallery-pro-title p{
  color:#555;
  line-height:1.7;
}

.gallery-pro-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:260px;
  gap:18px;
}

.gallery-pro-card{
  position:relative;
  border-radius:30px;
  overflow:hidden;
  cursor:pointer;
  box-shadow:0 20px 48px rgba(0,0,0,.14);
  background:#eee;
}

.gallery-pro-card.large{
  grid-column:span 2;
  grid-row:span 2;
}

.gallery-pro-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s;
}

.gallery-pro-card:hover img{
  transform:scale(1.08);
}

.gallery-pro-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(transparent,rgba(0,0,0,.72));
  opacity:.95;
}

.gallery-pro-card div{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:24px;
  color:white;
  z-index:2;
}

.gallery-pro-card small{
  display:block;
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1px;
  margin-bottom:6px;
}

.gallery-pro-card strong{
  font-size:22px;
}

.gallery-empty-pro{
  grid-column:1/-1;
  background:white;
  padding:36px;
  border-radius:28px;
  text-align:center;
  color:#777;
  box-shadow:0 18px 42px rgba(0,0,0,.08);
}

@media(max-width:900px){
  .gallery-hero h1{
    font-size:42px;
  }

  .gallery-pro-grid{
    grid-template-columns:1fr;
    grid-auto-rows:300px;
  }

  .gallery-pro-card.large{
    grid-column:span 1;
    grid-row:span 1;
  }

  .gallery-pro-title h2{
    font-size:32px;
  }
}

.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.55);
  color:white;
  font-size:46px;
  line-height:1;
  cursor:pointer;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
}

.lightbox-prev{
  left:28px;
}

.lightbox-next{
  right:28px;
}

.lightbox-nav:hover{
  background:#a51635;
}

@media(max-width:720px){
  .lightbox-nav{
    width:46px;
    height:46px;
    font-size:34px;
  }

  .lightbox-prev{
    left:12px;
  }

  .lightbox-next{
    right:12px;
  }
}

.about-hero{
  min-height:430px;
  padding:150px 20px 80px;
  text-align:center;
  color:white;
  background:
    linear-gradient(135deg,rgba(0,0,0,.88),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
}

.about-hero span,
.about-pro-text span,
.about-wide span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.4px;
}

.about-hero h1{
  font-size:64px;
  margin:14px 0;
}

.about-hero p{
  color:#f3dfbd;
  max-width:720px;
  margin:auto;
  line-height:1.7;
  font-size:18px;
}

.about-pro{
  max-width:1200px;
  margin:auto;
  padding:85px 20px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:38px;
  align-items:center;
}

.about-pro-text span{
  color:#a51635;
}

.about-pro-text h2{
  font-size:48px;
  line-height:1.14;
  margin:15px 0 20px;
}

.about-pro-text p{
  color:#555;
  line-height:1.85;
  font-size:17px;
  margin-bottom:16px;
}

.about-pro-card{
  background:linear-gradient(145deg,#111,#7f1028);
  color:white;
  border-radius:38px;
  padding:38px;
  text-align:center;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.about-pro-card img{
  width:145px;
  height:145px;
  object-fit:contain;
  border-radius:50%;
  background:white;
  padding:10px;
  border:3px solid #c99a2e;
  margin-bottom:20px;
}

.about-pro-card strong{
  display:block;
  color:#c99a2e;
  font-size:78px;
  line-height:1;
}

.about-pro-card p{
  color:#f3dfbd;
  font-weight:900;
}

.about-values{
  max-width:1200px;
  margin:auto;
  padding:0 20px 85px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.about-values div{
  background:white;
  padding:32px;
  border-radius:30px;
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
}

.about-values span{
  color:#c99a2e;
  font-size:30px;
  font-weight:900;
}

.about-values h3{
  color:#a51635;
  font-size:25px;
  margin:12px 0 10px;
}

.about-values p{
  color:#555;
  line-height:1.65;
}

.about-wide{
  max-width:1200px;
  margin:auto;
  min-height:430px;
  border-radius:40px;
  padding:60px;
  color:white;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
  display:flex;
  align-items:center;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.about-wide div{
  max-width:700px;
}

.about-wide h2{
  font-size:46px;
  line-height:1.15;
  margin:16px 0;
}

.about-wide p{
  color:#f3dfbd;
  line-height:1.75;
  font-size:18px;
}

.about-wide a{
  display:inline-block;
  margin-top:24px;
  background:#c99a2e;
  color:#111;
  padding:14px 25px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
}

.about-contact{
  max-width:1200px;
  margin:85px auto;
  padding:48px 24px;
  text-align:center;
  color:white;
  border-radius:38px;
  background:linear-gradient(145deg,#111,#7f1028);
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.about-contact h2{
  font-size:38px;
  margin-bottom:12px;
}

.about-contact p{
  color:#f3dfbd;
  margin-bottom:24px;
}

.about-contact div{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.about-contact a{
  background:#c99a2e;
  color:#111;
  padding:14px 25px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
}

.about-contact a:nth-child(2){
  background:white;
}

@media(max-width:900px){
  .about-hero h1{
    font-size:42px;
  }

  .about-pro,
  .about-values{
    grid-template-columns:1fr;
  }

  .about-pro-text h2,
  .about-wide h2,
  .about-contact h2{
    font-size:32px;
  }

  .about-wide{
    margin:0 14px;
    padding:38px 24px;
    border-radius:30px;
  }
}

.about-clean-hero{
  padding:145px 20px 85px;
  text-align:center;
  color:white;
  background:linear-gradient(135deg,#101010,#8d1431);
}

.about-clean-hero span,
.about-clean-text span{
  color:#e4c06a;
  font-weight:900;
  letter-spacing:1.3px;
}

.about-clean-hero h1{
  font-size:58px;
  margin:12px 0;
}

.about-clean-hero p{
  color:#f3dfbd;
  max-width:720px;
  margin:auto;
  font-size:18px;
  line-height:1.7;
}

.about-clean-main{
  max-width:1180px;
  margin:70px auto 40px;
  padding:0 20px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:34px;
  align-items:center;
}

.about-clean-text{
  background:white;
  padding:42px;
  border-radius:30px;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.about-clean-text span{
  color:#a51635;
}

.about-clean-text h2{
  font-size:42px;
  line-height:1.16;
  margin:14px 0 18px;
}

.about-clean-text p{
  color:#555;
  font-size:17px;
  line-height:1.8;
  margin-bottom:14px;
}

.about-clean-box{
  min-height:360px;
  background:linear-gradient(145deg,#111,#7f1028);
  color:white;
  border-radius:30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}

.about-clean-box img{
  width:120px;
  height:120px;
  object-fit:contain;
  border-radius:50%;
  background:white;
  padding:8px;
  border:3px solid #c99a2e;
  margin-bottom:16px;
}

.about-clean-box strong{
  font-size:72px;
  color:#c99a2e;
  line-height:1;
}

.about-clean-box p{
  color:#f3dfbd;
  font-weight:900;
}

.about-clean-values{
  max-width:1180px;
  margin:0 auto 60px;
  padding:0 20px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.about-clean-values div{
  background:white;
  padding:30px;
  border-radius:26px;
  box-shadow:0 14px 35px rgba(0,0,0,.08);
  border:1px solid rgba(201,154,46,.20);
}

.about-clean-values b{
  color:#c99a2e;
  font-size:28px;
}

.about-clean-values h3{
  color:#a51635;
  font-size:24px;
  margin:10px 0;
}

.about-clean-values p{
  color:#555;
  line-height:1.6;
}

.about-clean-cta{
  max-width:1180px;
  margin:0 auto 80px;
  padding:44px 24px;
  text-align:center;
  color:white;
  border-radius:30px;
  background:linear-gradient(145deg,#111,#7f1028);
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}

.about-clean-cta h2{
  font-size:34px;
  margin-bottom:10px;
}

.about-clean-cta p{
  color:#f3dfbd;
  margin-bottom:22px;
}

.about-clean-cta div{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.about-clean-cta a{
  padding:13px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  background:#c99a2e;
  color:#111;
}

.about-clean-cta a:nth-child(2){
  background:white;
}

@media(max-width:900px){
  .about-clean-main,
  .about-clean-values{
    grid-template-columns:1fr;
  }

  .about-clean-hero h1{
    font-size:42px;
  }

  .about-clean-text{
    padding:28px;
  }

  .about-clean-text h2{
    font-size:31px;
  }
}

/* FINAL PROFESSIONAL HOME */
.home-final-hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:145px 24px 90px;
  background:#111;
}

.home-final-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.72) contrast(1.12) saturate(1.08);
}

.home-final-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94),rgba(65,10,24,.78),rgba(0,0,0,.45)),
    radial-gradient(circle at 75% 22%,rgba(201,154,46,.35),transparent 34%);
}

.home-final-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:150px;
  background:linear-gradient(transparent,#f8f3eb);
}

.home-final-content{
  width:100%;
  max-width:1280px;
  margin:auto;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:45px;
  align-items:center;
}

.home-final-text{
  color:white;
}

.home-final-text span{
  display:inline-block;
  color:#f1cc74;
  background:rgba(201,154,46,.14);
  border:1px solid rgba(201,154,46,.36);
  padding:10px 17px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:1.2px;
  margin-bottom:22px;
}

.home-final-text h1{
  font-size:78px;
  line-height:1;
  letter-spacing:-2.5px;
  max-width:860px;
  margin-bottom:24px;
  text-shadow:0 22px 60px rgba(0,0,0,.45);
}

.home-final-text p{
  max-width:720px;
  color:#f3dfbd;
  font-size:21px;
  line-height:1.75;
  margin-bottom:34px;
}

.home-final-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.home-final-buttons a{
  padding:16px 30px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
}

.home-final-buttons a:first-child{
  background:linear-gradient(135deg,#a51635,#681124);
  color:white;
}

.home-final-buttons a:last-child{
  background:rgba(255,255,255,.12);
  color:white;
  border:1px solid rgba(255,255,255,.40);
  backdrop-filter:blur(12px);
}

.home-final-info{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(18px);
  color:white;
  border-radius:36px;
  padding:34px;
  text-align:center;
  box-shadow:0 28px 80px rgba(0,0,0,.32);
}

.home-final-info img{
  width:135px;
  height:135px;
  object-fit:contain;
  background:white;
  border-radius:50%;
  padding:9px;
  border:3px solid #c99a2e;
  margin-bottom:16px;
}

.home-final-info h3{
  font-size:25px;
  margin-bottom:10px;
}

.home-final-info p{
  color:#f3dfbd;
  font-weight:800;
}

.home-final-info strong{
  display:block;
  color:#c99a2e;
  font-size:72px;
  line-height:1;
  margin-top:18px;
}

.home-final-info small{
  color:#f3dfbd;
  font-weight:900;
}

.home-final-cards{
  max-width:1180px;
  margin:-60px auto 0;
  padding:0 20px 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  position:relative;
  z-index:4;
}

.home-final-cards div{
  background:white;
  padding:32px;
  border-radius:28px;
  box-shadow:0 22px 50px rgba(0,0,0,.13);
  border:1px solid rgba(201,154,46,.22);
}

.home-final-cards b{
  color:#c99a2e;
  font-size:30px;
}

.home-final-cards h3{
  color:#a51635;
  font-size:24px;
  margin:12px 0 10px;
}

.home-final-cards p{
  color:#555;
  line-height:1.65;
}

.home-final-story{
  max-width:1180px;
  margin:auto;
  padding:70px 20px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:30px;
  align-items:center;
}

.home-final-story-text{
  background:white;
  padding:42px;
  border-radius:32px;
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}

.home-final-story-text span,
.home-final-menu span,
.home-final-title span,
.home-final-contact span{
  color:#a51635;
  font-weight:900;
  letter-spacing:1.2px;
}

.home-final-story-text h2{
  font-size:44px;
  line-height:1.14;
  margin:14px 0 18px;
}

.home-final-story-text p{
  color:#555;
  line-height:1.8;
  font-size:17px;
  margin-bottom:14px;
}

.home-final-story-text a{
  color:#a51635;
  font-weight:900;
  text-decoration:none;
}

.home-final-story-box{
  min-height:360px;
  border-radius:32px;
  background:linear-gradient(145deg,#111,#7f1028);
  color:white;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
}

.home-final-story-box strong{
  color:#c99a2e;
  font-size:82px;
  line-height:1;
}

.home-final-story-box span{
  color:#f3dfbd;
  font-weight:900;
}

.home-final-menu{
  max-width:1180px;
  margin:auto;
  min-height:420px;
  padding:55px;
  border-radius:36px;
  display:flex;
  align-items:center;
  color:white;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(126,16,42,.78)),
    url("assets/hero.jpg") center/cover no-repeat;
  box-shadow:0 24px 65px rgba(0,0,0,.18);
}

.home-final-menu div{
  max-width:720px;
}

.home-final-menu span{
  color:#e4c06a;
}

.home-final-menu h2{
  font-size:44px;
  line-height:1.15;
  margin:14px 0;
}

.home-final-menu p{
  color:#f3dfbd;
  line-height:1.75;
  font-size:18px;
}

.home-final-menu a{
  display:inline-block;
  margin-top:24px;
  background:#c99a2e;
  color:#111;
  padding:14px 25px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
}

.home-final-gallery{
  max-width:1180px;
  margin:auto;
  padding:85px 20px;
}

.home-final-title{
  text-align:center;
  margin-bottom:34px;
}

.home-final-title h2{
  font-size:40px;
  margin-top:8px;
}

.home-final-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.home-final-gallery-card{
  height:320px;
  border-radius:28px;
  overflow:hidden;
  position:relative;
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}

.home-final-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}

.home-final-gallery-card:hover img{
  transform:scale(1.08);
}

.home-final-gallery-card strong{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  color:white;
  padding:45px 18px 18px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
}

.home-final-contact{
  max-width:1180px;
  margin:0 auto 80px;
  padding:48px 24px;
  text-align:center;
  color:white;
  border-radius:34px;
  background:linear-gradient(145deg,#111,#7f1028);
  box-shadow:0 20px 55px rgba(0,0,0,.16);
}

.home-final-contact span{
  color:#e4c06a;
}

.home-final-contact h2{
  font-size:38px;
  margin:12px 0;
}

.home-final-contact p{
  color:#f3dfbd;
  margin-bottom:24px;
}

.home-final-contact div{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

.home-final-contact a{
  padding:14px 25px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  background:#c99a2e;
  color:#111;
}

.home-final-contact a:nth-child(2){
  background:#25D366;
  color:white;
}

.home-final-contact a:nth-child(3){
  background:white;
  color:#111;
}

@media(max-width:900px){
  .home-final-content,
  .home-final-story,
  .home-final-cards,
  .home-final-gallery-grid{
    grid-template-columns:1fr;
  }

  .home-final-hero{
    padding:130px 18px 80px;
  }

  .home-final-text h1{
    font-size:48px;
    letter-spacing:-1.2px;
  }

  .home-final-text p{
    font-size:18px;
  }

  .home-final-info{
    display:none;
  }

  .home-final-cards{
    margin-top:-45px;
  }

  .home-final-story-text{
    padding:28px;
  }

  .home-final-story-text h2,
  .home-final-menu h2,
  .home-final-contact h2{
    font-size:32px;
  }

  .home-final-menu{
    margin:0 14px;
    padding:36px 24px;
    border-radius:28px;
  }
}

.home-google-reviews{
  max-width:1180px;
  margin:0 auto 80px;
  padding:0 20px;
}

#googleReviewsArea{
  background:white;
  border-radius:32px;
  padding:28px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
}

.menu-item,
.hm-product-card{
  cursor:default;
}

.home-instagram-feed{
  max-width:1180px;
  margin:0 auto 80px;
  padding:0 20px;
}

.home-instagram-feed .home-final-title{
  margin-bottom:24px;
}

.home-instagram-feed .home-final-title p{
  color:#777;
  margin-top:8px;
  font-weight:900;
}

.home-instagram-feed > div:last-child{
  background:white;
  border-radius:32px;
  padding:24px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  border:1px solid rgba(201,154,46,.22);
}

/* Instagram widget genişlik düzeltme */
.home-instagram-feed{
  max-width:1280px !important;
}

.home-instagram-feed > div:last-child{
  padding:34px !important;
}

.elfsight-app-fdfac035-e997-48ae-a58b-ea0d959a46c4{
  width:100% !important;
  max-width:1120px !important;
  margin:0 auto !important;
}

@media(max-width:768px){
  .home-instagram-feed > div:last-child{
    padding:18px !important;
  }
}

.product-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.78);
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.product-modal.active{
  display:flex;
}

.product-modal-box{
  width:min(920px,100%);
  background:white;
  border-radius:34px;
  overflow:hidden;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  animation:modalIn .22s ease;
}

@keyframes modalIn{
  from{transform:scale(.94);opacity:0}
  to{transform:scale(1);opacity:1}
}

.product-modal-close{
  position:absolute;
  right:16px;
  top:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:none;
  background:#111;
  color:white;
  font-size:28px;
  cursor:pointer;
  z-index:3;
}

.product-modal-img{
  min-height:420px;
  background:linear-gradient(135deg,#f0dfbd,#cfae6a);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:70px;
  color:#a51635;
}

.product-modal-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-modal-content{
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.product-modal-content small{
  color:#c99a2e;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

.product-modal-content h2{
  color:#a51635;
  font-size:38px;
  margin:12px 0 14px;
}

.product-modal-content p{
  color:#555;
  line-height:1.8;
  font-size:17px;
}

.product-modal-price{
  margin-top:24px;
  background:#111;
  color:white;
  padding:13px 22px;
  border-radius:999px;
  font-weight:900;
  font-size:24px;
  width:max-content;
  border:2px solid #c99a2e;
}

.menu-item,
.hm-product-card{
  cursor:pointer !important;
}

@media(max-width:760px){
  .product-modal-box{
    grid-template-columns:1fr;
    max-height:90vh;
    overflow:auto;
  }

  .product-modal-img{
    min-height:260px;
  }

  .product-modal-content{
    padding:28px;
  }

  .product-modal-content h2{
    font-size:28px;
  }
}
