/*
 * Commerce surfaces — shop, cart, checkout, account.
 *
 * The Claude Design project has no .dc.html for any of these, so nothing here
 * is a port. Every value is taken from the component vocabulary the project
 * does define, and from nowhere else:
 *
 *   card      → radius 28, #0B0D12, 1px var(--line-dark)        (Produs, Despre)
 *   field     → height 52, radius 14, bg canvas, 1px white/.14  (WaitlistForm, Contact)
 *   primary   → height 56, radius 16, cyan on canvas            (Contact "Trimite mesajul")
 *   pill      → height 44, radius 999                           (SiteHeader, Descarcă)
 *   mono key  → 11-12px, .16em, uppercase, ink-3                (everywhere)
 *   rule      → 1px var(--line-dark) between rows               (Produs specs, Contact facts)
 *
 * Woo's own class names are styled directly; no markup is overridden that does
 * not need to be, because every override is a thing that breaks on a Woo
 * upgrade.
 */

.rvf-shop{max-width:var(--max);margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) var(--sec-y)}
.rvf-shop__head{display:flex;flex-direction:column;gap:20px;
  padding-bottom:clamp(32px,4vw,56px)}
.rvf-shop__head h1{font-size:var(--fs-h1-produs);line-height:1;font-weight:600;letter-spacing:-.04em}
.rvf-shop__head p{max-width:560px;font-size:17px;line-height:1.6;color:var(--ink-2)}

/* ---- notices ---------------------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
ul.woocommerce-error{list-style:none;margin:0 0 24px;padding:18px 22px;border-radius:20px;
  background:var(--canvas-2);border:1px solid var(--line-dark);color:var(--ink-1);
  font-size:15px;line-height:1.55;display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.woocommerce-message{border-color:rgba(69,213,255,.35)}
.woocommerce-error,ul.woocommerce-error{border-color:rgba(255,138,138,.45);color:#FFD9D9}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}

/* ---- product loop ----------------------------------------------------- */
.woocommerce ul.products{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:16px;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto;margin:0;float:none;display:flex;
  flex-direction:column;gap:14px;padding:16px 16px 24px;border-radius:28px;
  background:var(--canvas-2);border:1px solid var(--line-dark);
  transition:transform .2s ease,border-color .2s ease;text-align:left}
.woocommerce ul.products li.product:hover{transform:translateY(-2px);border-color:var(--cyan)}
.woocommerce ul.products li.product a img{border-radius:18px;margin:0;aspect-ratio:1;
  object-fit:cover;background:var(--deep)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 8px;margin:0;
  font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink-1)}
.woocommerce ul.products li.product .price{padding:0 8px;margin:0;font-size:18px;
  font-weight:600;color:var(--ink-1)}
.woocommerce ul.products li.product .price del{opacity:.55;font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .onsale{position:absolute;margin:0;top:26px;right:26px;
  padding:5px 12px;border-radius:var(--pill);background:var(--cyan);color:var(--canvas);
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;line-height:1.6;min-height:0;min-width:0}
.woocommerce ul.products li.product{position:relative}

/* ---- buttons ---------------------------------------------------------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #respond input#submit,.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:52px;padding:0 24px;border-radius:14px;border:0;
  background:var(--cyan);color:var(--canvas);
  font-family:inherit;font-size:15px;font-weight:500;line-height:1;white-space:nowrap;
  text-shadow:none;transition:filter .2s ease,transform .2s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,.woocommerce #respond input#submit:hover{
  background:var(--cyan);color:var(--canvas);filter:brightness(1.08)}
.woocommerce a.button.wc-backward,.woocommerce .cart .button[name="update_cart"]{
  background:rgba(255,255,255,.03);color:var(--ink-1);border:1px solid rgba(255,255,255,.15)}
.woocommerce a.button.wc-backward:hover,.woocommerce .cart .button[name="update_cart"]:hover{
  background:rgba(255,255,255,.07);color:var(--ink-1);border-color:rgba(255,255,255,.35)}
.woocommerce .button:disabled,.woocommerce button.button:disabled[disabled]{
  opacity:.45;cursor:not-allowed;filter:none}
.woocommerce .button.loading::after,.woocommerce .button.added::after{line-height:52px}

/* ---- fields ----------------------------------------------------------- */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection--single,
.woocommerce form .form-row select,.woocommerce-cart table.cart td.actions .coupon .input-text,
.wc-block-components-text-input input{
  height:52px;padding:0 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);
  background:var(--canvas);color:var(--ink-1);font:inherit;font-size:15px;outline:none;
  width:100%;box-shadow:none}
