/*
Theme Name:   Hoblins - Flatsome Child
Theme URI:    https://www.hoblins.co.uk
Description:  Flatsome child theme for Hoblins bronze sculptures. Warm parchment editorial aesthetic.
Author:       Julian Jeffery / Hoblins
Author URI:   https://www.hoblins.co.uk
Template:     flatsome
Version:      3.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hoblins-child
*/

/* ============================================================
   GOOGLE FONTS
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

/* ============================================================
   CSS TOKENS  —  Warm Parchment / Mythical Ireland palette
============================================================ */
:root {
  /* Backgrounds */
  --hob-page:      #f0e8d0;   /* warm parchment — main page bg  */
  --hob-card:      #e4d8be;   /* slightly deeper — cards, strips */
  --hob-card-alt:  #ddd0b0;   /* darker card variant             */
  --hob-dark:      #1d2b1f;   /* forest green — header, dark sections */
  --hob-dark-mid:  #243220;   /* slightly lighter forest green   */

  /* Text */
  --hob-ink:       #1c1a14;   /* near-black — headings           */
  --hob-body:      #2e2416;   /* warm dark brown — body text     */
  --hob-muted:     #6b5a3e;   /* mid-brown — secondary text      */
  --hob-faint:     #8c7a5e;   /* light brown — captions, meta    */
  --hob-on-dark:   #f0e8d0;   /* text on dark bg                 */
  --hob-on-dark-m: rgba(240,232,208,0.7); /* muted text on dark  */

  /* Accents (unchanged) */
  --hob-bronze:    #b5854a;
  --hob-bronze-l:  #d4a865;
  --hob-bronze-d:  #7a5228;

  /* Utility */
  --hob-border:    rgba(122,92,46,0.2);
  --hob-border-dk: rgba(240,232,208,0.15); /* border on dark bg  */
  --hob-parchment: #f2ead8;               /* legacy alias        */
  --hob-cream:     #ede4ce;               /* legacy alias        */

  /* Fonts */
  --hob-f-display: 'Cinzel Decorative', Georgia, serif;
  --hob-f-heading: 'Cinzel', Georgia, serif;
  --hob-f-body:    'EB Garamond', Georgia, serif;
  --hob-ease:      0.3s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ============================================================
   1. GLOBAL CANVAS — light parchment
============================================================ */
html,
body,
#wrapper,
#main,
.page-wrapper,
.main-container,
#content,
.content-area,
.woocommerce-page #main,
.woocommerce-account #main,
.woocommerce-cart #main,
.woocommerce-checkout #main {
  background-color: var(--hob-page) !important;
  color: var(--hob-body) !important;
}

body {
  font-family: var(--hob-f-body) !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  overflow-x: hidden;
}

/* Subtle paper texture grain — much lighter than dark version */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9900;
  opacity: 0.10;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E");
}

.row, .ux-row, .section, .ux-section,
[class*="ux-builder"], .container, .flex-row, .page-container {
  background-color: transparent !important;
}

::selection { background: var(--hob-bronze-d); color: var(--hob-parchment); }

/* ============================================================
   2. TYPOGRAPHY
============================================================ */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--hob-f-display) !important;
  color: var(--hob-ink) !important;
  line-height: 1.15 !important;
  font-weight: 400 !important;
}

h4, h5, h6 {
  font-family: var(--hob-f-heading) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

p, li, td, th { font-family: var(--hob-f-body); color: var(--hob-body); }

a { color: var(--hob-bronze-d) !important; text-decoration: none !important; transition: color var(--hob-ease) !important; }
a:hover { color: var(--hob-bronze) !important; }

em, i { color: var(--hob-bronze); }
strong, b { color: var(--hob-ink); }

blockquote, blockquote p {
  font-family: var(--hob-f-heading) !important;
  color: var(--hob-bronze) !important;
  border-left: 3px solid var(--hob-bronze) !important;
  background: rgba(181,133,74,0.06) !important;
  padding: 1.4rem 2rem !important;
  margin: 2rem 0 !important;
}

/* ============================================================
   3. HEADER & NAVIGATION — stays dark forest green
============================================================ */

#header, .header-wrapper, #header .header-inner, .header-bg {
  background: var(--hob-dark) !important;
  background-color: var(--hob-dark) !important;
  border-bottom: 1px solid rgba(181,133,74,0.15) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.25) !important;
  transition: background var(--hob-ease), box-shadow var(--hob-ease) !important;
}

