/* Product cards — products page (clean, single source of truth) */
body.page-products .product {
  position: relative; display: flex; flex-direction: column; min-width: 0; height: 100%; overflow: hidden; box-sizing: border-box;
  background: rgba(255,255,255,.94); border: 1px solid rgba(124,58,237,.1); border-radius: 22px;
  box-shadow: 0 6px 20px rgba(76,29,149,.08); transition: transform .25s ease, box-shadow .25s ease;
}
body.page-products .product:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(76,29,149,.16); }

body.page-products .product-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #f3effc; flex: 0 0 auto; }
body.page-products .product-img > a { display: block; width: 100%; height: 100%; }
body.page-products .product-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
body.page-products .product:hover .product-img img { transform: scale(1.04); }
body.page-products .discount-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2; padding: 5px 10px; border-radius: 999px;
  background: linear-gradient(135deg, #ec4899, #8b5cf6); color: #fff; font-size: 11.5px; font-weight: 800; line-height: 1.2;
  box-shadow: 0 6px 14px rgba(236,72,153,.35);
}
body.page-products .discount-badge span { display: block; }
body.page-products .whatsapp-icon {
  position: absolute; top: 10px; right: 10px; z-index: 2; width: 34px; height: 34px; box-sizing: border-box; padding: 0; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer; background: rgba(15,10,30,.55); border: 1px solid rgba(255,255,255,.4);
  color: #4ade80; font-size: 17px; line-height: 1; transition: background .2s, transform .2s;
}
body.page-products .whatsapp-icon i { display: block; width: 1em; height: 1em; line-height: 1em; text-align: center; margin: 0; color: inherit; }
body.page-products .whatsapp-icon:hover { background: #22c55e; color: #fff; transform: scale(1.08); }

body.page-products .product-info { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 14px 14px 14px; min-width: 0; }
body.page-products .product-info h3 { margin: 0; font-family: 'Outfit','Poppins',sans-serif; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: -.2px; min-height: 2.6em; }
body.page-products .product-info h3 a { color: #1e1b4b; text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.page-products .product-info h3 a:hover { color: #6d28d9; }
body.page-products .rating { display: flex; gap: 2px; color: #f59e0b; font-size: 12px; line-height: 1; }
body.page-products .rating i { margin: 0; }
body.page-products .price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 0; }
body.page-products .price .discounted { order: 1; font-size: 22px; font-weight: 800; letter-spacing: -.5px; color: #6d28d9; line-height: 1.1; }
body.page-products .price .original { order: 2; font-size: 13px; color: #9a92b3; text-decoration: line-through; }
body.page-products .duration {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; align-self: flex-start; max-width: 100%;
  padding: 5px 11px; border-radius: 999px; background: rgba(124,58,237,.08); color: #5b21b6; font-size: 12px; font-weight: 600; line-height: 1.35;
}
body.page-products .duration:empty { display: none; }
body.page-products .duration:has(select) { display: block; padding: 0; background: none; border-radius: 12px; align-self: stretch; overflow: visible; }
body.page-products .plan-selector {
  width: 100%; box-sizing: border-box; padding: 9px 34px 9px 12px; border-radius: 12px; border: 1px solid rgba(124,58,237,.25); background-color: #fff;
  color: #1e1b4b; font-weight: 600; font-size: 13px; line-height: 1.2; font-family: inherit; cursor: pointer; appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
body.page-products .product-features { margin: 0; font-size: 13px; color: #5b5075; }
body.page-products .product-features summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 12.5px; color: #7c3aed; user-select: none; }
body.page-products .product-features summary::-webkit-details-marker { display: none; }
body.page-products .product-features summary::after { content: '\f078'; font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free'; font-weight: 900; font-size: 9px; transition: transform .2s; }
body.page-products .product-features[open] summary::after { transform: rotate(180deg); }
body.page-products .product-features ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
body.page-products .product-features li { position: relative; padding-left: 20px; line-height: 1.4; }
body.page-products .product-features li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free'; font-weight: 900; position: absolute; left: 0; top: 1px; font-size: 10px; color: #16a34a; }

body.page-products .add-to-cart-btn {
  margin-top: auto; width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 14px; border: 0; border-radius: 14px;
  background: var(--g-grad, linear-gradient(135deg,#7c3aed,#c026d3)); color: #fff; font-weight: 700; font-size: 14px; line-height: 1; font-family: inherit; cursor: pointer;
  box-shadow: 0 8px 18px rgba(124,58,237,.3); transition: transform .2s, box-shadow .2s, filter .2s;
}
body.page-products .product-features + .add-to-cart-btn, body.page-products .duration + .add-to-cart-btn { margin-top: auto; }
body.page-products .add-to-cart-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(124,58,237,.42); filter: brightness(1.05); }
body.page-products .add-to-cart-btn:active { transform: scale(.98); }
body.page-products .add-to-cart-btn i { margin: 0; line-height: 1; }

@media (max-width: 768px) {
  body.page-products .product { border-radius: 18px; }
  body.page-products .product-img { aspect-ratio: 4 / 3; }
  body.page-products .discount-badge { top: 7px; left: 7px; padding: 4px 8px; font-size: 10px; }
  body.page-products .whatsapp-icon { top: 7px; right: 7px; width: 28px; height: 28px; font-size: 14px; }
  body.page-products .product-info { padding: 10px 10px 12px; gap: 6px; }
  body.page-products .product-info h3 { font-size: 13.5px; min-height: 2.6em; }
  body.page-products .rating { font-size: 10.5px; }
  body.page-products .price .discounted { font-size: 18px; }
  body.page-products .price .original { font-size: 11.5px; }
  body.page-products .duration { font-size: 10.5px; padding: 4px 9px; }
  body.page-products .plan-selector { padding: 8px 28px 8px 10px; font-size: 12px; }
  body.page-products .product-features { font-size: 12px; }
  body.page-products .product-features summary { font-size: 11.5px; }
  body.page-products .add-to-cart-btn { padding: 11px 8px; font-size: 12.5px; border-radius: 12px; gap: 6px; }
}

/* beat leftover per-brand button themes */
body.page-products .product .add-to-cart-btn:not(#_) {
  background: var(--g-grad, linear-gradient(135deg,#7c3aed,#c026d3)) !important; color: #fff !important; border: 0 !important;
  box-shadow: 0 8px 18px rgba(124,58,237,.3) !important; border-radius: 14px !important;
}
body.page-products .product .duration:not(#_) { background: rgba(124,58,237,.08) !important; color: #5b21b6 !important; border: 0 !important; }
body.page-products .product .duration:has(select):not(#_) { background: none !important; }
body.page-products .product .price .discounted:not(#_) { color: #6d28d9 !important; }
@media (max-width: 768px) { body.page-products .product .add-to-cart-btn:not(#_) { border-radius: 12px !important; } }
body.page-products .product .add-to-cart-btn i:not(#_) { display: inline-block !important; position: static !important; transform: none !important; margin: 0 !important; line-height: 1 !important; width: auto !important; font-size: 1em; }
body.page-products .product .add-to-cart-btn:not(#_) { line-height: 1 !important; height: auto !important; min-height: 0 !important; }
@media (max-width: 768px) { body.page-products .price { gap: 2px 8px; } body.page-products .price .original { font-size: 11px; } }

body.page-products .product-img:not(#_) { height: auto !important; min-height: 0 !important; }
body.page-products .product .price:not(#_) { flex-direction: row !important; height: auto !important; flex-wrap: wrap !important; align-items: baseline !important; }
body.page-products .product .add-to-cart-btn:not(#_) { font-size: 14px !important; font-weight: 700 !important; font-family: inherit !important; padding: 12px 14px !important; }
@media (max-width: 768px) { body.page-products .product .add-to-cart-btn:not(#_) { font-size: 12.5px !important; padding: 11px 8px !important; } }
body.page-products .product .duration:not(#_) { display: block !important; width: fit-content; max-width: 100%; height: auto !important; min-height: 0 !important; margin: 0 !important; text-align: left !important; text-indent: 0 !important; white-space: normal !important; overflow: visible !important; -webkit-line-clamp: unset !important; justify-content: flex-start !important; }
body.page-products .product .duration:has(select):not(#_) { width: 100%; }
body.page-products .product .product-features:not(#_) { height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; }
body.page-products .product .product-features ul:not(#_) { max-height: none !important; visibility: visible !important; opacity: 1 !important; overflow: visible !important; }
body.page-products .product .rating:not(#_) { height: auto !important; margin: 0 !important; display: flex !important; }
body.page-products .discount-badge:not(#_) { width: max-content !important; max-width: calc(100% - 56px); right: auto !important; height: auto !important; min-width: 0 !important; transform: none !important; }
body.page-products .product .plan-selector:not(#_) { height: auto !important; min-height: 40px !important; line-height: 1.4 !important; padding-top: 8px !important; padding-bottom: 8px !important; text-overflow: ellipsis; }
body.page-products .product .add-to-cart-btn:not(#_) { white-space: nowrap !important; }
@media (max-width: 400px) { body.page-products .product .add-to-cart-btn:not(#_) { font-size: 12px !important; gap: 5px !important; } }
