/*
Theme Name: Velvet Blaze
Theme URI: https://example.com/velvet-blaze
Author: OpenAI
Author URI: https://openai.com
Description: A luxury WordPress theme for Velvet Blaze Cigars. Built to be uploadable in WordPress and easy to enhance with Elementor.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: velvet-blaze
Tags: custom-logo, custom-menu, featured-images, editor-style, e-commerce, elementor-compatible
*/

:root{
  --vb-bg:#0B0B0B;
  --vb-surface:#111111;
  --vb-gold:#C6A15B;
  --vb-gold-soft:#A8874D;
  --vb-wine:#6B1F3A;
  --vb-mauve:#B08A96;
  --vb-text:#F5E9DA;
  --vb-max:1200px;
  --vb-radius:8px;
  --vb-shadow:0 12px 30px rgba(0,0,0,.28);
}

html { box-sizing: border-box; scroll-behavior:smooth; }
*, *:before, *:after { box-sizing: inherit; }

body{
  margin:0;
  background:var(--vb-bg);
  color:var(--vb-text);
  font-family: "Montserrat", Arial, sans-serif;
  line-height:1.7;
}

body.admin-bar .vb-site-header { top:32px; }
a{ color:var(--vb-gold); text-decoration:none; }
a:hover{ color:var(--vb-text); }
img{ max-width:100%; height:auto; display:block; }

.vb-container{
  width:min(var(--vb-max), calc(100% - 40px));
  margin:0 auto;
}

.vb-site-header{
  position:sticky;
  top:0;
  z-index:99;
  background:rgba(11,11,11,.95);
  border-bottom:1px solid var(--vb-gold-soft);
  backdrop-filter: blur(8px);
}

.vb-header-inner{
  min-height:90px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
}

.vb-brand{
  text-align:center;
}

.vb-brand a{
  display:inline-block;
  color:var(--vb-gold);
  font-family:"Cinzel", Georgia, serif;
  font-size:2rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.vb-brand-tag{
  color:var(--vb-text);
  letter-spacing:.28em;
  font-size:.7rem;
  text-transform:uppercase;
  margin-top:4px;
}

.vb-main-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  align-items:center;
}

.vb-main-nav a{
  color:var(--vb-text);
  text-transform:uppercase;
  font-size:.86rem;
  letter-spacing:.08em;
}

.vb-main-nav a:hover,
.vb-main-nav .current-menu-item > a{
  color:var(--vb-gold);
}

.vb-header-actions{
  display:flex;
  justify-content:flex-end;
  gap:14px;
  align-items:center;
}

.vb-button, button, input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 24px;
  border-radius:4px;
  border:1px solid var(--vb-gold);
  background:var(--vb-gold);
  color:var(--vb-bg);
  font-weight:600;
  letter-spacing:.04em;
  cursor:pointer;
  transition:all .25s ease;
}

.vb-button:hover, button:hover, input[type="submit"]:hover{
  background:var(--vb-mauve);
  border-color:var(--vb-mauve);
  color:var(--vb-bg);
}

.vb-button.is-outline{
  background:transparent;
  color:var(--vb-gold);
}

.vb-button.is-outline:hover{
  background:var(--vb-gold);
  color:var(--vb-bg);
  border-color:var(--vb-gold);
}

.vb-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(11,11,11,.90) 0%, rgba(107,31,58,.72) 100%),
    radial-gradient(circle at top right, rgba(176,138,150,.16), transparent 40%),
    url('assets/img/hero-placeholder.jpg') center/cover no-repeat;
  min-height:760px;
  display:flex;
  align-items:center;
}

.vb-hero-grid{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:40px;
  align-items:center;
  padding:80px 0;
}

.vb-panel{
  background:linear-gradient(180deg, rgba(17,17,17,.94), rgba(17,17,17,.78));
  border:1px solid rgba(168,135,77,.55);
  border-radius:var(--vb-radius);
  box-shadow:var(--vb-shadow);
}

.vb-hero-visual{
  min-height:520px;
  border-radius:12px;
  border:1px solid rgba(168,135,77,.55);
  background:
    radial-gradient(circle at top, rgba(198,161,91,.18), transparent 36%),
    linear-gradient(180deg, rgba(17,17,17,.52), rgba(11,11,11,.72)),
    url('assets/img/hero-card-placeholder.jpg') center/cover no-repeat;
  box-shadow:var(--vb-shadow);
}

.vb-kicker{
  color:var(--vb-gold);
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.8rem;
  margin:0 0 14px;
}

h1,h2,h3,h4{
  font-family:"Cinzel", Georgia, serif;
  line-height:1.15;
  margin:0 0 16px;
  color:var(--vb-gold);
}

h1{ font-size:clamp(2.3rem, 5vw, 4.2rem); }
h2{ font-size:clamp(1.8rem, 4vw, 3rem); }
h3{ font-size:clamp(1.2rem, 3vw, 1.6rem); }