/* Transparent on homepage hero — fades to dark */
.home #header,
.home .header-wrapper {
  background: linear-gradient(180deg, rgba(29,43,31,0.92) 0%, rgba(29,43,31,0.6) 100%) !important;
}

#header.is-sticky .header-inner,
#header.sticky-header .header-inner {
  background: rgba(29,43,31,0.98) !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
  backdrop-filter: blur(8px) !important;
}

/* Logo */
#header .logo a,
.header-logo a { color: var(--hob-bronze-l) !important; }

/* Nav links */
#main-nav > ul > li > a,
.nav > li > a,
.header-nav > ul > li > a {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--hob-on-dark) !important;
  background: transparent !important;
}

#main-nav > ul > li > a:hover,
#main-nav > ul > li.current-menu-item > a {
  color: var(--hob-bronze-l) !important;
  background: transparent !important;
}

/* Dropdown menus */
.nav-dropdown, .sub-menu, .dropdown-ul {
  background: rgba(29,43,31,0.99) !important;
  border: 1px solid var(--hob-border-dk) !important;
  border-top: 2px solid var(--hob-bronze) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
}

.nav-dropdown a, .sub-menu li a, .dropdown-ul li a {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
  color: var(--hob-on-dark-m) !important;
  background: transparent !important;
}

.nav-dropdown a:hover, .sub-menu li a:hover {
  color: var(--hob-bronze-l) !important;
  background: rgba(181,133,74,0.08) !important;
}

/* Cart & account icons */
.header-cart-link,
.icon-account,
#header .header-cart,
#header .header-account { color: var(--hob-on-dark) !important; }

.cart-count, .header-cart-count {
  background: var(--hob-bronze) !important;
  color: var(--hob-dark) !important;
  font-family: var(--hob-f-heading) !important;
  border-radius: 0 !important;
}

/* Cart price */
.header-cart .cart-price,
#header .cart-price { color: var(--hob-bronze-l) !important; }

/* Mobile menu */
.nav-icon span, .hamburger-icon span, .hamburger span {
  background: var(--hob-bronze-l) !important;
}
#mobile-menu, .mobile-sidebar { background: rgba(29,43,31,0.99) !important; }
#mobile-menu li a { color: var(--hob-on-dark) !important; font-family: var(--hob-f-heading) !important; border-bottom-color: var(--hob-border-dk) !important; }

/* ============================================================
   4. FLATSOME BANNER ELEMENTS (hero images stay dark)
============================================================ */

.banner, .ux-banner { position: relative; overflow: hidden; }
.banner h1, .banner h2, .banner h3 { color: var(--hob-on-dark) !important; text-shadow: 0 3px 30px rgba(0,0,0,0.7); }
.banner p { color: var(--hob-parchment) !important; }

/* Dark sections explicitly set in UX Builder */
.section-dark,
[data-bg-color="#1a2214"],
[data-bg-color="#0d0a07"],
[data-bg-color="#1d2b1f"] {
  background-color: var(--hob-dark) !important;
}
[data-bg-color="#1a2214"] h1,
[data-bg-color="#1a2214"] h2,
[data-bg-color="#1a2214"] h3,
[data-bg-color="#1a2214"] p,
[data-bg-color="#0d0a07"] h1,
[data-bg-color="#0d0a07"] h2,
[data-bg-color="#0d0a07"] p {
  color: var(--hob-on-dark) !important;
}

/* ============================================================
   5. IMAGE BOXES
============================================================ */