.woocommerce form .form-row textarea{height:auto;min-height:120px;padding:14px 18px;line-height:1.5}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{border-color:var(--cyan)}
.woocommerce form .form-row label{display:block;margin-bottom:8px;font-family:var(--mono);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row .woocommerce-form__label-for-checkbox{
  font-family:inherit;font-size:14px;letter-spacing:normal;text-transform:none;color:var(--ink-2);
  display:flex;gap:10px;align-items:flex-start}
.woocommerce form .form-row{margin-bottom:18px;padding:0}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce-input-wrapper{width:100%}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{
  border:1px solid var(--line-dark);border-radius:28px;background:var(--canvas-2);
  padding:clamp(24px,3vw,36px);margin:0 0 28px}
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--ink-1);line-height:50px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.select2-dropdown{background:var(--canvas-2);border-color:var(--line-dark);color:var(--ink-1)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--cyan);color:var(--canvas)}

/* ---- tables (cart, order review, account) ----------------------------- */
.woocommerce table.shop_table,.woocommerce table.shop_attributes{
  border:1px solid var(--line-dark);border-radius:28px;border-collapse:separate;
  border-spacing:0;overflow:hidden;background:var(--canvas-2);margin:0 0 28px;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_attributes th{
  padding:16px 20px;border:0;border-bottom:1px solid var(--line-dark);
  font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3);text-align:left}
.woocommerce table.shop_table td,.woocommerce table.shop_attributes td{
  padding:18px 20px;border:0;border-bottom:1px solid var(--line-dark);
  color:var(--ink-1);font-size:15px;vertical-align:middle}
.woocommerce table.shop_table tr:last-child td,.woocommerce table.shop_table tfoot tr:last-child th{
  border-bottom:0}
.woocommerce table.shop_table td.product-name a{color:var(--ink-1);font-weight:500}
.woocommerce table.shop_table td.product-name a:hover{color:var(--cyan)}
.woocommerce table.shop_table img{width:64px;border-radius:12px}
.woocommerce table.shop_table .product-remove a.remove{color:var(--ink-3)!important;
  font-size:22px;line-height:1;width:auto;height:auto;background:none!important}
.woocommerce table.shop_table .product-remove a.remove:hover{color:#FF8A8A!important}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td{
  background:rgba(255,255,255,.02);font-size:15px;color:var(--ink-1)}
.woocommerce table.shop_table tfoot .order-total th,
.woocommerce table.shop_table tfoot .order-total td{font-size:18px;font-weight:600}
.woocommerce .quantity input.qty{width:88px;height:48px;padding:0 10px;text-align:center;
  border-radius:12px;border:1px solid rgba(255,255,255,.14);background:var(--canvas);
  color:var(--ink-1);font:inherit;font-size:15px}
.woocommerce-cart table.cart td.actions{padding:20px}
.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:10px;flex-wrap:wrap;float:none}
.woocommerce-cart table.cart td.actions .coupon .input-text{width:auto;flex:1 1 200px}

/* ---- cart totals / checkout panels ------------------------------------ */
.cart_totals,.woocommerce-checkout-review-order,#customer_details,
.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-MyAccount-content{
  color:var(--ink-1)}
.cart_totals h2,.woocommerce-checkout h3,.woocommerce-order-details h2,
.woocommerce-customer-details h2,.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{
  font-size:clamp(22px,2.4vw,28px);font-weight:600;letter-spacing:-.02em;
  margin:0 0 20px;color:var(--ink-1)}
