/* ============================================================
   Grill & Smoker — Custom Design System
   Professional grill/BBQ e-commerce styling
   Palette: Charcoal + Ember Orange + Warm Gold
   ============================================================ */

:root {
    --gs-charcoal: #161412;
    --gs-charcoal-2: #221f1c;
    --gs-ember: #d64a1e;
    --gs-ember-dark: #b23b16;
    --gs-ember-light: #ef6a37;
    --gs-gold: #e8a733;
    --gs-cream: #faf6f0;
    --gs-sand: #f1e9dd;
    --gs-ink: #1c1917;
    --gs-muted: #6b6560;
    --gs-line: #e7ded2;
    --gs-white: #ffffff;
    --gs-success: #3f7d3a;
    --gs-radius: 14px;
    --gs-radius-lg: 22px;
    --gs-shadow-sm: 0 2px 10px rgba(22,20,18,.06);
    --gs-shadow: 0 10px 34px rgba(22,20,18,.10);
    --gs-shadow-lg: 0 24px 60px rgba(22,20,18,.18);
    --gs-font-head: "Oswald", "Poppins", "Helvetica Neue", Arial, sans-serif;
    --gs-font-body: "Inter", "Poppins", "Helvetica Neue", Arial, sans-serif;
    --gs-maxw: 1240px;
}

/* ---- Google fonts ---- */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* ============================================================
   Page content wrapper
   ============================================================ */
.gs-page {
    font-family: var(--gs-font-body);
    color: var(--gs-ink);
    line-height: 1.7;
    font-size: 17px;
    overflow-x: clip;
}
.gs-page * { box-sizing: border-box; }
.gs-page img { max-width: 100%; height: auto; display: block; }
.gs-wrap { max-width: var(--gs-maxw); margin: 0 auto; padding: 0 24px; }
.gs-narrow { max-width: 860px; margin: 0 auto; padding: 0 24px; }

.gs-page h1, .gs-page h2, .gs-page h3, .gs-page h4 {
    font-family: var(--gs-font-head);
    color: var(--gs-ink);
    line-height: 1.12;
    letter-spacing: .3px;
    margin: 0 0 .5em;
    font-weight: 700;
}
.gs-page h2 { font-size: clamp(28px, 4vw, 44px); text-transform: uppercase; }
.gs-page h3 { font-size: clamp(21px, 2.4vw, 27px); }
.gs-page p { margin: 0 0 1.1em; }
.gs-page a { color: var(--gs-ember); }

/* kicker / eyebrow */
.gs-kicker {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--gs-font-head);
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-size: 13px; font-weight: 600;
    color: var(--gs-ember);
    margin-bottom: 14px;
}
.gs-kicker::before { content:""; width: 30px; height: 2px; background: var(--gs-ember); display:inline-block; }
.gs-center { text-align: center; }
.gs-center .gs-kicker::before { display: none; }

