/* Store LP: existing App Gallery tokens, isolated from the business/product pages. */
.kshops { color: var(--tp-ink); }
.kshops-shell { width: var(--tp-shell); margin-inline: auto; }
.kshops h1,.kshops h2,.kshops h3,.kshops p,.kshops figure,.kshops dl { margin: 0; }
.kshops p { line-height: 1.9; }
.kshops-hero { background: var(--tp-mint); padding: 56px 0 48px; }
.kshops-hero-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); align-items: center; gap: 48px; }
.kshops-eyebrow { font-size: .85rem; font-weight: 700; margin-bottom: 24px !important; }
.kshops h1 { font-size: clamp(2rem,4vw,3.6rem); line-height: 1.35; letter-spacing: -.035em; font-weight: 800; }
.kshops-mobile-break { display: none; }
.kshops-lead { margin-top: 24px !important; font-size: 1.1rem; }
.kshops-lead strong { color: var(--tp-mint-ink); }
.kshops-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.kshops .tp-button { background: var(--tp-indigo); color: var(--tp-white); padding: 16px 24px; font-weight: 700; text-decoration: none; }
.kshops .tp-button:hover { background: var(--tp-indigo-deep); }
.kshops-text-link { color: var(--tp-indigo-deep); font-weight: 700; text-underline-offset: 5px; }
.kshops .kshops-screen { justify-self: center; width: min(100%,235px); }
.kshops-screen img { width: 100%; height: auto; display: block; border: 6px solid var(--tp-paper); border-radius: 30px; box-shadow: var(--tp-shadow-flat); }
.kshops-screen figcaption { font-size: .75rem; text-align: center; margin-top: 18px; }
.kshops-section { padding: 88px 0; scroll-margin-top: 110px; }
.kshops-heading { margin-bottom: 32px; }
.kshops h2 { font-size: clamp(1.7rem,3vw,2.6rem); line-height: 1.5; letter-spacing: -.025em; }
.kshops-heading > p { max-width: 650px; margin-top: 18px; color: var(--tp-ink-soft); }
.kshops h3 { font-size: 1.25rem; line-height: 1.6; }
.kshops .kshops-note { font-size: .85rem; color: var(--tp-muted); margin-top: 20px; }
.kshops-areas { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.kshops-area { border-bottom: 2px solid var(--tp-line); padding-bottom: 22px; }
.kshops-area img { display: block; width: min(100%,230px); height: auto; margin: 0 auto 24px; border: 5px solid var(--tp-white); border-radius: 26px; box-shadow: var(--tp-shadow-flat); }
.kshops-detail { background: var(--tp-lavender); }
.kshops-detail-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 48px; }
.kshops-detail .kshops-heading { margin-bottom: 0; }
.kshops-area h3 { font-size: 1.6rem; }
.kshops-area p { color: var(--tp-ink-soft); margin-top: 4px; }
.kshops-use { background: var(--tp-yellow-2); }
.kshops-use-grid,.kshops-faq-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 64px; }
.kshops-use .kshops-heading,.kshops-faq-grid .kshops-heading { margin-bottom: 0; }
.kshops-examples > div + div { margin-top: 28px; }
.kshops-examples dt { font-size: 1.25rem; font-weight: 800; }
.kshops-examples dd { margin: 8px 0 0; line-height: 1.9; color: var(--tp-ink-soft); }
.kshops-plans { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.kshops-plan { padding: 36px; border: 1px solid var(--tp-line); border-radius: var(--tp-radius-panel); background: var(--tp-white); }
.kshops-plan-free { background: var(--tp-mint); }
.kshops-plan .kshops-plan-price { font-size: 1.75rem; font-weight: 800; color: var(--tp-indigo-deep); margin-bottom: 14px; }
.kshops-plan h3 { margin-bottom: 16px; }
.kshops-plan ul { padding-left: 1.25em; margin: 24px 0 0; }
.kshops-plan li { line-height: 1.9; margin: 6px 0; }
.kshops-flow { background: var(--tp-lavender); }
.kshops-steps { list-style: none; padding: 0; margin: 0; counter-reset: shops-step; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.kshops-steps li { counter-increment: shops-step; }
.kshops-steps li::before { content: '0' counter(shops-step); font: 700 2.25rem var(--tp-font-display); color: var(--tp-indigo); display: block; margin-bottom: 18px; }
.kshops-steps p { margin-top: 12px; }
.kshops-faq details { padding: 20px 0; border-bottom: 1px solid var(--tp-line); }
.kshops-faq details:first-child { padding-top: 0; }
.kshops-faq summary { cursor: pointer; font-weight: 700; line-height: 1.7; }
.kshops-faq details p { margin-top: 16px; color: var(--tp-ink-soft); }
.kshops-contact { background: var(--tp-mint); }
.kshops-contact-grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 64px; align-items: start; }
.kshops-contact .kshops-heading > a { display: inline-block; margin-top: 24px; }
.kshops-form { background: var(--tp-white); padding: 36px; border: 1px solid var(--tp-line); border-radius: var(--tp-radius-panel); }
.kshops-form label { display: block; font-size: .95rem; font-weight: 700; line-height: 1.8; }
.kshops-form form > p + p { margin-top: 20px; }
.kshops-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.kshops-form input:not([type=submit]),.kshops-form select,.kshops-form textarea { width: 100%; max-width: 100%; min-height: 48px; border: 1px solid var(--tp-muted); border-radius: 8px; background: var(--tp-paper); padding: 12px; font: inherit; color: var(--tp-ink); box-sizing: border-box; }
.kshops-form textarea { height: 150px; resize: vertical; }
.kshops-form input[type=submit] { border: 0; border-radius: var(--tp-radius-pill); padding: 16px 28px; background: var(--tp-indigo); color: var(--tp-white); font: inherit; font-weight: 700; cursor: pointer; }
.kshops-form input[type=submit]:hover { background: var(--tp-indigo-deep); }
.kshops :is(a,summary,input,select,textarea):focus-visible { outline: 3px solid var(--tp-indigo); outline-offset: 4px; }
.kshops-form .wpcf7-not-valid-tip { color: var(--tp-ink); font-size: .85rem; }
.kshops-form .wpcf7-response-output { color: var(--tp-ink); padding: 12px; margin: 20px 0 0; }
.kshops-form .wpcf7-spinner { margin: 0 8px; }
.kshops-disclaimer { padding-block: 24px; font-size: .8rem; color: var(--tp-muted); }
@media(max-width:1000px) { .kshops-hero-grid { gap: 28px; }.kshops-use-grid,.kshops-contact-grid,.kshops-faq-grid { gap: 32px; }.kshops-plan,.kshops-form { padding: 26px; } }
@media(max-width:700px) { .kshops-hero { padding-top: 36px; }.kshops-hero-grid,.kshops-use-grid,.kshops-faq-grid,.kshops-contact-grid,.kshops-plans { grid-template-columns: 1fr; }.kshops-mobile-break { display: initial; }.kshops h1 { font-size: clamp(1.8rem,7.6vw,2.8rem); }.kshops-lead { font-size: 1rem; }.kshops-actions { gap: 18px; }.kshops-actions .tp-button { padding-inline: 18px; }.kshops .kshops-screen { width: 190px; margin-top: 16px; }.kshops-section { padding: 56px 0; }.kshops-areas { grid-template-columns: 1fr; gap: 16px; }.kshops-area { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: center; gap: 16px; padding-bottom: 16px; }.kshops-area img { height: auto; margin: 0; }.kshops-detail-grid { grid-template-columns: 1fr; gap: 24px; }.kshops-area h3 { font-size: 1.3rem; }.kshops-area p { font-size: .85rem; }.kshops-steps { grid-template-columns: 1fr; gap: 30px; }.kshops-steps li::before { font-size: 1.75rem; margin-bottom: 8px; }.kshops-form,.kshops-plan { padding: 24px; }.kshops-contact-grid { gap: 12px; } }
