/* =========================================================
   ORIENS × WooCommerce
   Loaded after Woo core styles; equal-specificity overrides.
   ========================================================= */

/* ---------- Shop hero ---------- */
.shop-hero {
  position: relative; background: var(--ink); color: var(--white);
  padding: clamp(56px, 8vw, 104px) 0; overflow: hidden; text-align: center;
  background-image: radial-gradient(ellipse 60% 100% at 50% 135%, rgba(185,153,92,.25), transparent 62%);
}
.shop-hero-bg { position: absolute; inset: 0; }
.shop-hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.shop-hero.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,16,20,.85), rgba(15,16,20,.35)); }
.shop-hero-inner { position: relative; z-index: 2; max-width: 720px; }
.shop-hero .kicker { color: var(--gold-pale); justify-content: center; }
.shop-hero .kicker::before { background: var(--gold-pale); }
.shop-hero h1 { color: var(--white); font-weight: 500; font-size: clamp(2.2rem, 4.5vw, 3.6rem); margin-bottom: 10px; }
.shop-hero p { color: rgba(255,255,255,.75); margin: 0 auto; max-width: 560px; font-size: 15.5px; }

/* ---------- Layout wrap ---------- */
.woo-wrap { padding-top: 34px; padding-bottom: clamp(64px, 8vw, 110px); }
.woocommerce-breadcrumb { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-mute); margin: 0 0 26px; }
.woocommerce-breadcrumb a { color: var(--ink-mute); }
.woocommerce-breadcrumb a:hover { color: var(--gold-deep); }

/* ---------- Result count / ordering ---------- */
.woocommerce-result-count { color: var(--ink-mute); font-size: 13px; letter-spacing: .08em; margin: 8px 0 30px; float: left; }
.woocommerce-ordering { float: right; margin: 0 0 30px; }
.woocommerce-ordering select {
  padding: 10px 36px 10px 14px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--white); font-family: var(--font-sans); font-size: 12.5px; letter-spacing: .1em;
  color: var(--ink); outline: none; cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%2315171b'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}

/* ---------- Product grid & cards ---------- */
ul.products {
  display: grid !important; gap: 26px; list-style: none; margin: 0 0 10px; padding: 0; clear: both;
}
ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1024px) { ul.products.columns-4, ul.products.columns-3 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { ul.products { grid-template-columns: 1fr !important; } }

ul.products li.product {
  width: auto !important; float: none !important; margin: 0 !important;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; position: relative; display: flex; flex-direction: column;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); border-color: var(--gold-pale); }

ul.products li.product a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; }
ul.products li.product img {
  width: 100% !important; margin: 0 !important; aspect-ratio: 1/1; object-fit: cover;
  background: var(--bg-soft); transition: transform .9s var(--ease);
}
ul.products li.product:hover img { transform: scale(1.045); }

ul.products li.product .loop-cat {
  display: block; padding: 18px 22px 0;
  font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-deep);
}
ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif); font-size: 1.28rem !important; font-weight: 600;
  padding: 6px 22px 0 !important; color: var(--ink); line-height: 1.3;
}
ul.products li.product .price {
  padding: 8px 22px 20px; color: var(--ink) !important;
  font-family: var(--font-sans); font-size: 15px !important; font-weight: 400; letter-spacing: .08em;
  margin: 0 !important;
}
ul.products li.product .price del { color: var(--ink-mute); opacity: 1; margin-right: 8px; }
ul.products li.product .price ins { text-decoration: none; color: var(--gold-deep); font-weight: 500; }

ul.products li.product .button, ul.products li.product .added_to_cart {
  margin: 0 22px 22px !important;
  padding: 12px 18px; text-align: center;
  background: var(--bg); color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--radius);
  font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase;
  transition: all .3s var(--ease);
}
ul.products li.product .button:hover, ul.products li.product .added_to_cart:hover {
  background: var(--ink); color: var(--white); border-color: var(--ink);
}
ul.products li.product .button.loading { opacity: .6; }
ul.products li.product .added_to_cart { background: var(--gold); border-color: var(--gold); color: var(--white); }