.ux-image-box, .box-image-inner {
  overflow: hidden;
  background: var(--hob-card);
  border: 1px solid var(--hob-border);
  border-radius: 0 !important;
  transition: transform var(--hob-ease), border-color var(--hob-ease) !important;
}

.ux-image-box:hover { border-color: var(--hob-bronze) !important; }

.ux-image-box img {
  transition: transform 0.6s var(--hob-ease), filter 0.5s ease !important;
  filter: brightness(0.9) saturate(0.85) !important;
}

.ux-image-box:hover img {
  transform: scale(1.05) !important;
  filter: brightness(1) saturate(1) !important;
}

/* ============================================================
   6. BUTTONS
============================================================ */

.button, .btn,
button:not(.menu-btn):not(.close):not(.hamburger):not([class*="nav"]),
input[type="submit"], input[type="button"],
.woocommerce a.button, .woocommerce button.button {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all var(--hob-ease) !important;
}

.button.primary, .button.alt, .button.is-primary,
.woocommerce a.button.alt, .woocommerce button.button.alt,
#place_order, .single_add_to_cart_button {
  background: var(--hob-bronze) !important;
  color: var(--hob-dark) !important;
  border: none !important;
  padding: 0.95rem 2.2rem !important;
}

.button.primary:hover, .button.alt:hover,
.single_add_to_cart_button:hover, #place_order:hover {
  background: var(--hob-bronze-l) !important;
  color: var(--hob-dark) !important;
}

.button.outline {
  background: transparent !important;
  border: 1px solid var(--hob-border) !important;
  color: var(--hob-bronze) !important;
}

.button.outline:hover {
  background: rgba(181,133,74,0.08) !important;
  border-color: var(--hob-bronze) !important;
  color: var(--hob-bronze-d) !important;
}

/* ============================================================
   7. WOOCOMMERCE — SHOP ARCHIVE
============================================================ */

.woocommerce-page #main,
.woocommerce-shop #main { background: var(--hob-page) !important; }

.page-title-bar, .woocommerce-products-header {
  background: var(--hob-card) !important;
  border-bottom: 1px solid var(--hob-border) !important;
}

.page-title-bar h1, .woocommerce-products-header__title {
  font-family: var(--hob-f-display) !important;
  color: var(--hob-ink) !important;
}

.woocommerce-breadcrumb {
  font-family: var(--hob-f-heading);
  font-size: 0.68rem;
  color: var(--hob-faint) !important;
}
.woocommerce-breadcrumb a { color: var(--hob-bronze-d) !important; }
.woocommerce-breadcrumb a:hover { color: var(--hob-bronze) !important; }

.woocommerce-ordering select {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  color: var(--hob-ink) !important;
  font-family: var(--hob-f-heading) !important;
  border-radius: 0 !important;
}

.woocommerce-result-count {
  color: var(--hob-muted) !important;
  font-family: var(--hob-f-heading) !important;
}

/* Product cards */
ul.products li.product, .product-grid-item {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  border-radius: 0 !important;
  overflow: hidden;
  transition: border-color var(--hob-ease), transform var(--hob-ease) !important;
}

ul.products li.product:hover, .product-grid-item:hover {
  border-color: var(--hob-bronze) !important;
  transform: translateY(-3px) !important;
}

ul.products li.product img, .product-grid-item img {
  filter: brightness(0.92) saturate(0.8) !important;
  transition: transform 0.6s var(--hob-ease), filter 0.5s ease !important;
}

ul.products li.product:hover img, .product-grid-item:hover img {
  transform: scale(1.05) !important;
  filter: brightness(1) saturate(1) !important;
}

.woocommerce-loop-product__title, ul.products li.product h2 {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--hob-ink) !important;
  background: var(--hob-card-alt) !important;
  padding: 1.2rem 1.3rem 0.4rem !important;
  margin: 0 !important;
}

