/* =========================================================
   El Tarot de Ruth — tienda (WooCommerce)
   Sustituye los estilos de WooCommerce (desactivados en inc/tienda.php).
   Usa los tokens de main.css.
   ========================================================= */

/* ---------- Botones de WooCommerce = botones de la web ---------- */
.button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 26px; border-radius:999px; font:500 .86rem/1.3 'Poppins',sans-serif; letter-spacing:.04em;
  text-decoration:none; cursor:pointer; background:none; color:var(--ink);
  border:1px solid var(--panel-border); transition:transform .25s, box-shadow .25s, border-color .25s, color .25s;
}
.button:hover{border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px); box-shadow:0 0 22px -8px var(--purple-glow);}
.button.alt,
.button.checkout-button,
#place_order,
.single_add_to_cart_button,
.add_to_cart_button,
.button.wc-backward,
.woocommerce-message .button{
  background:linear-gradient(120deg, #c99d5e, var(--gold-soft) 55%, #f6e3bd); color:#241536; border-color:transparent;
  box-shadow:0 0 0 1px rgba(255,240,210,.25) inset, 0 8px 24px -12px rgba(212,175,120,.6);
}
.button.alt:hover,.button.checkout-button:hover,#place_order:hover,.single_add_to_cart_button:hover,.add_to_cart_button:hover,.button.wc-backward:hover,.woocommerce-message .button:hover{
  color:#241536; border-color:transparent; box-shadow:0 14px 30px -10px rgba(212,175,120,.55);
}
.button:disabled,.button.disabled{opacity:.5; cursor:not-allowed; transform:none!important;}
.button.loading{opacity:.7; pointer-events:none;}
.button.loading::after{content:''; width:14px; height:14px; border-radius:50%; border:2px solid currentColor; border-right-color:transparent; animation:etr-spin .7s linear infinite;}
.button.added::after{content:'✓';}
@keyframes etr-spin{to{transform:rotate(360deg);}}
.added_to_cart{display:inline-block; margin-top:10px; font-size:.82rem; color:var(--gold-soft);}

/* ---------- Avisos ---------- */
.woocommerce-notices-wrapper:empty{display:none;}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-NoticeGroup .woocommerce-error{
  list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:14px 18px; border-radius:12px; font-size:.9rem; margin:0 0 24px; border:1px solid var(--panel-border);
  background:rgba(212,175,120,.06); color:var(--ink-dim);
}
.woocommerce-message{border-color:rgba(127,191,158,.6); background:rgba(127,191,158,.08); color:var(--ink);}
.woocommerce-error{border-color:var(--danger); background:rgba(224,138,138,.08); color:var(--danger); display:block;}
.woocommerce-error li + li{margin-top:6px;}
.woocommerce-message .button,.woocommerce-info .button{order:2; padding:9px 20px; font-size:.8rem;}
.woocommerce-info a,.woocommerce-error a{color:var(--gold-soft);}
.woocommerce-NoticeGroup{grid-column:1 / -1;}
.woocommerce-message:focus,.woocommerce-info:focus,.woocommerce-error:focus,.woocommerce-notices-wrapper:focus,.woocommerce-NoticeGroup:focus{outline:none;}

/* ---------- Cabecera de la tienda ---------- */
.page-hero-desc{color:var(--ink-dim); max-width:620px; margin:18px auto 0; font-size:1.05rem;}
.page-hero-sm{padding-bottom:30px;}
.shop-cats{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:40px;}
.shop-cats a{
  padding:9px 20px; border-radius:999px; border:1px solid var(--panel-border); color:var(--ink-dim); text-decoration:none;
  font-family:'Marcellus',serif; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; transition:border-color .25s, color .25s;
}
.shop-cats a:hover{border-color:var(--gold); color:var(--gold-soft);}
.shop-cats a[aria-current="page"]{border-color:var(--gold); color:var(--gold-soft); background:linear-gradient(160deg, rgba(212,175,120,.12), rgba(143,110,220,.14));}
.woocommerce-result-count{color:var(--ink-faint); font-size:.82rem; float:left; margin:10px 0 26px;}
.woocommerce-ordering{float:right; margin-bottom:26px;}
.woocommerce-ordering select,.shop-step select,.variations select{
  background:rgba(255,255,255,.03); color:var(--ink); border:1px solid var(--panel-border); border-radius:999px;
  padding:10px 38px 10px 18px; font:300 .85rem 'Poppins',sans-serif; cursor:pointer; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4af78' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; background-size:14px;
}
.woocommerce-ordering select option,.variations select option{background:var(--bg-mid);}
ul.products{clear:both;}
.shop-empty{max-width:640px; margin:0 auto; text-align:center;}

