/* ── WOOCOMMERCE — Estilos de integración Cinderella ─────────── */

/* ── Notices (WP + WC) ──────────────────────────────────────── */
/* WC emite:
   - <div class="woocommerce-message"> (success: solo un div)
   - <div class="woocommerce-info">    (info: solo un div)
   - <ul class="woocommerce-error"><li>error</li></ul>  (error: ul con N li)
   La card va SOLO en el div o en cada li — nunca en ambos. */
.woocommerce-notices-wrapper {
  max-width: 1240px; margin: 24px auto 0;
  padding: 0 24px;
}
.woocommerce-notices-wrapper:empty { display: none; }
/* WC auto-focusea los notices (tabindex=-1, role=alert) para accesibilidad —
   removemos el outline negro del navegador que se ve unos segundos sobre la card */
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus,
ul.woocommerce-error:focus,
ul.woocommerce-error > li:focus { outline: none; }

/* Reset del wrapper ul.woocommerce-error: sin lista, sin nada propio */
ul.woocommerce-error {
  list-style: none; padding: 0; margin: 0 0 14px;
  background: none; border: 0; box-shadow: none;
  display: flex; flex-direction: column; gap: 10px;
}

/* La card propiamente tal */
.woocommerce-message,
.woocommerce-info,
ul.woocommerce-error > li {
  position: relative; list-style: none;
  border-radius: 12px;
  padding: 14px 18px 14px 50px;
  margin: 0 0 14px;
  font-size: 14px; font-weight: 500; line-height: 1.5;
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  border: 1px solid transparent;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
ul.woocommerce-error > li { margin: 0; }

/* Icon común (vía pseudo) */
.woocommerce-message::before,
.woocommerce-info::before,
ul.woocommerce-error > li::before {
  content: ''; position: absolute;
  left: 16px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px;
  background-repeat: no-repeat; background-size: contain;
}

/* SUCCESS — verde */
.woocommerce-message {
  border-left: 4px solid #1a8a5a;
  background: #f0faf4; color: #14633e;
  border-color: #cdebd9;
}
.woocommerce-message::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a8a5a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>");
}

/* INFO — azul */
.woocommerce-info {
  border-left: 4px solid #3b6ee8;
  background: #eef3ff; color: #1a3a7a;
  border-color: #d5e0fb;
}
.woocommerce-info::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b6ee8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
}

/* ERROR — rojo (estiliza el li, no el ul) */
ul.woocommerce-error > li {
  border-left: 4px solid #c0392b;
  background: #fdf0f0; color: #7a1a1a;
  border-color: #f5d4d0;
}
ul.woocommerce-error > li::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0392b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
}

/* Botón inline pill negro, alineado a la derecha (Ver carrito, etc.) */
.woocommerce-message a.button,
.woocommerce-info a.button,
ul.woocommerce-error > li a.button {
  margin-left: auto;
  background: var(--gray-900); color: white !important;
  padding: 9px 18px; border-radius: 999px;
  font-size: 13px; font-weight: 600; line-height: 1;
  text-decoration: none; border: 0;
  transition: background var(--transition), transform var(--transition);
  flex-shrink: 0;
}
.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
ul.woocommerce-error > li a.button:hover {
  background: #000; color: white !important; transform: translateY(-1px);
}

/* ── SINGLE PRODUCT (Sephora-style) ──────────────────────────── */
.cin-single-product { padding: 24px 0 0; }
.cin-single-product-inner { max-width: 1240px; padding-left: 24px; padding-right: 24px; }

.cin-breadcrumb {
  font-size: 12px; color: var(--gray-500); margin-bottom: 22px;
}
.cin-breadcrumb a { color: var(--gray-500); }
.cin-breadcrumb a:hover { color: var(--purple); }

.cin-product-grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 460px;
  gap: 48px; align-items: start;
}

/* Gallery */
.cin-product-gallery {
  display: grid; grid-template-columns: 1fr;
  gap: 14px; align-items: start;
  position: sticky; top: 90px;
}
.cin-product-gallery:has(.cin-gallery-thumbs) {
  grid-template-columns: 80px 1fr;
}
.cin-gallery-thumbs {
  display: flex; flex-direction: column; gap: 8px;
  max-height: 540px; overflow-y: auto;
  scrollbar-width: thin;
}
.cin-gallery-thumb {
  width: 80px; height: 80px; padding: 2px;
  background: white; border: 1px solid transparent;
  border-radius: 8px; overflow: hidden; cursor: pointer;
  transition: border-color var(--transition);
}
.cin-gallery-thumb img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 6px;
  display: block;
}
.cin-gallery-thumb:hover { border-color: var(--gray-200); }
.cin-gallery-thumb.active { border-color: var(--gray-900); }
.cin-gallery-stage {
  position: relative;
  background: white; border-radius: 12px;
  overflow: hidden; aspect-ratio: 1 / 1;
}
.cin-gallery-stage img.cin-gallery-main {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 32px;
  box-sizing: border-box;
  display: block; transition: opacity 0.2s;
}
/* Contenedor de badges en la galería (apila todos los que tenga) */
.cin-gallery-badges {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  display: flex; flex-direction: column; gap: 6px; align-items: flex-start;
}
.cin-gallery-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 10px; background: var(--gray-900); color: white;
  border-radius: 4px; font-size: 11px; font-weight: 700;
  letter-spacing: 0.4px; text-transform: uppercase; line-height: 1; white-space: nowrap;
}
.cin-gallery-badge i, .cin-gallery-badge svg { width: 13px; height: 13px; }
.cin-badge-sale { background: var(--purple); }
/* Colores por tipo (compartidos con las cards) */
.cin-gallery-badge.cin-pcard__badge--sale { background: var(--gray-900); }
.cin-gallery-badge.cin-pcard__badge--new  { background: #fff; color: var(--gray-900); border: 1px solid var(--gray-200); }
.cin-gallery-badge.cin-pcard__badge--hot  { background: var(--purple); }
.cin-gallery-badge.cin-pcard__badge--cf   { background: #ec4d9b; }
.cin-gallery-badge.cin-pcard__badge--oos  { background: var(--gray-500); }

/* Summary */
.cin-product-summary { display: flex; flex-direction: column; gap: 18px; }
.cin-product-brand {
  display: inline-block; align-self: flex-start;
  font-size: 14px; font-weight: 600;
  color: var(--gray-900); text-decoration: underline;
  text-underline-offset: 2px;
}
.cin-product-brand:hover { color: var(--purple); }
.cin-product-title {
  font-size: clamp(22px, 2.4vw, 28px); font-weight: 700;
  line-height: 1.2; color: var(--gray-900); margin: 0;
}
.cin-product-meta {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  padding-bottom: 14px; border-bottom: 1px solid var(--gray-100);
}
.cin-meta-link {
  font-size: 13px; color: var(--gray-700);
  text-decoration: underline; text-underline-offset: 2px;
}
.cin-meta-link:hover { color: var(--purple); }
.cin-meta-rating {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--gray-700);
}
.cin-meta-rating i, .cin-meta-rating svg {
  width: 14px; height: 14px; color: var(--gray-900); fill: var(--gray-900);
}
.cin-meta-rating span { text-decoration: underline; text-underline-offset: 2px; }
.cin-meta-rating:hover { color: var(--purple); }

.cin-product-price { font-size: 26px; font-weight: 700; color: var(--gray-900); }
.cin-product-price .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
.cin-product-price del { color: var(--gray-500); font-weight: 400; font-size: 18px; margin-right: 10px; }
.cin-product-price ins { text-decoration: none; }

.cin-product-fineprint {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--gray-500); margin: -8px 0 0;
}
.cin-product-fineprint i,
.cin-product-fineprint svg {
  width: 14px; height: 14px; color: #1a8a5a; stroke-width: 2;
}
/* Badge de cuotas WebPay */
.cin-product-cuotas {
  display: inline-flex; align-items: center; gap: 9px;
  margin: 12px 0 0; padding: 10px 16px;
  background: var(--purple-xlight); border: 1px solid var(--purple-light);
  border-radius: 12px;
  font-size: 14px; font-weight: 600; color: var(--purple);
}
.cin-product-cuotas i,
.cin-product-cuotas svg {
  width: 20px; height: 20px; color: var(--purple); stroke-width: 2; flex-shrink: 0;
}
.cin-product-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.cin-product-price__pct {
  font-size: 13px; font-weight: 700; color: #c0392b;
  padding: 3px 8px; background: #fdf0f0; border-radius: 6px;
  line-height: 1.2;
}
.cin-info-row__addr {
  display: block; font-size: 12px; color: var(--gray-500);
  margin: 2px 0 4px; line-height: 1.35;
}

/* No drag / no select en la imagen principal del producto */
.cin-gallery-stage img.cin-gallery-main,
.cin-gallery-thumb img {
  -webkit-user-drag: none;
  -webkit-user-select: none; user-select: none;
  -webkit-touch-callout: none;
}
.cin-gallery-stage, .cin-gallery-thumbs { -webkit-user-select: none; user-select: none; }