ul.products li.product .price, .amount {
  font-family: var(--hob-f-heading) !important;
  color: var(--hob-bronze) !important;
  background: var(--hob-card-alt) !important;
  padding: 0 1.3rem 0.4rem !important;
  display: block !important;
}

.onsale {
  background: var(--hob-bronze) !important;
  color: var(--hob-dark) !important;
  border-radius: 0 !important;
  font-family: var(--hob-f-heading) !important;
}

ul.products li.product .button,
ul.products li.product .add_to_cart_button {
  background: var(--hob-card-alt) !important;
  border: 1px solid var(--hob-border) !important;
  color: var(--hob-bronze-d) !important;
  width: 100% !important;
  border-radius: 0 !important;
}

ul.products li.product .button:hover {
  background: var(--hob-bronze) !important;
  color: var(--hob-dark) !important;
  border-color: var(--hob-bronze) !important;
}

/* ============================================================
   8. WOOCOMMERCE — SINGLE PRODUCT
============================================================ */

.single-product #main { background: var(--hob-page) !important; }

.single-product .product_title, h1.product_title {
  font-family: var(--hob-f-display) !important;
  color: var(--hob-ink) !important;
}

.single-product p.price {
  font-family: var(--hob-f-heading) !important;
  font-size: 1.5rem !important;
  color: var(--hob-bronze) !important;
}

.woocommerce-product-details__short-description {
  font-family: var(--hob-f-body) !important;
  color: var(--hob-muted) !important;
  border-top: 1px solid var(--hob-border);
  padding-top: 1.2rem;
  margin-top: 1.2rem;
}

.woocommerce-product-gallery__image img,
.flex-viewport img { border: 1px solid var(--hob-border) !important; }
.flex-control-thumbs li img { border: 1px solid var(--hob-border) !important; opacity: 0.7; }
.flex-control-thumbs li img.flex-active { border-color: var(--hob-bronze) !important; opacity: 1; }

.quantity input[type="number"] {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  color: var(--hob-ink) !important;
  font-family: var(--hob-f-heading) !important;
  border-radius: 0 !important;
}

/* Tabs */
.woocommerce-tabs .tabs {
  border-bottom: 1px solid var(--hob-border) !important;
  background: transparent !important;
}
.woocommerce-tabs .tabs li {
  background: transparent !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce-tabs .tabs li.active { border-bottom-color: var(--hob-bronze) !important; }
.woocommerce-tabs .tabs li a {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--hob-muted) !important;
  background: transparent !important;
}
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover { color: var(--hob-bronze) !important; }

.woocommerce-Tabs-panel, .panel {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  border-top: none !important;
  padding: 2rem !important;
  color: var(--hob-muted) !important;
}

.related.products > h2, .upsells > h2 {
  font-family: var(--hob-f-display) !important;
  color: var(--hob-ink) !important;
  border-bottom: 1px solid var(--hob-border);
  padding-bottom: 1rem;
}

.product_meta span,
.product_meta a { font-family: var(--hob-f-heading); font-size: 0.7rem; text-transform: uppercase; color: var(--hob-faint) !important; }
.product_meta a { color: var(--hob-bronze-d) !important; }
.product_meta a:hover { color: var(--hob-bronze) !important; }
.star-rating span::before { color: var(--hob-bronze) !important; }

/* ============================================================
   9. WOOCOMMERCE — CART
============================================================ */

.woocommerce-cart #main { background: var(--hob-page) !important; }

.woocommerce table.shop_table {
  background: transparent !important;
  border: 1px solid var(--hob-border) !important;
  border-collapse: collapse !important;
}
.woocommerce table.shop_table th {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--hob-bronze) !important;
  background: var(--hob-card) !important;
  border-bottom: 1px solid var(--hob-border) !important;
}
.woocommerce table.shop_table td {
  border-bottom: 1px solid var(--hob-border) !important;
  color: var(--hob-muted) !important;
}
.woocommerce table.shop_table td a {
  color: var(--hob-ink) !important;
  font-family: var(--hob-f-heading);
}
.cart_totals {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  padding: 1.8rem !important;
}
.cart_totals h2 {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--hob-bronze) !important;
}