/* ---------- Rejilla de productos ---------- */
ul.products{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
ul.products.columns-2{grid-template-columns:repeat(2,1fr);}
ul.products.columns-4{grid-template-columns:repeat(4,1fr);}
ul.products::before,ul.products::after{display:none;}
ul.products li.product{
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(160deg, rgba(143,110,220,.07), rgba(255,255,255,0) 60%), var(--bg-panel);
  border:1px solid var(--panel-border); border-radius:var(--radius); transition:transform .3s, border-color .3s, box-shadow .3s;
}
ul.products li.product:hover{transform:translateY(-6px); border-color:var(--gold); box-shadow:0 0 0 1px rgba(212,175,120,.2), 0 18px 40px -18px rgba(143,110,220,.55);}
ul.products li.product a.woocommerce-loop-product__link{display:flex; flex-direction:column; flex:1; text-decoration:none; color:var(--ink);}
ul.products li.product img{width:100%; aspect-ratio:1; object-fit:cover; background:linear-gradient(160deg, rgba(143,110,220,.3), rgba(79,143,107,.25)); border-bottom:1px solid var(--panel-border); transition:transform .6s ease;}
ul.products li.product:hover img{transform:scale(1.03);}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-category__title{font-size:1.35rem; color:var(--ink); padding:20px 22px 0; line-height:1.25;}
ul.products li.product .price{display:block; padding:8px 22px 0; margin-top:auto;}
ul.products li.product .button,
ul.products li.product .added_to_cart{margin:16px 22px 22px; align-self:flex-start;}
ul.products li.product .added_to_cart{margin-top:-8px;}
ul.products li.product .woocommerce-loop-category__title mark{background:none; color:var(--ink-faint); font-size:.8rem;}

/* Precio */
.price{font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--gold-soft); line-height:1.2;}
.price .woocommerce-Price-amount{background:linear-gradient(120deg, var(--gold), var(--gold-soft) 60%, #fff3da); -webkit-background-clip:text; background-clip:text; color:transparent;}
.price del{color:var(--ink-faint); font-size:.75em; opacity:.8; margin-right:6px;}
.price del .woocommerce-Price-amount{background:none; color:var(--ink-faint); -webkit-text-fill-color:var(--ink-faint);}
.price ins{text-decoration:none;}
.woocommerce-price-suffix{font-family:'Poppins',sans-serif; font-size:.72rem; color:var(--ink-faint); letter-spacing:.02em; margin-left:4px;}
.onsale{
  position:absolute; top:14px; left:14px; z-index:2; padding:5px 14px; border-radius:999px;
  background:linear-gradient(120deg, var(--purple), #c3a8ff); color:#1a1030; font-size:.72rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
}

/* Paginación */
.woocommerce-pagination{margin-top:56px;}
.woocommerce-pagination ul.page-numbers{list-style:none; display:flex; justify-content:center; gap:10px; flex-wrap:wrap;}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{
  min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--panel-border); border-radius:999px; color:var(--ink-dim); text-decoration:none;
}
.woocommerce-pagination .page-numbers .current,.woocommerce-pagination .page-numbers a:hover{border-color:var(--gold); color:var(--gold-soft);}

/* ---------- Ficha de producto ---------- */
.shop-single{padding-top:130px;}
.shop-crumbs{color:var(--ink-faint); font-size:.78rem; letter-spacing:.06em; margin-bottom:28px;}
.shop-crumbs a{color:var(--ink-dim); text-decoration:none;}
.shop-crumbs a:hover{color:var(--gold-soft);}
.shop-crumbs span{color:var(--purple); margin:0 4px;}
.shop-single div.product{display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:start; position:relative;}
.shop-single div.product > .onsale{left:14px; top:14px;}
.shop-single div.product > .woocommerce-tabs,
.shop-single div.product > .related,
.shop-single div.product > .upsells{grid-column:1 / -1;}

.woocommerce-product-gallery{position:relative; margin:0; opacity:1!important;}
.woocommerce-product-gallery figure{margin:0;}
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child,
.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper{border-radius:20px; overflow:hidden; border:1px solid var(--panel-border); box-shadow:0 24px 44px -22px rgba(0,0,0,.65), 0 0 30px -12px var(--purple-glow);}
.woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper{border:0; box-shadow:none; border-radius:0;}
.woocommerce-product-gallery__image img{width:100%; height:auto;}
.woocommerce-product-gallery__image--placeholder{aspect-ratio:1; background:linear-gradient(160deg, rgba(143,110,220,.3), rgba(79,143,107,.25));}
.woocommerce-product-gallery__image--placeholder img{opacity:.15;}
.woocommerce-product-gallery__trigger{
  position:absolute; top:14px; right:14px; z-index:3; width:40px; height:40px; border-radius:50%;
  background:rgba(12,23,18,.75); border:1px solid var(--panel-border); display:flex; align-items:center; justify-content:center; font-size:0; text-decoration:none;
}
.woocommerce-product-gallery__trigger::before{content:'⤢'; font-size:1rem; color:var(--gold-soft);}
.woocommerce-product-gallery__trigger img{display:none!important;}
.flex-control-thumbs{list-style:none; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:12px;}
.flex-control-thumbs img{border-radius:10px; border:1px solid var(--panel-border); cursor:pointer; opacity:.6; transition:opacity .25s, border-color .25s;}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1; border-color:var(--gold);}

.summary .product_title{font-size:clamp(2.1rem,4vw,3rem); color:var(--ink); margin-bottom:12px;}
.summary .product_title::after{content:''; display:block; width:70px; height:1px; margin-top:16px; background:linear-gradient(90deg, var(--gold), var(--purple), transparent);}
.summary .price{font-size:2.2rem; margin-bottom:18px;}
.summary .woocommerce-product-details__short-description{color:var(--ink-dim); margin-bottom:26px;}
.summary .woocommerce-product-details__short-description p + p{margin-top:10px;}
.stock{font-size:.85rem; color:var(--success); margin-bottom:14px;}
.stock.out-of-stock{color:var(--danger);}
form.cart{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:26px;}
form.cart.variations_form{display:block;}
form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:14px;}
.single_add_to_cart_button{padding:15px 34px; font-size:.9rem;}
.quantity{display:inline-flex;}
.quantity .qty{
  width:78px; padding:13px 10px; text-align:center; border-radius:999px; border:1px solid var(--panel-border);
  background:rgba(255,255,255,.03); color:var(--ink); font:400 .95rem 'Poppins',sans-serif;
}
.quantity .qty:focus{outline:none; border-color:var(--gold);}
table.variations{width:100%; border-collapse:collapse; margin-bottom:10px;}
table.variations th,table.variations td{padding:6px 0; text-align:left; vertical-align:middle;}
table.variations th label{font-family:'Marcellus',serif; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold);}
.reset_variations{font-size:.8rem; margin-left:10px;}
.woocommerce-variation-price{margin-top:10px;}
.product_meta{color:var(--ink-faint); font-size:.82rem; padding-top:18px; border-top:1px solid var(--panel-border);}
.product_meta a{color:var(--ink-dim);}
.shop-trust{list-style:none; display:grid; gap:8px; margin:6px 0 22px; color:var(--ink-dim); font-size:.86rem;}
.shop-trust span{color:var(--purple); margin-right:6px;}

