/* ================================================================
   LAAG VOOR LAAG ATELIER — Stylesheet
   Elegant · Warm · Feminien
   ================================================================ */

/* ---- 1. Variables -------------------------------------------- */
:root {
  --clr-primary:   #4a3728;   /* dark brown */
  --clr-gold:      #c9a96e;   /* gold accent */
  --clr-pink:      #e8c4c4;   /* blush pink */
  --clr-cream:     #fdf8f5;   /* warm cream background */
  --clr-white:     #ffffff;
  --clr-text:      #3d2f2f;   /* warm dark */
  --clr-muted:     #8a7070;
  --clr-border:    #f0e0da;
  --clr-light:     #fef5f0;

  --font-heading:  'Cormorant Garant', 'Georgia', serif;
  --font-body:     'Lato', 'Arial', sans-serif;

  --radius:        12px;
  --radius-lg:     20px;
  --shadow:        0 2px 12px rgba(74,55,40,.08);
  --shadow-md:     0 6px 24px rgba(74,55,40,.12);
  --shadow-lg:     0 12px 48px rgba(74,55,40,.16);
  --transition:    .25s ease;
  --nav-h:         110px;
  --max-w:         1200px;
  --sec-pad:       96px;
}

/* ---- 2. Reset ------------------------------------------------ */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); color:var(--clr-text); background:var(--clr-cream); line-height:1.7; -webkit-font-smoothing:antialiased; }
img  { max-width:100%; height:auto; display:block; }
a    { color:var(--clr-primary); text-decoration:none; }
a:hover { color:var(--clr-gold); }
ul   { list-style:none; }

/* ---- 3. Typography ------------------------------------------- */
h1,h2,h3,h4 { font-family:var(--font-heading); font-weight:600; line-height:1.2; color:var(--clr-primary); }
h1 { font-size:clamp(2.4rem,5vw,4rem); }
h2 { font-size:clamp(1.8rem,3.5vw,3rem); }
h3 { font-size:clamp(1.3rem,2.5vw,1.9rem); }
h4 { font-size:1.2rem; }
em { font-style:italic; color:var(--clr-gold); }
p  { margin-bottom:.875rem; }
p:last-child { margin-bottom:0; }
.lead { font-size:1.1rem; color:var(--clr-muted); }
.section-label {
  display:block; font-size:.78rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--clr-gold); margin-bottom:.75rem;
}
.section-label::before { content:'✦ '; }
.section-label::after  { content:' ✦'; }

/* ---- 4. Layout ----------------------------------------------- */
.container { width:100%; max-width:var(--max-w); margin:0 auto; padding:0 1.5rem; }
section    { padding:var(--sec-pad) 0; }
.section-header { text-align:center; max-width:640px; margin:0 auto 4rem; }
.section-header p { margin-top:.75rem; color:var(--clr-muted); font-size:1.05rem; }

