
:root{
  --primary-color:#013a17;
  --secondary-color:#988c75;
  --accent-color:#f8f0e2;
  --light-color:#ffffff;
  --dark-color:#121212;
  --text-color:#e9e6df;
  --muted:#b8b2a6;
  --card:#171717;
  --border: rgba(255,255,255,.10);
  --shadow: 0 14px 50px rgba(0,0,0,.35);
  --radius: 18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Vazirmatn",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--primary-color);
  color:var(--text-color);
  line-height:1.75;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1140px, 92%); margin:0 auto}

.site-header{
  position:fixed; top:0; left:0; right:0;
  z-index:1000;
  background: color-mix(in srgb, var(--header-bg) 55%, transparent);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  transition: all .25s ease;
}
.site-header.is-scrolled{
  background: color-mix(in srgb, var(--header-bg-scrolled) 92%, transparent);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px}

.logo{display:flex; align-items:center; gap:10px; font-family:"Playfair Display",serif; font-weight:700; letter-spacing:.3px}
.logo i{color:var(--accent-color)}
.logo span{color:var(--accent-color)}
.site-logo-img{height:44px; width:auto}
.site-logo-icon{height:34px; width:auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.site-logo-wordmark{height:42px; width:auto; opacity:.96; filter: drop-shadow(0 10px 18px rgba(0,0,0,.35))}
body.fernosa-logo-invert .site-logo-wordmark,
body.fernosa-logo-invert .site-logo-icon{filter: invert(1) brightness(1.15) contrast(1.05);} 

.site-logo{gap:12px}

.main-nav .nav-links{list-style:none; display:flex; gap:18px; margin:0; padding:0}
.main-nav a{padding:10px 12px; border-radius:999px; color: var(--header-link, rgba(255,255,255,.9)); transition:.2s}
.main-nav a:hover{background:rgba(255,255,255,.08); color: var(--header-link-hover, var(--secondary-color));}

.header-actions{display:flex; align-items:center; gap:10px}
.icon-btn{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:#fff;
  width:44px; height:44px;
  border-radius:14px;
  display:grid; place-items:center;
  cursor:pointer;
  transition:.2s;
  position:relative;
}
.icon-btn:hover{transform: translateY(-1px); border-color: rgba(152,140,117,.55)}
.cart-count{
  position:absolute; top:-6px; left:-6px;
  background: var(--accent-color);
  color:#121212;
  font-weight:700;
  border-radius:999px;
  min-width:20px; height:20px;
  display:grid; place-items:center;
  padding:0 6px;
  font-size:12px;
  border:2px solid rgba(18,18,18,.95);
}
.hamburger{display:none}

.mobile-drawer{
  position:fixed; inset:0;
  background:rgba(0,0,0,.65);
  opacity:0; pointer-events:none;
  transition:.2s;
}
.mobile-drawer.is-open{opacity:1; pointer-events:auto}
.mobile-drawer-inner{
  position:absolute; top:0; bottom:0; right:0;
  width:min(360px, 92vw);
  background: rgba(18,18,18,.96);
  border-left:1px solid rgba(255,255,255,.10);
  padding:16px;
  transform: translateX(16px);
  transition:.25s;
}
.mobile-drawer.is-open .mobile-drawer-inner{transform: translateX(0)}
.close-drawer{margin-bottom:10px; width:46px; height:46px}
.mobile-drawer .nav-links{flex-direction:column; gap:8px}
.mobile-drawer .nav-links a{display:block; padding:14px 14px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10)}
.mobile-drawer .nav-links a:hover{background:rgba(255,255,255,.10)}
.mobile-quick{margin-top:18px; display:grid; gap:10px}
.mobile-quick a{padding:12px 14px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04)}

.site-main{padding-top:92px}

