/* ═══════════════════════════════════════════════════════════════
   FluentCart — Neon design system v4.0
   Tokens: #06070c bg · #4dd8ff cyan · #4d8efe blue · Sora/Manrope
   ═══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@700;800;900&family=Manrope:wght@400;500;600&family=JetBrains+Mono:ital,wght@0,500;0,600;0,700&display=swap');

/* ── Base — override Elementor/Hello theme at html level ── */
html:has(.fct-single-product-page),
html:has(.fct-single-product-page) body,
html:has(.fct-single-product-page) #page,
html:has(.fct-single-product-page) .site,
html:has(.fct-single-product-page) main,
html:has(.fct-single-product-page) .site-main,
html:has(.fct-single-product-page) .entry-content,
html:has(.fct-single-product-page) #content {
  background: #06070c !important;
  background-color: #06070c !important;
  color: #e9ecf4 !important;
}

/* Fallback for body class selectors */
body.single-fluent-products,
body.fluent-products-template-default {
  background: #06070c !important;
  background-color: #06070c !important;
  color: #e9ecf4 !important;
  font-family: 'Manrope', system-ui, sans-serif !important;
}

/* ── Hide header on product pages — cleaner standalone product experience ── */
body.single-fluent-products .site-header,
body.single-fluent-products header.site-header {
  display: none !important;
}

/* ── Page wrapper ── */
.fct-single-product-page {
  max-width: 1100px !important;
  margin: 48px auto !important;
  padding: 0 32px !important;
  background: #06070c !important;
}

/* ── Two-column layout — image smaller (40%) / content larger (60%) ── */
.fct-single-product-page-row {
  display: grid !important;
  grid-template-columns: 0.65fr 1fr !important;
  gap: 56px !important;
  align-items: start !important;
}