span.onsale {
  position: absolute; top: 14px; left: 14px; z-index: 5;
  background: var(--gold-deep) !important; color: var(--white) !important;
  font-size: 10px !important; font-weight: 500 !important; letter-spacing: .24em; text-transform: uppercase;
  padding: 6px 12px !important; border-radius: 2px !important;
  min-width: 0 !important; min-height: 0 !important; line-height: 1.4 !important; margin: 0 !important;
}

/* ---------- Single product ---------- */
.single-product div.product { display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(36px, 5vw, 76px); position: relative; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; }
.single-product div.product .entry-summary { width: 100% !important; float: none !important; padding-top: 6px; }
.single-product div.product > *:not(.woocommerce-product-gallery):not(.entry-summary):not(.onsale) { grid-column: 1 / -1; }
@media (max-width: 900px) { .single-product div.product { grid-template-columns: 1fr; } }

.woocommerce-product-gallery img { border-radius: var(--radius); border: 1px solid var(--line); }
.woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 12px; margin-top: 14px !important; padding: 0; }
.woocommerce-product-gallery .flex-control-thumbs li { width: 84px !important; float: none !important; cursor: pointer; }
.woocommerce-product-gallery .flex-control-thumbs img { border: 1px solid var(--line); opacity: .6; transition: opacity .3s; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--gold); }

.single-product .entry-summary .product_title {
  font-size: clamp(1.9rem, 3vw, 2.6rem); font-weight: 600; margin-bottom: 6px;
}
.single-product .entry-summary .price {
  color: var(--gold-deep) !important; font-family: var(--font-sans);
  font-size: 1.35rem !important; font-weight: 400; letter-spacing: .06em; margin: 4px 0 18px !important;
}
.single-product .entry-summary .woocommerce-product-details__short-description { color: var(--ink-soft); font-size: 15.5px; }
.single-product .entry-summary .woocommerce-product-details__short-description p { margin-bottom: .8em; }

.single-product form.cart { display: flex; gap: 14px; align-items: stretch; margin: 26px 0 8px !important; }
.single-product form.cart div.quantity { float: none !important; margin: 0 !important; display: flex; }
.single-product form.cart .qty {
  width: 76px; height: 100%; min-height: 50px; text-align: center;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white);
  font-family: var(--font-sans); font-size: 15px; outline: none;
}
.single-product form.cart .single_add_to_cart_button {
  flex: 1; background: var(--ink) !important; color: var(--white) !important;
  border: 1px solid var(--ink); border-radius: var(--radius) !important;
  font-size: 12px !important; font-weight: 500 !important; letter-spacing: .28em; text-transform: uppercase;
  padding: 15px 30px !important; transition: all .35s var(--ease);
}
.single-product form.cart .single_add_to_cart_button:hover { background: var(--gold-deep) !important; border-color: var(--gold-deep); }

.buy-assurances { list-style: none; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--line); }
.buy-assurances li {
  position: relative; padding-left: 26px; margin-bottom: 9px;
  font-size: 13.5px; color: var(--ink-soft);
}
.buy-assurances li::before {
  content: ""; position: absolute; left: 2px; top: 8px;
  width: 12px; height: 6px; border-left: 1.4px solid var(--gold-deep); border-bottom: 1.4px solid var(--gold-deep);
  transform: rotate(-45deg);
}
.single-product .product_meta {
  margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line);
  font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-mute);
}
.single-product .product_meta a { color: var(--gold-deep); }
.single-product .product_meta > span { display: block; margin-bottom: 6px; }