/* ============================================================
   10. WOOCOMMERCE — CHECKOUT
============================================================ */

.woocommerce-checkout #main { background: var(--hob-page) !important; }

.woocommerce form .input-text, .woocommerce-checkout .input-text,
.woocommerce input[type="text"], .woocommerce input[type="email"],
.woocommerce input[type="tel"], .woocommerce textarea, .woocommerce select {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  color: var(--hob-ink) !important;
  font-family: var(--hob-f-body) !important;
  border-radius: 0 !important;
  width: 100%;
}

.woocommerce form .input-text:focus {
  border-color: var(--hob-bronze) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(181,133,74,0.12) !important;
}

.woocommerce form label, .woocommerce-checkout label {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--hob-muted) !important;
}

.woocommerce-checkout h3, #order_review_heading {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--hob-bronze) !important;
  border-bottom: 1px solid var(--hob-border);
  padding-bottom: 0.8rem;
}

.woocommerce-checkout #payment {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
  border-radius: 0 !important;
  padding: 1.8rem !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--hob-border) !important;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  font-family: var(--hob-f-heading) !important;
  color: var(--hob-ink) !important;
  text-transform: none !important;
}

#place_order {
  background: var(--hob-bronze) !important;
  color: var(--hob-dark) !important;
  font-family: var(--hob-f-heading) !important;
  border: none !important;
  border-radius: 0 !important;
  width: 100% !important;
  cursor: pointer;
}
#place_order:hover { background: var(--hob-bronze-l) !important; }

/* WC notices */
.woocommerce-message {
  background: rgba(181,133,74,0.10) !important;
  border-top-color: var(--hob-bronze) !important;
  color: var(--hob-ink) !important;
}
.woocommerce-error {
  background: rgba(139,58,42,0.10) !important;
  border-top-color: #8b3a2a !important;
  color: var(--hob-ink) !important;
}
.woocommerce-info {
  background: rgba(181,133,74,0.08) !important;
  border-top-color: var(--hob-bronze) !important;
  color: var(--hob-ink) !important;
}

/* ============================================================
   11. AUTH BADGE & TRUST BADGES
============================================================ */

.hoblins-auth-badge {
  display: flex; align-items: flex-start; gap: 0.7rem;
  margin-top: 1.2rem; padding: 1rem 1.3rem;
  background: rgba(181,133,74,0.07);
  border: 1px solid var(--hob-border);
  border-left: 3px solid var(--hob-bronze);
}
.hoblins-auth-badge svg { flex-shrink: 0; color: var(--hob-bronze); }
.hoblins-auth-badge span {
  font-family: var(--hob-f-heading);
  font-size: 0.63rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hob-muted);
  line-height: 1.7;
}

.hoblins-trust-badges {
  display: flex; flex-wrap: wrap; gap: 0.5rem 1rem;
  justify-content: center; padding: 1rem 0 1.2rem;
  border-top: 1px solid var(--hob-border);
}
.hoblins-trust-badges span {
  font-family: var(--hob-f-heading);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hob-faint);
}

/* ============================================================
   12. FOOTER — warm cream parchment (NOT dark)
============================================================ */

#footer,
footer,
.footer-wrapper,
.footer-container {
  background: var(--hob-card) !important;
  background-color: var(--hob-card) !important;
  border-top: 2px solid var(--hob-bronze) !important;
  color: var(--hob-muted) !important;
}

.footer-top, .footer-widgets { padding: 4rem 0 !important; }

#footer .widget-title, #footer h4, .footer-widget h4 {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--hob-bronze-d) !important;
  margin-bottom: 1.4rem !important;
  border-bottom: none !important;
}

#footer .widget, #footer p, #footer .widget p, .footer-widget p {
  font-family: var(--hob-f-body) !important;
  font-size: 0.9rem !important;
  color: var(--hob-muted) !important;
  line-height: 1.8 !important;
}