/* Share product (en accordion) */
.cin-share {
  display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap;
}
.cin-share__input {
  flex: 1; min-width: 200px;
  padding: 10px 14px; border-radius: 999px;
  border: 1px solid var(--gray-200); background: white;
  font-size: 13px; color: var(--gray-700); font-family: var(--font);
  outline: none;
}
.cin-share__input:focus { border-color: var(--gray-900); color: var(--gray-900); }
.cin-share__btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px; border-radius: 999px;
  background: var(--gray-900); color: white;
  font-size: 13px; font-weight: 600; line-height: 1;
  border: 0; cursor: pointer; font-family: var(--font);
  transition: background var(--transition);
}
.cin-share__btn:hover { background: #000; }
.cin-share__btn.is-copied { background: #1a8a5a; }
.cin-share__btn i, .cin-share__btn svg { width: 14px; height: 14px; }
.cin-share__native[hidden] { display: none !important; }

/* Reviews section (dedicada, antes de related) */
.cin-reviews-section {
  padding: 60px 0; background: var(--gray-50);
  border-top: 1px solid var(--gray-100);
}
.cin-reviews-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-bottom: 24px;
}
.cin-reviews-header h2 {
  font-size: clamp(22px, 2.4vw, 28px); font-weight: 700;
  color: var(--gray-900); margin: 0;
}
.cin-reviews-summary {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; color: var(--gray-700);
}
.cin-reviews-summary strong {
  font-size: 18px; font-weight: 700; color: var(--gray-900);
}
.cin-reviews-stars {
  --r: 0;
  display: inline-block; font-size: 18px; letter-spacing: 2px; line-height: 1;
  background-image: linear-gradient(90deg,
    var(--gray-900) calc(var(--r) * 20%),
    var(--gray-200) calc(var(--r) * 20%));
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.cin-reviews-count { color: var(--gray-500); }

/* Reviews list (WC default markup, restilizado) */
.cin-reviews-section #reviews { background: none; }
.cin-reviews-section .commentlist {
  list-style: none; padding: 0; margin: 0 0 32px;
  display: flex; flex-direction: column; gap: 16px;
}
.cin-reviews-section .commentlist li {
  background: white; border: 1px solid var(--gray-100);
  border-radius: 12px; padding: 18px 20px;
  display: flex; flex-direction: column; gap: 8px;
}
.cin-reviews-section .comment-text { font-size: 14px; color: var(--gray-700); line-height: 1.55; }
.cin-reviews-section .meta {
  font-size: 12px; color: var(--gray-500); margin: 0;
}
.cin-reviews-section .meta strong { color: var(--gray-900); font-weight: 700; font-size: 13px; }
.cin-reviews-section .star-rating {
  font-size: 14px; letter-spacing: 1px; color: var(--gray-900);
  margin-bottom: 4px;
}
.cin-reviews-section .star-rating::before { color: var(--gray-200); }
.cin-reviews-section .avatar {
  border-radius: 50%; margin-right: 12px; float: left;
  width: 40px; height: 40px;
}

/* Formulario de review */
.cin-reviews-section #review_form_wrapper {
  background: white; border: 1px solid var(--gray-100);
  border-radius: 14px; padding: 24px;
}
.cin-reviews-section #reply-title {
  font-size: 17px; font-weight: 700; color: var(--gray-900);
  margin: 0 0 4px;
}
.cin-reviews-section .comment-notes { font-size: 13px; color: var(--gray-500); margin: 0 0 18px; }
.cin-reviews-section .comment-form-rating label,
.cin-reviews-section .comment-form-author label,
.cin-reviews-section .comment-form-email label,
.cin-reviews-section .comment-form-comment label {
  display: block; font-size: 13px; font-weight: 600; color: var(--gray-700);
  margin-bottom: 6px;
}
.cin-reviews-section .comment-form-author,
.cin-reviews-section .comment-form-email,
.cin-reviews-section .comment-form-comment {
  margin-bottom: 14px;
}
.cin-reviews-section .comment-form input[type="text"],
.cin-reviews-section .comment-form input[type="email"],
.cin-reviews-section .comment-form textarea {
  width: 100%; padding: 11px 14px;
  border: 1px solid var(--gray-200); border-radius: 10px;
  background: white; font-size: 14px; font-family: var(--font);
  color: var(--gray-900); outline: none;
  transition: border-color var(--transition);
}
.cin-reviews-section .comment-form input:focus,
.cin-reviews-section .comment-form textarea:focus { border-color: var(--gray-900); }
.cin-reviews-section .comment-form textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
.cin-reviews-section .stars {
  display: inline-flex; gap: 4px; font-size: 0;
  margin-bottom: 14px;
}
.cin-reviews-section .stars a {
  width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px; line-height: 1; color: var(--gray-200);
  text-decoration: none;
  transition: color var(--transition), transform var(--transition);
}
.cin-reviews-section .stars a:hover { color: #e8c86a; transform: scale(1.1); }
.cin-reviews-section .stars a.active { color: #e8c86a; }
.cin-reviews-section .form-submit { margin: 18px 0 0; }
.cin-reviews-section #submit {
  background: var(--gray-900) !important; color: white !important;
  padding: 13px 28px; border-radius: 999px;
  font-size: 14px; font-weight: 700; line-height: 1;
  border: 0; cursor: pointer; font-family: var(--font);
  transition: background var(--transition), transform var(--transition);
}
.cin-reviews-section #submit:hover { background: #000 !important; transform: translateY(-1px); }
.cin-reviews-section .woocommerce-noreviews {
  background: white; border: 1px dashed var(--gray-200);
  padding: 32px; text-align: center;
  font-size: 14px; color: var(--gray-500); border-radius: 12px;
  margin-bottom: 20px;
}

/* CTA: black button + heart */
.cin-product-cta {
  display: flex; align-items: stretch; gap: 10px;
  margin-top: 4px;
}
.cin-product-variations {
  display: flex; align-items: flex-end; gap: 10px;
  margin-top: 4px;
}
.cin-product-cta form.cart,
.cin-product-variations .variations_form {
  flex: 1; min-width: 0; margin: 0;
}
.single_add_to_cart_button {
  width: 100%;
  background: var(--gray-900) !important; color: white !important;
  border: none; border-radius: 999px;
  padding: 16px 24px;
  font-size: 15px; font-weight: 700; font-family: var(--font);
  cursor: pointer; line-height: 1;
  transition: background var(--transition);
}
.single_add_to_cart_button:hover { background: #000 !important; }
.single_add_to_cart_button:disabled,
.single_add_to_cart_button.disabled {
  background: var(--gray-500) !important; cursor: not-allowed;
}
.cin-wishlist-btn {
  width: 56px; flex-shrink: 0;
  background: white; border: 1px solid var(--gray-200);
  border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--gray-700);
  transition: all var(--transition);
}
.cin-wishlist-btn:hover { border-color: var(--gray-900); color: var(--gray-900); }
.cin-wishlist-btn.active { background: var(--purple-xlight); border-color: var(--purple); color: var(--purple); }
.cin-wishlist-btn.active i, .cin-wishlist-btn.active svg { fill: currentColor; }
.cin-wishlist-btn i, .cin-wishlist-btn svg { width: 20px; height: 20px; pointer-events: none; }
.cin-wishlist-btn:disabled { opacity: 0.6; cursor: wait; }

/* Variable product form: clean dropdowns + reset hidden */
.variations_form .variations { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.variations_form .variations tr { display: flex; flex-direction: column; margin-bottom: 10px; }
.variations_form .variations th.label {
  font-size: 13px; font-weight: 600; color: var(--gray-700);
  text-align: left; padding: 0 0 6px;
}
.variations_form .variations td.value { padding: 0; position: relative; }
.variations_form select {
  width: 100%; padding: 13px 38px 13px 14px;
  border: 1px solid var(--gray-200); border-radius: 10px;
  background: white; font-size: 14px; font-family: var(--font);
  color: var(--gray-900); cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2316141f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  transition: border-color var(--transition);
}
.variations_form select:focus { border-color: var(--gray-900); outline: none; }
.variations_form .reset_variations { display: none !important; }
.woocommerce-variation { margin: 8px 0; font-size: 13px; color: var(--gray-700); }
.woocommerce-variation-price .woocommerce-Price-amount { font-weight: 600; color: var(--gray-900); }
.woocommerce-variation-add-to-cart {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1; min-width: 200px;
}

/* Quantity pill: [−] qty [+] consistente en simple y variable */
.cin-product-cta form.cart {
  display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap;
}
.quantity {
  display: inline-flex; align-items: stretch;
  height: 52px; flex-shrink: 0;
  background: white; border: 1px solid var(--gray-200); border-radius: 999px;
  overflow: hidden;
}
.cin-qty-btn {
  width: 38px; padding: 0; margin: 0;
  background: none; border: 0; cursor: pointer;
  font-size: 18px; line-height: 1; color: var(--gray-700);
  font-family: var(--font);
  display: flex; align-items: center; justify-content: center;
  transition: background var(--transition), color var(--transition);
}
.cin-qty-btn:hover { background: var(--gray-100); color: var(--gray-900); }
.cin-qty-btn:disabled { color: var(--gray-200); cursor: not-allowed; }
.cin-qty-btn:disabled:hover { background: none; }
/* Bloqueado: sin variación elegida o agotada → atenuado */
.quantity.cin-qty-locked { opacity: 0.5; }
.quantity.cin-qty-locked input.qty { color: var(--gray-400); }
.quantity input.qty {
  width: 44px; padding: 0; margin: 0; border: 0; outline: none;
  background: transparent;
  text-align: center;
  font-size: 15px; font-weight: 600; font-family: var(--font);
  color: var(--gray-900);
  -moz-appearance: textfield;
}
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Asegurar altura consistente del heart en producto variable */
.cin-product-variations .cin-wishlist-btn { width: 56px; height: 52px; }
.cin-product-cta .single_add_to_cart_button { flex: 1; }

/* Info card */
.cin-info-card {
  border: 1px solid var(--gray-100); border-radius: 12px;
  padding: 16px 18px;
  display: flex; flex-direction: column; gap: 14px;
}
.cin-info-row {
  display: flex; align-items: flex-start; gap: 14px;
}
.cin-info-row > i, .cin-info-row > svg {
  width: 22px; height: 22px; color: var(--gray-700);
  flex-shrink: 0; margin-top: 2px;
}
.cin-info-row > div { flex: 1; min-width: 0; }
.cin-info-row strong {
  display: block; font-size: 14px; font-weight: 600;
  color: var(--gray-900); margin-bottom: 4px;
}
.cin-status {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px;
}
.cin-status::before {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
}
.cin-status--ok { color: var(--gray-700); }
.cin-status--ok::before { background: #1a8a5a; }
.cin-status--ko { color: var(--gray-700); }
.cin-status--ko::before { background: #c0392b; }

/* Description + read more */
.cin-product-section { padding-top: 6px; }
.cin-section-h {
  font-size: 16px; font-weight: 700; color: var(--gray-900);
  margin: 0 0 10px;
}
.cin-prose { font-size: 14px; color: var(--gray-700); line-height: 1.6; }
.cin-prose p { margin: 0 0 12px; }
.cin-prose p:last-child { margin-bottom: 0; }
.cin-prose--clamp {
  max-height: 4.5em; overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
          mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}
.cin-prose.expanded {
  max-height: none;
  -webkit-mask-image: none;
          mask-image: none;
}
.cin-prose-toggle {
  background: none; border: none; padding: 6px 0;
  font-size: 14px; font-weight: 600; color: var(--gray-900);
  text-decoration: underline; text-underline-offset: 2px;
  cursor: pointer;
}
.cin-prose-toggle:hover { color: var(--purple); }

/* Accordion (Consejos, Ingredientes, Reviews) */
.cin-accordion { display: flex; flex-direction: column; margin-top: 4px; }
.cin-accordion-item { border-top: 1px solid var(--gray-100); }
.cin-accordion-item:last-child { border-bottom: 1px solid var(--gray-100); }
.cin-accordion-item > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0;
  font-size: 15px; font-weight: 600; color: var(--gray-900);
}
.cin-accordion-item > summary::-webkit-details-marker { display: none; }
.cin-accordion-item > summary i, .cin-accordion-item > summary svg {
  width: 18px; height: 18px;
  transition: transform 0.25s cubic-bezier(0.4,0,0.2,1);
}
.cin-accordion-item[open] > summary i,
.cin-accordion-item[open] > summary svg { transform: rotate(180deg); }
.cin-accordion-body {
  padding: 0 0 22px;
  font-size: 14px; color: var(--gray-700); line-height: 1.65;
}
.cin-accordion-body p { margin: 0 0 10px; }
.cin-accordion-body p:last-child { margin-bottom: 0; }

/* Oculta el <h2>Información adicional</h2> que WC emite dentro del template
   (el título ya está en el summary del accordion) */
.cin-accordion-body > h2,
.cin-accordion-body > h3 { display: none; }

/* Tabla "Ficha del producto" — zebra rows estilo Amazon */
.cin-accordion-body table.shop_attributes,
.cin-accordion-body table.woocommerce-product-attributes {
  width: 100%; border-collapse: collapse; border-spacing: 0;
  margin: 0; background: none; box-shadow: none; border-radius: 0;
  overflow: visible;
}
.cin-accordion-body table.shop_attributes tr,
.cin-accordion-body table.woocommerce-product-attributes tr {
  background: white; border: 0;
}
.cin-accordion-body table.shop_attributes tr:nth-child(odd),
.cin-accordion-body table.woocommerce-product-attributes tr:nth-child(odd) {
  background: var(--gray-50);
}
.cin-accordion-body table.shop_attributes th,
.cin-accordion-body table.woocommerce-product-attributes th {
  width: 40%; max-width: 220px;
  padding: 12px 14px; text-align: left; vertical-align: top;
  font-size: 13px; font-weight: 600;
  color: var(--gray-700);
  text-transform: none; letter-spacing: 0;
  background: none; border: 0;
}
.cin-accordion-body table.shop_attributes td,
.cin-accordion-body table.woocommerce-product-attributes td {
  padding: 12px 14px; vertical-align: top;
  font-size: 14px; font-weight: 400;
  color: var(--gray-900);
  background: none; border: 0;
}
.cin-accordion-body table.shop_attributes td p,
.cin-accordion-body table.woocommerce-product-attributes td p { margin: 0; }
.cin-accordion-body table.shop_attributes td a,
.cin-accordion-body table.woocommerce-product-attributes td a {
  color: var(--purple); text-decoration: underline; text-underline-offset: 2px;
}

@media (max-width: 540px) {
  .cin-accordion-body table.shop_attributes th,
  .cin-accordion-body table.woocommerce-product-attributes th {
    width: 45%; padding: 10px 12px; font-size: 12px;
  }
  .cin-accordion-body table.shop_attributes td,
  .cin-accordion-body table.woocommerce-product-attributes td {
    padding: 10px 12px; font-size: 13px;
  }
}

/* Related carousel block */
.cin-related-products { margin-top: 60px; padding: 48px 0 60px; background: var(--gray-50); }
.cin-related-products .cin-section-header { margin-bottom: 16px; }

/* Hide default WC tab nav (we render accordion ourselves) */
.cin-single-product .woocommerce-tabs { display: none; }
.cin-single-product .related.products,
.cin-single-product .upsells.products { display: none; }

/* Mobile */
@media (max-width: 1024px) {
  .cin-product-grid { grid-template-columns: 1fr 400px; gap: 32px; }
  .cin-product-gallery { position: static; }
}
@media (max-width: 768px) {
  .cin-single-product-inner { padding-left: 16px; padding-right: 16px; }
  .cin-product-grid { grid-template-columns: 1fr; gap: 24px; }
  .cin-product-gallery {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .cin-gallery-stage { order: 1; aspect-ratio: 4 / 5; }
  .cin-gallery-thumbs {
    order: 2; flex-direction: row;
    max-height: none; overflow-x: auto; overflow-y: visible;
    padding: 2px 0 6px;
  }
  .cin-gallery-thumb { width: 60px; height: 60px; flex-shrink: 0; }
  .single_add_to_cart_button { padding: 15px 20px; font-size: 14px; }
  .cin-wishlist-btn { width: 52px; }
}

/* ── CART (Shopify-style) ───────────────────────────────────── */
.cin-cart-page { padding: 32px 0 80px; }
.cin-cart-header {
  margin-bottom: 28px;
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.cin-cart-header__title {
  font-size: clamp(24px, 2.6vw, 32px); font-weight: 700;
  color: var(--gray-900); margin: 0;
  display: inline-flex; align-items: center; gap: 12px;
  background: none; padding: 0; border: 0;
}
.cin-cart-header__title i,
.cin-cart-header__title svg {
  width: 28px; height: 28px; color: var(--purple); stroke-width: 1.8;
}
.cin-cart-header__count {
  display: inline-flex; align-items: center;
  background: var(--gray-100); color: var(--gray-700);
  padding: 5px 12px; border-radius: 999px;
  font-size: 13px; font-weight: 600;
  margin: 0;
}

.cin-cart-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) 380px;
  gap: 40px; align-items: start;
}

/* === Items list === */
.cin-cart-main { min-width: 0; }
.cin-cart-list {
  list-style: none; padding: 0; margin: 0;
  border-top: 1px solid var(--gray-100);
}
.cin-cart-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto auto 32px;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px solid var(--gray-100);
  align-items: center;
}
.cin-cart-item__thumb {
  display: block; width: 96px; height: 96px;
  background: var(--gray-50);
  border-radius: 10px; overflow: hidden;
}
.cin-cart-item__thumb img.cin-cart-item__img,
.cin-cart-item__thumb img {
  width: 100%; height: 100%; object-fit: contain;
  padding: 8px; box-sizing: border-box;
  display: block;
}
.cin-cart-item__info { min-width: 0; }
.cin-cart-item__brand {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.06em; color: var(--gray-900);
  margin: 0 0 4px; line-height: 1;
}
.cin-cart-item__name {
  display: block;
  font-size: 15px; font-weight: 500; line-height: 1.35;
  color: var(--gray-900); text-decoration: none;
  margin: 0 0 4px;
}
.cin-cart-item__name:hover { color: var(--purple); }
.cin-cart-item__meta {
  font-size: 12px; color: var(--gray-500); margin: 4px 0 0;
}
.cin-cart-item__meta dl { margin: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.cin-cart-item__meta dt { font-weight: 500; }
.cin-cart-item__meta dd { margin: 0; }
.cin-cart-item__meta dd p { margin: 0; display: inline; }
.cin-cart-item__unit-price {
  font-size: 13px; color: var(--gray-500); margin: 6px 0 0;
}
.cin-cart-item__unit-price .amount { color: var(--gray-700); }
.cin-cart-item__qty { display: flex; }
.cin-cart-item__qty .quantity {
  height: 44px;
}
.cin-cart-item__qty .quantity .cin-qty-btn { width: 34px; font-size: 16px; }
.cin-cart-item__qty .quantity input.qty { width: 36px; font-size: 14px; }
.cin-cart-item__qty .qty-fixed {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; font-weight: 600; color: var(--gray-900);
}
.cin-cart-item__subtotal {
  font-size: 16px; font-weight: 700;
  color: var(--gray-900);
  text-align: right; min-width: 88px;
}
.cin-cart-item__subtotal .amount { font-weight: 700; color: inherit; }
.cin-cart-item__remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 50%;
  background: transparent; color: var(--gray-500);
  transition: all var(--transition);
}
.cin-cart-item__remove:hover { background: #fde8e8; color: #c0392b; }
.cin-cart-item__remove i, .cin-cart-item__remove svg { width: 16px; height: 16px; }

/* === Coupon === */
.cin-cart-coupon {
  margin-top: 24px;
  border: 1px solid var(--gray-100); border-radius: 12px;
  overflow: hidden;
}
.cin-cart-coupon__head {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  font-size: 14px; font-weight: 600; color: var(--gray-900);
}
.cin-cart-coupon__head::-webkit-details-marker { display: none; }
.cin-cart-coupon__head > span { display: inline-flex; align-items: center; gap: 8px; }
.cin-cart-coupon__head i, .cin-cart-coupon__head svg { width: 16px; height: 16px; color: var(--purple); }
.cin-cart-coupon__chev { transition: transform 0.22s cubic-bezier(0.4,0,0.2,1); }
.cin-cart-coupon[open] .cin-cart-coupon__chev { transform: rotate(180deg); }
.cin-cart-coupon__body {
  display: flex; gap: 8px;
  padding: 0 16px 16px;
  border-top: 1px solid var(--gray-100);
  padding-top: 14px;
}
.cin-cart-coupon__body .input-text {
  flex: 1; padding: 12px 16px; border-radius: 999px;
  border: 1px solid var(--gray-200); font-size: 14px;
  font-family: var(--font); outline: none;
  transition: border-color var(--transition);
}
.cin-cart-coupon__body .input-text:focus { border-color: var(--gray-900); }
.cin-cart-coupon__body .button {
  background: var(--gray-900); color: white;
  padding: 12px 22px; border-radius: 999px;
  font-size: 13px; font-weight: 700; font-family: var(--font);
  border: 0; cursor: pointer;
  transition: background var(--transition);
}
.cin-cart-coupon__body .button:hover { background: #000; }

.cin-cart-update-hidden { display: none !important; }

/* === Continue shopping link === */
/* Fila de acciones bajo la tabla: seguir comprando + vaciar */
.cin-cart-actions {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap; margin-top: 24px;
}
.cin-cart-continue {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600;
  color: var(--gray-900);
  text-decoration: none;
  transition: color var(--transition);
}
.cin-cart-continue:hover { color: var(--purple); }
.cin-cart-continue i, .cin-cart-continue svg { width: 16px; height: 16px; }
.cin-cart-empty {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 10px 18px; border-radius: 10px; cursor: pointer;
  font-size: 14px; font-weight: 600; font-family: var(--font);
  background: #fdf0f0; color: #c0392b; border: 1px solid #f5d4d0;
  transition: background var(--transition), color var(--transition);
}
.cin-cart-empty:hover { background: #c0392b; color: #fff; border-color: #c0392b; }
.cin-cart-empty:disabled { opacity: 0.5; cursor: not-allowed; }
.cin-cart-empty i, .cin-cart-empty svg { width: 16px; height: 16px; }

/* === Summary (sticky) === */
.cin-cart-summary {
  position: sticky; top: 90px;
  background: var(--gray-50);
  border-radius: 14px;
  padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
}
.cin-cart-summary__title {
  font-size: 18px; font-weight: 700;
  color: var(--gray-900);
  margin: 0 0 6px;
}
.cin-cart-summary__row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 14px; color: var(--gray-700);
  gap: 10px;
}
.cin-cart-summary__row .amount { font-weight: 600; color: var(--gray-900); }
.cin-cart-summary__row--coupon { color: var(--purple); }
.cin-cart-summary__row--coupon i, .cin-cart-summary__row--coupon svg {
  width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px;
}
.cin-cart-coupon-remove {
  display: inline-block; margin-left: 6px;
  width: 18px; height: 18px; line-height: 18px; text-align: center;
  border-radius: 50%; background: rgba(0,0,0,0.06);
  color: var(--gray-700); font-size: 13px;
  text-decoration: none;
}
.cin-cart-coupon-remove:hover { background: rgba(0,0,0,0.12); color: var(--gray-900); }
.cin-cart-summary__shipping-note {
  font-size: 12px; color: var(--gray-500);
}
.cin-cart-summary__shipping-note span:last-child { font-weight: 400; color: var(--gray-500); }
.cin-cart-summary__total {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-top: 14px; margin-top: 6px;
  border-top: 1px solid var(--gray-200);
}
.cin-cart-summary__total > span { font-size: 16px; font-weight: 600; color: var(--gray-900); }
.cin-cart-summary__total strong { font-size: 22px; font-weight: 700; color: var(--gray-900); }
.cin-cart-summary__total .amount { font-weight: 700; color: inherit; font-size: inherit; }

.cin-cart-summary__cta {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--gray-900); color: white;
  padding: 16px 24px; border-radius: 999px;
  font-size: 15px; font-weight: 700; line-height: 1;
  text-decoration: none;
  margin-top: 8px;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.cin-cart-summary__cta:hover {
  background: #000; color: white;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
}
.cin-cart-summary__cta i, .cin-cart-summary__cta svg { width: 18px; height: 18px; }

.cin-cart-summary__note {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-size: 12px; color: var(--gray-500);
  text-align: center; margin: 4px 0 0;
}
.cin-cart-summary__note i, .cin-cart-summary__note svg { width: 12px; height: 12px; }

/* Mobile */
@media (max-width: 880px) {
  .cin-cart-layout { grid-template-columns: 1fr; gap: 28px; }
  .cin-cart-summary { position: static; }
}
@media (max-width: 768px) {
  /* Layout 2 filas: arriba (thumb + info + subtotal); abajo (thumb cont. + qty + remove) */
  .cin-cart-item {
    grid-template-columns: 80px minmax(0, 1fr) auto;
    grid-template-areas:
      "thumb info subtotal"
      "thumb qty  remove";
    column-gap: 14px;
    row-gap: 12px;
    padding: 16px 0;
  }
  .cin-cart-item__thumb {
    grid-area: thumb; width: 80px; height: 80px;
    align-self: center;
  }
  .cin-cart-item__info { grid-area: info; align-self: start; }
  .cin-cart-item__qty  { grid-area: qty;  align-self: center; }
  .cin-cart-item__subtotal {
    grid-area: subtotal; align-self: start;
    text-align: right; white-space: nowrap;
  }
  .cin-cart-item__remove {
    grid-area: remove; justify-self: end; align-self: center;
  }
  .cin-cart-item__name { font-size: 14px; }
  .cin-cart-item__subtotal { font-size: 15px; }
  .cin-cart-item__unit-price { font-size: 12px; margin-top: 4px; }
  .cin-cart-item__qty .quantity { height: 40px; }
  .cin-cart-item__qty .quantity .cin-qty-btn { width: 32px; font-size: 15px; }
  .cin-cart-item__qty .quantity input.qty { width: 32px; font-size: 13px; }
}

/* ── Mini-cart (header dropdown desktop / drawer mobile) ────── */
.cin-minicart-wrap { position: relative; }

/* Panel: JS lo reparenta al <body>, posiciona via inline styles en desktop, fijo en mobile */
.cin-minicart__panel {
  position: fixed; top: 90px; right: 12px;
  width: 380px; max-height: calc(100vh - 110px);
  display: flex; flex-direction: column;
  background: white; border-radius: 14px;
  box-shadow: 0 16px 50px rgba(0,0,0,0.18);
  z-index: 9999;
  opacity: 0; transform: translateY(-8px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.cin-minicart__panel.is-open {
  opacity: 1; transform: translateY(0); pointer-events: auto;
}

/* Backdrop solo mobile */
.cin-minicart__backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  z-index: 9998; opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
  display: none;
}

/* Head */
.cin-minicart__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; border-bottom: 1px solid var(--gray-100);
}
.cin-minicart__title {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 700; color: var(--gray-900);
  margin: 0;
}
.cin-minicart__title i, .cin-minicart__title svg {
  width: 18px; height: 18px; color: var(--purple);
}
.cin-minicart__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 22px; height: 22px; padding: 0 7px;
  background: var(--purple); color: white;
  border-radius: 999px; font-size: 11px; font-weight: 700;
}
.cin-minicart__close {
  display: none; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--gray-100); color: var(--gray-700);
  border: 0; cursor: pointer;
  transition: background var(--transition);
}
.cin-minicart__close:hover { background: var(--gray-200); color: var(--gray-900); }
.cin-minicart__close i, .cin-minicart__close svg { width: 18px; height: 18px; }

/* List */
.cin-minicart__list {
  list-style: none; padding: 8px 0; margin: 0;
  overflow-y: auto; flex: 1;
}
.cin-minicart__item {
  display: grid; grid-template-columns: 56px 1fr 28px;
  gap: 12px; align-items: center;
  padding: 12px 20px;
}
.cin-minicart__item + .cin-minicart__item {
  border-top: 1px solid var(--gray-100);
}
.cin-minicart__thumb {
  display: block; width: 56px; height: 56px;
  background: var(--gray-50); border-radius: 8px;
  overflow: hidden;
}
.cin-minicart__thumb img {
  width: 100%; height: 100%; object-fit: contain;
  padding: 4px; box-sizing: border-box; display: block;
}
.cin-minicart__info { min-width: 0; }
.cin-minicart__name {
  display: block;
  font-size: 13px; font-weight: 500; line-height: 1.3;
  color: var(--gray-900); text-decoration: none;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.cin-minicart__name:hover { color: var(--purple); }
.cin-minicart__meta { font-size: 11px; color: var(--gray-500); margin: 2px 0 0; }
.cin-minicart__qtyline {
  font-size: 12px; color: var(--gray-500); margin: 4px 0 0;
}
.cin-minicart__qtyline .amount { font-weight: 600; color: var(--gray-900); }
.cin-minicart__remove {
  width: 28px; height: 28px; border-radius: 50%;
  background: transparent; color: var(--gray-500);
  border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all var(--transition);
}
.cin-minicart__remove:hover { background: #fde8e8; color: #c0392b; }
.cin-minicart__remove:disabled { opacity: 0.5; cursor: wait; }
.cin-minicart__remove i, .cin-minicart__remove svg { width: 14px; height: 14px; }

/* Footer */
.cin-minicart__footer {
  padding: 18px 20px;
  border-top: 1px solid var(--gray-100);
  background: var(--gray-50);
  display: flex; flex-direction: column; gap: 10px;
}
.cin-minicart__subtotal {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 14px; color: var(--gray-700);
}
.cin-minicart__subtotal strong {
  font-size: 20px; font-weight: 700; color: var(--gray-900);
}
.cin-minicart__subtotal .amount { color: inherit; font-weight: inherit; font-size: inherit; }
.cin-minicart__note {
  font-size: 12px; color: var(--gray-500);
  margin: -4px 0 4px; text-align: center;
}
/* CTA primaria: full-width, prominente */
.cin-minicart__btn {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 14px 20px; border-radius: 999px;
  background: var(--gray-900); color: white;
  font-size: 14px; font-weight: 700; line-height: 1;
  text-decoration: none;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.cin-minicart__btn:hover {
  background: #000; color: white;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
}
.cin-minicart__btn i, .cin-minicart__btn svg { width: 16px; height: 16px; }
/* Secundario como link de texto centrado */
.cin-minicart__viewcart {
  display: block; text-align: center;
  font-size: 13px; font-weight: 600;
  color: var(--gray-700); text-decoration: underline;
  text-underline-offset: 2px;
  padding: 4px 0;
  transition: color var(--transition);
}
.cin-minicart__viewcart:hover { color: var(--gray-900); }

/* Empty state */
.cin-minicart__empty {
  text-align: center; padding: 40px 20px;
}
.cin-minicart__empty-icon {
  width: 56px; height: 56px; margin: 0 auto 14px;
  background: var(--gray-100); color: var(--gray-500);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.cin-minicart__empty-icon i, .cin-minicart__empty-icon svg { width: 24px; height: 24px; }
.cin-minicart__empty p {
  font-size: 14px; color: var(--gray-500); margin: 0 0 18px;
}

/* Ocultar botón flotante WhatsApp mientras el drawer está abierto en mobile */
body.cin-minicart-open .whatsapp-btn { opacity: 0; pointer-events: none; }

/* Mobile: drawer desde la derecha (lado del cart-btn) */
@media (max-width: 768px) {
  .cin-minicart__panel {
    position: fixed; top: 0; right: 0; left: auto; bottom: 0;
    width: 88vw; max-width: 360px; max-height: none; height: 100vh;
    border-radius: 0;
    transform: translateX(100%); transition: transform 0.3s ease;
    opacity: 1; pointer-events: auto;
  }
  .cin-minicart__panel::before { display: none; }
  .cin-minicart__panel::after { display: none; }
  .cin-minicart__panel.is-open { transform: translateX(0); }
  .cin-minicart__close { display: flex; }
  .cin-minicart__backdrop { display: block; }
  .cin-minicart__backdrop.is-open { opacity: 1; pointer-events: auto; }
}

/* ── Empty cart ────────────────────────────────────────────── */
.cin-empty-cart {
  max-width: 540px; margin: 0 auto;
  padding: 60px 24px 40px;
  text-align: center;
}
.cin-empty-cart__icon {
  width: 96px; height: 96px;
  margin: 0 auto 24px;
  display: flex; align-items: center; justify-content: center;
  background: var(--purple-xlight); color: var(--purple);
  border-radius: 50%;
}
.cin-empty-cart__icon i,
.cin-empty-cart__icon svg { width: 44px; height: 44px; }
.cin-empty-cart__title {
  font-size: clamp(22px, 2.4vw, 28px); font-weight: 700;
  color: var(--gray-900); margin: 0 0 12px;
}
.cin-empty-cart__desc {
  font-size: 15px; color: var(--gray-500);
  line-height: 1.55; margin: 0 0 28px;
}
.cin-empty-cart__cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--gray-900); color: white;
  padding: 14px 28px; border-radius: 999px;
  font-size: 15px; font-weight: 700; line-height: 1;
  text-decoration: none;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.cin-empty-cart__cta:hover {
  background: #000; color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.2);
}
.cin-empty-cart__cta i,
.cin-empty-cart__cta svg { width: 18px; height: 18px; }

/* Carrusel de recomendados dentro del cart vacío */
.cin-empty-cart-related { padding: 24px 0 40px; }
.cin-empty-cart-related .cin-section-header { margin-bottom: 16px; }

/* Coupon */
.coupon { display: flex; gap: 8px; }
.coupon .input-text {
  flex: 1; padding: 10px 16px; border-radius: 99px;
  border: 1.5px solid var(--gray-200); font-size: 14px;
  font-family: var(--font); outline: none;
  transition: border var(--transition);
}
.coupon .input-text:focus { border-color: var(--purple); }
.coupon .button, .actions .button {
  background: var(--purple); color: white;
  padding: 10px 20px; border-radius: 99px;
  font-size: 13px; font-weight: 700; border: none; cursor: pointer;
  transition: background var(--transition); font-family: var(--font);
}
.coupon .button:hover, .actions .button:hover { background: var(--purple-dark); }
.actions { display: flex; align-items: center; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }

/* ── CHECKOUT ────────────────────────────────────────────────── */
.cin-checkout-page { padding: 32px 0 80px; }

/* Aviso "¿Tienes un cupón?" + form en card propio */
.cin-checkout-page .woocommerce-form-coupon-toggle {
  margin: 0 0 16px;
}
.cin-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: white; color: var(--gray-700);
  border: 1px solid var(--gray-100);
  border-left: 4px solid var(--purple);
  border-radius: 12px;
  padding: 14px 18px 14px 48px;
  font-size: 14px; font-weight: 500;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  margin: 0;
}
.cin-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b24a0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/><line x1='7' y1='7' x2='7.01' y2='7'/></svg>");
}
.cin-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon {
  font-weight: 700; color: var(--purple);
  text-decoration: underline; text-underline-offset: 2px;
  margin-left: auto;
}
.cin-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover {
  color: var(--purple-dark);
}

/* Form del cupón estilo card */
.cin-checkout-page form.checkout_coupon {
  background: white;
  border: 1px solid var(--gray-100);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 0 0 24px;
  display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap;
}
.cin-checkout-page form.checkout_coupon::before {
  content: ''; display: block; flex-basis: 100%;
  font-size: 13px; font-weight: 600; color: var(--gray-700);
  margin-bottom: -4px;
}
.cin-checkout-page form.checkout_coupon .form-row {
  margin: 0; padding: 0;
  display: flex;
}
.cin-checkout-page form.checkout_coupon .form-row-first {
  flex: 1; min-width: 200px; width: auto !important;
  float: none !important; margin: 0 !important;
}
.cin-checkout-page form.checkout_coupon .form-row-last {
  flex: 0 0 auto; width: auto !important;
  float: none !important; margin: 0 !important;
}
.cin-checkout-page form.checkout_coupon input.input-text {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gray-200); border-radius: 999px;
  background: white; font-size: 14px; font-family: var(--font);
  color: var(--gray-900); outline: none;
  transition: border-color var(--transition);
}
.cin-checkout-page form.checkout_coupon input.input-text:focus { border-color: var(--gray-900); }
.cin-checkout-page form.checkout_coupon button.button {
  background: var(--gray-900) !important; color: white !important;
  padding: 12px 22px; border-radius: 999px;
  font-size: 13px; font-weight: 700; line-height: 1;
  font-family: var(--font); border: 0; cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  white-space: nowrap;
}
.cin-checkout-page form.checkout_coupon button.button:hover {
  background: #000 !important; transform: translateY(-1px);
}
.cin-checkout-page form.checkout_coupon .clear { display: none; }

@media (max-width: 480px) {
  .cin-checkout-page form.checkout_coupon { flex-direction: column; }
  .cin-checkout-page form.checkout_coupon .form-row-first,
  .cin-checkout-page form.checkout_coupon .form-row-last { width: 100% !important; }
  .cin-checkout-page form.checkout_coupon button.button { width: 100%; }
}
.cin-checkout-title {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: clamp(22px, 2.4vw, 30px); font-weight: 700;
  color: var(--gray-900); margin: 0 0 24px;
}
.cin-checkout-title i, .cin-checkout-title svg {
  width: 26px; height: 26px; color: #1a8a5a;
}
.cin-checkout-grid {
  display: grid; grid-template-columns: minmax(0, 1.2fr) 420px;
  gap: 32px; align-items: start;
}

.checkout-section {
  background: white; border-radius: 14px;
  border: 1px solid var(--gray-100);
  padding: 24px; margin-bottom: 18px;
}
.checkout-section-title {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 16px; font-weight: 700; color: var(--gray-900);
  margin: 0 0 18px;
}
.checkout-section-title i, .checkout-section-title svg {
  width: 18px; height: 18px; color: var(--purple);
}

/* Order review (sticky) */
.checkout-order-review {
  background: white; border-radius: 14px;
  border: 1px solid var(--gray-100);
  padding: 22px;
  position: sticky; top: 90px;
}
.cin-checkout-trust-note {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--gray-500); margin: 16px 0 0;
  text-align: center; width: 100%; justify-content: center;
}
.cin-checkout-trust-note i, .cin-checkout-trust-note svg { width: 12px; height: 12px; }

/* Tabla "Tu pedido" — responsive, alineada */
table.shop_table.woocommerce-checkout-review-order-table {
  width: 100%; border-collapse: collapse;
  background: none; box-shadow: none; border: 0;
  margin: 0;
}
table.shop_table.woocommerce-checkout-review-order-table thead { display: none; }
table.shop_table.woocommerce-checkout-review-order-table tr {
  border-bottom: 1px solid var(--gray-100);
}
table.shop_table.woocommerce-checkout-review-order-table tr:last-child { border-bottom: 0; }
table.shop_table.woocommerce-checkout-review-order-table td,
table.shop_table.woocommerce-checkout-review-order-table th {
  background: none !important; padding: 12px 0;
  font-size: 14px; color: var(--gray-700);
  text-align: left; vertical-align: top;
  text-transform: none; letter-spacing: 0;
  border-top: 0; border-bottom: 0;
}
table.shop_table.woocommerce-checkout-review-order-table tbody tr td {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px;
}
table.shop_table.woocommerce-checkout-review-order-table tbody tr td .product-name {
  flex: 1; color: var(--gray-900); font-weight: 500;
}
table.shop_table.woocommerce-checkout-review-order-table tbody tr td .product-quantity {
  color: var(--gray-500); font-weight: 400; margin-left: 4px;
}
table.shop_table.woocommerce-checkout-review-order-table tbody tr td .product-total,
table.shop_table.woocommerce-checkout-review-order-table tbody tr td:last-child {
  text-align: right; font-weight: 600; color: var(--gray-900);
  white-space: nowrap;
}
/* Filas del tfoot: cada fila es un bloque completo */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr {
  display: block;
  border: 0;
  padding: 0;
}

/* Subtotal, coupon, tax: etiqueta + valor en una línea flex */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.tax-total,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.coupon {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--gray-100);
}