/* section rhythm */
.gs-section { padding: clamp(56px, 8vw, 100px) 0; }
.gs-section--tight { padding: clamp(40px, 5vw, 64px) 0; }
.gs-section--cream { background: var(--gs-cream); }
.gs-section--sand { background: var(--gs-sand); }
.gs-section--dark { background: var(--gs-charcoal); color: #e9e2d8; }
.gs-section--dark h2, .gs-section--dark h3 { color: #fff; }
.gs-section--dark p { color: #c3bbb0; }

.gs-lead { font-size: clamp(18px, 2.2vw, 21px); color: var(--gs-muted); max-width: 720px; }
.gs-center .gs-lead { margin-left: auto; margin-right: auto; }
.gs-section-head { margin-bottom: 54px; }

/* ============================================================
   Buttons
   ============================================================ */
.gs-btn {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--gs-font-head); font-weight: 600;
    text-transform: uppercase; letter-spacing: 1px; font-size: 15px;
    padding: 16px 32px; border-radius: 50px;
    text-decoration: none; cursor: pointer; border: 2px solid transparent;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
    line-height: 1;
}
.gs-btn--primary { background: var(--gs-ember); color: #fff !important; box-shadow: 0 10px 24px rgba(214,74,30,.32); }
.gs-btn--primary:hover { background: var(--gs-ember-dark); transform: translateY(-2px); box-shadow: 0 16px 30px rgba(214,74,30,.40); }
.gs-btn--ghost { background: transparent; color: var(--gs-ink) !important; border-color: var(--gs-ink); }
.gs-btn--ghost:hover { background: var(--gs-ink); color: #fff !important; }
.gs-btn--light { background: #fff; color: var(--gs-ink) !important; }
.gs-btn--light:hover { background: var(--gs-gold); transform: translateY(-2px); }
.gs-btn--outline-light { background: transparent; color:#fff !important; border-color: rgba(255,255,255,.55); }
.gs-btn--outline-light:hover { background:#fff; color: var(--gs-ink) !important; }
.gs-btn-row { display:flex; flex-wrap: wrap; gap: 14px; }
.gs-center .gs-btn-row { justify-content: center; }

/* ============================================================
   HERO
   ============================================================ */
.gs-hero {
    position: relative; min-height: 86vh; display:flex; align-items:center;
    color:#fff; overflow:hidden;
    background: var(--gs-charcoal);
}
.gs-hero__bg { position:absolute; inset:0; z-index:0; }
.gs-hero__bg img { width:100%; height:100%; object-fit: cover; }
.gs-hero__bg::after {
    content:""; position:absolute; inset:0;
    background: linear-gradient(90deg, rgba(14,12,11,.90) 0%, rgba(14,12,11,.72) 42%, rgba(14,12,11,.30) 100%);
}
.gs-hero__inner { position:relative; z-index:2; width:100%; }
.gs-hero__content { max-width: 640px; }
.gs-hero h1 {
    color:#fff; font-size: clamp(40px, 6vw, 76px); text-transform: uppercase;
    line-height: .98; margin-bottom: 22px; letter-spacing: .5px;
}
.gs-hero h1 .gs-fire { color: var(--gs-gold); }
.gs-hero p { font-size: clamp(17px, 2vw, 21px); color: #e2dad0; margin-bottom: 30px; max-width: 540px; }
.gs-hero__stats { display:flex; gap: 38px; margin-top: 46px; flex-wrap: wrap; }
.gs-hero__stat .n { font-family: var(--gs-font-head); font-size: 40px; font-weight:700; color: var(--gs-gold); line-height:1; }
.gs-hero__stat .l { font-size: 13px; text-transform: uppercase; letter-spacing: 1.5px; color:#b7aea3; margin-top: 8px; }

/* ============================================================
   USP / trust bar
   ============================================================ */
.gs-usp { background: var(--gs-charcoal-2); }
.gs-usp__grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.08); }
.gs-usp__item { background: var(--gs-charcoal-2); padding: 30px 26px; display:flex; gap:16px; align-items:flex-start; }
.gs-usp__item .ic { font-size: 26px; line-height:1; filter: grayscale(0); }
.gs-usp__item h4 { color:#fff; font-family: var(--gs-font-head); text-transform:uppercase; font-size: 16px; margin:0 0 5px; letter-spacing:.5px; }
.gs-usp__item p { color:#a89f94; font-size: 13.5px; margin:0; line-height:1.5; }

/* ============================================================
   Category showcase
   ============================================================ */
.gs-cats { display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.gs-cat {
    position:relative; border-radius: var(--gs-radius-lg); overflow:hidden;
    min-height: 320px; display:flex; align-items:flex-end;
    text-decoration:none; color:#fff; box-shadow: var(--gs-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}
.gs-cat:hover { transform: translateY(-6px); box-shadow: var(--gs-shadow-lg); }
.gs-cat img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; transition: transform .5s ease; }
.gs-cat:hover img { transform: scale(1.07); }
.gs-cat::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(10,8,7,.88) 100%); z-index:1; }
.gs-cat__body { position:relative; z-index:2; padding: 28px; width:100%; }
.gs-cat__count { font-size: 12.5px; text-transform:uppercase; letter-spacing:1.5px; color: var(--gs-gold); font-weight:600; }
.gs-cat h3 { color:#fff; margin: 6px 0 4px; font-size: 25px; text-transform:uppercase; }
.gs-cat__link { font-family: var(--gs-font-head); text-transform:uppercase; font-size:13.5px; letter-spacing:1px; color:#fff; display:inline-flex; gap:7px; align-items:center; }
.gs-cat__link::after { content:"→"; transition: transform .2s ease; }
.gs-cat:hover .gs-cat__link::after { transform: translateX(5px); }
.gs-cat--wide { grid-column: span 2; min-height: 320px; }

/* ============================================================
   Split feature (image + text)
   ============================================================ */
.gs-split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,70px); align-items:center; }
.gs-split--rev .gs-split__media { order: 2; }
.gs-split__media { border-radius: var(--gs-radius-lg); overflow:hidden; box-shadow: var(--gs-shadow); position: relative; }
.gs-split__media img { width:100%; height:100%; object-fit:cover; min-height: 340px; }
.gs-split__badge {
    position:absolute; top:22px; left:22px; background: var(--gs-ember); color:#fff;
    font-family:var(--gs-font-head); text-transform:uppercase; font-weight:600; letter-spacing:1px;
    font-size:13px; padding:10px 18px; border-radius:50px; box-shadow: var(--gs-shadow-sm);
}
.gs-check { list-style:none; padding:0; margin: 22px 0 28px; }
.gs-check li { position:relative; padding-left: 36px; margin-bottom: 14px; font-size: 16.5px; }
.gs-check li::before {
    content:"✓"; position:absolute; left:0; top:-1px; width:24px; height:24px; border-radius:50%;
    background: rgba(214,74,30,.12); color: var(--gs-ember); font-weight:700; font-size:13px;
    display:flex; align-items:center; justify-content:center;
}

/* ============================================================
   Feature cards grid
   ============================================================ */
.gs-grid-3 { display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.gs-grid-2 { display:grid; grid-template-columns: repeat(2,1fr); gap: 26px; }
.gs-grid-4 { display:grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.gs-card {
    background:#fff; border:1px solid var(--gs-line); border-radius: var(--gs-radius-lg);
    padding: 34px 30px; box-shadow: var(--gs-shadow-sm); transition: transform .2s ease, box-shadow .2s ease;
}
.gs-card:hover { transform: translateY(-5px); box-shadow: var(--gs-shadow); }
.gs-card__ic {
    width: 58px; height:58px; border-radius: 16px; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(135deg, var(--gs-ember), var(--gs-gold)); color:#fff; font-size:26px; margin-bottom:20px;
}
.gs-card h3 { font-size: 20px; }
.gs-card p { color: var(--gs-muted); font-size: 15.5px; margin:0; }
.gs-card__num { font-family:var(--gs-font-head); font-size: 44px; color: var(--gs-sand); font-weight:700; line-height:1; margin-bottom:10px; }
.gs-section--dark .gs-card { background: var(--gs-charcoal-2); border-color: rgba(255,255,255,.08); }
.gs-section--dark .gs-card p { color:#a89f94; }
.gs-section--dark .gs-card__num { color: rgba(255,255,255,.12); }

/* ============================================================
   Steps
   ============================================================ */
.gs-steps { display:grid; grid-template-columns: repeat(4,1fr); gap: 26px; counter-reset: step; }
.gs-step { text-align:center; position: relative; }
.gs-step__n { width:64px; height:64px; margin:0 auto 18px; border-radius:50%; background: var(--gs-ember); color:#fff;
    font-family:var(--gs-font-head); font-size:26px; font-weight:700; display:flex; align-items:center; justify-content:center; box-shadow: 0 10px 22px rgba(214,74,30,.3); }
.gs-step h3 { font-size:19px; }
.gs-step p { color:var(--gs-muted); font-size:15px; margin:0; }

/* ============================================================
   Stat band
   ============================================================ */
.gs-statband { display:grid; grid-template-columns: repeat(4,1fr); gap: 30px; text-align:center; }
.gs-statband .n { font-family:var(--gs-font-head); font-size: clamp(38px,5vw,56px); font-weight:700; color: var(--gs-gold); line-height:1; }
.gs-statband .l { text-transform:uppercase; letter-spacing:1.5px; font-size:13.5px; color:#b7aea3; margin-top:10px; }

/* ============================================================
   CTA band
   ============================================================ */
.gs-cta {
    position:relative; border-radius: var(--gs-radius-lg); overflow:hidden; color:#fff;
    padding: clamp(46px,7vw,86px) clamp(28px,6vw,80px);
}
.gs-cta__bg { position:absolute; inset:0; z-index:0; }
.gs-cta__bg img { width:100%; height:100%; object-fit:cover; }
.gs-cta__bg::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(14,12,11,.92), rgba(14,12,11,.55)); }
.gs-cta__inner { position:relative; z-index:2; max-width: 620px; }
.gs-cta h2 { color:#fff; }
.gs-cta p { color:#ddd4c9; }

/* ============================================================
   Testimonials
   ============================================================ */
.gs-quotes { display:grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.gs-quote { background:#fff; border:1px solid var(--gs-line); border-radius: var(--gs-radius-lg); padding: 32px 28px; box-shadow: var(--gs-shadow-sm); }
.gs-quote__stars { color: var(--gs-gold); font-size: 17px; letter-spacing:2px; margin-bottom:14px; }
.gs-quote p { font-size: 16px; font-style: italic; color: #46413c; }
.gs-quote__who { display:flex; align-items:center; gap:12px; margin-top:18px; }
.gs-quote__av { width:46px; height:46px; border-radius:50%; background: linear-gradient(135deg,var(--gs-ember),var(--gs-gold)); color:#fff; font-family:var(--gs-font-head); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:18px; }
.gs-quote__who b { display:block; font-size:15px; }
.gs-quote__who span { font-size:13px; color:var(--gs-muted); }

/* ============================================================
   Content / long-form (shop + category SEO text)
   ============================================================ */
.gs-prose { font-size: 17px; line-height: 1.8; color: #3a3530; }
.gs-prose h2 { margin-top: 1.4em; }
.gs-prose h3 { margin-top: 1.5em; color: var(--gs-ink); }
.gs-prose ul { padding-left: 0; list-style:none; margin: 0 0 1.4em; }
.gs-prose ul li { position:relative; padding-left: 30px; margin-bottom: 11px; }
.gs-prose ul li::before { content:"🔥"; position:absolute; left:0; top:0; font-size:14px; }
.gs-prose table { width:100%; border-collapse: collapse; margin: 1.5em 0; font-size: 15.5px; border-radius: var(--gs-radius); overflow:hidden; box-shadow: var(--gs-shadow-sm); }
.gs-prose th { background: var(--gs-charcoal); color:#fff; text-align:left; padding: 14px 18px; font-family:var(--gs-font-head); text-transform:uppercase; font-size:14px; letter-spacing:.5px; }
.gs-prose td { padding: 13px 18px; border-bottom: 1px solid var(--gs-line); background:#fff; }
.gs-prose tr:nth-child(even) td { background: var(--gs-cream); }
.gs-prose blockquote { border-left: 4px solid var(--gs-ember); background: var(--gs-cream); margin: 1.5em 0; padding: 20px 26px; border-radius: 0 var(--gs-radius) var(--gs-radius) 0; font-style:italic; color:#46413c; }

/* FAQ accordion-style (details) */
.gs-faq { max-width: 860px; margin: 0 auto; }
.gs-faq details { background:#fff; border:1px solid var(--gs-line); border-radius: var(--gs-radius); margin-bottom: 14px; padding: 0; box-shadow: var(--gs-shadow-sm); overflow:hidden; }
.gs-faq summary { cursor:pointer; padding: 20px 26px; font-family:var(--gs-font-head); font-size:18px; font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.gs-faq summary::-webkit-details-marker { display:none; }
.gs-faq summary::after { content:"+"; font-size:26px; color:var(--gs-ember); transition: transform .2s ease; font-weight:400; }
.gs-faq details[open] summary::after { transform: rotate(45deg); }
.gs-faq details > div { padding: 0 26px 22px; color: var(--gs-muted); }

/* ============================================================
   Contact
   ============================================================ */
.gs-contact { display:grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items:start; }
.gs-contact__item { display:flex; gap:18px; margin-bottom: 26px; align-items:flex-start; }
.gs-contact__ic { flex:0 0 auto; width:52px; height:52px; border-radius:14px; background: linear-gradient(135deg,var(--gs-ember),var(--gs-gold)); color:#fff; font-size:22px; display:flex; align-items:center; justify-content:center; }
.gs-contact__item h4 { margin:0 0 4px; font-size:18px; }
.gs-contact__item p { margin:0; color:var(--gs-muted); }
.gs-contact__card { background:#fff; border:1px solid var(--gs-line); border-radius: var(--gs-radius-lg); padding: 38px; box-shadow: var(--gs-shadow); }

/* info callout boxes for legal pages */
.gs-note { background: var(--gs-cream); border:1px solid var(--gs-line); border-left: 4px solid var(--gs-ember); border-radius: var(--gs-radius); padding: 20px 24px; margin: 1.4em 0; }
.gs-note strong { color: var(--gs-ink); }

/* page hero (interior) */
.gs-phero { position:relative; color:#fff; padding: clamp(70px,10vw,130px) 0 clamp(50px,7vw,86px); background: var(--gs-charcoal); overflow:hidden; }
.gs-phero__bg { position:absolute; inset:0; z-index:0; opacity:.38; }
.gs-phero__bg img { width:100%; height:100%; object-fit:cover; }
.gs-phero::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(14,12,11,.6), rgba(14,12,11,.85)); z-index:1; }
.gs-phero__inner { position:relative; z-index:2; }
.gs-phero h1 { color:#fff; font-size: clamp(34px,5vw,60px); text-transform:uppercase; margin:0 0 12px; }
.gs-phero p { color:#d6cdc2; font-size: 18px; max-width:620px; margin:0; }
.gs-crumb { font-size:13px; text-transform:uppercase; letter-spacing:1.5px; color: var(--gs-gold); margin-bottom:16px; font-family:var(--gs-font-head); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
    .gs-usp__grid { grid-template-columns: repeat(2,1fr); }
    .gs-cats { grid-template-columns: repeat(2,1fr); }
    .gs-cat--wide { grid-column: span 2; }
    .gs-grid-4 { grid-template-columns: repeat(2,1fr); }
    .gs-steps { grid-template-columns: repeat(2,1fr); }
    .gs-statband { grid-template-columns: repeat(2,1fr); gap: 36px 20px; }
}
@media (max-width: 860px) {
    .gs-split, .gs-contact { grid-template-columns: 1fr; }
    .gs-split--rev .gs-split__media { order: 0; }
    .gs-grid-3, .gs-grid-2, .gs-quotes { grid-template-columns: 1fr; }
    .gs-hero { min-height: auto; padding: 120px 0 70px; }
    .gs-hero__stats { gap: 26px; }
}
@media (max-width: 560px) {
    .gs-cats { grid-template-columns: 1fr; }
    .gs-cat--wide { grid-column: span 1; }
    .gs-usp__grid { grid-template-columns: 1fr; }
    .gs-grid-4, .gs-steps, .gs-statband { grid-template-columns: 1fr; }
    .gs-page { font-size: 16px; }
    .gs-btn { width:100%; justify-content:center; }
    .gs-center .gs-btn-row { flex-direction: column; }
}

/* ============================================================
   WOOCOMMERCE — Shop catalog & single product refinements
   (scoped to work alongside WoodMart)
   ============================================================ */

/* ---- Accent color harmonisation (ember) ---- */
.woocommerce-page .button.alt,
.woocommerce .button.alt,
.single-product .single_add_to_cart_button,
.wd-buttons .wd-add-btn > a,
.product-grid-item .wd-buttons .add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button.alt {
    background-color: var(--gs-ember) !important;
    border-color: var(--gs-ember) !important;
    color:#fff !important;
    border-radius: 50px !important;
    font-family: var(--gs-font-head) !important;
    letter-spacing:.5px;
}
.woocommerce .button.alt:hover,
.single-product .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover { background-color: var(--gs-ember-dark) !important; border-color: var(--gs-ember-dark) !important; }

.price, .woocommerce div.product p.price, .woocommerce ul.products li.product .price,
.product-grid-item .price ins, .price ins .amount { color: var(--gs-ember) !important; }
.price del, .price del .amount { color:#b0a79c !important; }

/* sale badge */
.product-grid-item .product-labels .onsale,
.woocommerce span.onsale,
.wd-product .product-labels .out-of-stock,
.woocommerce ul.products li.product .onsale {
    background: var(--gs-ember) !important; color:#fff !important;
    border-radius: 50px !important; font-family: var(--gs-font-head); font-weight:600; letter-spacing:.5px;
    min-height: auto; padding: 5px 13px; line-height:1.3;
}

/* ---- Product grid cards (catalog) ---- */
.wd-products .product-grid-item,
.woocommerce ul.products li.product.product-grid-item {
    border: 1px solid var(--gs-line);
    border-radius: var(--gs-radius-lg);
    padding: 14px 14px 20px;
    background:#fff;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.wd-products .product-grid-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--gs-shadow);
    border-color: transparent;
}
.product-grid-item .product-image-link,
.product-grid-item .wd-product-wrapper .hover-img,
.product-grid-item .product-element-top { border-radius: var(--gs-radius); overflow:hidden; }
.product-grid-item .wd-entities-title { font-family: var(--gs-font-head); }
.product-grid-item .wd-entities-title a { color: var(--gs-ink); font-weight:600; }
.product-grid-item .wd-entities-title a:hover { color: var(--gs-ember); }

/* shop toolbar / result count polish */
.woocommerce-result-count, .woocommerce-ordering select, .wd-page-title .entry-title { font-family: var(--gs-font-head); }

/* category pills on shop */
.gs-shop-pills { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin: 0 0 10px; }
.gs-shop-pills a {
    display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    background:#fff; border:1px solid var(--gs-line); color: var(--gs-ink);
    padding: 11px 22px; border-radius: 50px; font-family: var(--gs-font-head);
    font-size:14.5px; font-weight:600; letter-spacing:.3px; transition: all .18s ease;
}
.gs-shop-pills a:hover { background: var(--gs-ember); color:#fff; border-color: var(--gs-ember); transform: translateY(-2px); }
.gs-shop-pills a .c { font-size:12px; color: var(--gs-muted); }
.gs-shop-pills a:hover .c { color: rgba(255,255,255,.8); }

/* ---- Single product page ---- */
.single-product div.product .product_title {
    font-family: var(--gs-font-head); text-transform:none; font-size: clamp(26px,3vw,38px); line-height:1.1;
}
.single-product div.product .woocommerce-product-rating { margin-bottom: 14px; }
.single-product .summary .price { font-size: 30px !important; font-weight:700; }
.single-product form.cart .quantity input,
.single-product .quantity .qty { border-radius: 10px; border:1px solid var(--gs-line); }
.single-product .single_add_to_cart_button { padding: 16px 40px !important; font-size:16px !important; }

/* product gallery rounding */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery img,
.single-product .wd-single-image { border-radius: var(--gs-radius-lg) !important; overflow:hidden; }

/* tabs styling */
.single-product .wc-tabs-wrapper .wc-tabs li a,
.woocommerce-tabs ul.tabs li a { font-family: var(--gs-font-head); text-transform:uppercase; letter-spacing:.5px; }
.woocommerce-tabs ul.tabs li.active a, .wc-tabs li.active a { color: var(--gs-ember); }

/* meta (SKU, cats) */
.single-product .product_meta { font-size: 14px; border-top:1px solid var(--gs-line); padding-top: 18px; margin-top: 8px; }

/* trust strip on single product */
.gs-pdp-trust { display:grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin: 24px 0 6px; }
.gs-pdp-trust .it { display:flex; gap:12px; align-items:center; background: var(--gs-cream); border:1px solid var(--gs-line); border-radius: var(--gs-radius); padding: 13px 16px; font-size:14px; }
.gs-pdp-trust .it .ic { font-size:20px; }
.gs-pdp-trust .it b { display:block; font-family:var(--gs-font-head); font-size:14.5px; color:var(--gs-ink); }
.gs-pdp-trust .it span { color: var(--gs-muted); font-size:12.5px; }

/* Related products heading */
.related.products > h2, .upsells.products > h2 { font-family:var(--gs-font-head); text-transform:uppercase; }

@media (max-width: 560px){
  .gs-pdp-trust { grid-template-columns: 1fr; }
}

/* ============================================================
   Contact form
   ============================================================ */
.gs-form__row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gs-field { margin-bottom:18px; }
.gs-field label { display:block; font-family:var(--gs-font-head); font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; color:var(--gs-ink); }
.gs-field input, .gs-field textarea {
    width:100%; padding:14px 16px; border:1px solid var(--gs-line); border-radius:12px;
    font-family:var(--gs-font-body); font-size:16px; background:#fff; color:var(--gs-ink); transition:border-color .15s ease, box-shadow .15s ease;
}
.gs-field input:focus, .gs-field textarea:focus { outline:none; border-color:var(--gs-ember); box-shadow:0 0 0 3px rgba(214,74,30,.12); }
.gs-form button { border:none; margin-top:4px; }
@media (max-width:560px){ .gs-form__row { grid-template-columns:1fr; } }

/* ============================================================
   SEO content block injected below shop/category grids
   ============================================================ */
.gs-seo-outer { margin-top: 50px; border-top: 1px solid var(--gs-line); }
.gs-seo-outer .gs-page { font-size: 16.5px; }
.gs-seo-outer .gs-section:first-child { padding-top: 48px; }
/* break the injected block out to full content width inside WooCommerce wrapper */
.gs-seo-outer .gs-section--cream, .gs-seo-outer .gs-section--sand { border-radius: var(--gs-radius-lg); }

/* ============================================================
   WoodMart header/theme accent harmonisation (green -> ember)
   ============================================================ */
:root {
    --wd-primary-color: #d64a1e;
    --wd-link-color: #d64a1e;
    --wd-link-color-hover: #b23b16;
    --btn-accented-bg: #d64a1e;
    --btn-accented-bg-hover: #b23b16;
}
/* Top promo bar: charcoal instead of green */
.whb-top-bar.whb-with-bg { background-color: var(--gs-charcoal) !important; }
.whb-top-bar .wd-header-text, .whb-top-bar .wd-header-text strong, .whb-top-bar a { color:#f3ece2 !important; }
.whb-top-bar .wd-nav > li > a { color:#cfc7bc !important; }
.whb-top-bar .wd-nav > li > a:hover { color:#fff !important; }
/* Generic green -> ember for common theme accents */
.wd-nav-product .wd-nav > li.current-menu-item > a,
.wd-dropdown-menu a:hover,
.woocommerce-breadcrumb a:hover,
a:hover { color: var(--gs-ember); }

/* ============================================================
   Brand logo replacement (default WoodMart logo -> Grill & Smoker)
   ============================================================ */
img[src*="wood-logo"] {
    content: url('https://grillundsmoker.de/wp-content/uploads/2026/10/grillsmoker-logo.svg');
    max-height: 46px !important;
    width: auto !important;
}
.whb-general-products .wd-header-logo img, .wd-header-logo img { max-height: 46px; width: auto; }

/* ============================================================
   Custom footer
   ============================================================ */
.wd-footer-wrapp .wd-footer, .wd-footer.footer-container { display:none !important; } /* hide default sparse footer */
.gs-footer { background: var(--gs-charcoal); color:#b8afa4; font-family: var(--gs-font-body); font-size:15px; line-height:1.7; }
.gs-footer__grid { display:grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; padding: 64px 0 48px; }
.gs-footer__logo { height:48px; width:auto; margin-bottom:18px; filter: brightness(0) invert(1); }
.gs-footer__brand p { color:#9d948a; max-width:320px; }
.gs-footer__social { display:flex; gap:10px; margin-top:18px; }
.gs-footer__social a { width:38px; height:38px; border-radius:50%; background: rgba(255,255,255,.08); color:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700; transition: background .18s ease; }
.gs-footer__social a:hover { background: var(--gs-ember); }
.gs-footer__col h4 { color:#fff; font-family: var(--gs-font-head); text-transform:uppercase; font-size:16px; letter-spacing:.5px; margin:0 0 20px; }
.gs-footer__col ul { list-style:none; margin:0; padding:0; }
.gs-footer__col ul li { margin-bottom:11px; }
.gs-footer__col ul li a { color:#b8afa4; text-decoration:none; transition: color .15s ease; }
.gs-footer__col ul li a:hover { color: var(--gs-gold); }
.gs-footer__contact li { display:flex; gap:10px; align-items:flex-start; }
.gs-footer__pay { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.gs-footer__pay span { background: rgba(255,255,255,.08); color:#d8cfc4; font-size:12px; font-weight:600; padding:6px 12px; border-radius:6px; letter-spacing:.3px; }
.gs-footer__bar { border-top:1px solid rgba(255,255,255,.08); padding: 22px 0; }
.gs-footer__barinner { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; font-size:13.5px; color:#8f867c; }
.gs-footer__legal { display:flex; gap:22px; flex-wrap:wrap; }
.gs-footer__legal a { color:#b8afa4; text-decoration:none; }
.gs-footer__legal a:hover { color: var(--gs-gold); }
@media (max-width:960px){ .gs-footer__grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:560px){ .gs-footer__grid { grid-template-columns:1fr; padding:44px 0 34px; } .gs-footer__barinner { flex-direction:column; text-align:center; } }