/* ---- 5. Navigation ------------------------------------------- */
.nav {
  position:sticky; top:0; z-index:1000; height:var(--nav-h);
  background:rgba(253,248,245,.97); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--clr-border);
  transition:box-shadow var(--transition);
  overflow:visible;
}
.nav.scrolled { box-shadow:var(--shadow-md); }
.nav__inner   { display:flex; align-items:center; justify-content:space-between; height:100%; }
.nav__logo    { display:flex; align-items:center; gap:.75rem; text-decoration:none; }
.nav__logo img { height:95px; width:auto; }
.nav__logo-text { font-family:var(--font-heading); font-size:1.3rem; font-weight:600; color:var(--clr-primary); line-height:1.1; }
.nav__logo-text small { display:block; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--clr-gold); font-family:var(--font-body); }
.nav__menu { display:flex; align-items:center; gap:1.5rem; }
.nav__link { font-size:.9rem; font-weight:600; color:var(--clr-text); letter-spacing:.03em; padding:.25rem 0; position:relative; }
.nav__link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1.5px; background:var(--clr-gold); transition:width var(--transition); }
.nav__link:hover, .nav__link.active { color:var(--clr-primary); }
.nav__link:hover::after, .nav__link.active::after { width:100%; }
.btn-nav { background:var(--clr-gold); color:var(--clr-white) !important; padding:.5rem 1.25rem; border-radius:24px; font-size:.85rem; font-weight:700; letter-spacing:.03em; transition:background var(--transition), transform var(--transition); }
.btn-nav:hover { background:var(--clr-primary); transform:translateY(-1px); }
.lang-switch { display:flex; gap:.2rem; background:var(--clr-border); border-radius:16px; padding:.2rem .4rem; }
.lang-switch a { font-size:.78rem; font-weight:700; color:var(--clr-muted); padding:.15rem .4rem; border-radius:10px; transition:all var(--transition); }
.lang-switch a.active, .lang-switch a:hover { background:var(--clr-primary); color:var(--clr-white); }
.nav__hamburger { display:none; flex-direction:column; gap:5px; width:32px; height:32px; background:none; border:none; cursor:pointer; padding:0; }
.nav__hamburger span { display:block; width:100%; height:2px; background:var(--clr-primary); border-radius:2px; transition:transform var(--transition), opacity var(--transition); }
.nav__hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav__hamburger.open span:nth-child(2) { opacity:0; }
.nav__hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ---- 6. Buttons ---------------------------------------------- */
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.875rem 2.25rem; border-radius:40px; font-family:var(--font-body); font-size:.95rem; font-weight:700; cursor:pointer; border:2px solid transparent; transition:all var(--transition); text-decoration:none; letter-spacing:.03em; }
.btn:hover { text-decoration:none; }
.btn-primary { background:var(--clr-primary); color:var(--clr-white); }
.btn-primary:hover { background:#3a2a1e; color:var(--clr-white); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-gold { background:var(--clr-gold); color:var(--clr-white); }
.btn-gold:hover { background:#b8935a; color:var(--clr-white); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.btn-outline { background:transparent; color:var(--clr-primary); border-color:var(--clr-primary); }
.btn-outline:hover { background:var(--clr-primary); color:var(--clr-white); }
.btn-outline-white { background:transparent; color:var(--clr-white); border-color:rgba(255,255,255,.7); }
.btn-outline-white:hover { background:rgba(255,255,255,.15); border-color:var(--clr-white); color:var(--clr-white); }

/* ---- 7. Hero ------------------------------------------------- */
.hero { position:relative; min-height:88vh; display:flex; align-items:center; overflow:hidden; background:var(--clr-primary); color:var(--clr-white); }
.hero__bg { position:absolute; inset:0; }
.hero__bg img { width:100%; height:100%; object-fit:cover; opacity:.35; }
.hero__bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(74,55,40,.75) 0%, rgba(74,55,40,.45) 100%); }
.hero__content { position:relative; z-index:2; max-width:700px; }
.hero__sub { display:inline-block; font-size:.82rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--clr-gold); margin-bottom:1.25rem; }
.hero h1 { color:var(--clr-white); margin-bottom:1.25rem; font-weight:400; }
.hero h1 em { color:#f5d5a0; }
.hero p { font-size:1.1rem; color:rgba(255,255,255,.85); max-width:540px; margin-bottom:2.5rem; }
.hero__actions { display:flex; gap:1rem; flex-wrap:wrap; }
.hero__scroll { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.5); font-size:.78rem; letter-spacing:.1em; text-align:center; }
.hero__scroll::before { content:''; display:block; width:1px; height:48px; background:rgba(255,255,255,.3); margin:0 auto .75rem; }

/* ---- 8. About / intro ---------------------------------------- */
.about-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:center; }
.about-img { position:relative; }
.about-img img { border-radius:var(--radius-lg); width:100%; }
.about-img-placeholder { border-radius:var(--radius-lg); aspect-ratio:3/4; background:linear-gradient(145deg, var(--clr-pink), #f5e8e8); display:flex; align-items:center; justify-content:center; font-size:5rem; }
.about-badge { position:absolute; bottom:-1.5rem; right:-1.5rem; background:var(--clr-white); border-radius:var(--radius); padding:1rem 1.25rem; box-shadow:var(--shadow-md); text-align:center; }
.about-badge strong { display:block; font-family:var(--font-heading); font-size:2rem; color:var(--clr-gold); }
.about-badge span { font-size:.8rem; color:var(--clr-muted); }

/* ---- 9. Product cards ---------------------------------------- */
.products-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.75rem; }
.product-card { background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-lg); padding:2rem; transition:transform var(--transition), box-shadow var(--transition); position:relative; overflow:hidden; }
.product-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--clr-gold), var(--clr-pink)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.product-card:hover::before { transform:scaleX(1); }
.product-card__icon { font-size:2.5rem; margin-bottom:1rem; }
.product-card__price { display:inline-block; background:var(--clr-cream); color:var(--clr-gold); font-weight:700; font-size:.9rem; padding:.3rem .85rem; border-radius:20px; margin-bottom:.75rem; border:1px solid var(--clr-border); }
.product-card h3 { font-size:1.35rem; margin-bottom:.5rem; }
.product-card p { color:var(--clr-muted); font-size:.9rem; line-height:1.65; }

