/*
 Theme Name:  Lipstick On My Cigar
 Theme URI:   https://lipstickOnMyCigar.com
 Description: Luxury-noir dark theme — seductive, bold, gold-accented. No parent theme required.
 Author:      LipstickOnMyCigar
 Version:     1.0.0
 Tags:        dark, luxury, woocommerce, custom-logo, custom-menu
 Text Domain: lipstickmc
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Montserrat:wght@200;300;400;500;600;700&display=swap');

:root {
  --bg:#080808; --surface:#101010; --card:#141414; --panel:#111111;
  --ivory:#f5f0e8; --muted:#7a7168;
  --gold:#c9a84c; --gold-lt:#e8c96a;
  --crimson:#8b0000; --lipstick:#c0392b;
  --border:rgba(201,168,76,0.22); --glow:rgba(201,168,76,0.12);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg)!important;color:var(--ivory)!important;font-family:'Cormorant Garamond',serif!important;line-height:1.65;overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif!important;color:var(--ivory)!important;line-height:1.15;}
a{color:var(--gold);text-decoration:none;transition:color .3s;}
a:hover{color:var(--gold-lt);}
img{max-width:100%;height:auto;display:block;}
ul{list-style:none;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

@keyframes goldShimmer{0%{background-position:0% center}100%{background-position:200% center}}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes smokeFloat{0%{transform:translateY(0) scale(1);opacity:0}15%{opacity:.15}85%{opacity:.07}100%{transform:translateY(-400px) scale(2);opacity:0}}
@keyframes drawSmoke{to{stroke-dashoffset:0}}
@keyframes bounceDown{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(10px);opacity:1}}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.35}}

.gold-text{background:linear-gradient(90deg,#c9a84c,#e8c96a,#c9a84c);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:goldShimmer 4s linear infinite;}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.lomc-btn-shimmer{position:relative;overflow:hidden;}
.lomc-btn-shimmer::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s;}
.lomc-btn-shimmer:hover::after{left:100%;}

#lomc-topbar{background:#050505;border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap;padding:9px 0;}
#lomc-topbar .lomc-marquee{display:inline-block;animation:marqueeScroll 32s linear infinite;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}

#lomc-header{position:sticky;top:0;z-index:200;background:rgba(8,8,8,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 32px;height:72px;display:flex;align-items:center;justify-content:space-between;}
#lomc-logo{font-family:'Playfair Display',serif;font-size:22px;letter-spacing:2px;background:linear-gradient(90deg,#c9a84c,#e8c96a,#c9a84c,#e8c96a,#c9a84c);background-size:300% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:goldShimmer 5s linear infinite;text-decoration:none;}
#lomc-nav{display:flex;align-items:center;gap:32px;}
#lomc-nav a{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(245,240,232,.75);transition:color .3s;}
#lomc-nav a:hover{color:var(--gold);}
.lomc-nav-shop{background:var(--crimson)!important;color:var(--ivory)!important;border:1px solid var(--gold);padding:8px 18px!important;border-radius:3px;transition:background .3s,color .3s!important;}
.lomc-nav-shop:hover{background:var(--gold)!important;color:var(--bg)!important;}
.lomc-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.lomc-hamburger span{display:block;width:24px;height:1.5px;background:var(--gold);border-radius:2px;}
#lomc-mobile-nav{display:none;flex-direction:column;background:rgba(8,8,8,.98);border-bottom:1px solid var(--border);padding:20px 32px;gap:18px;}
#lomc-mobile-nav a{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ivory);border-bottom:1px solid var(--border);padding-bottom:14px;}
#lomc-mobile-nav a:hover{color:var(--gold);}
#lomc-mobile-nav.open{display:flex;}

#lomc-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;padding-bottom:9vh;}
#lomc-hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#100808 0%,#080408 40%,#0a0600 100%);background-size:cover;background-position:center;}
#lomc-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.52);z-index:1;}
#lomc-smoke-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;}
.lomc-smoke-p{position:absolute;border-radius:50%;animation:smokeFloat linear infinite;opacity:0;}
#lomc-hero-content{position:relative;z-index:3;max-width:820px;padding:0 20px;}
.lomc-hero-eyebrow{display:block;margin-bottom:18px;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);}
.lomc-hero-title{font-family:'Playfair Display',serif!important;font-size:clamp(46px,8vw,88px)!important;font-style:italic;color:var(--ivory)!important;text-shadow:0 0 80px rgba(201,168,76,.12);line-height:1.08;margin-bottom:20px;}
.lomc-hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2.5vw,23px);font-style:italic;color:var(--muted);margin-bottom:42px;}
.lomc-hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.lomc-btn-primary{background:var(--crimson);color:var(--ivory);border:1px solid var(--gold);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:15px 34px;border-radius:3px;display:inline-block;position:relative;overflow:hidden;transition:background .3s,color .3s;}
.lomc-btn-primary:hover{background:var(--gold);color:var(--bg);}
.lomc-btn-outline{background:transparent;color:var(--gold);border:1px solid var(--gold);font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;padding:15px 34px;border-radius:3px;display:inline-block;transition:background .3s,color .3s;}
.lomc-btn-outline:hover{background:var(--gold);color:var(--bg);}
.lomc-bounce-arrow{margin-top:36px;animation:bounceDown 2s ease-in-out infinite;}

.lomc-smoke-divider{width:100%;padding:12px 0;background:var(--bg);}
.lomc-smoke-divider path{stroke-dasharray:1200;stroke-dashoffset:1200;animation:drawSmoke 7s ease-in-out infinite alternate;}

#lomc-promise{background:#0c0c0c;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px 20px;}
.lomc-promise-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;}
.lomc-promise-col{text-align:center;padding:40px 28px;border:1px solid var(--border);border-radius:8px;transition:transform .3s,box-shadow .3s,border-color .3s;}
.lomc-promise-col:hover{transform:translateY(-5px);box-shadow:0 6px 32px var(--glow);border-color:var(--gold);}
.lomc-promise-icon{color:var(--gold);margin-bottom:16px;}
.lomc-promise-title{font-family:'Playfair Display',serif!important;font-size:20px!important;color:var(--ivory)!important;margin-bottom:12px;}
.lomc-promise-text{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--muted);line-height:1.6;}

.lomc-section-header{text-align:center;margin-bottom:52px;}
.lomc-eyebrow{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;display:block;}
.lomc-section-title{font-family:'Playfair Display',serif!important;font-size:clamp(32px,5vw,50px)!important;color:var(--ivory)!important;margin-bottom:12px;}
.lomc-section-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:var(--muted);}
.lomc-ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;}
.lomc-ornament-line{height:1px;width:60px;background:rgba(201,168,76,.3);}

.lomc-portrait-card{border-radius:8px;overflow:hidden;border:1px solid transparent;transition:transform .4s,box-shadow .4s,border-color .4s;cursor:pointer;}
.lomc-portrait-card:hover{transform:scale(1.03);box-shadow:0 0 28px var(--glow);border-color:var(--gold);}
.lomc-portrait-caption{background:var(--card);padding:18px;text-align:center;}
.lomc-portrait-label{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.lomc-portrait-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--muted);}
.lomc-product-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.lomc-product-card:hover{transform:translateY(-8px);box-shadow:0 8px 40px var(--glow);}
.lomc-product-name{font-family:'Playfair Display',serif;font-size:20px;color:var(--ivory);margin-bottom:4px;}
.lomc-product-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--muted);margin-bottom:12px;}
.lomc-product-price{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;color:var(--gold);margin-bottom:14px;}

.lomc-testimonial{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:32px;transition:box-shadow .3s;}
.lomc-testimonial:hover{box-shadow:0 0 28px var(--glow);}
.lomc-testi-quote{font-family:'Playfair Display',serif;font-size:56px;color:var(--gold);line-height:.9;margin-bottom:6px;}
.lomc-testi-text{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--ivory);line-height:1.7;margin-bottom:20px;}
.lomc-testi-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:6px;}
.lomc-testi-name{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.lomc-testi-loc{font-family:'Montserrat',sans-serif;font-size:10px;color:var(--muted);}

.lomc-pull-quote{border-left:3px solid var(--crimson);padding:14px 22px;margin:28px 0;}
.lomc-pull-quote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(20px,3vw,26px);color:var(--gold);line-height:1.45;}

#lomc-story{background:var(--surface);padding:88px 20px;}
.lomc-story-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.lomc-story-img-wrap{position:relative;}
.lomc-story-img-frame{position:absolute;inset:0;border:1px solid var(--gold);border-radius:8px;transform:translate(12px,12px);z-index:0;}
.lomc-story-img{position:relative;z-index:1;border-radius:8px;overflow:hidden;aspect-ratio:4/5;background:var(--card);}
.lomc-story-img img{width:100%;height:100%;object-fit:cover;}

#lomc-email-section{padding:88px 20px;background:linear-gradient(135deg,#080808 0%,#0e0808 40%,#080808 100%);text-align:center;position:relative;overflow:hidden;}
#lomc-email-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(139,0,0,.07),transparent 70%);pointer-events:none;}
.lomc-email-title{font-family:'Playfair Display',serif!important;font-size:clamp(32px,6vw,52px)!important;margin-bottom:14px;}
.lomc-email-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:20px;color:rgba(245,240,232,.8);margin-bottom:40px;}
.lomc-email-form{display:flex;gap:10px;max-width:460px;margin:0 auto 14px;flex-wrap:wrap;}
.lomc-email-form input{flex:1;min-width:200px;background:#161616!important;border:1px solid var(--border)!important;color:var(--ivory)!important;font-family:'Montserrat',sans-serif;font-size:13px;padding:14px 18px!important;border-radius:3px;}
.lomc-email-form input:focus{border-color:var(--gold)!important;outline:none;}
.lomc-email-form button{background:var(--crimson)!important;color:var(--ivory)!important;border:none!important;font-family:'Montserrat',sans-serif!important;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700;padding:14px 28px!important;border-radius:3px;cursor:pointer;transition:background .3s,color .3s;}
.lomc-email-form button:hover{background:var(--gold)!important;color:var(--bg)!important;}
.lomc-email-disc{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:1px;color:var(--muted);}

#lomc-footer{background:var(--bg);border-top:2px solid var(--gold);padding:64px 20px 32px;}
.lomc-footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.lomc-footer-logo{font-family:'Playfair Display',serif;font-size:22px;letter-spacing:2px;margin-bottom:12px;}
.lomc-footer-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--muted);}
.lomc-footer-col-title{font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px;}
.lomc-footer-col ul li{margin-bottom:10px;}
.lomc-footer-col ul li a{font-family:'Cormorant Garamond',serif;font-size:17px;color:var(--muted);transition:color .3s;}
.lomc-footer-col ul li a:hover{color:var(--ivory);}
.lomc-footer-bottom{max-width:1200px;margin:0 auto;border-top:1px solid var(--border);padding-top:24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:1px;color:var(--muted);}
.lomc-21plus{color:var(--crimson);font-family:'Montserrat',sans-serif;font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase;}

.woocommerce,.woocommerce-page{background:var(--bg)!important;}
.woocommerce div.product .product_title{font-family:'Playfair Display',serif!important;font-size:clamp(28px,5vw,48px)!important;color:var(--ivory)!important;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:'Playfair Display',serif!important;color:var(--gold)!important;font-size:32px!important;}
.woocommerce div.product p.price del{color:var(--muted)!important;font-size:18px!important;opacity:1;}
.woocommerce span.onsale{background:var(--crimson)!important;color:var(--ivory)!important;font-family:'Montserrat',sans-serif!important;font-size:10px!important;letter-spacing:2px;border-radius:20px;padding:4px 12px;}
.woocommerce div.product form.cart .single_add_to_cart_button,.woocommerce .button,.woocommerce button.button{background:var(--crimson)!important;color:var(--ivory)!important;font-family:'Montserrat',sans-serif!important;font-size:11px!important;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--gold)!important;border-radius:3px!important;padding:14px 32px!important;transition:background .3s,color .3s!important;}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,.woocommerce .button:hover{background:var(--gold)!important;color:var(--bg)!important;}
.woocommerce div.product form.cart .quantity input.qty{background:var(--card)!important;color:var(--ivory)!important;border:1px solid var(--border)!important;font-family:'Montserrat',sans-serif!important;height:48px;width:64px;text-align:center;}
.woocommerce div.product .woocommerce-tabs ul.tabs{background:transparent!important;border-bottom:1px solid var(--border)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:'Montserrat',sans-serif!important;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--muted)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gold)!important;}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--surface)!important;color:var(--ivory)!important;border:none!important;padding:32px 0!important;font-family:'Cormorant Garamond',serif!important;font-size:18px;}
.woocommerce ul.products li.product{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:8px;padding:16px!important;transition:transform .3s,box-shadow .3s;}
.woocommerce ul.products li.product:hover{transform:translateY(-8px);box-shadow:0 8px 40px var(--glow);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Playfair Display',serif!important;color:var(--ivory)!important;}
.woocommerce ul.products li.product .price{color:var(--gold)!important;font-family:'Montserrat',sans-serif!important;}
.woocommerce .related h2,.woocommerce .up-sells h2{font-family:'Playfair Display',serif!important;color:var(--gold)!important;text-align:center;}
.woocommerce table.shop_table{background:var(--card)!important;border:1px solid var(--border)!important;color:var(--ivory)!important;}
.woocommerce table.shop_table th{background:var(--panel)!important;color:var(--gold)!important;font-family:'Montserrat',sans-serif!important;font-size:10px;letter-spacing:3px;text-transform:uppercase;border-bottom:1px solid var(--border)!important;padding:14px 16px!important;}
.woocommerce table.shop_table td{border-bottom:1px solid rgba(201,168,76,.08)!important;color:var(--ivory)!important;padding:14px 16px!important;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{background:var(--card)!important;border:1px solid var(--border)!important;color:var(--ivory)!important;font-family:'Cormorant Garamond',serif!important;border-radius:3px;padding:12px 16px!important;}
.woocommerce form .form-row input.input-text:focus{border-color:var(--gold)!important;outline:none!important;}
.woocommerce form .form-row label{font-family:'Montserrat',sans-serif!important;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)!important;margin-bottom:6px;display:block;}
.star-rating span::before{color:var(--gold)!important;}
::placeholder{color:var(--muted)!important;}

@media(max-width:1024px){.lomc-footer-grid{grid-template-columns:1fr 1fr;}.lomc-story-grid{grid-template-columns:1fr;}}
@media(max-width:768px){#lomc-nav{display:none;}.lomc-hamburger{display:flex;}#lomc-header{padding:0 20px;}.lomc-footer-grid{grid-template-columns:1fr 1fr;gap:28px;}.lomc-promise-grid{grid-template-columns:1fr;}}
@media(max-width:480px){.lomc-footer-grid{grid-template-columns:1fr;}.lomc-hero-ctas{flex-direction:column;align-items:center;}}