table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.tax-total th,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.coupon th {
  font-size: 14px; font-weight: 500; color: var(--gray-600); padding: 0;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.tax-total td,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.coupon td {
  font-size: 14px; font-weight: 600; color: var(--gray-900);
  text-align: right; padding: 0;
}

/* Fila de envío: bloque completo */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
  display: block !important;
  border-top: 1px solid var(--gray-100);
  padding: 14px 0;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
  display: block;
  font-size: 10px; font-weight: 700; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--gray-400);
  padding: 0 0 10px; border: none;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
  display: block;
  padding: 0; border: none;
}

/* Fila Total */
table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 2px solid var(--gray-200);
  padding: 16px 0 0;
  margin-top: 4px;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total th {
  font-size: 15px; font-weight: 700; color: var(--gray-900); padding: 0;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total td {
  text-align: right; padding: 0;
}
table.shop_table.woocommerce-checkout-review-order-table tfoot .order-total .amount {
  font-size: 22px; color: var(--purple, #7c3aed); font-weight: 800;
}

/* Payment methods */
#payment {
  margin-top: 24px; padding: 22px;
  background: var(--gray-50); border-radius: 12px;
  border: 0;
}
#payment .wc_payment_methods { list-style: none; padding: 0; margin: 0; }
#payment .wc_payment_method {
  background: white; border-radius: 10px;
  border: 1px solid var(--gray-200);
  padding: 14px 16px; margin-bottom: 10px;
}
#payment .wc_payment_method label {
  display: flex; align-items: center; gap: 10px;
  cursor: pointer; font-weight: 600; color: var(--gray-900);
  margin: 0;
}
#payment .wc_payment_method label img {
  max-height: 24px; width: auto; margin: 0 0 0 auto;
}
#payment .payment_box {
  background: var(--gray-50); padding: 14px 16px;
  border-radius: 10px; margin-top: 10px;
  font-size: 13px; color: var(--gray-600);
}
#payment .payment_box p:last-child { margin-bottom: 0; }
#payment .terms { padding: 16px 0 0; font-size: 13px; color: var(--gray-600); }