/* ---- 10. Gallery --------------------------------------------- */
.gallery-filter { display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; margin-bottom:2.5rem; }
.gallery-filter button { padding:.45rem 1.25rem; border-radius:20px; border:1.5px solid var(--clr-border); background:var(--clr-white); color:var(--clr-muted); font-family:var(--font-body); font-size:.85rem; font-weight:600; cursor:pointer; transition:all var(--transition); }
.gallery-filter button.active, .gallery-filter button:hover { background:var(--clr-primary); color:var(--clr-white); border-color:var(--clr-primary); }
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1.25rem; }
.gallery-item { border-radius:var(--radius); overflow:hidden; position:relative; aspect-ratio:1; cursor:pointer; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery-item:hover img { transform:scale(1.06); }
.gallery-item__overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(74,55,40,.8), transparent); opacity:0; transition:opacity var(--transition); display:flex; align-items:flex-end; padding:1.25rem; }
.gallery-item:hover .gallery-item__overlay { opacity:1; }
.gallery-item__overlay span { color:var(--clr-white); font-size:.9rem; font-weight:600; }
.gallery-placeholder { border-radius:var(--radius); aspect-ratio:1; background:linear-gradient(145deg, var(--clr-pink), #f5d5d5); display:flex; align-items:center; justify-content:center; font-size:3rem; }

/* ---- 11. Price cards ----------------------------------------- */
.prices-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1.5rem; }
.price-card { background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-lg); padding:2rem; text-align:center; transition:transform var(--transition), box-shadow var(--transition); }
.price-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.price-card.featured { background:var(--clr-primary); color:var(--clr-white); border-color:var(--clr-primary); }
.price-card__icon { font-size:2.25rem; margin-bottom:.875rem; }
.price-card h3 { font-size:1.25rem; margin-bottom:.5rem; }
.price-card.featured h3 { color:var(--clr-white); }
.price-card__price { font-family:var(--font-heading); font-size:2.5rem; font-weight:600; color:var(--clr-gold); line-height:1; margin:1rem 0; }
.price-card.featured .price-card__price { color:#f5d5a0; }
.price-card p { font-size:.875rem; color:var(--clr-muted); }
.price-card.featured p { color:rgba(255,255,255,.75); }
.price-card__includes { margin-top:1.25rem; text-align:left; }
.price-card__includes li { font-size:.82rem; padding:.3rem 0 .3rem 1.25rem; position:relative; color:var(--clr-muted); border-bottom:1px solid var(--clr-border); }
.price-card.featured .price-card__includes li { color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.15); }
.price-card__includes li::before { content:'✓'; position:absolute; left:0; color:var(--clr-gold); font-weight:700; }
.price-note { text-align:center; margin-top:2rem; font-size:.875rem; color:var(--clr-muted); font-style:italic; }

/* ---- 12. Reviews --------------------------------------------- */
.reviews-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.75rem; }
.review-card { background:var(--clr-white); border:1px solid var(--clr-border); border-radius:var(--radius-lg); padding:2rem; position:relative; }
.review-card::before { content:'\201C'; position:absolute; top:.75rem; left:1.25rem; font-family:var(--font-heading); font-size:4rem; color:var(--clr-pink); line-height:1; }
.review-card__stars { margin-bottom:.75rem; }
.star { color:var(--clr-border); font-size:1.1rem; }
.star.filled { color:var(--clr-gold); }
.review-card__text { font-style:italic; color:var(--clr-text); margin-bottom:1.25rem; padding-top:.5rem; }
.review-card__author { display:flex; align-items:center; gap:.75rem; }
.review-card__avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg, var(--clr-pink), var(--clr-gold)); display:flex; align-items:center; justify-content:center; font-weight:700; color:var(--clr-white); font-size:.9rem; flex-shrink:0; }
.review-card__name { font-weight:700; font-size:.9rem; }
.review-card__occasion { font-size:.8rem; color:var(--clr-muted); }