.hero{
  position:relative;
  min-height: calc(100vh - 0px);
  background-size:cover;
  background-position:center;
}
.hero-overlay{
  position:absolute; inset:0;
  background: radial-gradient(60% 55% at 70% 30%, rgba(152,140,117,.22), transparent 55%),
              linear-gradient(180deg, rgba(0,0,0,.62), rgba(0,0,0,.80));
}
.hero-inner{
  position:relative; z-index:1;
  min-height: calc(100vh - 92px);
  display:flex; flex-direction:column;
  justify-content:center;
  padding: 44px 0;
}
.hero-title{
  font-family:"Playfair Display",serif;
  font-weight:700;
  font-size: clamp(30px, 4vw, 56px);
  margin:0 0 12px;
}
.hero-desc{max-width: 720px; color: rgba(255,255,255,.82); margin:0 0 22px}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;
  border-radius: 999px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff;
  display:inline-flex; align-items:center; gap:10px;
  transition:.2s;
}
.btn:hover{transform: translateY(-1px); border-color: rgba(152,140,117,.55)}
\.btn-primary{
  background: linear-gradient(135deg, rgba(248,240,226,.95), rgba(152,140,117,.85));
  color:#121212;
  border-color: transparent;
  font-weight:800;
}
.btn-ghost{background: rgba(255,255,255,.04)}
.btn-small{padding:10px 14px; font-size:14px}

.scroll-down{
  margin-top: 34px;
  width: 48px; height: 48px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.15);
  color:#fff;
  display:grid; place-items:center;
  cursor:pointer;
  animation: bob 1.7s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

.section-head{margin: 48px 0 18px}
.section-title{
  font-family:"Playfair Display",serif;
  margin:0 0 8px;
  font-size: clamp(22px, 2.4vw, 34px);
}
.section-sub{margin:0; color: rgba(255,255,255,.70)}

.menu-section{padding: 22px 0 56px}

.accordion{display:grid; gap:14px}
.accordion-item{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.accordion-header{
  width:100%;
  text-align:right;
  padding: 16px 16px;
  display:flex; align-items:center; gap:12px;
  background: transparent;
  border:0;
  color:#fff;
  cursor:pointer;
}
.acc-icon{
  width:40px; height:40px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--accordion-accent) 18%, transparent);
  border:1px solid color-mix(in srgb, var(--accordion-accent) 45%, transparent);
  color: var(--accordion-accent);
}
.acc-icon-img{width:26px; height:26px; object-fit:cover; border-radius: 10px}
.acc-title{font-weight:800}
.acc-arrow{margin-right:auto; opacity:.85; transition:.25s}
.accordion-item.is-open .acc-arrow{transform: rotate(180deg)}
.accordion-panel{display:none; padding: 0 16px 18px}
.accordion-item.is-open .accordion-panel{display:block}

.notice-card{
  padding: 16px;
  border-radius: 16px;
  border:1px dashed rgba(255,255,255,.22);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.82);
}
.muted{color: rgba(255,255,255,.62)}

.grid{display:grid; gap:16px}
.product-cards{grid-template-columns: repeat(3, 1fr); padding-top: 14px}

.product-card{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  border-radius: 18px;
  overflow:hidden;
  transition:.22s;
}
.product-card:hover{transform: translateY(-3px); border-color: rgba(152,140,117,.55)}
.product-media{position:relative; display:block; padding:0; border:0; background:transparent; width:100%; cursor:pointer}
.product-media img{width:100%; height: 190px; object-fit: cover}
.product-badges{position:absolute; top:12px; right:12px; display:flex; gap:8px; flex-wrap:wrap}
.pbadge{
  font-size:12px; font-weight:900;
  padding: 6px 10px;
  border-radius: 999px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.16);
}
.badge-sale{background: rgba(152,140,117,.92); color:#121212}
.badge-new{background: rgba(255,255,255,.10)}
.badge-hot{background: rgba(255,90,90,.18); border-color: rgba(255,90,90,.35)}

.product-body{padding: 14px 14px 16px}
.product-title{margin:0 0 8px; font-weight:900}
.product-title-btn{
  appearance:none; border:0; background:transparent; padding:0; margin:0;
  font:inherit; color:#fff; cursor:pointer; text-align:right;
}
.product-title-btn:hover{color: var(--accent-color)}
.product-desc{margin:0 0 12px; color: rgba(255,255,255,.72); min-height: 52px}
.product-foot{display:flex; align-items:center; justify-content:space-between; gap:12px}
.price{font-weight:900; color: var(--accent-color)}
.price del{opacity:.65; font-weight:600}
.price ins{text-decoration:none}

.about-snippet{padding: 40px 0 56px}
.about-grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:18px; align-items:center}
.about-media img{border-radius: 22px; border:1px solid rgba(255,255,255,.10); box-shadow: var(--shadow)}