#footer a, .footer-widget a {
  color: var(--hob-bronze-d) !important;
  font-family: var(--hob-f-body);
}
#footer a:hover, .footer-widget a:hover { color: var(--hob-bronze) !important; }

/* Bottom footer bar */
.absolute-footer, .footer-bar {
  background: var(--hob-card-alt) !important;
  background-color: var(--hob-card-alt) !important;
  border-top: 1px solid var(--hob-border) !important;
  color: var(--hob-faint) !important;
  font-family: var(--hob-f-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
}

.absolute-footer a { color: var(--hob-faint) !important; }
.absolute-footer a:hover { color: var(--hob-bronze) !important; }

/* Payment icons in footer */
.footer-bar img, .absolute-footer img { opacity: 0.6; }

/* ============================================================
   13. CATEGORY PAGE BARS
============================================================ */

.hob-cat-bar {
  background: var(--hob-card) !important;
  border-bottom: 1px solid var(--hob-border) !important;
  padding: 2rem 3rem;
}

.hob-cat-bar-title {
  font-family: var(--hob-f-display) !important;
  color: var(--hob-ink) !important;
  font-size: clamp(1.4rem, 2.5vw, 2rem) !important;
  font-weight: 400 !important;
  margin: 0 0 6px !important;
}

.hob-cat-bar-desc {
  font-family: var(--hob-f-body) !important;
  font-style: italic !important;
  font-size: 1rem !important;
  color: var(--hob-muted) !important;
  margin: 0 !important;
}

/* ============================================================
   14. SCROLL REVEAL
============================================================ */

.hob-reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.85s ease, transform 0.85s ease; }
.hob-reveal.is-visible { opacity: 1; transform: translateY(0); }
.hob-reveal-delay-1 { transition-delay: 0.15s; }
.hob-reveal-delay-2 { transition-delay: 0.30s; }
.hob-reveal-delay-3 { transition-delay: 0.45s; }

/* ============================================================
   15. FLATSOME ELEMENT OVERRIDES
============================================================ */

.ux-row-bg, .row-bg { background-color: transparent !important; }
hr, .divider { border-color: var(--hob-border) !important; }
.lazy-load, .bg-fill { background-color: var(--hob-card) !important; }
.off-canvas-sidebar { background: var(--hob-page) !important; }
.search-popup { background: rgba(240,232,208,0.98) !important; }
.search-popup input {
  background: transparent !important;
  border-bottom: 1px solid var(--hob-border) !important;
  color: var(--hob-ink) !important;
  font-family: var(--hob-f-body) !important;
}

/* My Account page */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: var(--hob-card) !important;
  border: 1px solid var(--hob-border) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  font-family: var(--hob-f-heading) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--hob-muted) !important;
  border-bottom: 1px solid var(--hob-border) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--hob-bronze) !important;
  background: rgba(181,133,74,0.06) !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  color: var(--hob-body) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--hob-page); }
::-webkit-scrollbar-thumb { background: var(--hob-bronze); border-radius: 3px; }

/* ============================================================
   16. RESPONSIVE
============================================================ */

@media (max-width: 1024px) { body { font-size: 17px !important; } }
@media (max-width: 768px) {
  body { font-size: 16px !important; }
  ul.products { grid-template-columns: repeat(2,1fr) !important; }
  #footer .col, .footer-widgets .col { width: 50% !important; }
  .hob-cat-bar { padding: 1.5rem; }
}
@media (max-width: 480px) {
  ul.products { grid-template-columns: 1fr !important; }
  #footer .col { width: 100% !important; }
}

/* Thank you page wrapper */
.hob-thankyou-wrap {
  max-width: 680px;
  margin: 0 auto;
  padding: 2rem 0;
  font-family: 'EB Garamond', Georgia, serif;
  color: #2e2416;
}
 
