/* KK: GLOBAL box-sizing (content-box trap struck 3x: apc card, case card, btn) */
.dnk-btn, .dnk-feat-card, .dnk-case-card, .dnk-bcard, .dnk-testimonial, .dnk-price-card { box-sizing: border-box; }

/* DANIAN Puck components v1 — public render styles.
   Brand laws: teal #0F4C5C on #FAFAF8, ink #0E1413, muted #545B5A,
   hairlines #F2F2EE / #E3EDEF, Geist. Static file (public/styles/) per the
   ZPSHELL CSS law — never vite-bundled. */

.dnk-page { background: #FAFAF8; color: #0E1413; font-family: Geist, system-ui, -apple-system, sans-serif; }
.dnk-container { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.dnk-narrow { max-width: 760px; }

.dnk-hero { text-align: left; }
.dnk-hero-heading { font-size: clamp(34px, 5vw, 48px); line-height: 54px; letter-spacing: -0.02em; margin: 0 0 16px; font-weight: 700; color: #0E1413; }
.dnk-hero-sub { font-size: 18px; line-height: 1.6; color: #545B5A; margin: 0 0 28px; max-width: 640px; }
.dnk-hero[style*="center"] .dnk-hero-sub { margin-left: auto; margin-right: auto; }

.dnk-h2 { font-size: clamp(24px, 3.4vw, 34px); line-height: 1.2; letter-spacing: -0.01em; margin: 0 0 18px; font-weight: 600; }

.dnk-richtext { font-size: 18px; line-height: 27px; color: #545B5A; }
.dnk-richtext p { margin: 0 0 14px; }
.dnk-richtext h3, .dnk-richtext h4 { margin: 26px 0 10px; font-weight: 600; }
.dnk-richtext ul, .dnk-richtext ol { margin: 0 0 14px; padding-left: 22px; }
.dnk-richtext li { margin: 4px 0; }
.dnk-richtext a { color: #0F4C5C; text-decoration: underline; text-underline-offset: 3px; }
.dnk-richtext blockquote { margin: 16px 0; padding: 4px 0 4px 18px; border-left: 2px solid #E3EDEF; color: #545B5A; }
.dnk-richtext code { font-family: ui-monospace, monospace; font-size: 0.92em; background: #F2F2EE; padding: 2px 6px; border-radius: 4px; }

.dnk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; box-sizing: border-box; line-height: 25px; padding: 12px 45px; background: #0F4C5C; color: #FAFAF8; border: none; border-radius: 5px; font-size: 18px; font-weight: 400; text-decoration: none; transition: background 0.15s ease; }
.dnk-btn:hover { background: #0C3D4A; }
.dnk-btn-secondary { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 24px; border: 1px solid #0F4C5C; color: #0F4C5C; background: transparent; border-radius: 8px; font-size: 16px; font-weight: 500; text-decoration: none; }
.dnk-btn-secondary:hover { background: rgba(15, 76, 92, 0.06); }

.dnk-figure { margin: 0; }
.dnk-figure img { max-width: 100%; height: auto; border-radius: 10px; display: block; }
.dnk-figure.dnk-half { max-width: 560px; }
.dnk-figure figcaption { margin-top: 10px; font-size: 13px; color: #545B5A; }

.dnk-pricing-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 8px; }
.dnk-price-card { border: 1px solid #F2F2EE; border-radius: 12px; padding: 26px 22px; background: #fff; display: flex; flex-direction: column; }
.dnk-price-card.dnk-highlight { border-color: #0F4C5C; border-width: 1.5px; }
.dnk-price-plan { font-size: 15px; color: #545B5A; margin-bottom: 6px; }
.dnk-price-amount { font-size: 34px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 16px; }
.dnk-price-period { font-size: 15px; color: #545B5A; font-weight: 400; }
.dnk-price-features { list-style: none; margin: 0 0 20px; padding: 0; flex: 1; }
.dnk-price-features li { font-size: 15px; line-height: 1.5; padding: 7px 0 7px 24px; position: relative; border-bottom: 1px solid #F2F2EE; }
.dnk-price-features li:last-child { border-bottom: none; }
.dnk-price-features li::before { content: ""; position: absolute; left: 4px; top: 14px; width: 8px; height: 8px; border-radius: 50%; background: #0F4C5C; opacity: 0.85; }

.dnk-cta { background: #fff; border-top: 1px solid #F2F2EE; border-bottom: 1px solid #F2F2EE; }
.dnk-cta .dnk-container { padding-top: 8px; padding-bottom: 8px; }
.dnk-cta-body { font-size: 17px; color: #545B5A; max-width: 560px; margin: 0 auto 24px; line-height: 1.6; }

/* scoped to the Puck FAQ component (its answer wrapper is .dnk-richtext) —
 * the KB danianFaq block (styles/danian-kb-widgets.css) shares only the
 * .dnk-faq-item class name, never these descendants */
.dnk-faq-item:has(> .dnk-richtext) { border-bottom: 1px solid #F2F2EE; }
.dnk-faq-item:has(> .dnk-richtext) summary { cursor: pointer; font-size: 18px; font-weight: 400; color: #0E1413; padding: 15px 0; min-height: 44px; display: flex; align-items: center; list-style: none; }
.dnk-faq-item:has(> .dnk-richtext) summary::-webkit-details-marker { display: none; }
.dnk-faq-item:has(> .dnk-richtext) summary::after { content: "+"; margin-left: auto; color: #0F4C5C; font-size: 20px; font-weight: 400; }
.dnk-faq-item:has(> .dnk-richtext)[open] summary::after { content: "\2212"; }
.dnk-faq-item .dnk-richtext { padding: 0 0 18px; color: #545B5A; }

.dnk-gallery-grid { display: grid; gap: 16px; }
.dnk-gallery-grid.dnk-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dnk-gallery-grid.dnk-cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 720px) {
  .dnk-gallery-grid.dnk-cols-2, .dnk-gallery-grid.dnk-cols-3 { grid-template-columns: 1fr; }
}

.dnk-native-form { margin-top: 8px; }

@media (max-width: 720px) {
  .dnk-container { padding: 0 18px; }
  .dnk-hero-heading { font-size: 32px; }
}