.cta-strip{padding: 26px 0 54px}
.cta-inner{
  border-radius: 22px;
  border:1px solid rgba(152,140,117,.28);
  background: radial-gradient(60% 100% at 70% 10%, rgba(152,140,117,.22), transparent 60%),
              rgba(255,255,255,.03);
  padding: 18px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.cta-text h3{margin:0 0 6px; font-family:"Playfair Display",serif}
.cta-text p{margin:0; color: rgba(255,255,255,.72)}

.content-card{
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: var(--shadow);
  padding: 18px;
}
.page-title{margin:0 0 14px; font-family:"Playfair Display",serif}

.divider{height:1px; background: rgba(255,255,255,.10); margin:22px 0}

/* WooCommerce forms (cart/checkout) */
.woocommerce .form-row{margin-bottom:14px}
.woocommerce .woocommerce-input-wrapper input,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select{
  width:100%;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 12px 12px;
  color: #fff;
  outline: none;
}
.woocommerce textarea{min-height:120px}
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce select:focus{border-color: color-mix(in srgb, var(--accent-color) 55%, transparent)}
.woocommerce label{color: rgba(255,255,255,.82); font-weight:700}
.woocommerce .select2-container--default .select2-selection--single{
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  height: 46px;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 46px;
  color:#fff;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}

/* Checkout coupon */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon{
  margin: 0;
}
.woocommerce-form-coupon-toggle .woocommerce-info{
  border:1px dashed rgba(255,255,255,.22);
  background: rgba(255,255,255,.03);
  color:#fff;
  border-radius: 14px;
  padding: 12px 14px;
}
.woocommerce-form-coupon{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.woocommerce-form-coupon p{
  margin:0;
}
.woocommerce-form-coupon .form-row{
  flex:1 1 220px;
  margin:0;
}
.woocommerce-form-coupon button{
  height: 46px;
  padding: 0 16px;
}

.fg-cart{display:grid; gap:12px}
.fg-cart__row{
  display:grid;
  grid-template-columns: 92px 1fr 160px 160px 60px;
  align-items:center;
  gap:14px;
  padding: 12px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.fg-cart__thumb img{border-radius: 14px; border:1px solid rgba(255,255,255,.10)}
.fg-cart__name{font-weight:900}
.fg-cart__price{color: rgba(255,255,255,.78)}
.fg-cart__subtotal{font-weight:900; color: var(--accent-color)}
.fg-cart__actions{display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between}

.fg-checkout__grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:16px}
.fg-checkout__section{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  border-radius: 18px;
  padding: 14px;
  margin-bottom:14px;
}
.fg-checkout__section h3{margin:0 0 10px; font-family:"Playfair Display",serif}


/* Order review table */
.woocommerce-checkout-review-order table{
  width:100%;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order th,
.woocommerce-checkout-review-order td{
  padding: 10px 8px;
  border-bottom:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.90);
  font-size: 14px;
}
.woocommerce-checkout-review-order th{
  text-align:right;
  font-weight:900;
}
.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td{
  font-size: 15px;
  color: var(--accent-color);
  font-weight: 900;
}
.woocommerce-checkout-review-order .shop_table{
  background: rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  overflow:hidden;
}
@media (max-width: 980px){
  .fg-cart__row{grid-template-columns: 84px 1fr; grid-auto-rows:auto}
  .fg-cart__qty, .fg-cart__subtotal, .fg-cart__remove{grid-column: 2 / -1}
  .fg-checkout__grid{grid-template-columns: 1fr}
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.10);
  background: color-mix(in srgb, var(--footer-bg) 90%, transparent);
  padding: 44px 0 18px;
}

.footer-social{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap}
.social-link{
  width:42px; height:42px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  display:grid; place-items:center;
  transition:.2s;
  color:#fff;
}
.social-link:hover{transform:translateY(-1px); border-color: color-mix(in srgb, var(--accent-color) 55%, transparent)}
.social-link i{color: var(--accent-color)}
.footer-grid{display:grid; grid-template-columns: 1.2fr .8fr 1fr; gap:18px}
.footer-title{margin:0 0 10px; font-family:"Playfair Display",serif}
.footer-text{margin:0; color: rgba(255,255,255,.70)}
.footer-links{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.footer-links a{color: rgba(255,255,255,.84)}
.footer-links a:hover{color: var(--accent-color)}
.footer-info{list-style:none; margin:0; padding:0; display:grid; gap:10px; color: rgba(255,255,255,.80)}
.footer-info i{color: var(--accent-color); margin-left:8px}

.footer-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.badge{
  padding: 8px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.85);
  display:inline-flex; gap:8px; align-items:center;
}
.badge i{color: var(--accent-color)}

.mini-map{
  position:relative;
  height: 140px;
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.10);
  background: radial-gradient(circle at 30% 30%, rgba(152,140,117,.18), transparent 55%),
              rgba(255,255,255,.03);
  overflow:hidden;
  margin-top: 12px;
}
.mini-map.big{height: 220px}
.mini-map-grid{
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity:.8;
}
.mini-map-pin{
  position:absolute;
  top:50%; left:50%;
  transform: translate(-50%,-50%);
  width:52px; height:52px;
  border-radius: 999px;
  display:grid; place-items:center;
  border:1px solid rgba(152,140,117,.45);
  background: rgba(0,0,0,.35);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  color: var(--accent-color);
}

.footer-bottom{
  margin-top: 22px;
  padding-top: 14px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  color: rgba(255,255,255,.62);
}
.footer-logos{display:flex; gap:10px; flex-wrap:wrap}
.trust{padding:8px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03)}

