/* Load a more sophisticated body font */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400&display=swap');

:root{
  /* Lighter theme variables: dark blues replaced with lighter greys
     Gold/brand color kept as-is. */
  --bg: #ffffff;        /* page background (white) */
  --panel: #eef0f3;     /* panels / header background */
  --muted: #6b7280;     /* slightly darker muted text for light bg */
  --text: #0B1220;      /* primary text (previously the dark blue) */
  --brand: #D4A657; /* gold */
  --accent: #111827; /* switched turquoise to dark/black accent for product cards */
  --logo-height: 40px; /* consistent visual height for all logos */
  --header-height: calc(var(--logo-height) + 24px);
  --shadow: 0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Lora, Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, serif;background:var(--bg);color:var(--text);}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.skip-to-content{position:absolute;left:-9999px}
.skip-to-content:focus-within{left:0;top:0;background:#fff;color:#000;padding:.5rem 1rem}
.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:flex-start;padding:12px 24px;background:var(--panel);backdrop-filter:blur(6px);border-bottom:1px solid rgba(0,0,0,.06);gap:18px;min-height:var(--header-height)}
.brand-pair{display:flex;gap:24px;align-items:center;margin-right:auto}
.brand{display:flex;align-items:center}
.logo{
  height:var(--logo-height);
  width:auto;
  display:block;
  object-fit:contain; /* preserve aspect ratio for SVGs and raster images */
}
.logo-ktx{
  height:var(--logo-height);
}
.primary-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center;justify-content:center}
.primary-nav a{padding:10px 12px;border-radius:10px;color:var(--text)}
.primary-nav a:hover{background:linear-gradient(90deg,var(--brand),#b8862b);color:#111827}
.primary-nav .cta{background:linear-gradient(135deg,var(--brand),#b8862b);color:#111827;font-weight:800}
.primary-nav .has-sub{position:relative}
.primary-nav .submenu{display:none;position:absolute;top:100%;left:0;background:var(--panel);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);border-radius:12px;padding:8px;min-width:240px;z-index:80}
/* Show submenu when its parent has the .open class (controlled by JS) */
.primary-nav .has-sub.open .submenu{display:block}
.submenu a{display:block}
.sub-toggle{background:none;border:none;padding:6px 8px;margin-left:8px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}
.sub-toggle[aria-expanded="true"]{background:linear-gradient(90deg,var(--brand),#b8862b);color:#111827}
.nav-toggle{
  display:none;
  background:none;
  border:none;
  color:var(--text);
  width:44px;
  height:var(--logo-height);
  padding:0;
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.nav-toggle:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:4px;
}
.nav-toggle-icon{
  position:relative;
  display:block;
  width:26px;
  height:2px;
  margin:0 auto;
  background:currentColor;
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease, background .25s ease;
}
.nav-toggle-icon::before,
.nav-toggle-icon::after{
  content:'';
  display:block;
  position:absolute;
  left:0;
  width:26px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease, background .25s ease;
  transform-origin:center;
}
.nav-toggle-icon::before{ top:-7px; }
.nav-toggle-icon::after{ top:7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-icon{ background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::before{
  top:0;
  transform:rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::after{
  top:0;
  transform:rotate(-45deg);
}
@media (max-width:900px){
  .nav-toggle{display:flex}
  .primary-nav{display:none; position:fixed; left:0; right:0; top:var(--header-height); z-index:80;
    background:var(--panel, #fff); border-bottom:1px solid rgba(0,0,0,.06); padding:12px;}
  .primary-nav.open{display:block;transform:translateY(0);opacity:1}
  /* Stack and center nav items on mobile */
  .primary-nav ul{flex-direction:column;align-items:center}
}
/* overlay anchor for mobile nav */
.mobile-nav-overlay{background:transparent;position:fixed;inset:0;z-index:70;display:none}
.hero{
  position:relative;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.06);
  background:#fff;
}
.container{max-width:1200px;margin:0 auto;padding:40px 24px}
.hero .container{padding:80px 24px 60px}
h1,h2{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif}
/* Center main headings and container content */
h1{font-size:clamp(28px,3.6vw,64px);line-height:1.05;margin:0 0 12px;font-weight:800;letter-spacing:-.02em;text-align:center}
h2{font-size:clamp(22px,2.2vw,36px);margin:28px 0 12px;font-weight:800;text-align:center}
.container{text-align:center}
.p, p{line-height:1.6;color:#374151}
p{line-height:1.6;color:#374151}
.lead{font-size:clamp(16px,1.4vw,20px);max-width:68ch}
.actions{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px auto 0;width:100%;flex-wrap:wrap}
.actions .btn{margin:0}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02);color:var(--text);font-weight:700}
.btn.primary{background:linear-gradient(135deg,var(--brand),#b8862b);color:#111827;border:none}
.btn.whatsapp{background:#25d366;border:none;color:#fff}
.btn.whatsapp:hover{background:#1ebe5a;color:#fff}
.btn:not(.whatsapp):hover, .primary-nav .has-sub.open > a, .primary-nav .submenu a:hover{background:linear-gradient(90deg,var(--brand),#b8862b);color:#111827}
.mini{font-size:14px;padding:8px 12px;border-radius:10px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;justify-items:center}
@media (max-width:960px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.card{background:var(--brand);border:2px solid #111827;padding:18px;border-radius:16px;box-shadow:var(--shadow);transform:translateY(0);transition:transform .2s, box-shadow .2s;display:flex;flex-direction:column;align-items:stretch;text-align:center;color:var(--accent);position:relative;overflow:hidden;gap:12px}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.card-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:12px;transition:opacity .3s ease}
.card-body{display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity .3s ease}
.card h3{margin:8px 0 0;color:var(--accent)}
.card p{color:var(--accent)}
.card-stats{position:absolute;inset:0;padding:28px;background:rgba(17,24,39,.92);color:#f9fafb;display:flex;flex-direction:column;justify-content:center;gap:10px;transform:translateY(100%);transition:transform .3s ease;pointer-events:none;text-align:left}
.card-stats p{color:#f9fafb;margin:0}
.card-stats strong{color:var(--brand)}
.card:hover .card-stats,
.card:focus .card-stats{transform:translateY(0)}
.card:hover .card-body,
.card:focus .card-body{opacity:0}
.card:hover .card-image,
.card:focus .card-image{opacity:.25}
.card:focus-visible{outline:3px solid #111827;outline-offset:4px}
.badge{display:inline-block;background:rgba(212,166,87,.12);color:var(--brand);border:1px solid rgba(212,166,87,.35);padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}
.iconify{font-style:normal}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:840px){.grid-3{grid-template-columns:1fr}}
.unstyled{list-style:none;margin:0;padding:0}
.small{font-size:14px}
.muted{color:var(--muted)}
.site-footer{border-top:1px solid rgba(0,0,0,.06);padding:24px 24px 40px;background:var(--panel);text-align:center}
.disclosure{background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);padding:12px;border-radius:12px;margin:16px 0}
.form{display:grid;gap:12px;max-width:720px;margin:0 auto;padding:32px;border:2px solid rgba(212,166,87,.55);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-align:left}
.form-fieldset{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:16px;
  margin:4px 0 0;
}
.form-fieldset legend{
  font-weight:600;
  font-size:.95rem;
  padding:0 6px;
  color:var(--accent);
}
.checkbox-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:10px;
  margin-top:12px;
}
.checkbox{
  display:flex;
  gap:10px;
  align-items:center;
  font-size:.92rem;
  font-weight:600;
}
.checkbox input{
  width:18px;
  height:18px;
  accent-color:var(--brand);
}
.checkbox span{
  flex:1;
}
.form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:8px;
}
.form-actions .btn{
  flex:1 1 200px;
  justify-content:center;
}
.input, textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:transparent;color:var(--text)}
.input:focus, textarea:focus{outline:2px solid var(--brand);border-color:transparent}
.notice{padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.04)}
.kv-pair{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.kv-pair code{background:rgba(0,0,0,.04);padding:2px 6px;border-radius:6px}
ul.check{list-style:none;padding-left:0}
ul.check li::before{content:"✔";margin-right:8px;color:#22c55e}
.table{width:100%;border-collapse:collapse;border:1px solid rgba(0,0,0,.08)}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}
.quote{border-left:4px solid var(--brand);padding-left:12px;margin:0}

/* Responsive logo sizing: slightly smaller on narrow screens */
@media (max-width:520px){
  :root{ --logo-height: 32px; }
}

/* Product images */
.product-image{display:block;max-width:100%;height:auto;max-height:480px;border-radius:12px;margin:14px 0 18px;object-fit:cover}
@media (max-width:680px){.product-image{max-height:320px}}

/* Card images on the homepage */
.card-image{display:block;width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:0}
@media (max-width:960px){.card-image{height:160px}}
@media (max-width:620px){.card-image{height:140px}}

/* Headings should use the Inter display font while body uses Lora */
h1,h2{font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif}


/* === FIX V3 additions === */
.container, .card, .product-card, .product-copy, .cards, .hero, .section, .footer, .content { text-align: center; }

.product-layout { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; background:#fff; border:2px solid rgba(212,166,87,.55); border-radius:16px; padding:24px; box-shadow:var(--shadow); }
.product-media img.product-image { width: 100%; height: auto; display: block; border-radius: 12px; }
@media (min-width: 900px){
  .product-layout { grid-template-columns: 1fr 1fr; align-items: center; }
  .product-copy { justify-self: center; }
}

/* Mobile nav: make sure nav overlays and links are easy to tap */
@media (max-width: 900px){
  
  .primary-nav ul { width: 100%; }
  .primary-nav li { width: 100%; }
  .primary-nav a { display: block; width: 100%; }
}
/* === END FIX V3 === */


/* === FIX V4: Center buttons in body === */
.actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
main .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
/* Contact page form button centering */
#contact-form button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
}
/* Ensure buttons in cards/sections remain centered across layouts */
.card .btn, .section .btn, .product-copy .btn{
  margin-left:auto;
  margin-right:auto;
}
/* === END FIX V4 === */

/* Desktop submenu: show on hover */
@media (min-width: 901px){
  .primary-nav .submenu{ display:none; position:absolute; top:100%; left:0; background:#fff; box-shadow: var(--shadow); border-radius:12px; padding:8px; min-width:240px; z-index:80; }
  .primary-nav .has-sub:hover > .submenu{ display:block; }
}

/* Center the paragraph right under the bold heading */
.lead + p,
.hero .lead + p,
.section .lead + p,
.page-intro .lead + p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 780px;
}
main > section:first-of-type p:first-of-type{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  max-width:780px;
}

/* Team Roller */
.team-roller{
  overflow-x:auto;
  overflow-y:hidden;
  position:relative;
  border-radius:16px;
  padding:12px 0;
  margin: 8px auto 40px;
  max-width: 1100px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  touch-action:pan-x;
  cursor:grab;
}
.team-roller:active,
.team-roller.is-dragging{ cursor:grabbing; }
.team-roller::-webkit-scrollbar{ display:none; }
.team-roller .track{ display:flex; gap:18px; padding: 8px 12px; flex-wrap:nowrap; min-width:fit-content; }
.team-roller .member{
  min-width: 280px;
  max-width: 280px;
  background:#fff;
  border-radius:18px;
  box-shadow: var(--shadow);
  transition: transform .2s ease, box-shadow .2s ease;
  scroll-snap-align:start;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  text-align:left;
}
.team-roller .member .avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--panel);
  color:var(--accent);
  font-weight:700;
  font-size:1.2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  letter-spacing:.05em;
}
.team-roller .member .meta{
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.team-roller .member .role{
  font-weight:600;
  color:var(--brand);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:.82rem;
}
.team-roller .member .contact{
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:.92rem;
}
.team-roller .member .contact a{
  color:var(--accent);
  font-weight:600;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.team-roller .member .contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.team-roller .member .contact-actions .btn{
  flex:1 1 140px;
  justify-content:center;
}
.team-roller .member:hover{ transform: translateY(-4px); box-shadow: 0 14px 40px rgba(0,0,0,.12); }
@media (max-width: 640px){
  .team-roller .member{ min-width: 80vw; max-width: 80vw; }
}

.contact-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:140;
  overflow:auto;
}
body.modal-open{
  overflow:hidden;
}
.contact-modal[hidden]{display:none;}
.contact-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
.contact-modal__dialog{
  position:relative;
  width:min(100%, 760px);
  max-width:100%;
  z-index:1;
}
.contact-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  border:none;
  background:rgba(0,0,0,.04);
  border-radius:50%;
  width:36px;
  height:36px;
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}
.contact-modal__close:focus-visible{
  outline:3px solid var(--brand);
  outline-offset:2px;
}
.contact-modal__form{
  margin:0;
  max-width:100%;
}
#team-contact-feedback{
  margin-top:16px;
  text-align:center;
}
@media (max-width:720px){
  .contact-modal{
    align-items:flex-start;
    padding:16px;
  }
  .contact-modal__dialog{
    margin:48px auto 24px;
    width:100%;
  }
  .contact-modal__close{
    top:10px;
    right:10px;
  }
}
/* Cookie banner */
.cookie-banner{
  position:fixed;
  z-index:120;
  left:50%;
  bottom:24px;
  transform:translate(-50%, 40px);
  width:min(520px, calc(100% - 32px));
  background:#fff;
  color:var(--text);
  padding:20px 22px;
  border-radius:16px;
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,.08);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.cookie-banner.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}
.cookie-banner__title{
  font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight:600;
  font-size:1.05rem;
  margin:0 0 8px;
}
.cookie-banner__copy{
  margin:0;
  font-size:.92rem;
  line-height:1.5;
}
.cookie-banner__actions{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.cookie-banner__btn{
  flex:1 1 auto;
  min-width:140px;
  padding:10px 14px;
  border-radius:10px;
  font-weight:600;
  font-size:.92rem;
  border:2px solid transparent;
  cursor:pointer;
}
.cookie-banner__btn--primary{
  background:linear-gradient(135deg,var(--brand),#b8862b);
  color:#111827;
}
.cookie-banner__btn--secondary{
  background:#f3f4f6;
  color:var(--text);
  border-color:rgba(0,0,0,.08);
}
.cookie-banner__btn:focus-visible{
  outline:3px solid var(--brand);
  outline-offset:2px;
}
.cookie-banner__link{
  display:inline-block;
  margin-top:12px;
  font-size:.88rem;
}
@media (max-width: 520px){
  .cookie-banner{
    left:16px;
    right:16px;
    transform:translate(0, 40px);
    width:auto;
  }
  .cookie-banner.is-visible{
    transform:translateY(0);
  }
  .cookie-banner__actions{
    flex-direction:column;
  }
}

