
/* Global Theme Layer + spacing + image polish */
:root{
  --hde-bg:#0f0e0c; --hde-fg:#f4efe9; --hde-accent:#b66b2e;
  --hde-muted:#e6d6c8; --hde-ink:#1b0f05;
  --hde-shadow:0 10px 30px rgba(0,0,0,.35);
  --hde-radius:16px; --hde-gap:1.1rem;
  --hde-mega-gap: clamp(1.25rem, 3vw, 2rem);
}
body.hde-dark{
  color:var(--hde-fg);
  background: radial-gradient(80rem 40rem at 50% -10%, rgba(182,107,46,.12), transparent 70%), var(--hde-bg);
  line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
/* Elegant typography rhythm */
:where(.entry-content, .et_pb_text, .woocommerce div.product, .et_pb_module, .content, main){
  --flow-space: 0.8em;
}
:where(.entry-content, .et_pb_text, .woocommerce div.product, .content, main) > * + *{ margin-top: var(--flow-space); }
:where(h1,h2,h3,h4,h5,h6){ line-height:1.15; letter-spacing:.02em; }
h1{ font-weight:800; margin-top: var(--hde-mega-gap); margin-bottom:.4em; }
h2,h3{ font-weight:700; margin-top: var(--hde-mega-gap); margin-bottom:.35em; }
p, li{ font-size:1.02rem; }
ul,ol{ padding-left: 1.25rem; }

/* Links & buttons */
a{ color:var(--hde-accent); text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-position:0% 100%; background-repeat:no-repeat; background-size:0% 2px; transition: background-size .18s ease; }
a:hover{ background-size:100% 2px; }
.et_pb_button, .button, button, [type=submit]{
  background:var(--hde-accent); color:var(--hde-ink);
  border:1px solid var(--hde-accent); border-radius: var(--hde-radius);
  padding:.85rem 1.2rem; box-shadow:0 6px 14px rgba(182,107,46,.35);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.et_pb_button:hover, .button:hover, button:hover, [type=submit]:hover{ transform: translateY(-1px); box-shadow:0 10px 20px rgba(182,107,46,.5); filter: saturate(1.05); }
:where(a,button,input,select,textarea,.et_pb_button):focus-visible{ outline:none; box-shadow: 0 0 0 3px rgba(182,107,46,.35); border-radius: calc(var(--hde-radius) - 2px); }

/* Inputs */
input, select, textarea{
  background: rgba(255,255,255,.04); color: var(--hde-fg);
  border:1px solid rgba(255,255,255,.15); border-radius:12px; padding:.8rem .95rem;
}
input:focus, select:focus, textarea:focus{ border-color:var(--hde-accent); box-shadow:0 0 0 2px rgba(182,107,46,.25); }

/* Cards & modules look */
.hde-card, .et_pb_blurb, .et_pb_cta, .et_pb_toggle, .et_pb_pricing, .et_pb_testimonial, .et_pb_post, .widget, .et_pb_shop{
  background: rgba(255,255,255,.035); border-radius: var(--hde-radius);
  box-shadow: var(--hde-shadow); border:1px solid rgba(255,255,255,.06); overflow: hidden;
  padding: clamp(1rem, 2vw, 1.25rem);
}

/* Section/row spacing */
.et_pb_section{ padding-top: clamp(2.2rem, 4vw, 4.4rem); padding-bottom: clamp(2.2rem, 4vw, 4.4rem); background: transparent; }
.et_pb_row{ gap: var(--hde-gap); }

/* Header & footer */
#main-header, .et-l--header{ background: rgba(15,14,12,.72); backdrop-filter: blur(6px); border-bottom:1px solid rgba(255,255,255,.08); }
#top-menu a{ color:var(--hde-fg) } #top-menu a:hover{ color:var(--hde-accent) } .et-fixed-header{ box-shadow: 0 8px 24px rgba(0,0,0,.25); }
#main-footer{ background: #0b0a08; border-top:1px solid rgba(255,255,255,.08); }

/* Product/blog grids spacing */
.products, .et_pb_posts, .et_pb_post, .et_pb_blog_grid, .archive .site-main{ gap: var(--hde-gap); }

/* Image polish + margins */
:where(.entry-content, .et_pb_text, .et_pb_module, .woocommerce div.product) img{
  display:block; max-width:100%; height:auto; margin: clamp(.75rem, 2vw, 1.25rem) auto;
  border-radius: calc(var(--hde-radius) - 4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  background: rgba(255,255,255,.06);
}

/* Tables */
table{ width:100%; border-collapse:separate; border-spacing:0 10px; }
th, td{ padding:.75rem 1rem; border:none; }
tbody tr{ background: rgba(255,255,255,.03); border-radius: 10px; }
tbody tr:hover{ background: rgba(255,255,255,.05); }

/* Micro-animations + skeletons */
.reveal{ opacity:0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.reveal.is-visible{ opacity:1; transform:none; }

.skeleton{ position:relative; overflow:hidden; background:rgba(255,255,255,.06); }
.skeleton::after{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent); transform: translateX(-100%); animation: hde-sh 1.6s infinite; }
@keyframes hde-sh{ to{ transform: translateX(100%);} }

/* First-load image skeleton wrapper */
.hde-img-skel{ position:relative; display:block; border-radius: calc(var(--hde-radius) - 4px); overflow:hidden; }
.hde-img-skel::before{ content:""; position:absolute; inset:0; background: rgba(255,255,255,.06); }
.hde-img-skel::after{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent); transform: translateX(-100%); animation: hde-sh 1.6s infinite; }
.hde-img-skel img{ visibility:hidden; }
.hde-img-ready .hde-img-skel::before, .hde-img-ready .hde-img-skel::after{ display:none; }
.hde-img-ready img{ visibility:visible; }

/* Load more UI */
.hde-loadmore-active .pagination, .hde-loadmore-active .nav-links, .hde-loadmore-active .woocommerce-pagination { display:none !important; }
.hde-loadmore-wrap{ display:flex; justify-content:center; margin:1.5rem 0; }
.hde-loadmore-btn{ background:var(--hde-accent); color:var(--hde-ink); border:0; border-radius:999px; padding:.8rem 1.2rem; box-shadow:0 8px 18px rgba(182,107,46,.35); }
.hde-loadmore-btn[disabled]{ opacity:.6; cursor:not-allowed; }