.form-card{
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding: 16px;
  display:grid; gap:12px;
}
label{display:grid; gap:8px; color: rgba(255,255,255,.82); font-weight:700}
input, textarea, select{
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 12px 12px;
  color:#fff;
  outline:none;
}
input:focus, textarea:focus, select:focus{border-color: rgba(152,140,117,.60)}

.notice-success{
  padding: 14px 16px;
  border-radius: 18px;
  border:1px solid rgba(90,255,160,.25);
  background: rgba(90,255,160,.10);
  margin-bottom: 14px;
}

.contact-grid{display:grid; grid-template-columns: 1fr 1fr; gap:16px}
.info-card{border-radius: 22px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); padding: 16px; margin-bottom: 16px}

.about-page-grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:16px; align-items:start}
.team-strip{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top: 16px}
.team-card{display:flex; gap:10px; align-items:center; padding: 10px; border-radius: 18px; border:1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.14)}
.team-card img{width:54px; height:54px; border-radius: 16px; object-fit:cover}

.center{text-align:center}

.reveal{opacity:0; transform: translateY(12px); transition: .55s ease}
.reveal.is-visible{opacity:1; transform: translateY(0)}

.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  border-radius:999px !important;
  border:1px solid rgba(152,140,117,.55) !important;
  background: rgba(152,140,117,.92) !important;
  color:#121212 !important;
  font-weight:900 !important;
}
.woocommerce .quantity .qty{
  width: 82px !important;
  border-radius: 14px !important;
}
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce, .woocommerce-account .woocommerce{
  margin-top: 18px;
}
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info{
  border-radius: 18px !important;
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(152,140,117,.35) !important;
  color: rgba(255,255,255,.85) !important;
}
.woocommerce table.shop_table{
  border-radius: 18px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.10) !important;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td{
  border-color: rgba(255,255,255,.10) !important;
}
.woocommerce form.checkout .form-row input.input-text,
.woocommerce form.checkout .form-row textarea{
  border-radius: 16px !important;
}

