/* ============================================
   GUARDIÃ DO LAR — Estilos principais
   ============================================ */

:root{
  --cream:#F7F1E8;
  --cream-soft:#FBF8F3;
  --dark:#16281F;
  --dark-2:#1E3329;
  --gold:#B08D57;
  --gold-light:#D8BD8C;
  --text:#2B2620;
  --text-soft:#6B6459;
  --border:#E6DDCC;
  --white:#FFFFFF;

  --bg:var(--cream-soft);
  --bg-alt:var(--cream);
  --surface:var(--white);
  --fg:var(--text);
  --fg-soft:var(--text-soft);
  --line:var(--border);
  --header-bg:var(--white);

  --radius:14px;
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Jost', -apple-system, BlinkMacSystemFont, sans-serif;
}

[data-theme="dark"]{
  --bg:#101B15;
  --bg-alt:#16281F;
  --surface:#1C2E24;
  --fg:#F3EDE1;
  --fg-soft:#B8AE9C;
  --line:#2C4034;
  --header-bg:#101B15;
  --cream-soft:#101B15;
  --cream:#16281F;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--fg);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  transition:background .3s ease, color .3s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0 0 .5em;color:var(--fg);}
p{line-height:1.65;color:var(--fg-soft);margin:0 0 1em;}

.gdl-container{max-width:1240px;margin:0 auto;padding:0 32px;}
@media (max-width:782px){.gdl-container{padding:0 20px;}}

.gdl-eyebrow{
  font-size:.78rem;letter-spacing:.14em;font-weight:600;
  color:var(--gold);text-transform:uppercase;margin-bottom:.6em;
}

/* Buttons */
.gdl-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:999px;font-size:.88rem;font-weight:500;
  border:1px solid transparent;cursor:pointer;transition:all .2s ease;
}
.gdl-btn-primary{background:var(--gold);color:#fff;}
.gdl-btn-primary:hover{background:#9c7a49;}
.gdl-btn-dark{background:var(--dark);color:#fff;}
.gdl-btn-dark:hover{background:#0d1a13;}
.gdl-btn-outline{background:transparent;border-color:var(--gold);color:var(--gold);width:100%;justify-content:center;}
.gdl-btn-outline:hover{background:var(--gold);color:#fff;}

/* ===== HEADER ===== */
.gdl-header{background:var(--header-bg);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);}
.gdl-header-inner{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px;}
.gdl-logo{display:flex;align-items:center;gap:10px;}
.gdl-logo-mark{color:var(--gold);}
.gdl-logo-text{display:flex;flex-direction:column;line-height:1.2;}
.gdl-logo-text strong{font-family:var(--serif);font-size:1.35rem;font-weight:600;}
.gdl-logo-text small{font-size:.62rem;letter-spacing:.14em;color:var(--fg-soft);}
.gdl-logo-light{color:var(--cream);}
.gdl-logo-light strong,.gdl-logo-light small{color:var(--cream);}

.gdl-menu{display:flex;list-style:none;gap:30px;margin:0;padding:0;}
.gdl-menu a{font-size:.92rem;font-weight:400;color:var(--fg);}
.gdl-menu a:hover{color:var(--gold);}

.gdl-header-actions{display:flex;align-items:center;gap:8px;}
.gdl-icon-btn{
  background:none;border:none;cursor:pointer;color:var(--fg);
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;position:relative;font-size:.7rem;letter-spacing:.05em;
}
.gdl-icon-btn:hover{background:var(--bg-alt);}
#gdl-lang-toggle{width:auto;padding:0 10px;font-weight:600;}
.gdl-icon-moon{display:none;}
[data-theme="dark"] .gdl-icon-sun{display:none;}
[data-theme="dark"] .gdl-icon-moon{display:block;}
.gdl-cart-count{
  position:absolute;top:2px;right:2px;background:var(--gold);color:#fff;
  font-size:.6rem;width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.gdl-menu-toggle{display:none;}

.gdl-search-bar{max-height:0;overflow:hidden;transition:max-height .25s ease;background:var(--bg-alt);}
.gdl-search-bar.open{max-height:90px;}
.gdl-search-form{display:flex;gap:8px;padding:16px 0;}
.gdl-search-form input{flex:1;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);}
.gdl-search-form button{background:var(--gold);border:none;color:#fff;width:42px;border-radius:8px;cursor:pointer;}

/* ===== HERO ===== */
.gdl-hero{background:var(--bg-alt);}
.gdl-hero-grid{display:grid;grid-template-columns:1.6fr 1fr 1.4fr 0.8fr;height:520px;}
.gdl-hero-col{background-size:cover;background-position:center;position:relative;}
.gdl-hero-col-1{background-color:#e8ddc9;}
.gdl-hero-content{
  position:absolute;left:0;bottom:0;padding:48px 40px;max-width:520px;
  color:#fff;background:linear-gradient(0deg, rgba(20,20,15,.55), rgba(20,20,15,0) 70%);
  width:100%;
}
.gdl-hero-content .gdl-eyebrow{color:var(--gold-light);}
.gdl-hero-content h1{color:#fff;font-size:2.3rem;line-height:1.15;margin-bottom:.4em;}
.gdl-hero-content .gdl-hero-desc{color:#efe9dd;font-size:.95rem;max-width:420px;}
@media (max-width:1024px){
  .gdl-hero-grid{grid-template-columns:1fr 1fr;height:auto;}
  .gdl-hero-col{height:320px;}
  .gdl-hero-col-1{grid-column:1/-1;height:460px;}
}
@media (max-width:600px){
  .gdl-hero-grid{grid-template-columns:1fr;}
  .gdl-hero-col{height:260px;}
  .gdl-hero-col-1{height:420px;}
  .gdl-hero-content{padding:32px 24px;}
  .gdl-hero-content h1{font-size:1.7rem;}
}

/* ===== SHORTCUTS ===== */
.gdl-shortcuts{background:var(--bg-alt);padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gdl-shortcuts-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
.gdl-shortcut{text-align:center;}
.gdl-shortcut-icon{color:var(--gold);display:inline-flex;margin-bottom:14px;}
.gdl-shortcut h3{font-size:1.02rem;margin-bottom:.3em;}
.gdl-shortcut p{font-size:.82rem;}
@media (max-width:900px){.gdl-shortcuts-grid{grid-template-columns:repeat(3,1fr);row-gap:36px;}}
@media (max-width:560px){.gdl-shortcuts-grid{grid-template-columns:repeat(2,1fr);}}

/* ===== BLOG SECTION ===== */
.gdl-blog-section{padding:90px 0;background:var(--bg);}
.gdl-blog-layout{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start;}
.gdl-blog-intro h2{font-size:2.1rem;}
.gdl-blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.gdl-blog-card,.gdl-simple-post .gdl-blog-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;display:block;border:1px solid var(--line);}
.gdl-blog-card-img,.gdl-placeholder-img{height:150px;background-size:cover;background-position:center;background-color:var(--bg-alt);}
.gdl-blog-card-body{padding:18px;}
.gdl-tag{font-size:.68rem;letter-spacing:.08em;color:var(--gold);font-weight:600;}
.gdl-blog-card h3{font-size:1.05rem;margin:.5em 0 .4em;line-height:1.3;}
.gdl-blog-card time{font-size:.78rem;color:var(--fg-soft);}
@media (max-width:1024px){.gdl-blog-layout{grid-template-columns:1fr;}.gdl-blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.gdl-blog-grid{grid-template-columns:1fr;}}

/* ===== SHOP SECTION ===== */
.gdl-shop-section{padding:90px 0;background:var(--bg-alt);}
.gdl-shop-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;}
.gdl-shop-header h2{font-size:2.1rem;max-width:520px;}
.gdl-shop-header p{max-width:480px;}
.gdl-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.gdl-product-card{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--line);}
.gdl-product-img{position:relative;border-radius:10px;overflow:hidden;margin-bottom:14px;aspect-ratio:1/1;background:var(--bg-alt);}
.gdl-product-img img{width:100%;height:100%;object-fit:cover;}
.gdl-wishlist{
  position:absolute;top:10px;right:10px;background:#fff;border:none;border-radius:50%;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dark);
}
.gdl-product-name{display:block;font-size:.95rem;font-weight:500;margin-bottom:4px;color:var(--fg);}
.gdl-product-price{font-weight:600;color:var(--fg);margin-bottom:14px;}
@media (max-width:900px){.gdl-product-grid{grid-template-columns:repeat(2,1fr);}.gdl-shop-header{flex-direction:column;align-items:flex-start;}}

/* ===== CONTACT ===== */
.gdl-contact-section{background:var(--dark);color:#fff;}
.gdl-contact-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px;}
.gdl-contact-image{
  background:linear-gradient(0deg, rgba(10,18,13,.6), rgba(10,18,13,.15)), url('../img/contact.jpg') center/cover;
  display:flex;align-items:flex-end;padding:48px;
}
.gdl-contact-quote{font-family:var(--serif);font-style:italic;font-size:1.8rem;color:#fff;max-width:320px;}
.gdl-contact-body{padding:64px 56px;}
.gdl-contact-body h2{color:#fff;font-size:2rem;}
.gdl-contact-body p{color:#C9CFC6;}
.gdl-contact-info{list-style:none;margin:28px 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.gdl-contact-info li{display:flex;flex-direction:column;font-size:.9rem;}
.gdl-contact-info strong{color:var(--gold-light);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.gdl-contact-form{display:flex;flex-direction:column;gap:14px;max-width:460px;}
.gdl-contact-form input,.gdl-contact-form textarea{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);
  border-radius:8px;padding:13px 16px;color:#fff;font-family:var(--sans);font-size:.9rem;
}
.gdl-contact-form textarea{resize:vertical;}
.gdl-contact-form input::placeholder,.gdl-contact-form textarea::placeholder{color:#9AA79E;}
.gdl-contact-form .gdl-hp{display:none;}
.gdl-contact-form button{align-self:flex-start;}
.gdl-form-success{color:#9fd7a8;font-weight:500;}
@media (max-width:900px){.gdl-contact-grid{grid-template-columns:1fr;}.gdl-contact-image{min-height:260px;}.gdl-contact-body{padding:44px 24px;}}

/* ===== FOOTER ===== */
.gdl-footer{background:var(--dark);color:var(--cream);border-top:1px solid rgba(255,255,255,.08);}
.gdl-footer-top{display:flex;align-items:center;justify-content:space-between;padding:36px 0;flex-wrap:wrap;gap:20px;}
.gdl-footer-menu{display:flex;list-style:none;gap:22px;margin:0;padding:0;flex-wrap:wrap;}
.gdl-footer-menu a{font-size:.85rem;color:#D7D2C6;}
.gdl-footer-menu a:hover{color:var(--gold-light);}
.gdl-socials{display:flex;gap:10px;}
.gdl-socials a{width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;}
.gdl-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;}
.gdl-footer-bottom p{margin:0;font-size:.78rem;color:#B7B2A5;text-align:center;}

/* ===== SIMPLE PAGES / BLOG ARCHIVE / SINGLE ===== */
.gdl-simple-page{padding:70px 0;}
.gdl-page-header h1{font-size:2.3rem;}
.gdl-page-thumb{height:340px;background-size:cover;background-position:center;border-radius:var(--radius);margin:24px 0;}
.gdl-entry-content{max-width:760px;}
.gdl-single-layout{display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:start;}
.gdl-post-date{color:var(--fg-soft);font-size:.85rem;display:block;margin:6px 0 18px;}
.widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;}
.widget-title{font-size:1rem;}
@media (max-width:900px){.gdl-single-layout{grid-template-columns:1fr;}}

/* Placeholder image blocks (used until real images/products are added) */
.gdl-placeholder-img{
  background:repeating-linear-gradient(135deg, var(--bg-alt), var(--bg-alt) 10px, var(--surface) 10px, var(--surface) 20px);
}

/* ===== MOBILE NAV ===== */
@media (max-width:1024px){
  .gdl-primary-nav{
    position:fixed;top:82px;left:0;right:0;bottom:0;background:var(--header-bg);
    display:flex;justify-content:center;padding-top:40px;
    transform:translateX(100%);transition:transform .3s ease;z-index:40;
  }
  .gdl-primary-nav.open{transform:translateX(0);}
  .gdl-menu{flex-direction:column;text-align:center;gap:26px;}
  .gdl-menu a{font-size:1.2rem;}
  .gdl-menu-toggle{display:flex;}
  #gdl-search-toggle{display:none;}
}
