/* Cayman Ecommerce Extensions — block styles (inherit theme tokens when present) */
.cecx-services, .cecx-pricing, .cecx-cases, .cecx-quotes, .cecx-steps, .cecx-faq, .cecx-cta, .cecx-checklist, .cecx-facts {
	--x-navy: var(--c-navy, #0B1F3A); --x-teal: var(--c-teal, #0E8C8C); --x-coral: var(--c-coral, #F27059); --x-line: #E3E8EF; --x-muted: #6B7A8C; --x-soft: #F5F8FB;
}
.cecx-section { margin: 3rem 0; }
.cecx-heading { text-align: center; margin-bottom: 1.5rem; }
.cecx-services { display: grid; grid-template-columns: repeat(var(--cecx-cols, 3), minmax(0, 1fr)); gap: 1.25rem; }
.cecx-service { padding: 1.5rem; border: 1px solid var(--x-line); border-radius: 14px; background: #fff; }
.cecx-service__icon { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: rgba(14,140,140,.1); color: var(--x-teal); margin-bottom: .75rem; }
.cecx-service h3 { font-size: 1.15rem; margin: 0 0 .4rem; }
.cecx-service h3 a { color: inherit; text-decoration: none; }
.cecx-service p { color: var(--x-muted); margin: 0 0 .5rem; }
.cecx-price { font-weight: 700; color: var(--x-navy) !important; }

.cecx-pricing { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.25rem; align-items: stretch; }
.cecx-plan { position: relative; display: flex; flex-direction: column; padding: 1.75rem; border: 1px solid var(--x-line); border-radius: 18px; background: #fff; }
.cecx-plan.is-featured { border: 2px solid var(--x-coral); box-shadow: 0 20px 40px -20px rgba(242,112,89,.5); }
.cecx-plan__flag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--x-coral); color: #fff; font-size: .75rem; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.cecx-plan h3 { font-size: 1.1rem; margin: 0; }
.cecx-plan__price { font-size: 1.5rem; font-weight: 800; color: var(--x-navy); margin: .5rem 0 0; }
.cecx-plan__time { color: var(--x-muted); font-size: .9rem; margin: 0 0 1rem; }
.cecx-plan ul { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: .45rem; font-size: .93rem; }
.cecx-plan li { display: flex; gap: .5rem; } .cecx-plan li svg { color: var(--x-teal); flex: none; margin-top: .2em; }
.cecx-plan .btn { margin-top: auto; }
.cecx-note { text-align: center; font-size: .85rem; color: var(--x-muted); }

.cecx-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; counter-reset: none; }
.cecx-steps li { padding: 1.25rem; border-radius: 14px; background: var(--x-soft); }
.cecx-steps span { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--x-teal); color: #fff; font-weight: 800; margin-bottom: .5rem; }
.cecx-steps h3 { font-size: 1rem; margin: 0 0 .3rem; }
.cecx-steps p { margin: 0; color: var(--x-muted); font-size: .92rem; }

.cecx-faq details { border: 1px solid var(--x-line); border-radius: 12px; margin-bottom: .6rem; background: #fff; }
.cecx-faq summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 600; list-style: none; }
.cecx-faq summary::-webkit-details-marker { display: none; }
.cecx-faq summary::after { content: "+"; float: right; color: var(--x-teal); font-size: 1.3rem; line-height: 1; }
.cecx-faq details[open] summary::after { content: "–"; }
.cecx-faq details > div { padding: 0 1.2rem 1rem; color: var(--x-muted); }

.cecx-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 2.25rem; border-radius: 22px; background: linear-gradient(135deg, var(--x-navy), #12305A); color: rgba(255,255,255,.85); }
.cecx-cta h2 { color: #fff; margin: 0 0 .3rem; }
.cecx-cta p { margin: 0; }

.cecx-checklist { padding: 1.75rem; border: 2px solid var(--x-teal); border-radius: 18px; background: #fff; }
.cecx-checklist ol { padding-left: 1.2rem; display: grid; gap: .5rem; }
.cecx-checklist label { font-weight: 500; cursor: pointer; }
.cecx-checklist input:checked + * , .cecx-checklist input:checked { accent-color: var(--x-teal); }

.cecx-cases { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.cecx-case a { display: block; border-radius: 16px; overflow: hidden; border: 1px solid var(--x-line); background: #fff; color: inherit; text-decoration: none; height: 100%; transition: transform .2s; }
.cecx-case a:hover { transform: translateY(-3px); }
.cecx-case img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.cecx-case__body { padding: 1.2rem; }
.cecx-case__meta { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--x-teal); margin: 0 0 .3rem; font-weight: 700; }
.cecx-case h3 { font-size: 1.1rem; margin: 0; }
.cecx-case__result { font-weight: 700; color: var(--x-coral); margin: .5rem 0 0; }
.cecx-more { text-align: center; margin-top: 1rem; }

.cecx-quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.cecx-quote { margin: 0; padding: 1.5rem; border-radius: 16px; background: var(--x-soft); display: flex; flex-direction: column; gap: .75rem; }
.cecx-quote blockquote { margin: 0; font-size: 1.02rem; color: #13233A; }
.cecx-quote blockquote p { margin: 0; }
.cecx-quote figcaption { display: flex; align-items: center; gap: .6rem; margin-top: auto; font-size: .9rem; color: var(--x-muted); }
.cecx-quote figcaption strong { display: block; color: #13233A; }
.cecx-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.cecx-stars { color: #E7A93B; letter-spacing: 2px; }

.cecx-facts { float: right; width: min(320px, 100%); margin: 0 0 1.5rem 1.5rem; padding: 1.25rem; border-radius: 14px; background: var(--x-soft); border: 1px solid var(--x-line); }
.cecx-results { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .4rem; }
.cecx-results li { font-weight: 800; color: var(--x-coral); font-size: 1.1rem; }
.cecx-facts dl { margin: 0; display: grid; gap: .5rem; }
.cecx-facts dt { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--x-muted); }
.cecx-facts dd { margin: 0; font-weight: 600; }
.cecx-placeholder { padding: 1rem; border: 2px dashed #C9D6E2; border-radius: 10px; color: #6B7A8C; text-align: center; }

.cecx-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9980; max-width: 720px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 14px 18px; background: #0B1F3A; color: rgba(255,255,255,.88); border-radius: 14px; box-shadow: 0 20px 40px -15px rgba(0,0,0,.45); font-size: .9rem; }
.cecx-cookie[hidden] { display: none; }
.cecx-cookie p { margin: 0; flex: 1 1 320px; }
.cecx-cookie a { color: #2EC4B6; }
.cecx-cookie div { display: flex; gap: 8px; }
.cecx-cookie .btn--ghost { color: #fff; border-color: rgba(255,255,255,.35); }

@media (max-width: 900px) { .cecx-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cecx-services { grid-template-columns: 1fr; } .cecx-facts { float: none; margin: 0 0 1.5rem; width: 100%; } }
