/*
Theme Name: IENVYMALL White Black Gold
Theme URI: https://ienvymall.shop/
Author: IENVYTV
Description: Cream, black and gold luxury storefront for IENVYMALL. Renders live channel stores and catalogue products.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: ienvymall-white-black-gold
Tags: e-commerce, custom-colors, full-width-template
*/

:root{--black:#080808;--ink:#18130c;--cream:#f7f3ec;--paper:#fffdf9;--gold:#c79138;--light-gold:#e3c57f;--line:#d8d1c7;--muted:#756d62}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}
.announcement{background:#080808;color:#fff;min-height:36px;padding:0 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.announcement span:nth-child(2){text-align:center}.announcement span:nth-child(3){text-align:right}.gold{color:var(--light-gold)}
header{height:68px;background:rgba(255,253,249,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;padding:0 5vw;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.menu{width:22px;height:17px;display:grid;align-content:space-between}.menu i{height:1px;background:#111;display:block}.logo{font:400 29px Georgia,serif;letter-spacing:.13em;white-space:nowrap}.logo b{font-weight:400;color:var(--gold);letter-spacing:0}nav{display:flex;gap:34px;margin:auto;font-size:11px;font-weight:800;text-transform:uppercase}.search{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px}.search input{border:0;outline:0;background:transparent;width:210px}.actions{display:flex;gap:16px;font-size:13px}
.hero{background:#080808;color:#fff;min-height:380px;padding:58px 7vw;display:grid;grid-template-columns:1fr .9fr;gap:32px;align-items:center;overflow:hidden}.kicker{color:var(--light-gold);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800}.hero h1{font:400 clamp(56px,7vw,104px)/.9 Georgia,serif;margin:14px 0}.hero h1 span{color:var(--light-gold)}.hero p{color:#ddd5c8;font-size:18px;line-height:1.55;max-width:670px}.buttons{display:flex;gap:12px;margin-top:22px}.btn{padding:14px 22px;border:1px solid #9b815b;font-size:11px;font-weight:800;text-transform:uppercase}.btn.primary{background:linear-gradient(135deg,#efd18d,#b87c27);color:#17100a;border:0}
.hero-art{height:310px;border-radius:28px;position:relative;background:radial-gradient(circle at 25% 26%,rgba(255,255,255,.9),transparent 22%),linear-gradient(135deg,#d6b77b,#62411f 48%,#17120d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.hero-art:before{content:"";position:absolute;width:38%;height:70%;right:11%;bottom:0;border-radius:50% 50% 10% 10%;background:linear-gradient(180deg,#dcbf8a,#3c2b1d);box-shadow:-85px 15px 0 -22px #1b1a18}.hero-art:after{content:"SHOP THE NETWORK";position:absolute;left:7%;bottom:7%;font:400 34px Georgia,serif;letter-spacing:.08em;color:#fff}
.trust{background:#0b0b0b;color:#e1dbd1;padding:16px 7vw;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;font-size:10px}.trust b{display:block;color:#fff;margin-bottom:4px;text-transform:uppercase}.shell{max-width:1500px;margin:auto;padding:42px 5vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-head h2{margin:0;font:400 39px Georgia,serif}.section-head a{font-size:11px;font-weight:800;text-transform:uppercase}
.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.channel{min-height:240px;border-radius:18px;color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.channel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.86))}.channel>*{position:relative;z-index:1}.channel:nth-child(1){background:linear-gradient(135deg,#3b0c19,#09090b)}.channel:nth-child(2){background:linear-gradient(135deg,#84602e,#17384b)}.channel:nth-child(3){background:linear-gradient(135deg,#243c4b,#080b0d)}.channel:nth-child(4){background:linear-gradient(135deg,#6b4e5f,#21131e)}.channel small{letter-spacing:.15em}.channel h3{font:400 27px Georgia,serif;margin:9px 0}
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.art{aspect-ratio:1.15;background:linear-gradient(145deg,#f1ede7,#d9d0c4);display:grid;place-items:center;font-size:76px;color:#1b1b1b}.product-body{padding:16px}.product h3{font:400 21px Georgia,serif;margin:0 0 10px}.meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.collection{min-height:180px;border-radius:18px;padding:24px;color:#fff;background:#111;display:flex;flex-direction:column;justify-content:flex-end}.collection:nth-child(2){background:linear-gradient(135deg,#b48743,#392813)}.collection:nth-child(3){background:linear-gradient(135deg,#3c4b59,#11171c)}.collection h3{font:400 30px Georgia,serif;margin:0 0 8px}footer{background:#0b0b0b;color:#cdc5b9;padding:36px 5vw;display:flex;justify-content:space-between;font-size:12px}
@media(max-width:1000px){nav{display:none}.hero{grid-template-columns:1fr}.trust{grid-template-columns:repeat(3,1fr)}.channels,.products{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.announcement{grid-template-columns:1fr;text-align:center;padding:9px 16px}.announcement span:not(:first-child){display:none}header{padding:12px 18px;height:auto;flex-wrap:wrap}.search{order:5;width:100%}.search input{width:100%}.hero{padding:42px 20px}.hero-art{height:260px}.buttons{flex-direction:column;align-items:flex-start}.trust{grid-template-columns:1fr 1fr;padding:18px}.shell{padding:36px 18px}.channels,.products,.collections{grid-template-columns:1fr}footer{display:block;line-height:1.8}}


/* Product imagery -----------------------------------------------------------
   The placeholder glyph sets a very large font-size on the image container. A
   broken or missing image URL renders its alt text at that size and destroys the
   card layout, so the image is overlaid on the placeholder rather than replacing
   it, and given its own small type. Paired with onerror="this.remove()" in the
   template, a dead URL falls back to the placeholder instead of breaking. */
.art, .product-art, .im-img { position: relative; overflow: hidden; }
.art img, .product-art img, .im-img img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; font-size: 12px; line-height: 1.3; color: #7a7a7a;
}


/* WooCommerce ---------------------------------------------------------------
   WooCommerce ships its own markup for shop, category, product, cart and
   checkout. Without these rules those pages render with browser defaults and
   visibly leave the design the moment a visitor clicks a store. */

.woocommerce-page main, .woocommerce main { color: #18130c; }

.woocommerce-products-header,
.woocommerce-products-header__title,
.woocommerce-loop-product__title,
.product_title { font-family: Georgia,serif; font-weight: 400; }

.woocommerce-products-header__title, .product_title {
  font-size: clamp(30px, 4vw, 46px); margin: 0 0 10px; line-height: 1.1;
}
.term-description, .woocommerce-result-count { color: #756d62; }

.woocommerce-breadcrumb {
  font-size: 11px; text-transform: uppercase; letter-spacing: .08em;
  color: #756d62; margin-bottom: 18px;
}
.woocommerce-breadcrumb a { color: #c79138; }

/* Product grid */
.woocommerce ul.products {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 16px; margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product {
  background: #fffdf9; border: 1px solid #d8d1c7; border-radius: 16px;
  padding: 14px; margin: 0; width: auto; float: none; text-align: left;
}
.woocommerce ul.products li.product a img {
  width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; margin: 0 0 12px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 19px; padding: 0; margin: 0 0 8px;
}
.woocommerce ul.products li.product .price {
  color: #18130c; font-weight: 800; font-size: 17px; display: block; margin-bottom: 10px;
}
.woocommerce ul.products li.product .price del { color: #756d62; font-weight: 400; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: #080808; color: #fff; border: 0; border-radius: 10px;
  padding: 12px 18px; font-weight: 800; font-size: 12px;
  text-transform: uppercase; letter-spacing: .04em;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover { opacity: .88; color: #fff; }

/* Single product, cart, checkout, account */
.woocommerce div.product .product_title { margin-bottom: 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
  color: #18130c; font-size: 26px; font-weight: 800;
}
.woocommerce table.shop_table, .woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: #d8d1c7; }
.woocommerce table.shop_table { border-radius: 14px; }
.woocommerce .cart_totals h2, .woocommerce-billing-fields h3,
.woocommerce-order-details h2, #order_review_heading {
  font-family: Georgia,serif; font-weight: 400;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid #d8d1c7; border-radius: 10px; padding: 12px; background: #fffdf9;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce-noreviews, p.no-comments {
  border-top-color: #c79138; background: #fffdf9; border-radius: 10px;
}
.woocommerce-message::before, .woocommerce-info::before { color: #c79138; }

@media (max-width: 620px) {
  .woocommerce ul.products { grid-template-columns: 1fr 1fr; }
}