@media (max-width: 980px){
  .product-cards{grid-template-columns: repeat(2, 1fr)}
  .about-grid{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .contact-grid{grid-template-columns: 1fr}
  .about-page-grid{grid-template-columns:1fr}
  .team-strip{grid-template-columns: 1fr}
  .main-nav{display:none}
  .hamburger{display:grid}
}

/* Product quick view modal */
.fg-modal{position:fixed; inset:0; z-index:2000; display:none}
.fg-modal.is-open{display:block}
.fg-modal__overlay{position:absolute; inset:0; background:rgba(0,0,0,.68)}
.fg-modal__panel{
  position:absolute;
  top:50%; left:50%;
  transform: translate(-50%, -50%);
  width:min(980px, 92vw);
  background: rgba(18,18,18,.98);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  border-radius: 22px;
  padding: 16px;
}
.fg-modal__close{
  position:absolute; top:12px; left:12px;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color:#fff;
  cursor:pointer;
}
.fg-modal__grid{display:grid; grid-template-columns: 1fr 1fr; gap:16px; align-items:start}
.fg-modal__media img{width:100%; height:420px; object-fit:cover; border-radius: 18px; border:1px solid rgba(255,255,255,.10)}
.fg-modal__info h3{margin:8px 0 6px; font-family:"Playfair Display",serif}
.fg-modal__price{font-weight:900; color: var(--accent-color); margin: 0 0 10px}
.fg-modal__desc{margin:0 0 10px; color: rgba(255,255,255,.75)}
.fg-modal__hint{font-size: 13px}

@media (max-width: 860px){
  .fg-modal__grid{grid-template-columns: 1fr}
  .fg-modal__media img{height: 300px}
}


/* Footer map links */
.mini-map-link{display:block;color:inherit}
.map-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.btn.btn-small{padding:10px 14px;font-size:14px}

/* Embedded Google Map */
.map-embed-wrap{border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}
.gmap-embed{width:100%;height:240px;border:0;display:block}
@media (max-width: 980px){.gmap-embed{height:220px}}


/* Contact button sizing */
.page-contact .btn.btn-primary{width:auto;min-width:160px;padding:12px 18px;}
@media (max-width:980px){.page-contact .btn.btn-primary{width:100%;}}

/* Mobile hamburger visibility */
@media (max-width:980px){
  .icon-btn{background:rgba(248,240,226,.10);border-color:rgba(248,240,226,.18);}
}

/* Responsive product cards */
@media (max-width:980px){.product-cards{grid-template-columns:repeat(2,1fr)!important;}}
@media (max-width:560px){.product-cards{grid-template-columns:1fr!important;} .product-media img{height:160px;} .product-foot{flex-direction:column;align-items:stretch;} .product-foot .btn{width:100%;}}

/* Ensure add-to-cart buttons readable */
.product-foot .btn.btn-primary,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-weight:900;border-radius:999px;}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:linear-gradient(135deg, rgba(248,240,226,.95), rgba(152,140,117,.85));color:#0b1f14;border:1px solid rgba(248,240,226,.35);}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{filter:brightness(1.03);}