/* Tabs */
.woocommerce-tabs { margin-top: clamp(40px, 6vw, 72px) !important; }
.woocommerce-tabs ul.tabs {
  display: flex; gap: 8px; list-style: none; margin: 0 0 0 !important; padding: 0 !important;
  border-bottom: 1px solid var(--line); background: none !important;
}
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce-tabs ul.tabs li {
  background: none !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
  display: inline-block; padding: 14px 26px !important;
  font-family: var(--font-sans); font-size: 12px; font-weight: 500 !important; letter-spacing: .24em; text-transform: uppercase;
  color: var(--ink-mute) !important; border-bottom: 2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom-color: var(--gold-deep); }
.woocommerce-tabs .panel {
  background: var(--white); border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--radius) var(--radius);
  padding: clamp(26px, 4vw, 46px) !important; margin: 0 !important;
}
.woocommerce-tabs .panel h2:first-of-type { display: none; }
.woocommerce-tabs .panel p { color: var(--ink-soft); }
.woocommerce-tabs .panel h3 { margin-top: 1.4em; }
table.woocommerce-product-attributes { border: 1px solid var(--line); border-collapse: collapse; width: 100%; }
table.woocommerce-product-attributes th, table.woocommerce-product-attributes td {
  border: 1px solid var(--line); padding: 12px 18px !important; font-style: normal !important; background: none !important;
}
table.woocommerce-product-attributes th { width: 220px; font-weight: 500; letter-spacing: .1em; font-size: 13px; text-transform: uppercase; }

/* Related / upsells */
.related.products, .up-sells { margin-top: clamp(48px, 7vw, 88px); }
.related.products > h2, .up-sells > h2, .cross-sells > h2 {
  font-size: 1.9rem; margin-bottom: 30px; text-align: center;
}

/* ---------- Notices ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top: 2px solid var(--gold) !important; background: var(--white) !important;
  color: var(--ink) !important; border-radius: var(--radius);
  box-shadow: 0 10px 30px -18px rgba(21,23,27,.25);
  padding: 16px 24px 16px 52px !important; margin-bottom: 30px !important;
  font-size: 14.5px;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--gold-deep) !important; }
.woocommerce-error { border-top-color: var(--danger) !important; }
.woocommerce-error::before { color: var(--danger) !important; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
  background: var(--ink) !important; color: var(--white) !important; border-radius: var(--radius) !important;
  font-size: 11px !important; letter-spacing: .2em; text-transform: uppercase; padding: 9px 18px !important;
}

/* ---------- Cart ---------- */
.woocommerce-cart .woo-wrap h1.entry-title { display: none; }
table.shop_table {
  border: 1px solid var(--line) !important; border-collapse: separate !important; border-radius: var(--radius);
  background: var(--white);
}
table.shop_table th {
  font-family: var(--font-sans); font-size: 11.5px !important; font-weight: 500 !important;
  letter-spacing: .24em; text-transform: uppercase; color: var(--ink-mute);
  padding: 16px 14px !important; border-bottom: 1px solid var(--line) !important;
}
table.shop_table td { padding: 16px 14px !important; border-top: 1px solid var(--line) !important; font-size: 14.5px; }
table.shop_table td.product-name a { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--ink); }
table.shop_table img { width: 74px !important; border-radius: var(--radius); border: 1px solid var(--line); }
.woocommerce-cart table.cart td.actions .coupon .input-text {
  border: 1px solid var(--line) !important; border-radius: var(--radius); padding: 11px 14px !important;
  font-family: var(--font-sans); font-size: 13.5px; width: 170px !important;
}
.woocommerce a.remove {
  color: var(--danger) !important; font-weight: 300 !important; width: 26px; height: 26px; line-height: 24px;
  border: 1px solid var(--line); border-radius: 50%;
}
.woocommerce a.remove:hover { background: var(--danger) !important; border-color: var(--danger); }