#place_order {
  width: 100%; padding: 16px 24px; border-radius: 999px;
  background: var(--gray-900) !important; color: white !important;
  font-size: 15px; font-weight: 700; line-height: 1; font-family: var(--font);
  border: 0; cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  margin-top: 18px;
}
#place_order:hover { background: #000 !important; transform: translateY(-1px); }

/* ── Select2 (WC dropdowns: país, estado, etc.) ──────────────── */
.select2-container .select2-selection--single {
  height: 44px; border: 1px solid var(--gray-200);
  border-radius: 10px; background: white;
  outline: none; transition: border-color var(--transition);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 42px; padding: 0 36px 0 14px;
  font-size: 14px; color: var(--gray-900);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--gray-500);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px; width: 36px; top: 1px; right: 6px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--gray-700) transparent transparent transparent;
  border-style: solid; border-width: 6px 5px 0 5px;
  margin-left: -5px; margin-top: -3px;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent var(--gray-700) transparent;
  border-width: 0 5px 6px 5px;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--gray-900);
}
.select2-dropdown {
  border: 1px solid var(--gray-200);
  border-radius: 10px; overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,0.08);
  background: white;
}
.select2-search--dropdown {
  padding: 10px;
}
.select2-search--dropdown .select2-search__field {
  padding: 9px 12px; border: 1px solid var(--gray-200);
  border-radius: 8px; font-size: 14px; font-family: var(--font);
  outline: none;
}
.select2-search--dropdown .select2-search__field:focus { border-color: var(--gray-900); }
.select2-container--default .select2-results__option {
  padding: 10px 14px; font-size: 14px; color: var(--gray-700);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background: var(--gray-50); color: var(--gray-900);
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background: var(--gray-100); color: var(--gray-900); font-weight: 600;
}