.vb-lead{ font-size:1.08rem; max-width:650px; }
.vb-section{ padding:100px 0; }
.vb-section.is-surface{ background:var(--vb-surface); }
.vb-section.is-wine{ background:var(--vb-wine); }
.vb-center{ text-align:center; }
.vb-subtitle{
  font-family:"Cormorant Garamond", Georgia, serif;
  color:var(--vb-mauve);
  font-size:1.45rem;
  margin-top:-6px;
  margin-bottom:20px;
}

.vb-card-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-top:42px;
}

.vb-card{
  background:var(--vb-surface);
  border:1px solid var(--vb-gold-soft);
  border-radius:var(--vb-radius);
  padding:20px;
  box-shadow:var(--vb-shadow);
  transition:transform .22s ease, border-color .22s ease;
}
.vb-card:hover{
  transform:translateY(-6px);
  border-color:var(--vb-gold);
}

.vb-card-media{
  height:260px;
  border-radius:6px;
  margin-bottom:18px;
  background:
    radial-gradient(circle at top, rgba(198,161,91,.16), transparent 40%),
    linear-gradient(180deg, rgba(17,17,17,.44), rgba(11,11,11,.65)),
    url('assets/img/product-placeholder.jpg') center/cover no-repeat;
}

.vb-two-col{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:32px;
  align-items:center;
}

.vb-image-frame{
  min-height:420px;
  border-radius:12px;
  border:1px solid rgba(168,135,77,.55);
  box-shadow:var(--vb-shadow);
  background:
    linear-gradient(180deg, rgba(17,17,17,.36), rgba(11,11,11,.58)),
    url('assets/img/story-placeholder.jpg') center/cover no-repeat;
}

.vb-image-frame.is-alt{
  background:
    linear-gradient(180deg, rgba(17,17,17,.36), rgba(11,11,11,.58)),
    url('assets/img/experience-placeholder.jpg') center/cover no-repeat;
}

.vb-quote{
  max-width:860px;
  margin:0 auto;
  font-size:1.3rem;
  text-align:center;
}

.vb-form-wrap{
  max-width:760px;
  margin:30px auto 0;
  padding:28px;
  background:rgba(11,11,11,.75);
  border:1px solid var(--vb-gold-soft);
  border-radius:12px;
}

.vb-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:14px;
}

.vb-field,
input[type="text"],
input[type="email"],
textarea{
  width:100%;
  min-height:48px;
  background:var(--vb-bg);
  color:var(--vb-text);
  border:1px solid var(--vb-gold-soft);
  border-radius:4px;
  padding:12px 14px;
}

.vb-social-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
  margin-top:28px;
}

.vb-social-grid > div{
  height:220px;
  border-radius:8px;
  border:1px solid var(--vb-gold-soft);
  background:
    linear-gradient(180deg, rgba(17,17,17,.38), rgba(11,11,11,.56)),
    url('assets/img/social-placeholder.jpg') center/cover no-repeat;
}

.vb-site-footer{
  border-top:1px solid var(--vb-gold-soft);
  padding:54px 0;
  background:var(--vb-bg);
  text-align:center;
}

.vb-footer-logo{
  font-family:"Cinzel", Georgia, serif;
  font-size:1.8rem;
  color:var(--vb-gold);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.vb-muted{ color:rgba(245,233,218,.82); }

.vb-page-hero{
  padding:110px 0 60px;
  background:
    linear-gradient(90deg, rgba(11,11,11,.92) 0%, rgba(107,31,58,.62) 100%);
  border-bottom:1px solid var(--vb-gold-soft);
}

.vb-product-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:start;
}

.vb-product-image{
  min-height:520px;
  border:1px solid var(--vb-gold-soft);
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.38), rgba(11,11,11,.6)),
    url('assets/img/chrita-placeholder.jpg') center/cover no-repeat;
  box-shadow:var(--vb-shadow);
}

.vb-list{
  margin:0;
  padding-left:18px;
}

.vb-faq details{
  border:1px solid var(--vb-gold-soft);
  background:rgba(11,11,11,.7);
  border-radius:8px;
  padding:18px 20px;
  margin-bottom:14px;
}

.vb-faq summary{
  cursor:pointer;
  color:var(--vb-gold);
  font-weight:600;
}

.screen-reader-text{
  position:absolute;
  left:-9999px;
}

@media (max-width: 980px){
  .vb-header-inner,
  .vb-hero-grid,
  .vb-two-col,
  .vb-product-grid,
  .vb-card-grid,
  .vb-form-grid,
  .vb-social-grid{
    grid-template-columns:1fr;
  }

  .vb-header-inner{ padding:16px 0; }
  .vb-main-nav ul{ justify-content:center; }
  .vb-header-actions{ justify-content:center; }
  .vb-brand{ order:-1; }
  .vb-section{ padding:74px 0; }
  .vb-hero{ min-height:auto; }
  .vb-hero-visual{ min-height:360px; }
  .vb-image-frame, .vb-product-image{ min-height:320px; }
}