/* Ornament rule */
.hob-ty-rule {
  text-align: center;
  margin-bottom: 24px;
}
.hob-ty-ornament {
  color: #b5854a;
  font-size: 1rem;
}
 
/* Main heading */
.hob-ty-heading {
  font-family: 'Cinzel Decorative', Georgia, serif !important;
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  color: #1c1a14 !important;
  text-align: center;
  font-weight: 400 !important;
  margin-bottom: 18px !important;
}
 
/* Lead paragraph */
.hob-ty-lead {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 1.1rem !important;
  color: #3b3020 !important;
  line-height: 1.85 !important;
  text-align: center;
  margin-bottom: 28px !important;
}
 
/* Parchment info box */
.hob-ty-box {
  background: #f0e8d0;
  border: 1px solid rgba(181,133,74,0.3);
  padding: 24px 28px;
  margin-bottom: 28px;
}
.hob-ty-box p {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 1.05rem !important;
  color: #2e2416 !important;
  line-height: 1.85 !important;
  margin-bottom: 14px !important;
}
 
/* Order reference block */
.hob-ty-ref {
  text-align: center;
  padding: 18px;
  background: #e4d8be;
  border: 1px solid rgba(122,92,46,0.25);
  margin: 20px 0;
}
.hob-ty-ref-label {
  display: block;
  font-family: 'Cinzel', Georgia, serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #8c7a5e !important;
  margin-bottom: 8px;
}
.hob-ty-ref-number {
  display: block;
  font-family: 'Cinzel Decorative', Georgia, serif !important;
  font-size: 2rem !important;
  color: #1c1a14 !important;
  font-weight: 700 !important;
}
 
/* Note text */
.hob-ty-note {
  font-style: italic !important;
  color: #6b5a3e !important;
  font-size: 0.95rem !important;
}
 
/* CTA block */
.hob-ty-cta {
  margin-bottom: 28px;
  text-align: center;
}
.hob-ty-cta h3 {
  font-family: 'Cinzel', Georgia, serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #7a5228 !important;
  border-bottom: 1px solid rgba(122,92,46,0.2) !important;
  padding-bottom: 8px !important;
  margin-bottom: 14px !important;
  font-weight: normal !important;
}
.hob-ty-cta p {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 1.05rem !important;
  color: #6b5a3e !important;
  margin-bottom: 18px !important;
}
.hob-ty-btn {
  display: inline-block !important;
  padding: 13px 36px !important;
  background: #b5854a !important;
  color: #1c1a14 !important;
  font-family: 'Cinzel', Georgia, serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.3s !important;
  border: none !important;
}
.hob-ty-btn:hover { background: #d4a865 !important; color: #1c1a14 !important; }
 
/* Contact block */
.hob-ty-contact {
  margin-bottom: 28px;
  padding: 20px 24px;
  background: rgba(181,133,74,0.07);
  border-left: 3px solid #b5854a;
}
.hob-ty-contact h3 {
  font-family: 'Cinzel', Georgia, serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #7a5228 !important;
  font-weight: normal !important;
  margin-bottom: 10px !important;
}
.hob-ty-contact p {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-size: 1.05rem !important;
  color: #6b5a3e !important;
  line-height: 2 !important;
  margin-bottom: 8px !important;
}
.hob-ty-contact a {
  color: #7a5228 !important;
  text-decoration: none !important;
}
.hob-ty-contact a:hover { color: #b5854a !important; }
 
/* Closing signature */
.hob-ty-close {
  text-align: center;
  border-top: 1px solid rgba(122,92,46,0.2);
  padding-top: 20px;
}
.hob-ty-sign {
  font-family: 'EB Garamond', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.1rem !important;
  color: #6b5a3e !important;
  margin-bottom: 6px !important;
}
.hob-ty-sig-name {
  font-family: 'Cinzel Decorative', Georgia, serif !important;
  font-size: 0.82rem !important;
  color: #b5854a !important;
  opacity: 0.75 !important;
}