/* Mobile checkout */
@media (max-width: 768px) {
  .cin-checkout-grid { grid-template-columns: 1fr; gap: 20px; }
  .checkout-order-review { position: static; }
  .cin-checkout-header__inner { grid-template-columns: auto 1fr auto; }
  .cin-checkout-back span { display: none; }
  .cin-checkout-trust span { display: none; }
}

/* ── MY ACCOUNT ──────────────────────────────────────────────── */
/* page-main ya tiene padding, lo anulamos para evitar doble espacio;
   section-inner provee 24px laterales y max-width 1200px */
.woocommerce-account .page-main { padding: 40px 0 64px; }
/* Ocultar título de página en Mi Cuenta (lo muestra WP por defecto) */
.woocommerce-account .page-title { display: none; }
/* Cuando logueado: grid con nav lateral */
.woocommerce-account .woocommerce {
  display: grid; grid-template-columns: 240px 1fr; gap: 40px;
  align-items: start;
}
/* Cuando NO logueado: cin-auth ocupa todo el ancho */
.woocommerce-account .woocommerce > .cin-auth { grid-column: 1 / -1; }
/* Navegación de cuenta: lista con iconos — PC */
.woocommerce-MyAccount-navigation {
  position: sticky; top: 90px;
  background: white; border-radius: 14px;
  border: 1px solid var(--gray-100); padding: 8px;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 4px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 14px; border-radius: 10px;
  font-size: 14px; font-weight: 500; color: var(--gray-700);
  transition: all var(--transition);
}
.woocommerce-MyAccount-navigation ul li a::before {
  content: ''; width: 20px; height: 20px; flex-shrink: 0;
  background-repeat: no-repeat; background-size: contain; background-position: center;
  opacity: 0.55; transition: opacity var(--transition);
}
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--purple-xlight); color: var(--purple); }
.woocommerce-MyAccount-navigation ul li a:hover::before { opacity: 1; }
.woocommerce-MyAccount-navigation ul li.is-active a { background: var(--purple); color: white; font-weight: 600; }
.woocommerce-MyAccount-navigation ul li.is-active a::before { opacity: 1; filter: brightness(0) invert(1); }