/* Modal: image only */
.fg-modal{position:fixed; inset:0; opacity:0; pointer-events:none; transition:.2s; z-index:2000}
.fg-modal.is-open{opacity:1; pointer-events:auto}
.fg-modal__overlay{position:absolute; inset:0; background:rgba(0,0,0,.70)}
.fg-modal__panel{position:relative; width:min(720px, 92vw); margin: 8vh auto; background:rgba(18,18,18,.96); border:1px solid rgba(255,255,255,.12); border-radius:22px; box-shadow: var(--shadow); overflow:hidden}
.fg-modal__close{position:absolute; top:10px; left:10px; width:44px; height:44px; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; display:grid; place-items:center}
.fg-modal__media-only{padding:14px}
.fg-modal__media-only img{width:100%; height:auto; border-radius:18px; object-fit:cover; display:block}

/* Product card cart control (icon + stepper) */
.fg-cartctl{display:flex; align-items:center; gap:10px}
.fg-cartbtn{
  width:44px; height:44px; border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:#fff; display:grid; place-items:center;
  cursor:pointer; transition:.2s;
}
.fg-cartbtn:hover{transform:translateY(-1px); border-color: rgba(152,140,117,.55)}
.fg-qty{
  display:flex; align-items:center; gap:10px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  border-radius:999px;
  padding: 6px 10px;
  min-height:44px;
}
.fg-qtybtn{
  width:34px; height:34px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#fff; cursor:pointer;
  display:grid; place-items:center;
}
.fg-qtynum{min-width:18px; text-align:center; font-weight:800}
.fg-cartctl.is-loading{opacity:.65; pointer-events:none}

@media (max-width: 720px){
  .cta-inner{flex-direction:column; align-items:stretch; gap:12px}
  .cta-inner .btn{width:100%; justify-content:center; white-space:nowrap}
}



/* ===== Mobile visibility fixes (v1.0.8) ===== */
.mobile-drawer{ z-index: 3000; }
.header{ z-index: 2500; }
@media (max-width: 980px){
  .icon-btn{
    background: rgba(0,0,0,.32);
    border-color: rgba(255,255,255,.22);
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
  }
  .icon-btn i{ color: rgba(255,255,255,.98); }
  .hamburger{ display:grid; }
  .mobile-drawer-inner{
    background: rgba(18,18,18,.98);
    backdrop-filter: blur(16px);
  }
  .mobile-drawer .nav-links a{
    background: rgba(0,0,0,.36);
    border-color: rgba(255,255,255,.14);
  }
}


/* Lazy-load (infinite scroll) helpers for accordion product lists */
.fg-loadmore-wrap{
  position: relative;
  padding: 10px 0 0;
}
.fg-sentinel{
  height: 1px;
  width: 100%;
}
.fg-loading{
  margin: 12px 0 2px;
  text-align: center;
  font-size: 13px;
  color: rgba(248,240,226,.85);
  opacity: .9;
}


/* Header product search */
.header-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  border:1px solid rgba(255,255,255,.14);
}
.header-search i{opacity:.85}
.header-search input{
  width:180px;
  max-width:36vw;
  background:transparent;
  border:none;
  outline:none;
  color:inherit;
  font:inherit;
}
.header-search input::placeholder{opacity:.7}
@media (max-width: 860px){
  .header-search{display:none;}
}

/* Tabs / Cards category navigation */
.fg-catnav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
  margin-bottom:16px;
}
.fg-catnav--tabs{
  overflow:auto;
  flex-wrap:nowrap;
  padding-bottom:6px;
}
.fg-catbtn{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  backdrop-filter: blur(14px);
  border-radius:16px;
  padding:10px 12px;
  cursor:pointer;
  color:inherit;
  transition:transform .15s ease, background .15s ease;
  white-space:nowrap;
}
.fg-catbtn:hover{transform:translateY(-1px);}
.fg-catbtn.is-active{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.22);
}
.fg-catnav--cards{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
}
@media (max-width: 980px){
  .fg-catnav--cards{grid-template-columns: repeat(2, minmax(0,1fr));}
}
.fg-catnav--cards .fg-catbtn{
  justify-content:center;
  padding:14px 12px;
}

.fg-tabpanels .fg-panel{display:none;}
.fg-tabpanels .fg-panel.is-active{display:block;}
