/* Base styles */
.caot-section { border: 1px solid var(--caot-border, #e5e7eb); border-radius: 10px; margin: 0 0 16px; background: var(--caot-bg, #ffffff); overflow: hidden; }
.caot-section__header { background: var(--caot-header, #f8fafc); padding: 12px 16px; }
.caot-section__title { margin: 0; line-height: 1.4; font-weight: 500; color: var(--caot-title, #111827); }
.caot-section__body { padding: 12px 16px; line-height: 1.65; color: var(--caot-body, #111827); }
.caot-section__body p { margin: 0 0 12px; }

/* Accent-driven border */
.caot-section { --caot-border: color-mix(in srgb, var(--caot-accent, #4f46e5) 24%, #e5e7eb); }

/* THEME: AUTO uses prefers-color-scheme */
.caot--theme-auto { }
@media (prefers-color-scheme: dark) {
  .caot--theme-auto.caot-section { --caot-bg:#0b0b0c; --caot-header:#141416; --caot-title:#e5e7eb; --caot-body:#e5e7eb; --caot-border: color-mix(in srgb, var(--caot-accent, #4f46e5) 40%, #2a2a2b); }
}

/* THEME: FORCE LIGHT */
.caot--theme-light.caot-section { --caot-bg:#ffffff; --caot-header:#f8fafc; --caot-title:#111827; --caot-body:#111827; --caot-border: color-mix(in srgb, var(--caot-accent, #4f46e5) 24%, #e5e7eb); }

/* THEME: FORCE DARK */
.caot--theme-dark.caot-section { --caot-bg:#0b0b0c; --caot-header:#141416; --caot-title:#e5e7eb; --caot-body:#e5e7eb; --caot-border: color-mix(in srgb, var(--caot-accent, #4f46e5) 40%, #2a2a2b); }


/* === Hemal request: add opt-in 'no spacing' variant (2025-09-18) === */
/* Use via shortcode attribute: class="caot--flush" */
.caot--flush.caot-section { margin: 0 !important; border-width: 0; }
.caot--flush .caot-section__header,
.caot--flush .caot-section__body { padding: 0 !important; }
.caot--flush .caot-section__title { margin: 0 !important; }
.caot--flush .caot-section__body p { margin: 0 !important; }

/* === Pricing helpers === */
.caot-price-line { margin: 4px 0; font-weight: 600; }
.caot-price-note { margin: 10px 0; font-style: italic; opacity: .85; }
.caot-price-from { display:inline-flex; flex-direction:column; align-items:center; gap:2px;
  background: var(--caot-accent, #4f46e5); color:#fff; padding:12px 18px; border-radius:10px; font-weight:500; margin:12px 0; }
.caot-price-from__label { font-size:.9em; line-height:1.1; opacity:.95; }
.caot-price-from__amount { font-size:1.2em; line-height:1.1; }
.caot-price-disclaimer { margin-top:10px; font-size:.92em; color:#b91c1c; text-align:center; }




/* Opt-in center variant */
.caot--center .caot-section__header { 
  text-align: center;
  justify-content: center; /* no-op unless header is flex */
}
.caot--center .caot-section__title { 
  margin-left: auto; 
  margin-right: auto; 
}

.caot--center .caot-section__body { 
  text-align: center; 
}

/* Make the price pill truly centered */
.caot--center .caot-price-from { 
  margin-left: auto; 
  margin-right: auto; 
  display: inline-flex; 
}

/* Keep each price line on its own row when centered */
.caot--center .caot-price-line { 
  display: block; 
}