.woocommerce-tabs{margin-top:30px;}
.woocommerce-tabs ul.tabs{list-style:none; display:flex; gap:6px; border-bottom:1px solid var(--panel-border); margin-bottom:28px; overflow-x:auto;}
.woocommerce-tabs ul.tabs li a{
  display:block; padding:14px 18px; color:var(--ink-dim); text-decoration:none; white-space:nowrap;
  font-family:'Marcellus',serif; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; border-bottom:2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--gold-soft); border-bottom-color:var(--gold);}
.woocommerce-Tabs-panel{color:var(--ink-dim); max-width:800px;}
.woocommerce-Tabs-panel > * + *{margin-top:1em;}
.woocommerce-Tabs-panel h2{font-size:1.8rem; color:var(--ink);}
.woocommerce-Tabs-panel ul,.woocommerce-Tabs-panel ol{padding-left:1.4em;}
.woocommerce-product-attributes{width:100%; border-collapse:collapse;}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{padding:10px 12px; border-bottom:1px solid var(--panel-border); text-align:left; font-weight:400;}
.woocommerce-product-attributes th{color:var(--gold); font-family:'Marcellus',serif; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; width:200px;}
.related,.upsells{margin-top:90px;}
.related > h2,.upsells > h2,.cross-sells > h2{font-size:clamp(1.8rem,3.5vw,2.4rem); margin-bottom:34px; text-align:center;}
.related > h2::after,.upsells > h2::after,.cross-sells > h2::after{content:''; display:block; width:120px; height:1px; margin:14px auto 0; background:linear-gradient(90deg, transparent, var(--gold), var(--purple), transparent);}

