/* XORA — Hello Elementor theme-level dark styling (body-level fallbacks) */
html { background:#0a0a0a; }
body, .elementor, .elementor-section, .elementor-container { background:#0a0a0a; color:#f4f2ed; }
body { font-family:'Jost', Helvetica, Arial, sans-serif; font-weight:300; letter-spacing:.01em; }
a { color:#f4f2ed; text-decoration:none; }

/* header */
.site-header { background:rgba(10,10,10,.92); border-bottom:1px solid rgba(237,232,224,.08); position:sticky; top:0; z-index:999; backdrop-filter:blur(10px); }
.site-header .site-title a { font-family:'Cormorant Garamond', serif; font-weight:600; font-size:1.6rem; letter-spacing:.35em; text-transform:uppercase; color:#f4f2ed; }
.site-header .site-title a::after { content:''; display:inline-block; }
.site-navigation nav ul.menu li a { font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:#cfcac1; transition:color .25s ease; padding:1.2rem 0 1.2rem .9rem; margin:0 .9rem; }
.site-navigation nav ul.menu li a:hover, .site-navigation nav ul.menu li.current-menu-item > a { color:#fff; }
.site-header a.menu-toggle { color:#f4f2ed; }

/* footer */
.site-footer { background:#0a0a0a; border-top:1px solid rgba(237,232,224,.08); padding:3.5rem 0 2.5rem; margin-top:0; }
.site-footer .footer-inner { display:flex; flex-direction:column; align-items:center; gap:1.6rem; max-width:1280px; margin:0 auto; padding:0 6vw; }
.site-footer .site-branding .site-title a { font-family:'Cormorant Garamond', serif; font-size:1.4rem; letter-spacing:.35em; text-transform:uppercase; color:#f4f2ed; }
.site-footer nav ul.menu { display:flex; gap:2.2rem; list-style:none; margin:0; padding:0; }
.site-footer nav ul.menu li a { font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:#8e8b85; transition:color .25s; }
.site-footer nav ul.menu li a:hover { color:#f4f2ed; }
.site-footer .copyright { color:#8e8b85; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; margin-top:.6rem; }
@media (max-width:575px){ .site-footer nav ul.menu { flex-wrap:wrap; justify-content:center; } }

/* woocommerce dark fallbacks (product/archive/cart) */
.woocommerce-page, .woocommerce div.product, .woocommerce ul.products, .woocommerce-message, .woocommerce-info { background:#0a0a0a; color:#f4f2ed; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:'Cormorant Garamond', serif; font-size:1.5rem; color:#f4f2ed; }
.woocommerce div.product p.price { color:#ede8e0; font-family:'Cormorant Garamond', serif; font-size:1.6rem; }
.woocommerce div.product form.cart .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  background:#ede8e0; color:#0a0a0a; font-family:'Jost',sans-serif; font-weight:500; letter-spacing:.22em; text-transform:uppercase; font-size:.72rem;
  border-radius:0; padding:1.05rem 2.4rem; border:1px solid #ede8e0; transition:all .25s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce div.product form.cart .button:hover { background:#0a0a0a; color:#ede8e0; }
.woocommerce div.product div.images img { background:#111; }
.woocommerce-tabs ul.tabs li a { color:#8e8b85; letter-spacing:.2em; text-transform:uppercase; font-size:.75rem; }
.woocommerce-tabs ul.tabs li.active a { color:#f4f2ed; }
.woocommerce div.product .woocommerce-tabs { border-top:1px solid rgba(237,232,224,.12); }
.woocommerce div.product div.summary p { color:#cfcac1; }
.woocommerce .quantity input[type=number] { background:#141414; color:#f4f2ed; border:1px solid rgba(237,232,224,.2); border-radius:0; }
.woocommerce span.onsale, span.xora-new { display:none; }

/* entry content default */
.entry-content p { color:#cfcac1; }

/* hide WP page titles theme adds */
h1.entry-title, .page .entry-header { display:none; }

/* CF7 dark luxury form */
.wpcf7 form, .wpcf7-form { width:100%; }
.wpcf7-form label { display:block; color:#8E8B85; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; margin-bottom:1.4rem; font-weight:400; }
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form textarea {
  width:100%; background:transparent; border:0; border-bottom:1px solid rgba(237,232,224,.25);
  color:#F2EDE5; font-family:'Jost',sans-serif; font-weight:300; font-size:1rem; letter-spacing:.02em;
  padding:.7rem 0; border-radius:0; transition:border-color .3s ease;
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus { outline:none; border-bottom-color:#C8A97E; }
.wpcf7-form textarea { min-height:110px; resize:vertical; }
.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder { color:#5B5752; }
.wpcf7-form .wpcf7-submit {
  background:#EDE8E0; color:#0A0A0A; border:1px solid #EDE8E0; border-radius:0;
  font-family:'Jost',sans-serif; font-weight:500; font-size:.72rem; letter-spacing:.25em; text-transform:uppercase;
  padding:1.05rem 2.6rem; cursor:pointer; transition:all .25s ease; width:auto;
}
.wpcf7-form .wpcf7-submit:hover { background:#0A0A0A; color:#EDE8E0; }
.wpcf7-form .wpcf7-not-valid-tip { color:#C8A97E; font-size:.75rem; letter-spacing:.05em; }
.wpcf7-response-output { border:1px solid rgba(200,169,126,.4) !important; color:#C8A97E !important; font-size:.8rem; }

/* theme search form / buttons dark */
.search-form input[type=search] { background:transparent; border:1px solid rgba(237,232,224,.3); color:#F2EDE5; border-radius:0; }
button, input[type=submit] { border-radius:0; }

/* Collection grid: single signature — centered card */
.woocommerce ul.products.columns-2 { display:flex; justify-content:center; }
.woocommerce ul.products.columns-2 li.product { width:42%!important; max-width:430px; float:none!important; margin:0 auto; background:#0D0D0C; border:1px solid rgba(237,232,224,.08); padding:2.5rem 2.5rem 2rem; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:block; text-align:center; }
.woocommerce ul.products li.product img { width:60%; margin:0 auto 1.5rem; transition:transform .5s ease; }
.woocommerce ul.products li.product:hover img { transform:scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { text-align:center; font-size:1.7rem!important; padding:0; }
.woocommerce ul.products li.product .price { text-align:center; color:#C8A97E!important; font-family:'Cormorant Garamond',serif; font-size:1.15rem; display:block; margin:.3rem 0 1.2rem; }
.woocommerce ul.products li.product .button { display:block; text-align:center; margin:0 auto; width:100%; }
@media(max-width:768px){ .woocommerce ul.products.columns-2 li.product { width:100%!important; } }

/* nav visited-links cleanup (magenta default) */
.site-navigation nav ul.menu li a:visited, .site-navigation nav ul.menu li a:link { color:#cfcac1; }
.site-header a:visited { color:#f4f2ed; }

/* footer contrast bump */
.site-footer nav ul.menu li a { color:#a9a49c; }

/* override hello reset a{color:#c36} globally */
body a, body a:link, body a:visited { color:#cfcac1; }
body a:hover { color:#fff; }

/* nav — correct selector (nav IS .site-navigation) */
nav.site-navigation ul.menu li a, nav.site-navigation .menu li a { color:#cfcac1; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; padding:1.2rem .9rem; display:inline-block; transition:color .25s ease; }
nav.site-navigation ul.menu li a:hover, nav.site-navigation ul.menu li.current-menu-item > a { color:#fff; }

/* product grid on shortcode page (no .woocommerce ancestor there) */
ul.products.columns-2 { display:flex; justify-content:center; }
ul.products.columns-2 > li.product { width:42%!important; max-width:430px; float:none!important; margin:0 auto; background:#0D0D0C; border:1px solid rgba(237,232,224,.08); padding:2.5rem 2.5rem 2rem; }
ul.products li.product a.woocommerce-LoopProduct-link { display:block; text-align:center; }
ul.products li.product img { width:60%; margin:0 auto 1.5rem; transition:transform .5s ease; }
ul.products li.product:hover img { transform:scale(1.03); }
ul.products li.product .woocommerce-loop-product__title { text-align:center; font-family:'Cormorant Garamond',serif; font-size:1.7rem!important; color:#F2EDE5; padding:0; }
ul.products li.product .price { text-align:center; color:#C8A97E!important; font-family:'Cormorant Garamond',serif; font-size:1.15rem; display:block; margin:.3rem 0 1.2rem; }
ul.products li.product .button { display:block; text-align:center; margin:0 auto; width:100%; }
@media(max-width:768px){ ul.products.columns-2 > li.product { width:100%!important; } }

/* product card image: force correct size (subsizes missing on server) */
ul.products li.product img, .woocommerce ul.products li.product img { width:auto; height:auto; max-width:100%; max-height:340px; }
li.product .woocommerce-loop-product__title { letter-spacing:.04em; }

/* WC subsize fallback: full image scales by natural ratio */
ul.products li.product img { width:auto; height:auto; max-width:100%; }
ul.products li.product a.woocommerce-LoopProduct-link > img { max-height:420px; }

/* force product card image scale regardless of attrs */
ul.products li.product a.woocommerce-LoopProduct-link > img { width:170px!important; height:auto!important; max-width:none; }

/* widen li to fit image */
ul.products.columns-2 > li.product { width:340px!important; max-width:340px; }

/* FINAL grid fix: width + no-shrink + overflow visible off */
ul.products.columns-2 { display:block; }
ul.products.columns-2 > li.product { width:340px!important; max-width:340px!important; flex:none; margin:0 auto!important; float:none!important; overflow:hidden; }

/* NUCLEAR: beat WC smallscreen 48% with matching selector + !important, and stop 378px viewport quirk */
.woocommerce ul.products[class*="columns-"] li.product, .woocommerce-page ul.products[class*="columns-"] li.product { width:340px!important; max-width:340px!important; float:none!important; margin:0 auto!important; }
div.woocommerce.columns-2, ul.products.columns-2 { width:auto!important; }
