
:root{
  --brand:#15545D;
  --brand-contrast:#ffffff;
  --brand-50:#e6eef0;
  --brand-100:#cfe0e3;
  --brand-200:#a6c7cb;
  --brand-300:#7daeb3;
  --brand-400:#54969c;
  --brand-500:#2b7e85;
  --brand-600:#15545D;
  --brand-700:#0f3f45;
  --brand-800:#0a2b2f;
  --brand-900:#061c1f;
}

html, body {scroll-behavior:smooth;}

body{ background: linear-gradient(180deg, #fff, var(--brand-50)); }

.navbar { backdrop-filter: blur(8px); background: rgba(255,255,255,.7) !important; border-bottom: 1px solid rgba(0,0,0,.06); }

.brand-badge{ background: var(--brand-600); color: var(--brand-contrast); border-radius: 16px; padding: .25rem .65rem; font-weight: 600; }

.hero{ position: relative; min-height: 70vh; display: grid; place-items: center; background: radial-gradient(1200px 600px at 70% 0%, var(--brand-100), transparent 60%); overflow: hidden; }
.hero .card{ border: none; border-radius: 1.25rem; box-shadow: 0 20px 60px rgba(0,0,0,.08); }

.btn-brand{ --bs-btn-bg: var(--brand-600); --bs-btn-border-color: var(--brand-600); --bs-btn-hover-bg: #0f3f45; --bs-btn-hover-border-color: #0f3f45; --bs-btn-color: #fff; }

.section-title{ font-weight: 800; letter-spacing: .5px; }
.badge-soft{ background: var(--brand-50); color: var(--brand-600); border: 1px solid var(--brand-100); }

.product-card{ border: none; border-radius: 1rem; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; box-shadow: 0 6px 20px rgba(0,0,0,.06); }
.product-card:hover{ transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,.10); }
.product-card .thumb{ position: relative; aspect-ratio: 4/5; overflow: hidden; }
.product-card .thumb img{ object-fit: cover; width: 100%; height: 100%; transition: transform .5s ease; }
.product-card:hover .thumb img{ transform: scale(1.06); }
.product-card .thumb .quick-view{ position: absolute; inset-inline: .75rem; bottom: .75rem; display: flex; gap: .5rem; }
.product-card .thumb .quick-view .btn{ flex: 1; backdrop-filter: blur(4px); background: rgba(255,255,255,.85); border: 1px solid rgba(0,0,0,.08); }

.contact-card{ border: 1px solid var(--brand-100); border-radius: 1rem; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; background: #fff; }
.contact-card:hover{ border-color: var(--brand-200); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }

footer{ background: #0f3f45; color: #cde1e3; }
footer a{ color:#eaf6f7; text-decoration: underline dotted; }

.map-wrap{ border-radius: 1rem; overflow: hidden; box-shadow: 0 12px 30px rgba(0,0,0,.1); border: 1px solid var(--brand-100); }
.glightbox-clean .gdesc-inner{ font-family: inherit; }
.modal-content, .toast{ border-radius: 1rem; }