.cart_totals h2, #order_review_heading, .woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3 {
  font-size: 1.5rem; margin: 0 0 18px;
}
.cart_totals table.shop_table { border: 1px solid var(--line) !important; }
.wc-proceed-to-checkout a.checkout-button {
  background: var(--gold) !important; color: var(--white) !important; border-radius: var(--radius) !important;
  font-size: 12px !important; font-weight: 500 !important; letter-spacing: .28em; text-transform: uppercase;
  padding: 17px 24px !important; transition: background .3s var(--ease);
}
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--gold-deep) !important; }

.cross-sells ul.products { grid-template-columns: repeat(2, 1fr); }

/* Generic woo buttons */
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  background: var(--ink); color: var(--white); border-radius: var(--radius);
  font-family: var(--font-sans); font-weight: 500; letter-spacing: .2em; text-transform: uppercase; font-size: 11.5px;
  padding: 12px 22px; transition: all .3s var(--ease);
}
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--gold-deep); color: var(--white); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] {
  background: var(--bg-soft); color: var(--ink-mute); padding: 12px 22px;
}

/* ---------- Checkout ---------- */
.woocommerce-checkout .woo-wrap h1.entry-title { display: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid var(--line) !important; border-radius: var(--radius) !important; background: var(--white) !important;
  padding: 12px 15px !important; height: auto !important; font-family: var(--font-sans); font-size: 14.5px !important;
  color: var(--ink) !important; outline: none;
}
.select2-container--default .select2-selection--single { padding: 8px 15px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100% !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--gold) !important; }
.woocommerce form .form-row label { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 5px; }
.woocommerce form .form-row .required { color: var(--gold-deep); text-decoration: none; }

.woocommerce-checkout #payment {
  background: var(--white) !important; border: 1px solid var(--line); border-radius: var(--radius);
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line) !important; padding: 22px !important; }
.woocommerce-checkout #payment div.payment_box {
  background: var(--bg) !important; color: var(--ink-soft) !important; border-radius: var(--radius);
  font-size: 13.5px !important;
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bg) !important; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 22px !important; }
#place_order {
  width: 100%; background: var(--gold) !important; color: var(--white) !important;
  font-size: 12.5px !important; letter-spacing: .3em; text-transform: uppercase;
  padding: 18px !important; border-radius: var(--radius) !important;
}
#place_order:hover { background: var(--gold-deep) !important; }

/* Order received */
.woocommerce-order .woocommerce-thankyou-order-received {
  font-family: var(--font-serif); font-size: 1.8rem; color: var(--ink); margin-bottom: 26px;
}
ul.woocommerce-order-overview {
  display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0 0 34px !important; padding: 0 !important;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); overflow: hidden;
}
ul.woocommerce-order-overview li {
  flex: 1 1 auto; border-right: 1px dashed var(--line) !important; margin: 0 !important; padding: 18px 22px !important;
  font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-mute);
}
ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font-size: 15px; letter-spacing: .02em; color: var(--ink); }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 240px !important; float: left; }
.woocommerce-account .woocommerce-MyAccount-content { width: calc(100% - 280px) !important; float: right; }
@media (max-width: 820px) {
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; float: none; }
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); overflow: hidden; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
  display: block; padding: 14px 22px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft);
}
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover {
  background: var(--ink); color: var(--white);
}
.woocommerce-account .woocommerce-MyAccount-content { font-size: 14.5px; }

/* Login/register card */
.woocommerce-account .woocommerce > h2 { font-size: 1.7rem; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password {
  border: 1px solid var(--line) !important; border-radius: var(--radius) !important; background: var(--white);
  padding: clamp(24px, 4vw, 40px) !important; max-width: 560px;
}

/* ---------- Quantity inputs (global) ---------- */
.woocommerce .quantity .qty {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; background: var(--white);
}

/* ---------- Star ratings ---------- */
.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--gold); }
.woocommerce p.stars a { color: var(--gold); }

/* Clear floats from woo defaults */
.woocommerce .woo-wrap::after { content: ""; display: table; clear: both; }