/* ---- 13. Forms ----------------------------------------------- */
.form-wrap { background:var(--clr-white); border-radius:var(--radius-lg); padding:3rem; box-shadow:var(--shadow); }
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; font-size:.875rem; font-weight:700; color:var(--clr-primary); margin-bottom:.4rem; letter-spacing:.02em; }
.form-group label .req { color:#c9696e; margin-left:.15rem; }
.form-control { width:100%; padding:.75rem 1.1rem; border:1.5px solid var(--clr-border); border-radius:var(--radius); font-family:var(--font-body); font-size:.9375rem; color:var(--clr-text); background:var(--clr-cream); transition:border-color var(--transition), box-shadow var(--transition); appearance:none; }
.form-control:focus { outline:none; border-color:var(--clr-gold); box-shadow:0 0 0 3px rgba(201,169,110,.15); background:var(--clr-white); }
.form-control::placeholder { color:#c0a8a0; }
textarea.form-control { resize:vertical; min-height:130px; }
select.form-control { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a7070' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-msg { padding:1rem 1.25rem; border-radius:var(--radius); margin-bottom:1.5rem; font-size:.9375rem; font-weight:600; }
.form-msg--ok  { background:rgba(201,169,110,.12); border:1px solid rgba(201,169,110,.35); color:#7a5a20; }
.form-msg--err { background:rgba(201,105,110,.1); border:1px solid rgba(201,105,110,.3); color:#8b2020; }

/* ---- 14. Contact block --------------------------------------- */
.contact-wrap { display:grid; grid-template-columns:1fr 1.6fr; gap:4rem; align-items:start; }
.contact-info h3 { margin-bottom:1.5rem; }
.c-item { display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; }
.c-item__icon { width:44px; height:44px; background:var(--clr-cream); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; border:1px solid var(--clr-border); }
.c-item__label { font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; color:var(--clr-muted); font-weight:700; margin-bottom:.15rem; }
.c-item__val a { color:var(--clr-text); }

/* ---- 15. CTA banner ------------------------------------------ */
.cta-banner { background:linear-gradient(135deg, var(--clr-primary) 0%, #3a2a1e 100%); color:var(--clr-white); text-align:center; padding:6rem 0; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 70% 50%, rgba(201,169,110,.2), transparent 55%); pointer-events:none; }
.cta-banner h2 { color:var(--clr-white); margin-bottom:1rem; position:relative; }
.cta-banner p  { color:rgba(255,255,255,.8); font-size:1.1rem; max-width:520px; margin:0 auto 2rem; position:relative; }
.cta-btn-row   { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }

/* ---- 16. Divider --------------------------------------------- */
.divider { text-align:center; overflow:hidden; }
.divider span { position:relative; display:inline-block; padding:0 1.5rem; font-size:1.25rem; color:var(--clr-pink); }
.divider span::before, .divider span::after { content:''; position:absolute; top:50%; width:600px; height:1px; background:var(--clr-border); }
.divider span::before { right:100%; }
.divider span::after  { left:100%; }

/* ---- 17. Footer ---------------------------------------------- */
.footer { background:var(--clr-primary); color:rgba(255,255,255,.75); }
.footer__top { padding:4rem 0; display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:3rem; }
.footer__brand img { height:80px; width:auto; margin-bottom:.875rem; background:#fff; padding:6px 14px; border-radius:10px; }
.footer__brand .brand-text { font-family:var(--font-heading); font-size:1.2rem; color:var(--clr-white); display:block; margin-bottom:.5rem; }
.footer__brand p { font-size:.875rem; max-width:260px; line-height:1.7; }
.footer__col h4 { color:var(--clr-white); font-size:.9rem; margin-bottom:1rem; letter-spacing:.06em; text-transform:uppercase; font-family:var(--font-body); font-weight:700; }
.footer__col li { margin-bottom:.5rem; }
.footer__col li a { font-size:.875rem; color:rgba(255,255,255,.6); transition:color var(--transition); }
.footer__col li a:hover { color:var(--clr-gold); }
.footer__bottom { border-top:1px solid rgba(255,255,255,.1); padding:1.5rem 0; display:flex; justify-content:space-between; align-items:center; font-size:.8rem; }

/* ---- 18. Page header ----------------------------------------- */
.page-header { background:linear-gradient(135deg, var(--clr-primary), #3a2a1e); color:var(--clr-white); padding:4rem 0 3rem; text-align:center; }
.page-header h1 { color:var(--clr-white); }
.page-header p  { color:rgba(255,255,255,.8); margin-top:.75rem; }

/* ---- 19. Admin ----------------------------------------------- */
.admin-wrap { display:flex; min-height:100vh; }
.admin-sidebar { width:240px; background:var(--clr-primary); flex-shrink:0; }
.admin-sidebar .brand { padding:1.5rem; border-bottom:1px solid rgba(255,255,255,.1); font-family:var(--font-heading); font-size:1.1rem; color:var(--clr-white); }
.admin-sidebar .brand span { color:var(--clr-gold); }
.admin-nav a { display:flex; align-items:center; gap:.75rem; padding:.75rem 1.5rem; color:rgba(255,255,255,.65); font-size:.9rem; transition:all var(--transition); }
.admin-nav a:hover, .admin-nav a.active { background:rgba(255,255,255,.08); color:var(--clr-white); }
.admin-main { flex:1; background:#faf5f2; }
.admin-topbar { background:var(--clr-white); border-bottom:1px solid var(--clr-border); padding:1rem 2rem; display:flex; justify-content:space-between; align-items:center; }
.admin-topbar h1 { font-size:1.35rem; }
.admin-body { padding:2rem; }
.admin-card { background:var(--clr-white); border-radius:var(--radius-lg); padding:1.5rem; box-shadow:var(--shadow); margin-bottom:1.5rem; }
.admin-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.admin-table th { text-align:left; padding:.7rem 1rem; background:var(--clr-cream); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--clr-muted); border-bottom:1px solid var(--clr-border); }
.admin-table td { padding:.875rem 1rem; border-bottom:1px solid var(--clr-border); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.stat-row { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:1.25rem; margin-bottom:2rem; }
.stat-box { background:var(--clr-white); border-radius:var(--radius-lg); padding:1.5rem; box-shadow:var(--shadow); }
.stat-box__num { font-family:var(--font-heading); font-size:2rem; color:var(--clr-gold); }
.stat-box__lbl { font-size:.8rem; color:var(--clr-muted); margin-top:.2rem; }
.dot-unread { display:inline-block; width:8px; height:8px; background:var(--clr-gold); border-radius:50%; margin-right:.375rem; }
.admin-login { min-height:100vh; background:var(--clr-cream); display:flex; align-items:center; justify-content:center; }
.login-box { background:var(--clr-white); border-radius:var(--radius-lg); padding:2.5rem; width:100%; max-width:380px; box-shadow:var(--shadow-md); }

/* ---- 20. Utilities ------------------------------------------- */
.bg-cream   { background:var(--clr-cream); }
.bg-light   { background:var(--clr-light); }
.text-center{ text-align:center; }
.text-muted { color:var(--clr-muted); }
.mt-3 { margin-top:1.5rem; }
.mt-4 { margin-top:2rem; }
.anim { opacity:0; }
.anim.visible { animation:fadeInUp .6s ease both; }
.anim-d1{animation-delay:.1s} .anim-d2{animation-delay:.2s} .anim-d3{animation-delay:.3s}
@keyframes fadeInUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

/* ---- 21. Responsive ------------------------------------------ */
@media(max-width:1024px) {
  .about-grid   { grid-template-columns:1fr; gap:2.5rem; }
  .contact-wrap { grid-template-columns:1fr; }
  .footer__top  { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media(max-width:768px) {
  :root { --sec-pad:64px; --nav-h:70px; }
  .nav__menu {
    display:none !important;
    position:absolute; top:100%; left:0; right:0;
    background:var(--clr-cream); border-top:1px solid var(--clr-border);
    border-bottom:2px solid var(--clr-gold);
    flex-direction:column !important; align-items:stretch !important;
    padding:0; gap:0; box-shadow:var(--shadow-md); z-index:1001;
  }
  .nav__menu.open { display:flex !important; }
  .nav__menu > li { border-bottom:1px solid var(--clr-border); }
  .nav__menu > li:last-child { border-bottom:none; }
  .nav__link { display:block; padding:.9rem 1.5rem; }
  .btn-nav { margin:.75rem 1.5rem 1rem; text-align:center; display:block; }
  .lang-switch { margin:.5rem 1.5rem; display:inline-flex; }
  .nav__hamburger { display:flex !important; }
  .nav__logo img { height:64px; }
  .hero { min-height:auto; padding:5rem 0 3.5rem; }
  .hero__actions { flex-direction:column; }
  .hero__actions .btn { text-align:center; justify-content:center; }
  .form-row { grid-template-columns:1fr; }
  .form-wrap { padding:1.75rem; }
  .footer__top  { grid-template-columns:1fr; }
  .footer__bottom { flex-direction:column; gap:.5rem; text-align:center; }
  .about-badge  { right:0; bottom:-1rem; }
}
@media(max-width:480px) {
  .products-grid { grid-template-columns:1fr; }
  .gallery-grid  { grid-template-columns:1fr 1fr; }
  .prices-grid   { grid-template-columns:1fr; }
  .reviews-grid  { grid-template-columns:1fr; }
}