.woocommerce-checkout #payment{background:var(--canvas-2);border:1px solid var(--line-dark);
  border-radius:28px;padding:clamp(20px,2.5vw,28px)}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 20px;
  display:flex;flex-direction:column;gap:10px}
.woocommerce-checkout #payment ul.payment_methods li{padding:16px 18px;border-radius:18px;
  background:rgba(255,255,255,.02);border:1px solid var(--line-dark);list-style:none}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--cyan)}
.woocommerce-checkout #payment ul.payment_methods li label{font-size:15px;color:var(--ink-1);
  display:inline-flex;align-items:center;gap:10px}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:28px;width:auto;
  display:inline-block;margin-left:8px}
.woocommerce-checkout #payment div.payment_box{background:transparent;color:var(--ink-2);
  font-size:14px;line-height:1.55;padding:12px 0 0;margin:10px 0 0;
  border-top:1px solid var(--line-dark)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:0;margin-top:20px}
.woocommerce-checkout #payment #place_order{width:100%;height:56px;border-radius:16px;font-size:16px}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{
  font-size:13px;line-height:1.6;color:var(--ink-3);margin-bottom:16px}
.woocommerce-privacy-policy-text a{color:var(--cyan)}

/* ---- my account ------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation{margin-bottom:28px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:inline-flex;
  align-items:center;height:44px;padding:0 18px;border-radius:var(--pill);
  border:1px solid rgba(255,255,255,.14);color:var(--ink-2);font-size:14px}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--ink-1);
  border-color:rgba(255,255,255,.35)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:rgba(69,213,255,.1);border-color:var(--cyan);color:var(--ink-1)}
.woocommerce-account .woocommerce-MyAccount-content{background:var(--canvas-2);
  border:1px solid var(--line-dark);border-radius:28px;padding:clamp(24px,3vw,36px)}
.woocommerce-account .woocommerce-MyAccount-content p{color:var(--ink-2);line-height:1.7;margin-bottom:16px}
.woocommerce-account .woocommerce-MyAccount-content mark{background:none;color:var(--ink-1)}
.woocommerce-form-login__rememberme{display:inline-flex;gap:8px;align-items:center}

/* ---- empty cart, misc ------------------------------------------------- */
.cart-empty,.woocommerce-info{font-size:16px}
.return-to-shop{margin-top:20px}
.woocommerce .woocommerce-breadcrumb{display:none}
.woocommerce-result-count,.woocommerce-ordering{display:none}
.woocommerce-order{display:flex;flex-direction:column;gap:8px}
.woocommerce-thankyou-order-received{font-size:clamp(26px,3vw,40px);font-weight:600;
  letter-spacing:-.03em;margin-bottom:12px}
.woocommerce ul.order_details{list-style:none;display:flex;flex-wrap:wrap;gap:16px;
  margin:0 0 28px;padding:20px;border-radius:24px;background:var(--canvas-2);
  border:1px solid var(--line-dark)}
.woocommerce ul.order_details li{border:0;padding:0 24px 0 0;margin:0;
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);float:none}
.woocommerce ul.order_details li strong{display:block;margin-top:6px;font-family:var(--font);
  font-size:16px;letter-spacing:normal;text-transform:none;color:var(--ink-1)}

@media (max-width:760px){
  .woocommerce table.shop_table_responsive tr td{border-bottom:1px solid var(--line-dark)}
  .woocommerce table.shop_table_responsive tr td::before{color:var(--ink-3);font-family:var(--mono);
    font-size:11px;letter-spacing:.16em;text-transform:uppercase}
}

/* ---- the variable-product purchase block ------------------------------
 *
 * Anchored on `.rvf-produs__cart`, which this theme emits, not on
 * `.woocommerce div.product form.cart`, which it does not: the product
 * template renders the add-to-cart form directly and never prints Woo's own
 * wrappers, so every selector that assumed them matched nothing.
 *
 * hello-elementor's reset.css styles every `select` and `input` — white,
 * 3px radius, #666 border — and it was the rule actually winning.
 */