/* Lightbox (PhotoSwipe) */
.pswp__bg{background:var(--bg-deep);}

/* ---------- Tablas de la tienda (carrito, pedido, cuenta) ---------- */
.shop_table,.shop-orders{width:100%; border-collapse:collapse; font-size:.92rem;}
.shop_table th,.shop_table td,.shop-orders th,.shop-orders td{padding:14px 12px; border-bottom:1px solid var(--panel-border); text-align:left; vertical-align:middle;}
.shop_table thead th,.shop-orders thead th{font-family:'Marcellus',serif; font-weight:400; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold);}
.shop_table td,.shop-orders td{color:var(--ink-dim);}
.shop_table a,.shop-orders a:not(.btn){color:var(--ink); text-decoration:none;}
.shop_table a:hover,.shop-orders a:not(.btn):hover{color:var(--gold-soft);}
.shop_table tfoot th,.shop_table tfoot td{color:var(--ink);}
.shop_table .order-total th,.shop_table .order-total td{font-size:1.05rem; color:var(--ink); border-bottom:0;}
.shop_table .order-total .woocommerce-Price-amount{font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--gold-soft);}
.shop_table .product-thumbnail img{width:72px; height:72px; object-fit:cover; border-radius:10px; border:1px solid var(--panel-border);}
.shop_table .product-remove a.remove{
  width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--panel-border); color:var(--ink-faint)!important; font-size:1.1rem; line-height:1;
}
.shop_table .product-remove a.remove:hover{border-color:var(--danger); color:var(--danger)!important;}
.shop_table .variation,.shop_table .wc-item-meta{color:var(--ink-faint); font-size:.82rem; margin-top:4px; list-style:none;}
.shop_table .variation dt,.shop_table .variation dd,.wc-item-meta li > *{display:inline; margin:0;}
.shop_table .variation dd p,.wc-item-meta p{display:inline;}
.shop-table-wrap{overflow-x:auto; margin-top:20px;}
.shop-orders-actions{text-align:right; white-space:nowrap;}
.shop-orders-actions .btn + .btn{margin-left:6px;}
.order-status{display:inline-block; padding:3px 12px; border-radius:999px; font-size:.76rem; border:1px solid var(--panel-border); color:var(--ink-dim);}
.order-status.status-processing{border-color:rgba(212,175,120,.6); color:var(--gold-soft);}
.order-status.status-completed{border-color:rgba(127,191,158,.6); color:var(--success);}
.order-status.status-pending,.order-status.status-on-hold{border-color:rgba(155,127,224,.6); color:#c3a8ff;}
.order-status.status-cancelled,.order-status.status-failed,.order-status.status-refunded{border-color:rgba(224,138,138,.5); color:var(--danger);}

/* ---------- Carrito ---------- */
.shop-step{max-width:var(--max-w);}
.woocommerce-cart-form{background:var(--bg-panel); border:1px solid var(--panel-border); border-radius:20px; padding:12px 26px 22px;}
.woocommerce-cart-form td.actions{padding-top:22px; border-bottom:0;}
.woocommerce-cart-form td.actions::after{content:''; display:table; clear:both;}
.woocommerce-cart-form .coupon{display:flex; gap:10px; float:left; flex-wrap:wrap;}
.woocommerce-cart-form .coupon label{display:none;}
.woocommerce-cart-form button[name="update_cart"]{float:right;}
.input-text,.shop-step input[type=text],.shop-step input[type=email],.shop-step input[type=tel],.shop-step input[type=password],.shop-step input[type=number],.shop-step textarea,
.shop-account input[type=text],.shop-account textarea{
  width:100%; background:rgba(255,255,255,.03); border:1px solid var(--panel-border); border-radius:12px;
  color:var(--ink); padding:13px 16px; font:300 .95rem 'Poppins',sans-serif; transition:border-color .25s;
}
.shop-step .coupon .input-text{width:220px; border-radius:999px; padding:11px 18px;}
.shop-step .quantity .qty{width:78px; padding:11px 8px; border-radius:999px; text-align:center;}
.input-text:focus,.shop-step input:focus,.shop-step textarea:focus{outline:none; border-color:var(--gold);}
.input-text::placeholder,.shop-step textarea::placeholder{color:var(--ink-faint);}
.cart-collaterals{display:grid; grid-template-columns:1fr minmax(320px,440px); gap:28px; margin-top:28px; align-items:start;}
.cart-collaterals .cross-sells{grid-column:1;}
.cart_totals{grid-column:2; background:linear-gradient(160deg, rgba(143,110,220,.08), rgba(255,255,255,0) 60%), var(--bg-panel); border:1px solid var(--panel-border); border-radius:20px; padding:26px 28px;}
.cart_totals h2{font-size:1.8rem; margin-bottom:10px;}
.cart_totals th{width:38%; font-weight:400; color:var(--ink-dim);}
.wc-proceed-to-checkout{margin-top:22px;}
.wc-proceed-to-checkout .checkout-button{width:100%; padding:15px 24px; font-size:.92rem;}
#shipping_method{list-style:none; display:grid; gap:6px;}
#shipping_method li{display:flex; gap:8px; align-items:center;}
#shipping_method input{accent-color:var(--gold);}
.woocommerce-shipping-destination,.woocommerce-shipping-contents{font-size:.8rem; color:var(--ink-faint); margin-top:6px;}
.cart-empty{justify-content:center; text-align:center; font-size:1rem; padding:22px;}
.return-to-shop{text-align:center; margin-top:10px;}
.cross-sells ul.products{grid-template-columns:repeat(2,1fr);}

/* ---------- Finalizar compra ---------- */
.woocommerce-form-login-toggle,.woocommerce-form-coupon-toggle{margin-bottom:4px;}
form.woocommerce-form-login,form.checkout_coupon{background:var(--bg-panel); border:1px solid var(--panel-border); border-radius:16px; padding:22px 24px; margin-bottom:24px; display:grid; gap:14px;}
form.checkout_coupon{grid-template-columns:1fr auto; align-items:end;}
form.checkout_coupon p:first-child{grid-column:1 / -1; color:var(--ink-dim); font-size:.9rem;}
form.checkout_coupon .form-row{margin:0;}
form.woocommerce-form-login > p:first-child{color:var(--ink-dim); font-size:.9rem;}
form.woocommerce-form-login .lost_password a{font-size:.85rem;}
form.checkout{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr); gap:0 36px; align-items:start;}
form.checkout > #customer_details{grid-column:1; grid-row:1 / span 3;}
form.checkout > #order_review_heading{grid-column:2; grid-row:1; margin:0; padding:26px 28px 0; background:var(--bg-panel); border:1px solid var(--panel-border); border-bottom:0; border-radius:20px 20px 0 0;}
form.checkout > #order_review{grid-column:2; grid-row:2; background:var(--bg-panel); border:1px solid var(--panel-border); border-top:0; border-radius:0 0 20px 20px; padding:6px 28px 28px; position:sticky; top:110px;}
.col2-set{display:grid; gap:30px;}
.woocommerce-checkout h3,#order_review_heading{font-size:1.7rem; color:var(--ink); margin-bottom:16px;}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{display:grid; grid-template-columns:1fr 1fr; gap:16px 18px;}
.form-row{margin:0;}
.form-row-wide,.woocommerce-billing-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last),
.woocommerce-shipping-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last){grid-column:1 / -1;}
.form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox){
  display:block; font-family:'Marcellus',serif; font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:7px;
}
.form-row .required{color:var(--purple); text-decoration:none; border:0;}
.form-row .optional{color:var(--ink-faint); text-transform:none; letter-spacing:0; font-family:'Poppins',sans-serif;}
.form-row.woocommerce-invalid .input-text,.form-row.woocommerce-invalid select{border-color:var(--danger);}
.form-row .description{font-size:.78rem; color:var(--ink-faint); margin-top:6px;}
.woocommerce-input-wrapper{display:block;}
.woocommerce-checkout textarea{min-height:110px; resize:vertical;}
.woocommerce-checkout select{width:100%; border-radius:12px;}
#ship-to-different-address{font-size:1rem; font-family:'Poppins',sans-serif;}
#ship-to-different-address label,.create-account label,.woocommerce-form__label-for-checkbox{display:flex; gap:10px; align-items:flex-start; cursor:pointer; color:var(--ink-dim); font-size:.88rem; font-weight:300;}
input[type=checkbox],input[type=radio]{accent-color:var(--gold);}
.woocommerce-form__label-for-checkbox input{margin-top:5px;}
.woocommerce-account-fields{margin-top:20px;}
.woocommerce-account-fields div.create-account{margin-top:14px;}
.woocommerce-additional-fields{margin-top:30px;}
.woocommerce-additional-fields h3{display:none;}
.woocommerce-checkout-review-order-table{margin-bottom:18px;}
.woocommerce-checkout-review-order-table .product-name{color:var(--ink);}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--gold-soft); font-weight:400;}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right;}
#payment ul.payment_methods{list-style:none; display:grid; gap:10px; margin:6px 0 18px;}
#payment ul.payment_methods li{border:1px solid var(--panel-border); border-radius:14px; padding:14px 16px;}
#payment ul.payment_methods li > label{color:var(--ink); cursor:pointer; display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap;}
#payment ul.payment_methods li > label img{display:inline-block; max-height:22px; width:auto;}
#payment ul.payment_methods li > input{margin-right:6px;}
#payment ul.payment_methods li.woocommerce-notice{color:var(--ink-dim); font-size:.88rem;}
#payment .payment_box{margin-top:12px; color:var(--ink-dim); font-size:.86rem;}
#payment .payment_box p + *{margin-top:10px;}
#payment .payment_box fieldset{border:0; padding:0; margin:0;}
#payment .place-order{display:grid; gap:16px;}
#place_order{width:100%; padding:16px 24px; font-size:.95rem;}
.woocommerce-terms-and-conditions-wrapper{display:grid; gap:12px; font-size:.84rem; color:var(--ink-dim);}
.woocommerce-privacy-policy-text p{font-size:.8rem; color:var(--ink-faint);}
.woocommerce-terms-and-conditions{max-height:220px; overflow:auto; padding:14px; border:1px solid var(--panel-border); border-radius:12px; font-size:.82rem;}
.etr-renuncia{margin:0 0 4px; font-size:.84rem;}
.wc-stripe-express-checkout-element,#wc-stripe-express-checkout-element{margin-bottom:10px;}
#wc-stripe-express-checkout-button-separator{color:var(--ink-faint); text-align:center; font-size:.82rem; margin:12px 0 18px;}
.blockUI.blockOverlay{background:rgba(12,23,18,.6)!important; border-radius:inherit;}

