/* Shared visual language. Payment amounts and state remain in the application. */
:root {
  --bella-brand: #a82d61;
  --bella-brand-hover: #87234e;
  --bella-brand-soft: #fceaf2;
  --bella-surface: #fff;
  --bella-background: #fffafd;
  --bella-text: #442534;
  --bella-muted: #795d6b;
  --bella-border: #efdce5;
  --bella-radius: 20px;
  --bella-radius-small: 12px;
  --bella-shadow: 0 12px 40px #73304e08;
  --bella-space-1: 8px;
  --bella-space-2: 16px;
  --bella-space-3: 24px;
  --bella-space-4: 32px;
}
.bella-landing, .checkout-page, .payment-link-page, .bella-dashboard {
  --rose: var(--bella-brand);
  --rose-hover: var(--bella-brand-hover);
  --accent: var(--bella-brand);
  --rose-soft: var(--bella-brand-soft);
  --rose-line: var(--bella-border);
  --ink: var(--bella-text);
  --muted: var(--bella-muted);
  accent-color: var(--bella-brand);
}
.bella-landing { background: var(--bella-background); }
.bella-landing :is(button, a, input):focus-visible,
.checkout-page :is(button, a, input, select):focus-visible,
.bella-dashboard :is(button, a, input, select):focus-visible {
  outline: 3px solid var(--bella-brand);
  outline-offset: 4px;
}
.bella-landing svg, .checkout-page svg, .bella-dashboard svg { stroke-linecap: round; stroke-linejoin: round; }
.bella-landing .hero-benefits > li > svg { width: 19px; height: 19px; flex: none; color: var(--bella-brand); }
.bella-landing .purchase-trust > div > svg { width: 20px; height: 20px; color: var(--bella-brand); }
.bella-landing .hero-photo { background: #fff8f4; }
.bella-landing .gallery-zoom-hint { display: grid; place-items: center; color: var(--bella-text); background: #fffffff0; }
.bella-landing .gallery-zoom-hint svg { width: 19px; height: 19px; }
.bella-landing .gallery-navigation { gap: 12px; }
.bella-landing .gallery-navigation > span { min-width: 55px; text-align: center; font-variant-numeric: tabular-nums; }
.bella-landing .gallery-dots { display: none; }
.bella-landing .bella-thumbs { scrollbar-width: thin; scrollbar-color: #d998b5 transparent; padding-bottom: 10px; }
.bella-landing .bella-thumbs > button { width: 64px; height: 64px; flex: 0 0 64px; border: 2px solid transparent; background: #fff; opacity: .72; transition: opacity .18s, border-color .18s, box-shadow .18s; }
.bella-landing .bella-thumbs > button[aria-pressed="true"] { opacity: 1; border-color: var(--bella-brand); box-shadow: 0 0 0 2px var(--bella-brand-soft); }
.bella-landing .bella-thumbs > button:hover { opacity: 1; }
.bella-landing .purchase-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.bella-landing .voltage-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.bella-landing .voltage-picker legend { margin-bottom: 12px; }
.bella-landing .voltage-picker legend > span { color: var(--bella-muted); font-weight: 400; }
.bella-landing .voltage-picker label { position: relative; display: block; margin: 0; min-width: 0; }
.bella-landing .voltage-picker label > span { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; min-height: 84px; padding: 15px 30px 15px 14px; border: 1px solid #dfc5d2; border-radius: var(--bella-radius-small); background: #fff; color: var(--bella-text); letter-spacing: 0; text-align: left; }
.bella-landing .voltage-picker label > span::after { content: ''; position: absolute; top: 16px; right: 13px; width: 15px; height: 15px; border: 1px solid #c9a5b6; border-radius: 50%; background: #fff; }
.bella-landing .voltage-picker label > span > strong { font-size: 14px; line-height: 1.3; }
.bella-landing .voltage-picker label > span > small { color: var(--bella-muted); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.bella-landing .voltage-picker input:checked + span { border-color: var(--bella-brand); background: #fff3f8; box-shadow: 0 0 0 1px var(--bella-brand); }
.bella-landing .voltage-picker input:checked + span::after { border: 4px solid var(--bella-brand); }
.bella-landing .voltage-picker input:focus-visible + span { outline: 3px solid var(--bella-brand); outline-offset: 4px; }
.bella-landing .voltage-selection-note { margin: 12px 0 0; color: var(--bella-muted); font-size: 12px; line-height: 1.6; }
.bella-landing .product-quantity { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bella-landing .product-quantity > label { margin: 0; }
.bella-landing .bella-cta { background: var(--bella-brand); color: #fff; }
.bella-landing .bella-cta:hover { background: var(--bella-brand-hover); }
.bella-landing .quantity-stepper { border-color: #d9b3c4; }
.bella-landing .quantity-subtotal { border-radius: var(--bella-radius-small); background: var(--bella-brand-soft); }
.bella-landing .product-information { margin-block: 0 48px; }
.product-info-heading { margin-bottom: 20px; }
.bella-landing .product-info-heading h2 { margin: 0; font-size: clamp(23px, 4.5vw, 30px); letter-spacing: -.7px; line-height: 1.25; }
.product-info-grid { display: grid; gap: 12px; align-items: start; }
.product-info-grid > details { border: 1px solid var(--bella-border); border-radius: 16px; background: var(--bella-surface); overflow: hidden; }
.product-info-grid summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 62px; padding: 18px 20px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 650; }
.product-info-grid summary::-webkit-details-marker { display: none; }
.product-info-grid summary::after { content: '+'; font-size: 23px; font-weight: 400; color: var(--bella-brand); }
.product-info-grid details[open] summary::after { content: '−'; }
.product-info-grid summary:focus-visible { outline: 3px solid var(--bella-brand); outline-offset: -4px; border-radius: 16px; }
.product-info-content { padding: 0 20px 20px; font-size: 13px; line-height: 1.8; color: var(--bella-muted); }
.product-info-content p { margin: 0; }
.product-info-content ol { margin: 0; padding-left: 20px; }
.product-info-content dl { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; margin: 0; }
.product-info-content dt { color: var(--bella-text); font-weight: 600; }
.product-info-content dd { margin: 0; }
.review-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.review-filters > a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--bella-border); border-radius: 999px; background: #fff; color: var(--bella-muted); text-decoration: none; font-size: 13px; font-weight: 600; }
.review-filters > a > span { display: inline-grid; place-items: center; min-width: 25px; min-height: 23px; padding: 1px 6px; border-radius: 30px; background: #f7edf2; font-size: 11px; font-variant-numeric: tabular-nums; }
.review-filters > a[aria-current="true"] { background: var(--bella-brand-soft); color: var(--bella-brand); border-color: #d695b1; }
.review-filters > a[aria-current="true"] > span { background: #fff; }
.review-filter-empty { margin: 0; padding: 28px; border: 1px dashed #d9b3c4; border-radius: 16px; text-align: center; color: var(--bella-muted); font-size: 14px; line-height: 1.7; }
.review-filter-empty[hidden] { display: none; }
.bella-lightbox-open { overflow: hidden; }
.pswp { --pswp-bg: #281b23; --pswp-icon-color: #fff8fb; --pswp-icon-color-secondary: #542d40; --pswp-preloader-color-secondary: #f4afcd; }
.pswp__button { min-width: 48px; min-height: 48px; }
.pswp__button:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.pswp__counter { font-family: inherit; font-size: 13px; }
.checkout-page .checkout-form, .checkout-page .pix-panel, .checkout-page .payment-confirmed, .payment-link-page .payment-card { border-radius: var(--bella-radius); border-color: var(--bella-border); }
.checkout-page .button-primary, .checkout-page .button-dark, .payment-link-page .payment-button { border-radius: var(--bella-radius-small); background: var(--bella-brand); color: #fff; }
.checkout-page .button-primary:hover, .checkout-page .button-dark:hover, .payment-link-page .payment-button:hover { background: var(--bella-brand-hover); }
.checkout-page .form-field input:focus, .checkout-page .form-field select:focus { border-color: var(--bella-brand); box-shadow: 0 0 0 3px var(--bella-brand-soft); }
.checkout-page .shipping-card:has(input:checked) { background: #fff4f8; border-color: var(--bella-brand); }
.checkout-page .checkout-steps li > span { width: 28px; height: 28px; }
.checkout-page .checkout-stage-note { font-variant-numeric: tabular-nums; }
.bella-dashboard { --bg: var(--bella-background); --line: var(--bella-border); --lime: #f9d0e2; }
.bella-dashboard .brand span, .bella-dashboard h1 span { color: var(--bella-brand); }
.bella-dashboard .button { border-radius: var(--bella-radius-small); background: var(--bella-brand); }
.bella-dashboard .button:hover { background: var(--bella-brand-hover); }
.bella-dashboard .metric, .bella-dashboard .panel { border-radius: var(--bella-radius); box-shadow: var(--bella-shadow); }
.bella-dashboard .metric.revenue { background: var(--bella-brand); border-color: var(--bella-brand); }
.bella-dashboard .metric.revenue p, .bella-dashboard .metric.revenue small { color: #ffe7f1; }
.bella-dashboard .section-nav a[aria-current="page"] { background: var(--bella-brand); border-color: var(--bella-brand); color: #fff; }
.bella-dashboard .section-nav a:hover:not([aria-current="page"]) { background: var(--bella-brand-soft); border-color: #dda1bc; }
.bella-dashboard :is(input, select):focus { outline-color: var(--bella-brand); border-color: var(--bella-brand); }
.bella-dashboard .login-card { border-color: var(--bella-border); border-radius: var(--bella-radius); }
.bella-dashboard .table-wrap tbody tr:hover { background: #fffafd; }
.bella-landing .voltage-picker label > span, .review-filters > a, .bella-dashboard .section-nav a { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
@media (min-width: 700px) {
  .product-info-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bella-landing .product-information { margin-bottom: 64px; }
  .bella-landing .purchase-options { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359px) {
  .bella-landing .voltage-picker label > span { padding-left: 11px; padding-right: 28px; }
  .bella-landing .voltage-picker label > span > small { font-size: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  .bella-landing .review-grid > article:not([hidden]) { animation: bella-appear .2s ease both; }
  .product-info-grid details[open] .product-info-content { animation: bella-appear .18s ease both; }
  .checkout-enhanced [data-checkout-stage]:not([hidden]) { animation: bella-appear .18s ease both; }
  @keyframes bella-appear { from { opacity: .65; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) {
  .bella-landing *, .checkout-page *, .bella-dashboard * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
