/*
Theme Name: Himalayan Fine Gems
Theme URI: https://himalayanfinegems.com
Author: Himalayan Fine Gems
Description: Luxury dark & gold WooCommerce theme for natural gemstones. Includes Home, Shop, Gemstone category pages, About, Gemstone Guide, Blog, Contact and Product templates.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: hfg
Tags: e-commerce, dark, custom-colors, custom-logo, woocommerce
*/

:root{--bg:#0A0F10;--bg2:#101718;--card:#16201F;--gold:#B9AE86;--lg:#E0D8B8;--cr:#F2EFE6;--mu:#9FA7A2;--ln:rgba(185,174,134,.28);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{background:var(--bg);color:var(--cr);font:300 15px/1.7 Montserrat,Arial,sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.1}
.eb{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block}
.w{max-width:1160px;margin:0 auto;padding:0 24px}.s{padding:80px 0}.alt{background:var(--bg2)}.c{text-align:center}
.bar{background:var(--gold);color:#111;text-align:center;font-size:11px;letter-spacing:.2em;padding:7px}
header{display:flex;align-items:center;justify-content:space-between;padding:16px 36px;border-bottom:1px solid var(--ln)}
.logo{display:block;width:84px;height:84px;margin:-14px 0;background:url(assets/img/logo.png) center/contain no-repeat}footer .logo{width:130px;height:130px;margin:0}
nav{display:flex;gap:22px;font-size:11px;letter-spacing:.15em}nav a{cursor:pointer}nav a:hover{color:var(--gold)}
.ic{font-size:11px;color:var(--mu);letter-spacing:.1em}
.hero{padding:100px 0;text-align:center;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.85)),var(--hb)}
.hero.l{text-align:left;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:560px;padding:50px 0}
.hero h1{font-size:clamp(38px,6vw,72px);margin-bottom:18px}.hero p{max-width:540px;color:#cfc8ba;margin:0 auto 26px}.hero.l p{margin-left:0}
.gem{aspect-ratio:1;max-width:360px;width:100%;margin:auto;clip-path:polygon(30% 4%,70% 4%,96% 36%,50% 98%,4% 36%);background:var(--hg)}
.btn{display:inline-block;padding:14px 28px;font-size:11px;letter-spacing:.2em;margin:0 10px 10px 0;cursor:pointer;transition:.25s}
.b1{background:var(--gold);color:#111}.b1:hover{background:var(--lg)}.b2{border:1px solid var(--gold)}.b2:hover{background:rgba(201,162,39,.12)}
.c .btn{margin:0 5px 10px}
.h{margin-bottom:40px}.h h2{font-size:clamp(28px,4vw,44px)}.h p{color:var(--mu);margin-top:8px}
.ln{width:60px;height:1px;background:var(--gold);margin:22px auto}
.g{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g6{grid-template-columns:repeat(6,1fr)}
.cat{height:200px;position:relative;display:flex;align-items:flex-end;padding:18px;border:1px solid transparent;overflow:hidden;font:500 24px 'Cormorant Garamond',serif;transition:.3s}
.cat:hover{border-color:var(--gold)}.cat:before{content:"";position:absolute;inset:0;background:var(--b);transition:.5s}.cat:hover:before{transform:scale(1.08)}.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.85))}.cat span{position:relative;z-index:1}
.p{background:var(--card);border:1px solid var(--ln);padding:14px;transition:.3s}.p:hover{border-color:var(--gold)}
.pi{aspect-ratio:1;display:grid;place-items:center;background:#101010;margin-bottom:12px;overflow:hidden}
.pi{position:relative}.pi img,.pi video{width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform .5s}.p:hover .pi img,.p:hover .pi video{transform:scale(1.05)}.pi .sw{position:absolute;inset:0;opacity:0;transition:opacity .4s}.p:hover .pi .sw{opacity:1}.pi i{width:55%;aspect-ratio:1;clip-path:polygon(25% 8%,75% 8%,98% 45%,50% 96%,2% 45%);background:var(--g);transition:.5s}.p:hover .pi i{transform:scale(1.1)}
.p h3{font-size:20px}.p small{color:var(--mu);font-size:12px;display:block}
.pr{display:flex;justify-content:space-between;align-items:center;margin-top:10px;color:var(--lg)}
.atc{font:400 10px Montserrat;letter-spacing:.14em;padding:8px 11px;border:1px solid var(--gold);color:var(--cr);background:none;cursor:pointer}.atc:hover{background:var(--gold);color:#111}
.col{border:1px solid var(--ln);padding:22px 8px;text-align:center;transition:.3s}.col:hover{border-color:var(--gold);background:var(--card)}.col b{display:block;font:400 10px Montserrat;letter-spacing:.2em}.col span{font:500 20px 'Cormorant Garamond',serif}
.tr div{padding:8px 16px;border-right:1px solid var(--ln);text-align:center;font-size:11px;letter-spacing:.18em}.tr div:last-child{border:0}.tr b{display:block;font:400 28px 'Cormorant Garamond';color:var(--gold)}
.art .ai{aspect-ratio:4/3;margin-bottom:12px;background:var(--b)}.art small{color:var(--gold);font-size:10px;letter-spacing:.2em}.art a{color:var(--lg);font-size:12px;letter-spacing:.12em}
.tb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:14px 0;margin-bottom:30px;font-size:12px;color:var(--mu)}
.tb span{border:1px solid var(--ln);padding:8px 14px;color:var(--cr)}.tb em{margin-left:auto;font-style:normal}
details{border-bottom:1px solid var(--ln);padding:16px 0}summary{cursor:pointer;font:500 20px 'Cormorant Garamond',serif;list-style:none}summary:after{content:"+";float:right;color:var(--gold)}details[open] summary:after{content:"–"}details p{color:var(--mu);margin-top:8px;font-size:14px}
.blk{border-top:1px solid var(--gold);padding-top:14px}.blk h3{font-size:22px;margin-bottom:6px}.blk p,.mu{color:var(--mu);font-size:14px}
.num{font:400 44px 'Cormorant Garamond';color:var(--gold)}
.pg{display:flex;gap:8px;justify-content:center;margin-top:36px}.pg span{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--ln);font-size:12px}.pg .a{background:var(--gold);color:#111}
.fi{width:100%;background:transparent;border:1px solid var(--ln);color:var(--cr);padding:13px;font:inherit;margin-bottom:12px}
.spec{width:100%;border-collapse:collapse;font-size:14px}.spec td{padding:10px 0;border-bottom:1px solid var(--ln)}.spec td:first-child{color:var(--mu);width:42%}
.big{aspect-ratio:1;background:#101010;display:grid;place-items:center;border:1px solid var(--ln)}.big i{width:50%;aspect-ratio:1;clip-path:polygon(25% 8%,75% 8%,98% 45%,50% 96%,2% 45%);background:var(--g)}
.th{display:flex;gap:10px;margin-top:10px}.th img{width:22%;aspect-ratio:1;object-fit:cover;border:1px solid var(--ln)}.th div{flex:1;aspect-ratio:1;background:#101010;border:1px solid var(--ln)}
footer{background:#060A0A;border-top:1px solid var(--gold);padding:56px 0 22px}
footer h4{font:500 11px Montserrat;letter-spacing:.2em;color:var(--gold);margin-bottom:12px}footer li{list-style:none;font-size:13px;color:var(--mu);margin-bottom:6px}footer ul{padding:0}
.cp{border-top:1px solid #222;margin-top:34px;padding-top:18px;font-size:12px;color:var(--mu)}
@media(max-width:860px){nav,.ic{display:none}header{padding:14px 20px}.g3,.g4,.g6{grid-template-columns:1fr 1fr}.hero.l{grid-template-columns:1fr}.s{padding:60px 0}.tr{grid-template-columns:1fr 1fr!important}.tr div{border:0}.sp{grid-template-columns:1fr!important}}
@media(max-width:520px){.g2,.g3,.g4{grid-template-columns:1fr}.g6{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Theme additions ===== */
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}
button,input,textarea,select{font-family:inherit}
.screen-reader-text{position:absolute;left:-9999px}
.bar a{color:#111}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,15,16,.96);backdrop-filter:blur(8px)}
.admin-bar .site-header{top:32px}
nav ul{display:flex;gap:22px;list-style:none;padding:0}
nav a{cursor:pointer;display:inline-block;padding:4px 0;border-bottom:1px solid transparent}
nav .current-menu-item>a,nav .current-menu-ancestor>a{color:var(--gold);border-color:var(--gold)}
nav .sub-menu{display:none;position:absolute;background:var(--card);border:1px solid var(--ln);padding:10px 16px;list-style:none;z-index:60}
nav li{position:relative}nav li:hover>.sub-menu{display:block}nav .sub-menu li{margin:6px 0;white-space:nowrap}
.ic{display:flex;gap:18px;align-items:center}.ic a:hover{color:var(--gold)}
.cart-count,.wish-count{background:var(--gold);color:#111;border-radius:50%;font-size:10px;padding:1px 6px;margin-left:4px}
.menu-toggle{display:none;background:none;border:1px solid var(--ln);color:var(--cr);padding:8px 12px;cursor:pointer;letter-spacing:.15em;font-size:11px}
a.btn,button.btn{border:1px solid transparent;font-family:Montserrat,Arial,sans-serif;text-decoration:none}
a.b2,button.b2{background:none;color:var(--cr);border:1px solid var(--gold)}
.cat,.col,.art{color:var(--cr);display:flex}
a.col{display:block}.art{display:block}.art a.rm{color:var(--lg);font-size:12px;letter-spacing:.12em}
.art .ai{background-size:cover;background-position:center}
.p a{color:inherit}.pi img.sw{position:absolute;inset:0}
.hero.l .gem{display:block}
.fi:focus{outline:none;border-color:var(--gold)}select.fi{appearance:none;background:var(--bg)}
select.fi option{background:var(--bg);color:var(--cr)}
.tb select,.tb input{background:transparent;border:1px solid var(--ln);color:var(--cr);padding:8px 14px;font-size:12px}
.tb select option{background:var(--bg)}
.tb button{background:var(--gold);color:#111;border:0;padding:9px 16px;cursor:pointer;font-size:11px;letter-spacing:.14em}
.pg .page-numbers{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--ln);font-size:12px}
.pg .page-numbers.current{background:var(--gold);color:#111}
.pg ul{display:flex;gap:8px;list-style:none;padding:0}
.hfg-msg{padding:14px 18px;margin-bottom:18px;border:1px solid var(--gold);background:var(--card);font-size:14px}
.hfg-msg.err{border-color:#c0504d}
.entry{max-width:780px;margin:auto}.entry p{margin-bottom:1.1em;color:#d6d2c4}.entry h2,.entry h3{margin:1.4em 0 .5em}
.entry a{color:var(--gold);text-decoration:underline}.entry img{margin:1.4em 0}
.qty-wrap{display:inline-flex;border:1px solid var(--gold)}
.qty-wrap input{width:56px;background:transparent;border:0;color:var(--cr);text-align:center;font-size:14px}
.qty-wrap button{background:none;border:0;color:var(--cr);width:34px;cursor:pointer;font-size:16px}
.stars{color:var(--gold);letter-spacing:2px}
.gal-main{aspect-ratio:1;background:#101010;border:1px solid var(--ln);overflow:hidden}
.gal-main img,.gal-main video{width:100%;height:100%;object-fit:cover}
.th img,.th video{width:22%;aspect-ratio:1;object-fit:cover;border:1px solid var(--ln);cursor:pointer;opacity:.7}.th img.on,.th img:hover{opacity:1;border-color:var(--gold)}
.hfg-toast{position:fixed;bottom:24px;right:24px;background:var(--gold);color:#111;padding:14px 22px;font-size:12px;letter-spacing:.1em;z-index:999;transform:translateY(120px);transition:.3s}
.hfg-toast.on{transform:none}
/* WooCommerce */
.woocommerce-cart table,.woocommerce-checkout table{width:100%;border-collapse:collapse}
.woocommerce table td,.woocommerce table th{padding:12px;border-bottom:1px solid var(--ln);text-align:left}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce #respond input#submit{background:var(--gold)!important;color:#111!important;border-radius:0!important;font:400 11px Montserrat!important;letter-spacing:.2em!important;padding:14px 26px!important}
.woocommerce .button:hover{background:var(--lg)!important}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{background:transparent;border:1px solid var(--ln);color:var(--cr);padding:12px;width:100%}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--gold);background:var(--card);padding:14px 18px;margin-bottom:20px;list-style:none}
.woocommerce form .form-row{margin-bottom:12px}.woocommerce form .form-row label{display:block;font-size:12px;color:var(--mu);margin-bottom:4px}
.woocommerce-checkout #payment{background:var(--card);padding:18px;border:1px solid var(--ln)}
.cart_totals,.woocommerce-checkout-review-order{margin-top:20px}
.wc-block-components-product-name,.woocommerce a{color:inherit}
@media(max-width:860px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--ln);padding:16px 24px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:12px}nav{display:block!important}.site-header{position:relative;flex-wrap:wrap}.ic{display:flex!important}.hero.l .gem{display:none}.fgrid{grid-template-columns:1fr 1fr!important}}
.p{position:relative}.p .pi{display:grid}.p h3 a:hover{color:var(--lg)}
.p .wish{position:absolute;top:22px;right:22px;z-index:3;background:rgba(10,15,16,.7);border:1px solid var(--ln);color:var(--gold);width:34px;height:34px;cursor:pointer;font-size:16px;line-height:1}
.p .wish.on,.p .wish:hover{background:var(--gold);color:#111}.p .wish.on:before{content:"\2665"}.p .wish.on{font-size:0}.p .wish.on:before{font-size:16px}
.pr small.total{color:var(--mu);font-size:11px}.pr .added_to_cart{display:none}
.atc.loading{opacity:.5}.atc.added:after{content:" \2713"}
.p-extra{margin-top:10px}
footer a:hover{color:var(--gold)}.search-overlay{background:var(--card);border-bottom:1px solid var(--ln);padding:18px 36px}.search-overlay[hidden]{display:none}.search-overlay form{display:flex;gap:10px;max-width:700px;margin:auto}.search-overlay .fi{margin:0}
.hfg-elementor-content{min-height:40vh}
body.elementor-page .site-header{position:relative}
.elementor-widget-html .w,.elementor-widget-shortcode .g{max-width:1160px;margin-left:auto;margin-right:auto}
.elementor-widget-shortcode>.elementor-widget-container{padding:0 24px;max-width:1160px;margin:auto}
/* Elementor helper classes */
.hfg-gem{aspect-ratio:1;max-width:360px;width:100%;margin:auto;clip-path:polygon(30% 4%,70% 4%,96% 36%,50% 98%,4% 36%)}
.elementor-widget-accordion .elementor-accordion-item{border-color:var(--ln)!important;border-left:0!important;border-right:0!important}
.elementor-widget-accordion .elementor-tab-content{border-top:0!important}
.elementor-widget-button .elementor-button{transition:.25s}
body.elementor-page .elementor-widget-shortcode .g{max-width:100%}

/* ===== Elementor styling classes (applied to native widgets) ===== */
.hfg-g-emerald{--hb:linear-gradient(135deg,#087a47,#050505)}.hfg-gem-emerald{background:conic-gradient(#087a47,#2fd98a,#064d2d,#2fd98a,#087a47)!important}
.hfg-g-ruby{--hb:linear-gradient(135deg,#7d0f1f,#050505)}.hfg-gem-ruby{background:conic-gradient(#7d0f1f,#e02a45,#4a0812,#e02a45,#7d0f1f)!important}
.hfg-g-sapphire{--hb:linear-gradient(135deg,#1d3a8f,#050505)}.hfg-gem-sapphire{background:conic-gradient(#1d3a8f,#5b82ff,#0d1f55,#5b82ff,#1d3a8f)!important}
.hfg-g-amethyst{--hb:linear-gradient(135deg,#5b2a8c,#050505)}.hfg-gem-amethyst{background:conic-gradient(#5b2a8c,#b98bff,#2c1244,#b98bff,#5b2a8c)!important}
.hfg-g-citrine{--hb:linear-gradient(135deg,#9a6a0a,#050505)}.hfg-gem-citrine{background:conic-gradient(#9a6a0a,#ffcf4a,#5a3c05,#ffcf4a,#9a6a0a)!important}
.hfg-g-tourmaline{--hb:linear-gradient(135deg,#0e4749,#050505)}.hfg-gem-tourmaline{background:conic-gradient(#0e4749,#2aa3a0,#082a2c,#2aa3a0,#0e4749)!important}

.hfg-sec{padding:80px 24px!important}
.hfg-bg{background:var(--bg)!important}.hfg-bg2{background:var(--bg2)!important}
.hfg-w{max-width:1160px!important;width:100%;margin-left:auto!important;margin-right:auto!important}
.hfg-hero{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.85)),var(--hb)!important;padding:100px 0!important}
.hfg-hero-home{background:radial-gradient(circle at 78% 50%,#0c3a3a,#0A0F10 62%)!important;padding:50px 0!important}
.hfg-cta{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.85)),linear-gradient(135deg,#0c3a3a,#2a0a14)!important;padding:100px 0!important}
.hfg-tile{background:linear-gradient(transparent 35%,rgba(0,0,0,.85)),var(--hb)!important;border:1px solid transparent!important;transition:.3s}
.hfg-tile:hover{border-color:var(--gold)!important}
.hfg-col{border:1px solid var(--ln)!important;transition:.3s}.hfg-col:hover{border-color:var(--gold)!important;background:var(--card)!important}
.hfg-blk{border-top:1px solid var(--gold)!important}
.hfg-gem{max-width:360px;width:100%;aspect-ratio:1;margin:auto}
.hfg-a-center{text-align:center}.hfg-a-left{text-align:left}
.hfg-t .elementor-heading-title{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;line-height:1.1!important;color:var(--cr)!important}
.hfg-c-gold .elementor-heading-title{color:var(--gold)!important}
.hfg-s72 .elementor-heading-title{font-size:clamp(38px,6vw,72px)!important}
.hfg-s56 .elementor-heading-title{font-size:clamp(32px,5vw,56px)!important}
.hfg-s46 .elementor-heading-title{font-size:clamp(30px,4.5vw,46px)!important}
.hfg-s44 .elementor-heading-title{font-size:clamp(28px,4vw,44px)!important}
.hfg-s40 .elementor-heading-title{font-size:clamp(28px,3.4vw,40px)!important}
.hfg-s30 .elementor-heading-title{font-size:30px!important}.hfg-s28 .elementor-heading-title{font-size:28px!important}
.hfg-s24 .elementor-heading-title{font-size:24px!important}.hfg-s22 .elementor-heading-title{font-size:22px!important}
.hfg-s20 .elementor-heading-title{font-size:20px!important}
.hfg-eb .elementor-heading-title{font-family:Montserrat,Arial,sans-serif!important;font-size:11px!important;letter-spacing:.28em!important;text-transform:uppercase!important;color:var(--gold)!important;font-weight:400!important;line-height:1.7!important}
.hfg-p,.hfg-p p{font-family:Montserrat,Arial,sans-serif!important;font-weight:300!important;font-size:15px!important;line-height:1.7!important;color:var(--mu)!important}
.hfg-p-light,.hfg-p-light p{color:#cfc8ba!important}.hfg-p-cream,.hfg-p-cream p{color:var(--cr)!important}
.hfg-btn .elementor-button{font-family:Montserrat,Arial,sans-serif!important;font-size:11px!important;font-weight:400!important;letter-spacing:.2em!important;text-transform:uppercase;padding:14px 28px!important;border-radius:0!important;transition:.25s}
.hfg-btn-solid .elementor-button{background:var(--gold)!important;color:#111!important;border:1px solid var(--gold)!important}
.hfg-btn-solid .elementor-button:hover{background:var(--lg)!important;color:#111!important}
.hfg-btn-outline .elementor-button{background:transparent!important;color:var(--cr)!important;border:1px solid var(--gold)!important}
.hfg-btn-outline .elementor-button:hover{background:var(--gold)!important;color:#111!important}
.hfg-btn.hfg-a-center .elementor-button-wrapper{text-align:center}.hfg-btn.hfg-a-left .elementor-button-wrapper{text-align:left}
.hfg-trust .elementor-icon-box-title,.hfg-trust .elementor-icon-box-title span{font-family:Montserrat!important;font-size:11px!important;letter-spacing:.18em!important;color:var(--gold)!important;font-weight:400!important}
.hfg-trust .elementor-icon{color:var(--gold)!important;fill:var(--gold)!important}
.hfg-faq .elementor-accordion-item{border:0!important;border-bottom:1px solid var(--ln)!important}
.hfg-faq .elementor-tab-title{padding:16px 0!important;background:transparent!important}
.hfg-faq .elementor-tab-title a{font-family:'Cormorant Garamond',Georgia,serif!important;font-size:20px!important;font-weight:500!important;color:var(--cr)!important}
.hfg-faq .elementor-accordion-icon,.hfg-faq .elementor-accordion-icon i,.hfg-faq .elementor-accordion-icon svg{color:var(--gold)!important;fill:var(--gold)!important}
.hfg-faq .elementor-tab-content{border:0!important;background:transparent!important;color:var(--mu)!important;font-size:14px!important;padding:0 0 16px!important}
@media(max-width:767px){.hfg-sec{padding:50px 20px!important}.hfg-hero,.hfg-cta{padding:60px 0!important}}