/* select2 (país y provincia) */
.select2-container .select2-selection--single{
  height:auto; min-height:48px; display:flex; align-items:center; background:rgba(255,255,255,.03);
  border:1px solid var(--panel-border); border-radius:12px;
}
.select2-container .select2-selection--single .select2-selection__rendered{color:var(--ink); padding:0 40px 0 16px; line-height:46px; font-weight:300;}
.select2-container .select2-selection--single .select2-selection__arrow{height:46px; right:10px;}
.select2-container .select2-selection--single .select2-selection__arrow b{border-color:var(--gold) transparent transparent;}
.select2-container--open .select2-selection--single{border-color:var(--gold);}
.select2-dropdown{background:var(--bg-mid); border:1px solid var(--gold); border-radius:12px; overflow:hidden; color:var(--ink);}
.select2-search--dropdown .select2-search__field{background:rgba(255,255,255,.05); border:1px solid var(--panel-border); border-radius:8px; color:var(--ink); padding:8px 10px;}
.select2-results__option{padding:8px 14px; font-size:.9rem;}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{background:rgba(212,175,120,.18); color:var(--ink);}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true]{background:rgba(143,110,220,.2);}

/* ---------- Pedido recibido y detalle del pedido ---------- */
.woocommerce-order{max-width:880px; margin:0 auto;}
.woocommerce-thankyou-order-received{
  text-align:center; font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--gold-soft); margin-bottom:28px;
}
.woocommerce-thankyou-order-received::before{content:'✦ ☽ ✦'; display:block; font-size:1.2rem; color:var(--gold); letter-spacing:.3em; margin-bottom:12px; text-shadow:0 0 14px rgba(232,205,159,.6);}
ul.woocommerce-order-overview{list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:36px;}
ul.woocommerce-order-overview li{background:var(--bg-panel); border:1px solid var(--panel-border); border-radius:14px; padding:14px 16px; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); font-family:'Marcellus',serif;}
ul.woocommerce-order-overview li strong{display:block; margin-top:6px; font:400 .95rem 'Poppins',sans-serif; text-transform:none; letter-spacing:0; color:var(--ink); word-break:break-word;}
.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-order-downloads{margin-top:36px;}
.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-order-downloads__title,.shop-account h2{font-size:1.7rem; color:var(--ink); margin-bottom:14px;}
.woocommerce-customer-details .col2-set,.woocommerce-columns--addresses{grid-template-columns:1fr 1fr;}
.woocommerce-customer-details address{
  font-style:normal; color:var(--ink-dim); background:var(--bg-panel); border:1px solid var(--panel-border); border-radius:14px; padding:18px 20px; line-height:1.8;
}
.woocommerce-customer-details--phone,.woocommerce-customer-details--email{margin:0;}
.order-again{margin-top:22px;}
.woocommerce-order > p,.shop-account > p{color:var(--ink-dim);}
.shop-account mark{background:none; color:var(--gold-soft);}
.woocommerce-OrderUpdates{list-style:none;}
.woocommerce-OrderUpdate{border-left:2px solid var(--gold); padding:4px 0 4px 16px; margin-bottom:12px; color:var(--ink-dim);}
.woocommerce-OrderUpdate-meta{font-size:.78rem; color:var(--ink-faint);}
.account-back{margin-bottom:20px; font-size:.86rem;}
.account-back a{text-decoration:none;}

