/* ====== BASE / RESET ====== */
*,
*::before,
*::after { box-sizing: border-box; }

img { max-width: 100%; height: auto; display: block; }

/* ====== TYPO & GLOBAL ====== */
body {
  color: #1f2a1f;
  background: #f4f1ea;
  font-family: 'Open Sans', sans-serif;
  margin: 0;
}

a { text-decoration: none; color: inherit; }

h2 { 
  color: #314226;
  text-align: center;
  font-family: 'Merriweather', serif;
  font-size: 50px; 
  margin: 0 0 16px;
}

.project-title {
  color: #314226;
  text-align: center;
  font-family: 'Merriweather', serif;
  font-size: 50px;
  line-height: 1.12;
  margin: 0 0 16px;
}

strong { font-weight: 600; }

/* ====== LAYOUT HELPERS ====== */
.container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: nowrap;
}

/* ====== HEADER – CONTACT BAR ====== */
.menu { list-style: none; padding-left: 0; margin: 0; display: flex; gap: 20px; }
.material-icons { vertical-align: middle; }

.contact-bar {
  color: black;
  background-color: #314226;
  min-height: 72px;
  font-size: 18px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.personal { font-weight: bold; }
.personal li { margin-right: 40px; }
.personal .material-icons { font-size: 28px; margin-right: 6px; }

ul.menu.social { display: flex; gap: 12px; margin-right: 4px; }

ul.menu.social li {
  display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border: 3px solid black; border-radius: 50%;
  transition: all 0.3s ease; margin-top: 10px;
}
ul.menu.social li:hover { border-color: white; background-color: darkgray; }

.feather-instagram, .feather-facebook { width: 28px; height: 28px; stroke-width: 2; }
.feather-instagram { stroke: #C13584; } 
.feather-facebook  { stroke: #3b5998; }

/* ====== HEADER – MENU BAR ====== */
.menu-bar {
  background: #e7e0d3;
  display: block;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.74);
}

.menu-bar .container { min-height: 96px; }

.logo img { max-height: 120px; width: auto; display: block; }

/* Nav */
#site-nav { display: block; }
.navigation { font-size: 18px; font-weight: bold; display: flex; gap: 10px; flex-wrap: wrap; }

.navigation a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 200px; height: 56px; color: #314226; text-decoration: none;
  border: 2px solid #161515; border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  background-color: #f7f3ea;
  transition: transform 0.3s ease, background-color 0.3s ease;
}   
.navigation a:hover { transform: scale(1.12); }

.nav-toggle {
  display: none; align-items: center; gap: 8px;
  height: 44px; padding: 0 12px;
  border: 2px solid #161515; border-radius: 8px;
  background: lightgray; color: #314226; font-weight: 700;
  cursor: pointer;
}

/* ====== HERO GALLERY ====== */
.gallery {
  position: relative;  
  display: flex; flex-wrap: wrap; justify-content: center; 
  gap: 20px; margin: 40px 0;
} 

.picture1 { width: 260px; flex-shrink: 0; }
.picture2 { width: 600px; flex-shrink: 0; }

.picture1, .picture2 {
  border: 3px solid #333;                   
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); 
  border-radius: 8px;                       
  transition: transform 0.3s ease;          
}

/* ====== CONTENT ====== */
.content-wrapper {
  padding: 40px 24px; margin: 50px auto; max-width: 1200px;
  border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,0.2);
  backdrop-filter: blur(4px);
  background: #fffaf0;
}

.aboutus { 
  color: #314226; text-align: center; font-family: 'Merriweather', serif;
  font-size: 64px; margin: 0 0 10px;
}

.description {
  color: black; text-align: center; font-size: 22px;
  max-width: 1000px; margin: 0 auto; padding: 24px 12px;
}