.rvf-produs__cart .variations{width:100%;margin:0 0 20px;border:0;
  border-collapse:separate;border-spacing:0;background:transparent}
.rvf-produs__cart .variations tbody,.rvf-produs__cart .variations tr{display:block}
.rvf-produs__cart .variations tr{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.rvf-produs__cart .variations td{display:block;padding:0;border:0;background:transparent}
.rvf-produs__cart .variations label{display:block;font-family:var(--mono);font-size:11px;
  font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0}
.rvf-produs__cart select,
.rvf-produs__cart input[type=text],
.rvf-produs__cart input[type=number],
.rvf-produs__cart input[type=email]{
  height:52px;padding:0 18px;border-radius:14px;
  border:1px solid rgba(255,255,255,.14);background-color:var(--canvas);color:var(--ink-1);
  font:inherit;font-size:15px;line-height:normal;outline:none;width:100%;box-shadow:none;transition:none}
.rvf-produs__cart select{padding-right:44px;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237D8592' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px}
.rvf-produs__cart select:focus,.rvf-produs__cart input:focus{border-color:var(--cyan)}
.rvf-produs__cart select option{background:var(--canvas-2);color:var(--ink-1)}
.rvf-produs__cart .reset_variations{display:inline-block;margin-top:10px;font-size:13px;color:var(--ink-3)}
.rvf-produs__cart .reset_variations:hover{color:var(--cyan)}
.rvf-produs__cart .woocommerce-variation-price{margin-bottom:16px}
.rvf-produs__cart .woocommerce-variation-price .amount{font-size:26px;font-weight:600;
  letter-spacing:-.03em;color:var(--ink-1)}
.rvf-produs__cart .woocommerce-variation-availability p{font-size:14px;color:var(--ink-2);margin:0 0 12px}
.rvf-produs__cart .woocommerce-variation-add-to-cart{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rvf-produs__cart .quantity{margin:0;flex:0 0 auto}
.rvf-produs__cart input.qty{width:88px;text-align:center;padding:0 10px}
.rvf-produs__cart .single_add_to_cart_button{flex:1 1 200px}

/* Woo's disabled state is `.button.alt.disabled` — (0,4,1) — and its purple
   #7f54b3 is the plugin's, not this site's. */
.rvf-produs__cart button.button.alt.disabled,
.rvf-produs__cart button.button.alt.disabled:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce a.button.alt.disabled,
.woocommerce input.button.alt.disabled{
  background-color:var(--canvas-2);color:var(--ink-3);
  border:1px solid var(--line-dark);opacity:1;cursor:not-allowed}
/* Woo's own `.variations td.label` is a right-aligned table cell with padding;
   as a block it reads as a centred box. Left, flush, no box. */
.rvf-produs__cart .variations td.label{text-align:left;background:none;border:0;padding:0;width:auto}
.rvf-produs__cart .variations td.value{width:auto}

/* WooCommerce renders the attribute label as `<th class="label">`, not `<td>`,
   and hello-elementor gives every th a border and centre alignment. Matching
   only `td.label` left it looking like a bordered strip above the select. */
.rvf-produs__cart .variations th,
.rvf-produs__cart .variations th.label,
.rvf-produs__cart .variations td.label{display:block;text-align:left;background:none;
  border:0;padding:0;width:auto;font-weight:400}
.rvf-produs__cart .variations td.value{display:block;width:auto;padding:0;border:0}

/* ---- not on sale yet ---------------------------------------------------
   Produs.dc.html's own disabled control: 56px, radius 16, the card surface,
   muted ink, and a plain sentence under it saying what to do instead. */
.rvf-produs__soon{width:100%;height:56px;border-radius:16px;
  border:1px solid var(--line-dark);background:var(--canvas-2);color:var(--ink-3);
  font:inherit;font-size:16px;cursor:not-allowed}
.rvf-produs__soon-note{margin-top:12px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.rvf-produs__cart{display:flex;flex-direction:column}