/* Iconos por endpoint */
.woocommerce-MyAccount-navigation-link--orders a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3b4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 2L3 6v14a2 2 0 002 2h14a2 2 0 002-2V6l-3-4z'/><line x1='3' y1='6' x2='21' y2='6'/><path d='M16 10a4 4 0 01-8 0'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-address a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3b4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z'/><circle cx='12' cy='10' r='3'/></svg>");
}
.woocommerce-MyAccount-navigation-link--edit-account a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3b4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2'/><circle cx='12' cy='7' r='4'/></svg>");
}
.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0392b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4'/><polyline points='16 17 21 12 16 7'/><line x1='21' y1='12' x2='9' y2='12'/></svg>");
  opacity: 0.7;
}
.woocommerce-MyAccount-navigation-link--customer-logout a { color: #c0392b; }
.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #fde8e8; color: #c0392b; }

.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p:first-child,
.woocommerce-MyAccount-content > h2,
.woocommerce-MyAccount-content > h3 {
  margin-top: 0;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3,
.woocommerce-MyAccount-content fieldset legend {
  font-size: 17px; font-weight: 700; color: var(--gray-900);
  margin: 0 0 16px;
}
.woocommerce-MyAccount-content fieldset {
  border: 0; padding: 0;
  background: white; border-radius: 14px;
  margin: 28px 0 0;
}

/* Formularios WC: estructura de form-row */
.woocommerce-form,
.woocommerce-EditAccountForm,
.woocommerce-Address form,
form.checkout,
form.woocommerce-cart-form,
.woocommerce-page form.lost_reset_password,
.woocommerce-page form.register {
  background: white; border-radius: 14px;
  border: 1px solid var(--gray-100);
  padding: 24px; margin: 0;
}
.woocommerce form.checkout,
.woocommerce-cart-form { background: none; border: 0; padding: 0; }

.woocommerce form .form-row {
  display: flex; flex-direction: column;
  margin: 0 0 16px;
  padding: 0;
}
.woocommerce form .form-row label {
  font-size: 13px; font-weight: 600; color: var(--gray-700);
  margin: 0 0 6px;
}
.woocommerce form .form-row label .required,
.woocommerce form .form-row abbr.required {
  color: var(--purple); text-decoration: none; margin-left: 2px;
}
.woocommerce form .form-row .woocommerce-input-wrapper { width: 100%; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input[type="text"],
.woocommerce-page form .form-row input[type="email"],
.woocommerce-page form .form-row input[type="tel"],
.woocommerce-page form .form-row input[type="password"],
.woocommerce-page form .form-row input[type="number"] {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--gray-200); border-radius: 10px;
  background: white; font-size: 14px; font-family: var(--font);
  color: var(--gray-900); outline: none;
  transition: border-color var(--transition);
  box-sizing: border-box;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--gray-900);
}
.woocommerce form .form-row textarea { min-height: 100px; resize: vertical; line-height: 1.5; }
.woocommerce form .form-row em {
  display: block; font-size: 12px; color: var(--gray-500);
  font-style: normal; margin-top: 6px;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: #c0392b; }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #1a8a5a; }

/* Grid de 2 columnas para form-row first/last */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: calc(50% - 8px);
  display: inline-flex;
}
.woocommerce form .form-row-first { float: left; margin-right: 16px; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { width: 100%; clear: both; }
.woocommerce form fieldset { clear: both; }

/* Botones de submit en formularios MyAccount */
.woocommerce-MyAccount-content .button,
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-Address form button[type="submit"],
.woocommerce form.register button[type="submit"],
.woocommerce form.login button[type="submit"],
.woocommerce form.lost_reset_password button[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gray-900) !important; color: white !important;
  padding: 13px 28px; border-radius: 999px;
  font-size: 14px; font-weight: 700; line-height: 1;
  font-family: var(--font);
  border: 0; cursor: pointer;
  transition: background var(--transition), transform var(--transition);
  text-decoration: none;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-EditAccountForm button:hover,
.woocommerce form.register button:hover,
.woocommerce form.login button:hover {
  background: #000 !important; color: white !important; transform: translateY(-1px);
}
.woocommerce-MyAccount-content .button.alt:not(:hover) { background: var(--gray-900) !important; color: white !important; }

/* Texto introductorio de direcciones */
.woocommerce-MyAccount-content > p { font-size: 14px; color: var(--gray-500); margin-bottom: 20px; }

/* Grid de cards — WC usa .u-columns + .woocommerce-Addresses + .col2-set
   .u-columns.col2-set más abajo pondría 2 columnas → necesitamos 3 clases para ganarle */
.u-columns.addresses.col2-set,
.u-columns.addresses,
.woocommerce-Addresses {
  display: grid; grid-template-columns: 1fr; gap: 18px; margin: 0;
}

/* Card individual — WC usa .u-column1/.u-column2 + .woocommerce-Address */
.u-columns.addresses > div,
.woocommerce-Address {
  background: white; border: 1px solid var(--gray-200); border-radius: 16px;
  padding: 24px 24px 72px; /* padding-bottom ampliado para el botón */
  display: flex; flex-direction: column; gap: 12px;
  box-shadow: var(--shadow-card);
  position: relative; /* necesario para posicionar el botón */
}

/* Header de la card — solo muestra el h2 */
.woocommerce-Address-title {
  display: flex; align-items: center;
  padding-bottom: 12px; border-bottom: 1px solid var(--gray-100);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
  margin: 0; font-size: 15px; font-weight: 700; color: var(--gray-900);
}

/* Botón "Añadir / Editar dirección" — siempre al fondo del card */
.woocommerce-Address-title .edit,
.woocommerce-Address-title a {
  display: inline-flex; align-items: center;
  font-size: 13px; font-weight: 600; color: var(--purple);
  background: var(--purple-xlight); padding: 8px 16px; border-radius: 99px;
  white-space: nowrap; transition: background var(--transition), color var(--transition);
  /* Posicionar al fondo del card */
  position: absolute; bottom: 20px; left: 24px;
}
.woocommerce-Address-title .edit:hover,
.woocommerce-Address-title a:hover { background: var(--purple-light); }

/* Texto de la dirección guardada (o mensaje vacío) */
.woocommerce-Address address {
  font-size: 14px; color: var(--gray-700); line-height: 1.7;
  font-style: normal; flex: 1;
}
/* Cuando no hay dirección configurada */
.woocommerce-Address address p { margin: 0; color: var(--gray-500); font-style: italic; }

/* Móvil: 1 columna */
@media (max-width: 640px) {
  .u-columns.addresses, .woocommerce-Addresses { grid-template-columns: 1fr; }
}

/* Tabla de pedidos */
.woocommerce-orders-table {
  width: 100%; border-collapse: collapse;
  background: white; border-radius: 12px; overflow: hidden;
  border: 1px solid var(--gray-100);
}
.woocommerce-orders-table th {
  background: var(--gray-50); color: var(--gray-700);
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; padding: 12px 14px; text-align: left;
  border-bottom: 1px solid var(--gray-100);
}
.woocommerce-orders-table td {
  padding: 14px; border-top: 1px solid var(--gray-100);
  font-size: 14px; color: var(--gray-700); vertical-align: middle;
}
.woocommerce-orders-table tr:first-child td { border-top: 0; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  display: flex; gap: 6px; flex-wrap: wrap;
}
.woocommerce-orders-table a.button {
  background: var(--gray-100); color: var(--gray-900);
  padding: 7px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 600; text-decoration: none;
  border: 0; transition: background var(--transition);
}
.woocommerce-orders-table a.button:hover { background: var(--gray-900); color: white; }

/* Paginación de pedidos */
.woocommerce-pagination ul.page-numbers li .order-pay {
  background: var(--gray-900); color: white;
}

/* Account dashboard intro */
.woocommerce-MyAccount-content > p { font-size: 14px; color: var(--gray-700); line-height: 1.55; }
.woocommerce-MyAccount-content > p a { color: var(--purple); text-decoration: underline; text-underline-offset: 2px; }

/* Login / Register dos columnas */
.woocommerce-page.woocommerce-account:not(.logged-in) .woo-main-wrapper > .section-inner > .woocommerce {
  display: block;
}
.u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.u-columns.col2-set .col-1, .u-columns.col2-set .col-2 { min-width: 0; }
.u-columns.col2-set h2 { font-size: 18px; margin: 0 0 14px; }
.woocommerce-form-login__rememberme,
.woocommerce-form-register__rememberme,
.woocommerce-form__label-for-checkbox {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--gray-700); font-weight: 500;
  margin: 8px 0;
}
.woocommerce-form-login__submit { margin-right: 12px; }
.lost_password { font-size: 13px; }
.lost_password a { color: var(--gray-700); text-decoration: underline; }
.lost_password a:hover { color: var(--purple); }

/* ── MOBILE WOO ──────────────────────────────────────────────── */
@media (max-width: 768px) {
  div.product { grid-template-columns: 1fr; gap: 28px; }
  .cin-checkout-grid { grid-template-columns: 1fr; }
  .checkout-order-review { position: static; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-Addresses { grid-template-columns: 1fr; }
  .u-columns.col2-set { grid-template-columns: 1fr; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { width: 100%; margin-right: 0; float: none; }
  .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .woocommerce-orders-table th:nth-child(n+4),
  .woocommerce-orders-table td:nth-child(n+4) { display: none; }
}

/* ── Mi Cuenta — Móvil ────────────────────────────────────────── */
@media (max-width: 768px) {

  /* ── Deslogueado: ocultar aside, solo mostrar formulario ─────── */
  .cin-auth__aside { display: none; }
  .cin-auth__grid { grid-template-columns: 1fr; border-radius: 0; box-shadow: none; border: none; }
  .cin-auth { margin: 0; padding: 0; max-width: none; }
  .cin-auth__forms { padding: 24px 20px 36px; }

  /* Banner móvil: aparece debajo del formulario, bordes redondeados */
  .cin-auth__mobile-banner {
    display: flex; flex-direction: column;
    background: linear-gradient(150deg, var(--purple-dark), var(--purple));
    color: #fff; padding: 28px 24px;
    border-radius: 20px;
    margin: 20px 16px 32px;
  }

  /* ── Navegación de cuenta logueado: pills horizontales scrolleables ── */
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 16px; }
  /* Quitar el card del contenedor en móvil (hereda blanco del desktop → invisible) */
  .woocommerce-MyAccount-navigation {
    position: static;
    background: none; border: none; border-radius: 0;
    padding: 0; margin-top: 0;
  }
  /* Reducir padding superior de Mi Cuenta en móvil */
  .woocommerce-account .page-main { padding-top: 16px; }
  .woocommerce-MyAccount-navigation ul {
    display: flex; flex-direction: row; gap: 8px;
    overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; -ms-overflow-style: none;
    padding: 4px 2px 8px;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
  .woocommerce-MyAccount-navigation ul li { flex-shrink: 0; scroll-snap-align: start; }
  .woocommerce-MyAccount-navigation ul li a {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; padding: 12px 14px 10px;
    background: white; border: 1.5px solid var(--gray-200);
    border-radius: 14px; text-align: center; white-space: nowrap;
    font-size: 12px; font-weight: 600; color: var(--gray-700);
    min-width: 76px; min-height: 66px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }
  .woocommerce-MyAccount-navigation ul li a::before { width: 20px; height: 20px; opacity: 0.7; }
  .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--purple-xlight); border-color: var(--purple-light); color: var(--purple);
  }
  .woocommerce-MyAccount-navigation ul li.is-active a {
    background: var(--purple); color: white; border-color: var(--purple); box-shadow: none;
  }
  .woocommerce-MyAccount-navigation ul li.is-active a::before { opacity: 1; filter: brightness(0) invert(1); }
  /* Logout en móvil: pill ancha */
  .woocommerce-MyAccount-navigation-link--customer-logout a {
    flex-direction: row; min-height: unset; min-width: 100px; padding: 10px 14px;
    color: #c0392b; border-color: #f5d4d0; background: #fdf5f5;
  }

  /* ── Sin pedidos: mensaje ordenado ─────────────────────────── */
  .woocommerce-MyAccount-content .woocommerce-info {
    flex-direction: column; align-items: flex-start; text-align: left;
    gap: 14px; padding: 18px 18px 18px 50px;
  }
  .woocommerce-MyAccount-content .woocommerce-info a.button { margin-left: 0; width: 100%; text-align: center; }

}


/* ── Checkout Chile: sección Boleta/Factura ─────────────────────────────────── */
#custom_chile_document_wrapper {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--gray-200);
}
#custom_chile_document_wrapper h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--gray-800);
  margin: 0 0 16px;
}
#custom_chile_document_wrapper .form-row {
  width: 100%;
  clear: both;
  margin-bottom: 12px;
}
#campos_factura_wrapper {
  display: none;
  margin-top: 4px;
}