/* ====== PRE-FOOTER ====== */
.pre-footer {
  color: black;
  background: linear-gradient(135deg, #efe7d8, #d8cbb8);
  text-align: center;
  padding: 36px 0 50px 0;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
  border-top: 3px solid #333;
  border-radius: 20px 20px 0 0;
  margin-top: 50px;
}

.pre-footer .container { max-width: 700px; justify-content: center; }
.pre-footer p { font-size: 18px; text-transform: uppercase; margin-bottom: 10px; }
.pre-footer strong { font-size: 28px; font-weight: 700; text-transform: none; display: block; color: #222; }

.icon-box {
  display: inline-flex; align-items: center; justify-content: center;
  width: 50px; height: 50px; border: 2px solid black; border-radius: 8px;
  background-color: #f7f3ea; margin-left: 10px;
  transition: transform 0.3s ease, background-color 0.3s ease;
}
.icon-box i { font-size: 28px; color: black; }
.icon-box:hover { background-color: darkgray; transform: scale(1.1); }

/* ====== PROJECTS (zůstává dle původního vzhledu; jen drobné korekce) ====== */
.kitchen { 
  color: #314226; text-align: center; font-family: 'Merriweather', serif;
  font-size: 64px; margin: 0 0 10px;
}

.text-info {
  color: black; text-align: center; font-size: 22px;
  max-width: 1200px; margin: 0 auto; padding: 0 16px;
}

.project-gallery {
  position: relative; display: flex; flex-wrap: wrap; justify-content: center; 
  gap: 12px; margin: 40px 0;
} 

.imgkitchen { width: 300px; height: 300px; display: block; flex-shrink: 0; object-fit: cover; }
.imgcabinet { width: 400px; height: 500px; display: block; flex-shrink: 0; object-fit: cover; }
.imgdoor    { width: 300px; height: 500px; display: block; flex-shrink: 0; object-fit: cover; }

.project-gallery a {
  display: block;
  width: 260px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 8px 18px rgba(35,53,31,.16);
  background: #efe6d4;
}

.project-gallery .imgkitchen,
.project-gallery .imgcabinet,
.project-gallery .imgdoor {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ====== CONTACT PAGE LAYOUT ====== */
.info-map-wrapper {
  display: flex; justify-content: space-between; gap: 40px;
  max-width: 1200px; margin: 50px auto; padding: 0 16px; align-items: flex-start;
}

.contact-wrapper { flex: 1 1 50%; color: black; padding: 0; }
.contact-wrapper h1,
.contact-wrapper h2 {
  font-size: 36px; margin-bottom: 16px; color: #314226; text-align: left; margin-left: 0;
}

.h2-h2 {
  font-size: 36px; font-family: 'Merriweather', serif; margin-bottom: 16px;
  color: #314226; text-align: left; margin-left: 0;
}

.information, .opening { list-style: none; padding: 0; margin: 0 0 16px 0; }
.information li, .opening li { display: flex; align-items: baseline; gap: 16px; margin-bottom: 10px; font-size: 18px; }
.information li strong, .opening li strong { width: 160px; text-align: right; font-weight: 600; flex-shrink: 0; }
.information li a:hover { text-decoration: underline; }

.map-container {
  flex: 1 1 45%; border-radius: 12px; overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  min-width: 0; /* klíčové pro zabránění přetečení */
  padding: 10px;
  background: linear-gradient(135deg, #f0f0f0, #d0d0d0);
  border: 2px solid #aaa;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
  max-width: 100%;
}
.map-container iframe { width: 100%; height: 520px; border: 0; display: block; }

/* ====== CONTACT FORM ====== */
.contact-form-section {
  max-width: 600px; margin: 40px auto; padding: 24px;
  background-color: darkgray; border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.contact-form-section h2 { text-align: center; margin-bottom: 16px; color: #314226; }
.contact-form-section form { display: flex; flex-direction: column; }
.contact-form-section label { margin-top: 10px; font-weight: bold; }
.contact-form-section input, .contact-form-section textarea {
  padding: 10px; margin-top: 5px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px;
}
.contact-form-section button {
  margin-top: 16px; padding: 12px; background-color: #314226; color: white;
  border: none; border-radius: 6px; cursor: pointer; font-size: 16px;
}
.contact-form-section button:hover { background-color: #006400; }
.form-feedback {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.45;
}
.form-feedback-success {
  background: #e8f5e9;
  border-left: 4px solid #2e7d32;
  color: #1b4332;
}
.form-feedback-error {
  background: #fff1f0;
  border-left: 4px solid #b3261e;
  color: #5f1b16;
}
.contact-form-section button:disabled,
#quickForm button:disabled {
  cursor: wait;
  opacity: .72;
}

/* ====== CALCULATOR ====== */
.calculator {
  max-width: 420px; margin: 24px auto; background: darkgrey; padding: 24px;
  border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}
.calculator h2 { text-align: center; color: #314226; margin-bottom: 16px; }
label { display: block; margin-top: 12px; font-weight: 600; }
input, select { width: 100%; padding: 10px; margin-top: 5px; border: 1px solid #ccc; border-radius: 6px; }
button { margin-top: 16px; width: 100%; padding: 12px; background-color: #314226; color: lightgray; border: none; border-radius: 6px; font-size: 16px; cursor: pointer; }
button:hover { background-color: green; }
.output { margin-top: 16px; }
.output input { background-color: #f0f0f0; font-weight: bold; }

/* =========================================================
   ===============   RESPONSIVE BREAKPOINTS   ==============
   ========================================================= */

/* <= 1200px */
@media (max-width: 1200px) {
  .logo img { max-height: 100px; }
  .navigation a { width: 180px; height: 52px; }
  .picture2 { width: 520px; }
  .aboutus, .kitchen { font-size: 56px; }
}

/* <= 992px (tablet landscape) */
@media (max-width: 992px) {
  .menu-bar .container { flex-wrap: wrap; }
  .navigation a { width: 160px; height: 50px; }
  .picture1 { width: 220px; }
  .picture2 { width: 440px; }
  .description, .text-info { font-size: 20px; }
  .map-container iframe { height: 460px; }
}

/* <= 768px (tablet portrait / mobily) */
@media (max-width: 768px) {
  /* Contact bar – stack */
  .contact-bar .container { flex-wrap: wrap; justify-content: center; gap: 8px; padding: 8px 12px; }
  .personal { font-size: 16px; }
  .personal .material-icons { font-size: 24px; }
  ul.menu.social li { width: 40px; height: 40px; margin-top: 6px; }
  .feather-instagram, .feather-facebook { width: 22px; height: 22px; }

  /* Logo + nav toggle */
  .menu-bar .container { align-items: center; }
  .logo img { max-height: 84px; }
  .nav-toggle { display: inline-flex; }
  #site-nav { display: none; width: 100%; }
  #site-nav.open { display: block; }
  .navigation { flex-direction: column; gap: 8px; padding: 12px 0; }
  .navigation a { width: 100%; height: 48px; }

  /* Gallery */
  .gallery { gap: 12px; margin: 28px 0; }
  .picture1 { width: calc(50% - 12px); }
  .picture2 { width: 100%; order: -1; } /* velký obrázek přes celou šířku nahoře */

  /* Content */
  .content-wrapper { margin: 32px auto; padding: 24px 16px; }
  .aboutus, .kitchen { font-size: 40px; }
  .description, .text-info { font-size: 18px; }

  /* Contact layout -> stacked */
  .info-map-wrapper { flex-direction: column; gap: 24px; margin: 32px auto; }
  .map-container { width: 100%; }
  .map-container iframe { height: 380px; }

  /* Pre-footer */
  .pre-footer { padding: 28px 0 40px; }
  .pre-footer .container { padding: 0 16px; }
}

/* <= 576px (menší mobily) */
@media (max-width: 576px) {
  .personal { width: 100%; justify-content: center; }
  .personal li { margin-right: 0; }
  .aboutus, .kitchen { font-size: 32px; }
  .description, .text-info { font-size: 17px; }
  .picture1 { width: 100%; }
  .calculator, .contact-form-section { margin: 20px 12px; padding: 18px; }
  .map-container iframe { height: 320px; }
}


/* ====== MAZEL POLISH 2026-05-12 ====== */
.hero {
  max-width: 1180px;
  margin: 44px auto 24px;
  padding: 44px 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: 28px;
  align-items: center;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(49,66,38,.95), rgba(107,83,55,.9)), url('img/obr2.png') center/cover;
  color: #fffaf0;
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.hero .eyebrow { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: #e8d2a6; margin: 0 0 10px; }
.hero h1,
.hero h2 { color: #fffaf0; text-align: left; font-size: clamp(34px, 5vw, 58px); line-height: 1.05; margin: 0 0 18px; }
.hero p { font-size: 20px; line-height: 1.65; max-width: 760px; margin: 0; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 999px; font-weight: 800; }
.btn.primary { background: #e8d2a6; color: #26331e; }
.btn.secondary { border: 2px solid rgba(255,255,255,.75); color: #fffaf0; }
.hero-card { background: rgba(255,250,240,.94); color: #26331e; border-radius: 18px; padding: 24px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.hero-card strong { display: block; font-size: 22px; margin-bottom: 12px; }
.hero-card ul { margin: 0; padding-left: 20px; line-height: 1.8; }
.stats-panel { max-width: 1080px; margin: 26px auto 44px; padding: 26px 34px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; align-items: stretch; background: #fffaf0; border: 1px solid #d2c2a9; border-radius: 18px; box-shadow: 0 12px 30px rgba(35,53,31,.14); }
.stat-item { min-height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; color: #314226; }
.stat-item + .stat-item { border-left: 1px solid rgba(111,90,58,.2); }
.stat-item strong { font-family: 'Merriweather', serif; font-size: 44px; line-height: 1; color: #6f5a3a; }
.stat-item span { font-size: 15px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; line-height: 1.25; }
.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px auto 24px; max-width: 980px; }
.trust-strip span { background: #efe7d8; color: #314226; border: 1px solid #d2c2a9; border-radius: 999px; padding: 10px 14px; text-align: center; font-weight: 700; }
.site-footer { background: #24301d; color: #fffaf0; padding: 28px 0; margin-top: 0; }
.site-footer .container { align-items: flex-start; }
.footer-grid { display: flex; justify-content: space-between; gap: 18px; }
.navigation a:hover, .btn:hover { transform: translateY(-2px); }
.content-wrapper, .calculator, .contact-form-section { border: 1px solid rgba(49,66,38,.16); }
@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr; margin: 24px 12px; padding: 30px 20px; }
  .hero p { font-size: 18px; }
  .stats-panel { grid-template-columns: 1fr; margin: 18px 12px 30px; padding: 12px 18px; gap: 0; }
  .stat-item { min-height: 82px; }
  .stat-item + .stat-item { border-left: 0; border-top: 1px solid rgba(111,90,58,.2); }
  .trust-strip { grid-template-columns: 1fr 1fr; }
  .footer-grid { flex-direction: column; }
}
@media (max-width: 576px) { .trust-strip { grid-template-columns: 1fr; } }


/* ====== USER REVIEW FIXES 2026-05-12 ====== */
:root{
  --brand-green:#23351f;
  --brand-gold:#6f5a3a;
  --brand-cream:#f4efe4;
  --brand-line:#d6c8b2;
  --brand-white:#fffaf2;
  --text:#23351f;
}
body{color:var(--text);background:var(--brand-cream);}
.contact-bar{background:var(--brand-green);color:var(--brand-white);min-height:42px;font-size:15px;box-shadow:none;}
.contact-bar .container{min-height:42px;}
.personal .material-icons{font-size:20px;color:var(--brand-white);}
ul.menu.social li{width:34px;height:34px;border:1.5px solid rgba(255,250,242,.65);margin-top:0;background:transparent;}
ul.menu.social li:hover{border-color:var(--brand-white);background:rgba(255,255,255,.08);}
.social-link{display:flex;align-items:center;justify-content:center;color:var(--brand-white);}
.feather-instagram,.feather-facebook{width:18px;height:18px;stroke:var(--brand-white)!important;}
.menu-bar{background:var(--brand-cream);box-shadow:0 4px 18px rgba(35,53,31,.14);border-bottom:1px solid var(--brand-line);}
.menu-bar .container{min-height:82px;}
.logo{margin:0;}
.logo img{max-height:78px;width:auto;background:transparent!important;}
.navigation{gap:12px;font-size:16px;}
.navigation a{width:auto;min-width:150px;height:44px;padding:0 18px;color:var(--brand-green);border:1.5px solid var(--brand-green);border-radius:12px;background:var(--brand-white);box-shadow:0 4px 12px rgba(35,53,31,.10);}
.navigation a:hover{transform:translateY(-1px);background:#efe6d4;}
.nav-toggle{border-color:var(--brand-green);background:var(--brand-white);color:var(--brand-green);}
.hero{background:linear-gradient(135deg,rgba(35,53,31,.58),rgba(35,53,31,.36)),url('img/hero-img-6563.jpg') center/cover no-repeat;color:var(--brand-white);box-shadow:0 18px 40px rgba(35,53,31,.18);}
.hero h1,.hero h2,.hero .eyebrow{color:var(--brand-white);}
.hero-card{background:var(--brand-white);color:var(--brand-green);}
.btn.primary{background:var(--brand-gold);color:var(--brand-white);}
.btn.secondary{border-color:rgba(255,250,242,.8);color:var(--brand-white);}
.content-wrapper{background:var(--brand-white);box-shadow:0 10px 28px rgba(35,53,31,.12);border:1px solid var(--brand-line);}
.aboutus,.kitchen,h1,h2,.h2-h2,.contact-wrapper h1,.contact-wrapper h2,.calculator h2{color:var(--brand-green)!important;}
.trust-strip span{background:#efe6d4;color:var(--brand-green);border-color:var(--brand-line);}
.pre-footer{background:var(--brand-green);color:var(--brand-white);border-top:0;border-radius:0;box-shadow:none;padding:24px 0;}
.pre-footer strong{color:var(--brand-white);font-size:22px;}
.pre-footer p{font-size:16px;margin:0;}
.icon-box{background:transparent;border-color:rgba(255,250,242,.7);}
.icon-box i{color:var(--brand-white);}
.site-footer{background:#172414;padding:20px 0;}
.calculator-embed-section{max-width:1120px;margin:42px auto;padding:0 18px;}
.section-heading{max-width:820px;margin:0 auto 22px;text-align:center;color:var(--brand-green);}
.section-heading .eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--brand-gold);}
.section-heading h1{font-family:'Merriweather',serif;font-size:clamp(34px,5vw,58px);margin:8px 0 12px;color:var(--brand-green);}
.section-heading p{font-size:18px;line-height:1.7;color:#26331e;}
.calculator-frame{width:100%;min-height:860px;border:1px solid var(--brand-line);border-radius:22px;background:var(--brand-white);box-shadow:0 10px 30px rgba(35,53,31,.12);}
.gallery{display:none;}
@media (max-width:768px){.menu-bar .container{min-height:72px}.logo img{max-height:62px}.navigation a{min-width:0}.calculator-frame{min-height:1120px}.contact-bar{font-size:14px}.personal{gap:12px;}}


/* ====== REVIEW PATCH 2 — 2026-05-12 ====== */
.logo a{display:flex;align-items:center;gap:12px;color:var(--brand-green);}
.logo img{display:block!important;width:190px!important;max-width:190px!important;height:auto!important;opacity:1!important;visibility:visible!important;}
.brand-fallback{display:none;font-family:Georgia,'Times New Roman',serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green);font-size:24px;}
.logo img:not([src]), .logo img[src=""]{display:none!important;}
.logo img:not([src]) + .brand-fallback, .logo img[src=""] + .brand-fallback{display:inline-block;}
.hero h1,.hero h2{color:var(--brand-white)!important;text-shadow:0 3px 18px rgba(0,0,0,.55);opacity:1!important;}
.hero .eyebrow{color:#efe6d4!important;}
.hero p{color:var(--brand-white)!important;text-shadow:0 2px 12px rgba(0,0,0,.48);}
.contact-form-section,.calculator{background:var(--brand-white)!important;color:var(--brand-green)!important;border:1px solid var(--brand-line)!important;box-shadow:0 12px 30px rgba(35,53,31,.12)!important;}
.contact-form-section h2,.calculator h2{color:var(--brand-green)!important;}
.contact-form-section label,.calculator label{color:var(--brand-green)!important;}
.contact-form-section input,.contact-form-section textarea,.contact-form-section select,.calculator input,.calculator textarea,.calculator select{background:#fffdf8!important;border:1px solid var(--brand-line)!important;color:var(--brand-green)!important;}
.contact-form-section button,.calculator button,button{background:var(--brand-gold)!important;color:var(--brand-white)!important;border:1px solid var(--brand-gold)!important;box-shadow:none!important;}
.contact-form-section button:hover,.calculator button:hover,button:hover{background:var(--brand-green)!important;border-color:var(--brand-green)!important;}
.quick-inquiry button{background:var(--brand-gold)!important;color:var(--brand-white)!important;}
@media (max-width:768px){.logo img{width:150px!important;max-width:150px!important;}.brand-fallback{font-size:20px;}}


/* ====== REVIEW PATCH 3 — exact logo + no footer ====== */
.logo img{width:170px!important;max-width:170px!important;height:auto!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.site-footer{display:none!important;}


/* ====== REVIEW PATCH 4 — transparent uploaded logo ====== */
.logo img{width:210px!important;max-width:210px!important;height:auto!important;background:transparent!important;}
@media (max-width:768px){.logo img{width:165px!important;max-width:165px!important;}}


/* ====== MOBILE QA PATCH — 2026-05-12 ====== */
html,body{max-width:100%;overflow-x:hidden;}
@media (max-width: 768px){
  .contact-bar{min-height:auto;}
  .contact-bar .container{flex-direction:column;align-items:center;padding:8px 14px;gap:8px;}
  .personal{flex-direction:column;align-items:center;gap:6px;width:100%;}
  .personal li{margin-right:0;}
  ul.menu.social{margin-right:0;}
  .menu-bar .container{display:grid;grid-template-columns:1fr auto;gap:10px;width:100%;}
  .logo{min-width:0;}
  .logo img{width:155px!important;max-width:52vw!important;}
  .nav-toggle{justify-self:end;width:auto;}
  #site-nav{grid-column:1 / -1;}
  .navigation{width:100%;}
  .navigation li{width:100%;}
  .navigation a{width:100%;min-width:0;}
  .hero{margin:18px 12px;padding:26px 18px;border-radius:18px;}
  .hero h1,.hero h2{font-size:32px!important;line-height:1.12;}
  .hero p{font-size:16px!important;line-height:1.55;}
  .hero-actions{flex-direction:column;}
  .btn{width:100%;}
  .content-wrapper{margin:22px 12px;padding:22px 16px;}
  .aboutus{font-size:30px!important;line-height:1.15;}
  .description,.text-info{font-size:16px!important;line-height:1.65;text-align:center;}
  .trust-strip{grid-template-columns:1fr;}
  .pre-footer{margin-top:26px;padding:22px 12px;}
  .pre-footer strong{font-size:20px;}
  .pre-footer p{font-size:15px;}
  .info-map-wrapper{padding:0 12px;align-items:center;}
  .contact-wrapper{width:100%;max-width:430px;margin:0 auto;text-align:center;}
  .contact-wrapper h1,.contact-wrapper h2,.h2-h2{font-size:28px!important;text-align:center;margin-left:auto;margin-right:auto;width:100%;}
  .information li,.opening li{display:block;font-size:16px;}
  .information li strong,.opening li strong{display:block;width:auto;text-align:center;margin-bottom:2px;}
  .information,.opening{text-align:center;}
  .contact-wrapper form{max-width:390px;margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
  .contact-wrapper form label{text-align:center!important;}
  .contact-wrapper form input,.contact-wrapper form textarea{display:block;margin-left:auto!important;margin-right:auto!important;text-align:left;}
  .contact-wrapper form button{display:block;margin-left:auto!important;margin-right:auto!important;max-width:220px;}
  .calculator-embed-section{margin:24px auto;padding:0 12px;}
  .section-heading h1{font-size:30px!important;}
  .section-heading p{font-size:16px;line-height:1.55;}
  .calculator-frame{min-height:1180px;border-radius:16px;}
  .project-gallery{padding:0 12px;}
  .project-gallery a{width:min(100%, 360px);}
  .imgkitchen,.imgcabinet,.imgdoor{width:100%;height:100%;max-height:none;}
}
@media (max-width: 390px){
  .logo img{width:135px!important;max-width:48vw!important;}
  .nav-toggle{font-size:14px;padding:0 10px;}
  .hero h1,.hero h2{font-size:28px!important;}
}


/* ====== CINEMATIC EFFECTS ONLY — palette/content unchanged ====== */
.hero-card {
  animation: heroCardDrop 900ms cubic-bezier(.2,.8,.2,1) 180ms both;
  transform-origin: center top;
  transition: transform .35s ease, box-shadow .35s ease;
}
.hero:hover .hero-card,
.hero:focus-within .hero-card {
  transform: translateY(8px);
  box-shadow: 0 18px 36px rgba(35,53,31,.18);
}

.stats-panel {
  position: relative;
  overflow: hidden;
}
.stats-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0 36%, rgba(255,255,255,.48) 48%, transparent 60% 100%);
  transform: translateX(-120%);
}
.stats-panel:hover::after {
  animation: statsSweep 1.1s ease;
}
.stat-item {
  transition: transform .28s ease, background-color .28s ease;
}
.stat-item:hover {
  transform: translateY(-6px);
  background: rgba(232,210,166,.14);
}
.stat-item strong {
  transition: transform .28s ease, text-shadow .28s ease;
}
.stat-item:hover strong,
.stat-item.is-counting strong {
  transform: scale(1.08);
  text-shadow: 0 10px 24px rgba(111,90,58,.18);
}

.content-wrapper,
.project-gallery a,
.btn,
.icon-box {
  transition: transform .3s ease, box-shadow .3s ease, filter .3s ease;
}
.content-wrapper:hover {
  transform: translateY(-3px);
}
.project-gallery a:hover {
  transform: translateY(-5px) scale(1.015);
  box-shadow: 0 16px 34px rgba(35,53,31,.22);
}
.project-gallery a:hover img {
  filter: contrast(1.04) saturate(1.04);
}

@keyframes heroCardDrop {
  from { transform: translateY(-22px); filter: blur(2px); }
  to { transform: translateY(0); filter: blur(0); }
}
@keyframes statsSweep {
  from { transform: translateX(-120%); }
  to { transform: translateX(120%); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-card,
  .stats-panel::after {
    animation: none !important;
  }
  .hero-card,
  .hero:hover .hero-card,
  .hero:focus-within .hero-card,
  .stat-item,
  .stat-item:hover,
  .content-wrapper,
  .content-wrapper:hover,
  .project-gallery a,
  .project-gallery a:hover {
    transform: none !important;
    transition: none !important;
  }
}