/* ---------- Portada: sección tienda ---------- */
.shop-home ul.products{margin-top:0;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  ul.products,ul.products.columns-4{grid-template-columns:repeat(2,1fr);}
  .shop-single div.product{grid-template-columns:1fr; gap:36px;}
  form.checkout{grid-template-columns:1fr;}
  form.checkout > #customer_details,form.checkout > #order_review_heading,form.checkout > #order_review{grid-column:1; grid-row:auto;}
  form.checkout > #order_review_heading{margin-top:36px;}
  form.checkout > #order_review{position:static;}
  .cart-collaterals{grid-template-columns:1fr;}
  .cart_totals,.cart-collaterals .cross-sells{grid-column:1;}
}
@media (max-width:640px){
  ul.products,ul.products.columns-2,ul.products.columns-3,ul.products.columns-4{grid-template-columns:1fr 1fr; gap:14px;}
  ul.products li.product .woocommerce-loop-product__title{font-size:1.1rem; padding:14px 14px 0;}
  ul.products li.product .price{padding:6px 14px 0; font-size:1.3rem;}
  ul.products li.product .button{margin:12px 14px 16px; padding:9px 14px!important; font-size:.74rem!important;}
  .woocommerce-result-count,.woocommerce-ordering{float:none; text-align:center;}
  .woocommerce-ordering select{width:100%;}
  .shop-single{padding-top:110px;}
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-address-fields__field-wrapper{grid-template-columns:1fr;}
  .woocommerce-billing-fields__field-wrapper .form-row,.woocommerce-shipping-fields__field-wrapper .form-row{grid-column:1 / -1;}
  form.checkout > #order_review_heading{padding:22px 20px 0;}
  form.checkout > #order_review{padding:6px 20px 22px;}
  .woocommerce-cart-form{padding:6px 16px 16px;}
  .woocommerce-customer-details .col2-set,.woocommerce-columns--addresses{grid-template-columns:1fr;}
  /* Tablas como tarjetas */
  .shop_table_responsive thead,.shop-orders thead{display:none;}
  .shop_table_responsive tr,.shop-orders tr{display:block; padding:12px 0; border-bottom:1px solid var(--panel-border);}
  .shop_table_responsive td,.shop-orders td{display:flex; justify-content:space-between; gap:14px; border:0; padding:6px 0; text-align:right;}
  .shop_table_responsive td::before,.shop-orders td[data-title]::before{content:attr(data-title); color:var(--gold); font-family:'Marcellus',serif; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; text-align:left;}
  .shop_table_responsive td.product-remove,.shop_table_responsive td.product-thumbnail{justify-content:flex-start;}
  .shop_table_responsive td.product-remove::before,.shop_table_responsive td.product-thumbnail::before,.shop_table_responsive td.actions::before{display:none;}
  .shop_table_responsive td.actions{display:block; text-align:left;}
  .woocommerce-cart-form .coupon,.woocommerce-cart-form button[name="update_cart"]{float:none; width:100%;}
  .shop-step .coupon .input-text{width:100%;}
  .woocommerce-cart-form button[name="update_cart"]{margin-top:12px;}
  .shop-orders-actions{justify-content:flex-end!important;}
  form.checkout_coupon{grid-template-columns:1fr;}
  /* Totales: filas normales (WooCommerce les pone la clase responsive) */
  .cart_totals{padding:22px 20px;}
  .cart_totals .shop_table_responsive tr{display:flex; justify-content:space-between; gap:14px; padding:10px 0;}
  .cart_totals .shop_table_responsive th{display:block; border:0; padding:0; width:auto;}
  .cart_totals .shop_table_responsive td{display:block; border:0; padding:0; text-align:right;}
  .cart_totals .shop_table_responsive td::before{display:none;}
  .shop_table_responsive td.product-name{text-align:right;}
}