/* ── Checkout: métodos de envío como cards seleccionables ───────────────────── */

/* Lista de métodos */
.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.woocommerce-shipping-methods li {
  margin: 0;
  padding: 0;
}

/* Ocultar radio nativo */
.woocommerce-shipping-methods .shipping_method {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Card base */
.woocommerce-shipping-methods label {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1.5px solid var(--gray-200);
  border-radius: 14px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--gray-700);
  background: #fff;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  line-height: 1.4;
  min-height: 56px;
  user-select: none;
}

/* Círculo radio custom */
.woocommerce-shipping-methods label::before {
  content: '';
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--gray-300);
  background: var(--gray-200);
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.woocommerce-shipping-methods label:hover {
  border-color: var(--purple-light, #9b59b6);
  background: #faf7ff;
}

/* Estado seleccionado */
.woocommerce-shipping-methods .shipping_method:checked + label {
  border-color: var(--purple, #7c3aed);
  background: #faf7ff;
  color: var(--gray-900);
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.07);
}

.woocommerce-shipping-methods .shipping_method:checked + label::before {
  border-color: var(--purple, #7c3aed);
  background: var(--purple, #7c3aed);
  box-shadow: inset 0 0 0 4px #fff;
}

/* Precio alineado a la derecha */
.woocommerce-shipping-methods label .woocommerce-Price-amount {
  margin-left: auto;
  font-weight: 700;
  font-size: 15px;
  color: var(--purple, #7c3aed);
  white-space: nowrap;
  padding-left: 12px;
}

@media (max-width: 480px) {
  .woocommerce-shipping-methods label {
    padding: 14px 16px;
    font-size: 13px;
    min-height: 52px;
  }
  .woocommerce-shipping-methods label .woocommerce-Price-amount {
    font-size: 14px;
  }
}

/* ── Shipping notice (retiro en tienda) ─────────────────────────────────────── */
.shipping-notice {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  background: var(--purple, #7c3aed) !important;
  border: none !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.shipping-notice b {
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff !important;
  margin-bottom: 2px;
}
.shipping-notice b + br {
  display: none;
}