@media (max-width: 768px) {
  .fct-single-product-page-row {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ── Product image ── */
.fct-product-gallery-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #10131d !important;
  border: none !important;
  position: sticky !important;
  top: 32px !important;
  box-shadow: 0 8px 48px rgba(0,0,0,.5), 0 0 40px rgba(77,216,255,.08) !important;
}

.fct-product-gallery-wrapper img {
  width: 100% !important;
  display: block !important;
}

/* ── Remove all white borders from gallery and thumbnails ── */
.fct-product-gallery-wrapper *,
.fct-gallery-item,
.fct-gallery-item img,
.fct-thumb-item,
.fct-thumb-item img,
.fct-xzoom-gallery,
.fct-product-gallery,
.fct-product-gallery img,
[class*="fct-gallery"],
[class*="fct-thumb"] {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── Reduce gap between gallery thumbnails and post content ── */
.fct-single-product-page {
  margin-bottom: 0 !important;
}
body.single-fluent-products .entry-content,
body.single-fluent-products .site-main > .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ── Product summary ── */
.fct-product-summary {
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  color: #e9ecf4 !important;
}

/* ── Reorder: title → price → buy section → description ── */
.fct-product-title   { order: 1 !important; margin-bottom: 8px !important; }
.fct-product-prices  { order: 2 !important; margin-bottom: 24px !important; }
.fct_buy_section     { order: 3 !important; }
.fct-product-meta    { order: 4 !important; margin-top: 28px !important; padding-top: 24px !important; border-top: 1px solid rgba(77,216,255,.12) !important; }

/* ── Title ── */
.fct-product-title h1 {
  font-family: 'Sora', sans-serif !important;
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.15 !important;
  color: #e9ecf4 !important;
  margin: 0 0 8px !important;
}

/* ── Tagline below title ── */
.fct-product-meta .fct-product-tagline {
  font-family: 'Manrope', sans-serif !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: #4dd8ff !important;
  margin: 0 0 16px !important;
  letter-spacing: -.01em !important;
}

/* ── Price ── */
.fct-product-prices,
.fct-item-price,
.fct-price-range {
  font-family: 'Sora', sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 900 !important;
  color: #4dd8ff !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
}

/* ── Short description ── */
.fct-product-meta,
.fct-product-meta p {
  font-family: 'Manrope', sans-serif !important;
  font-size: .9375rem !important;
  color: rgba(233,236,244,.7) !important;
  line-height: 1.75 !important;
}

/* ── Quantity ── */
.fct-product-quantity-container {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
}

.quantity-title {
  display: block !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(233,236,244,.35) !important;
  margin-bottom: 10px !important;
}

.fct-product-quantity {
  display: inline-flex !important;
  align-items: center !important;
  background: #10131d !important;
  border: 1px solid rgba(77,216,255,.15) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 44px !important;
  width: fit-content !important;
}

.fct-quantity-decrease-button,
.fct-quantity-increase-button {
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: #e9ecf4 !important;
  transition: background .15s !important;
}
.fct-quantity-decrease-button:hover,
.fct-quantity-increase-button:hover { background: rgba(77,216,255,.06) !important; }

.fct-quantity-input {
  width: 48px !important;
  height: 44px !important;
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(77,216,255,.1) !important;
  border-right: 1px solid rgba(77,216,255,.1) !important;
  text-align: center !important;
  color: #e9ecf4 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .9375rem !important;
  font-weight: 600 !important;
  -moz-appearance: textfield !important;
}
.fct-quantity-input::-webkit-inner-spin-button,
.fct-quantity-input::-webkit-outer-spin-button { -webkit-appearance: none !important; }

/* ── Buttons ── */
.fct-product-buttons-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.fluent-cart-direct-checkout-button {
  background: linear-gradient(135deg, #7fb0ff, #4d8efe) !important;
  color: #04173c !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 15px 20px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: filter .2s, transform .2s !important;
  box-shadow: 0 0 32px rgba(77,216,255,.2) !important;
}
.fluent-cart-direct-checkout-button:hover {
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
}

.fluent-cart-add-to-cart-button {
  background: transparent !important;
  color: #e9ecf4 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  border: 1.5px solid rgba(77,216,255,.18) !important;
  border-radius: 12px !important;
  padding: 15px 20px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background .2s, border-color .2s, transform .2s !important;
}
.fluent-cart-add-to-cart-button:hover {
  background: rgba(77,216,255,.05) !important;
  border-color: rgba(77,216,255,.3) !important;
  transform: translateY(-2px) !important;
}

/* ── Long description / post content area ── */
body.single-fluent-products .entry-content,
body.single-fluent-products .entry-content > * {
  background: #06070c !important;
  color: #e9ecf4 !important;
  font-family: 'Manrope', sans-serif !important;
}

/* ── Checkout modal ── */
.fct-checkout-modal {
  background: rgba(0,0,0,.85) !important;
  backdrop-filter: blur(16px) !important;
}
.fct-checkout-modal-container {
  background: #10131d !important;
  border: 1px solid rgba(77,216,255,.12) !important;
  border-radius: 20px !important;
}

/* ── Footer ── */
body.single-fluent-products .site-footer,
body.single-fluent-products footer {
  background: #06070c !important;
  color: rgba(233,236,244,.35) !important;
  border-top: 1px solid rgba(77,216,255,.08) !important;
}

/* ═══════════════════════════════════════════════════════════════
   Checkout — Zalando-inspired two-panel card layout
   Left panel: form | Right panel: summary + CTA button
   ═══════════════════════════════════════════════════════════════ */

/* ── Page base — deep bg so card lifts off ── */
.page-id-921,
.page-id-922,
.page-id-923 {
  background: #06070c !important;
  background-color: #06070c !important;
  color: #e9ecf4 !important;
}
.page-id-921 body,
.page-id-922 body,
.page-id-923 body,
.page-id-921 #page,
.page-id-922 #page,
.page-id-923 #page,
.page-id-921 .site,
.page-id-922 .site,
.page-id-923 .site,
.page-id-921 main,
.page-id-922 main,
.page-id-923 main,
.page-id-921 .site-main,
.page-id-922 .site-main,
.page-id-923 .site-main,
.page-id-921 .entry-content,
.page-id-922 .entry-content,
.page-id-923 .entry-content {
  background: #06070c !important;
  background-color: #06070c !important;
  color: #e9ecf4 !important;
  font-family: 'Manrope', system-ui, sans-serif !important;
}

/* ── Header & page title hidden ── */
.page-id-921 .site-header,
.page-id-922 .site-header,
.page-id-923 .site-header,
.page-id-921 h1.entry-title,
.page-id-922 h1.entry-title,
.page-id-923 h1.entry-title {
  display: none !important;
}

/* ── Break out of Hello Elementor content width constraint ── */
.page-id-921 .site-main,
.page-id-921 .entry-content,
.page-id-921 article,
.page-id-921 .post-content {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Outer container ── */
[data-fluent-cart-checkout-page] {
  background: transparent !important;
  color: #e9ecf4 !important;
  padding: 40px 24px 80px !important;
  max-width: 960px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* ── Card — work WITH FluentCart's flexbox, just restyle it ── */
.fct_checkout_inner {
  display: flex !important;
  gap: 0 !important;
  column-gap: 0 !important;
  align-items: stretch !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(77,216,255,.12) !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.55), 0 8px 24px rgba(0,0,0,.3) !important;
  background: transparent !important;
}

/* ── Left panel — form ── */
.fct_checkout_form,
.fct_checkout_inner .fct_checkout_form {
  background: #10131d !important;
  padding: 40px !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* ── Right panel — summary ── */
.fct_checkout_summary,
.fct_checkout_inner .fct_checkout_summary {
  background: #06070c !important;
  border-left: 1px solid rgba(77,216,255,.1) !important;
  padding: 32px !important;
  flex: 0 0 320px !important;
  width: 320px !important;
  max-width: 320px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Summary inner box — no card-in-card, it IS the panel */
.fct_summary_box,
.fct_summary {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  color: #e9ecf4 !important;
}

/* "Order summary" header */
.fct_summary h4,
.fct_toggle_content h4,
#order_summary_label {
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  font-size: .875rem !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: rgba(233,236,244,.5) !important;
  margin: 0 0 20px !important;
}
.fct_toggle_icon { display: none !important; }
.fct_summary_toggle_total { display: none !important; }

/* ── Product line item ── */
.fct_line_item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(77,216,255,.1) !important;
  margin-bottom: 20px !important;
}
.fct_item_image {
  width: 56px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #161a27 !important;
  border: 1px solid rgba(77,216,255,.1) !important;
}
.fct_item_image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.fct_item_content { flex: 1 !important; min-width: 0 !important; }
.fct_item_title {
  color: #e9ecf4 !important;
  font-weight: 600 !important;
  font-size: .875rem !important;
  line-height: 1.4 !important;
  margin: 0 0 4px !important;
}
.fct_line_item_info { color: rgba(233,236,244,.5) !important; font-size: .8125rem !important; }
.fct_line_item_price,
.fct_line_item_total {
  color: #e9ecf4 !important;
  font-weight: 700 !important;
  font-family: 'Sora', sans-serif !important;
  font-size: .9375rem !important;
  white-space: nowrap !important;
}

/* ── Summary totals list ── */
.fct_summary_items_list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fct_checkout_form_section .fct_summary_items_list li,
.fct_summary_items_list li {
  display: flex !important;
  justify-content: space-between !important;
  font-size: .9375rem !important;
  color: rgba(233,236,244,.65) !important;
  padding: 8px 0 !important;
}
.fct_summary_items_total {
  border-top: 1px solid rgba(77,216,255,.12) !important;
  padding-top: 14px !important;
  margin-top: 4px !important;
  font-family: 'Sora', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.0625rem !important;
  color: #e9ecf4 !important;
}
.fct_summary_items_total .value,
[data-fluent-cart-checkout-estimated-total] {
  color: #4dd8ff !important;
  font-weight: 800 !important;
  font-family: 'Sora', sans-serif !important;
}

/* ── Coupon ── */
.fct_coupon_field {
  border-top: 1px solid rgba(77,216,255,.1) !important;
  padding-top: 16px !important;
  margin-top: 12px !important;
}
.fct_coupon_toggle { color: #4dd8ff !important; font-size: .8125rem !important; cursor: pointer !important; }

/* ── Place Order button — right under Total ── */
.fct_place_order_btn_wrap {
  margin-top: 20px !important;
  padding-top: 0 !important;
}
.fct_checkout_summary .fct_place_order_btn_wrap {
  margin-top: 20px !important;
  padding-top: 0 !important;
}
.fct_place_order_btn {
  background: linear-gradient(135deg, #7fb0ff, #4d8efe) !important;
  color: #04173c !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 700 !important;
  font-size: .875rem !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 0 !important;
  cursor: pointer !important;
  width: 100% !important;
  min-height: 52px !important;
  box-shadow: 0 0 28px rgba(77,216,255,.2) !important;
  transition: filter .2s, transform .15s !important;
}
.fct_place_order_btn:hover:not(:disabled) {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
}
.fct_place_order_btn:disabled { opacity: .45 !important; cursor: not-allowed !important; }

/* ── Form sections ── */
.fct_checkout_form_section {
  background: transparent !important;
  border: none !important;
  margin-bottom: 28px !important;
}
.fct_form_section_header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  border-bottom: 1px solid rgba(77,216,255,.1) !important;
  padding-bottom: 12px !important;
  margin-bottom: 18px !important;
}
.fct_form_section_header_label,
.fct_form_section_header h4 {
  font-family: 'Sora', sans-serif !important;
  font-weight: 700 !important;
  font-size: .9375rem !important;
  color: #e9ecf4 !important;
  letter-spacing: -.015em !important;
  margin: 0 !important;
  flex: 1 !important;
}

/* ── Input groups ── */
.fct_checkout_input_group {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.fct_form_sub_section_wrapper { display: grid !important; gap: 10px !important; }
.fct_form_sub_section_wrapper.fct_2_columns { grid-template-columns: 1fr 1fr !important; }

/* ── Input fields (inputs contrast against left panel #10131d) ── */
.fct-input,
.fct-input-text,
.fct_checkout input,
.fct_checkout select,
.fct_checkout textarea,
.fct_input_wrapper input,
.fct_input_wrapper select {
  background: #161a27 !important;
  background-color: #161a27 !important;
  border: 1px solid rgba(77,216,255,.12) !important;
  border-radius: 10px !important;
  color: #e9ecf4 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: .9375rem !important;
  padding: 14px 16px !important;
  height: auto !important;
  min-height: 48px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.fct-input::placeholder,
.fct_checkout input::placeholder { color: rgba(233,236,244,.28) !important; }
.fct-input:focus,
.fct_checkout input:focus,
.fct_checkout select:focus {
  background-color: #161a27 !important;
  border-color: #4dd8ff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(77,216,255,.12) !important;
}

/* Nice select */
.fct_checkout .fct-nice-select,
.fct_input_wrapper_select .fct-nice-select {
  background: #161a27 !important;
  border-color: rgba(77,216,255,.12) !important;
  color: #e9ecf4 !important;
  border-radius: 10px !important;
}
.fct-nice-select .list { background: #161a27 !important; border-color: rgba(77,216,255,.15) !important; }
.fct-nice-select .option { color: #8d94ab !important; }
.fct-nice-select .option:hover,
.fct-nice-select .option.selected { background: #10131d !important; color: #e9ecf4 !important; }

/* ── "Change" address link and any inline links in form ── */
.fct_form_section_header a,
.fct_form_section_header button:not(.fct_place_order_btn),
.fct_checkout_billing_and_shipping a,
[data-fluent-cart-checkout-page-form-section] a,
.fct_checkout a:not(.fct_place_order_btn):not(.fct_coupon_toggle) {
  color: #e9ecf4 !important;
  opacity: 1 !important;
}

/* ── Payment methods ── */
.fct_checkout_payment_methods {
  border-top: 1px solid rgba(77,216,255,.1) !important;
  padding-top: 24px !important;
  margin-top: 4px !important;
}
.fct_checkout_payment_methods .fct_form_section_header_label { color: #e9ecf4 !important; }
.fct_payment_methods_list { gap: 10px !important; }
.fct_payment_method_wrapper {
  border: 1px solid rgba(77,216,255,.12) !important;
  border-radius: 10px !important;
  background: #161a27 !important;
}
.fct_payment_method_wrapper.active {
  border-color: rgba(77,216,255,.25) !important;
  background: rgba(77,216,255,.04) !important;
}
.fct_payment_method_logo label { background: #10131d !important; color: #8d94ab !important; }

/* ── Footer ── */
.page-id-921 .site-footer,
.page-id-922 .site-footer,
.page-id-923 .site-footer {
  background: #06070c !important;
  color: rgba(233,236,244,.25) !important;
  border-top: 1px solid rgba(77,216,255,.06) !important;
}

/* ═══════════════════════════════════════════════════════════════
   Order Confirmation — page-id-923
   Template: fluent-cart/app/Views/invoice/thank_you.php
   All content uses inline styles — CSS !important overrides them.
   ═══════════════════════════════════════════════════════════════ */

/* Padding around the receipt card */
.page-id-923 .entry-content > div > div {
  padding: 40px 24px 80px !important;
}

/* Font override */
.page-id-923 .email-template-content {
  font-family: 'Manrope', system-ui, sans-serif !important;
}

/* ── Success banner — replace green with brand cyan ── */
.page-id-923 .email-template-content > div:first-child {
  background: linear-gradient(135deg, rgba(77,216,255,.08), rgba(77,142,254,.04)) !important;
  border: 1px solid rgba(77,216,255,.2) !important;
  border-radius: 16px !important;
  color: #e9ecf4 !important;
  margin-bottom: 16px !important;
}
.page-id-923 .email-template-content > div:first-child > div:first-child {
  background: linear-gradient(135deg, #4dd8ff, #4d8efe) !important;
  color: #04173c !important;
}
.page-id-923 .email-template-content h1 {
  color: #e9ecf4 !important;
}

/* ── Main order card ── */
.page-id-923 .email-template-content > div:nth-child(2) {
  background-color: #10131d !important;
  border: 1px solid rgba(77,216,255,.12) !important;
  border-radius: 16px !important;
}
.page-id-923 .email-template-content div[style*="background-color: #fff"],
.page-id-923 .email-template-content div[style*="background-color: #ffffff"],
.page-id-923 .email-template-content div[style*="background-color:#ffffff"] {
  background-color: transparent !important;
}

/* ── ITEM / TOTAL header bar ── */
.page-id-923 .email-template-content div[style*="249,250,251"][style*="flex"] {
  background: rgba(77,216,255,.04) !important;
  border-radius: 6px !important;
}

/* ── Totals summary box ── */
.page-id-923 .email-template-content div[style*="249,250,251"][style*="border-radius"] {
  background: #161a27 !important;
}

/* ── Tables ── */
.page-id-923 .email-template-content table,
.page-id-923 .email-template-content td {
  background: transparent !important;
}

/* ── Download file button ── */
.page-id-923 .email-template-content a[style*="color:#000"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: linear-gradient(135deg, #7fb0ff, #4d8efe) !important;
  color: #04173c !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  line-height: 1 !important;
  box-shadow: 0 0 24px rgba(77,216,255,.15) !important;
  transition: filter .2s !important;
}
.page-id-923 .email-template-content a[style*="color:#000"]:hover {
  filter: brightness(1.08) !important;
}

/* ── View Order button — hidden via JS (text match); CSS is belt-and-suspenders ── */
.page-id-923 div[style*="justify-content: center"] > a:first-of-type {
  display: none !important;
}

/* ── Download Receipt link ── */
.page-id-923 a[style*="background: none"] {
  color: rgba(233,236,244,.4) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: .8125rem !important;
  text-decoration: none !important;
}

/* ── Responsive ── */
@media (max-width: 700px) {
  .fct_checkout_inner {
    flex-direction: column-reverse !important;
    border-radius: 16px !important;
  }
  .fct_checkout_summary,
  .fct_checkout_inner .fct_checkout_summary {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    border-left: none !important;
    border-bottom: 1px solid rgba(77,216,255,.1) !important;
  }
}
