/*
 * Novademi Institute relaunch (docs/novademi-relaunch): the parts the new pages add — the inner page's right card,
 * section «Tümünü gör» links, the closing link row, one-line notices, the coaching package groups, the compact posts,
 * the in-page sign-up, the request / expert forms, the two-part mega panel list, the header's icon-only actions below
 * 1280 px and the four-item phone bar. Colours, radius and spacing come from public.css tokens.
 */

/* Inner page: content and the right card (below the content on phones) — Prompt 3 «İç sayfa». */
.cms-split { padding: 2rem 0 3rem; }
.cms-split__grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2rem; align-items: start; }
.cms-split__main > section .container,
.cms-split__main > div > .container,
.cms-split__main .container { max-width: none; padding-left: 0; padding-right: 0; }
.cms-split__main > section:first-child,
.cms-split__main > div:first-child > section:first-child { padding-top: 0; }
.cms-split__side { position: sticky; top: calc(var(--header-height) + 1.5rem); }
.side-card { background: var(--white); border: 1px solid #e2e8f0; border-radius: var(--radius-md); box-shadow: var(--shadow-md); padding: 1.5rem; }
.side-card__title { font-size: 1.15rem; font-weight: 700; color: var(--text-dark); margin: 0 0 0.5rem; }
.side-card__text { color: var(--text-muted); margin: 0 0 1.1rem; font-size: 0.95rem; }
.side-card__button { width: 100%; justify-content: center; }
@media (max-width: 991.98px) {
  .cms-split__grid { grid-template-columns: minmax(0, 1fr); }
  .cms-split__side { position: static; }
}

/* «Tümünü gör» under a section. */
.section-more { display: flex; justify-content: center; margin-top: 1.5rem; }
.section-more__link { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; color: var(--primary); text-decoration: none; }
.section-more__link:hover { color: var(--primary-dark); text-decoration: underline; }

/* One line (the mobile app line above the closing). */
.text-line { padding: 0.9rem 0; text-align: center; background: var(--surface); border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; }
.text-line a, .text-line span { font-weight: 600; color: var(--text-dark); text-decoration: none; }
.text-line a:hover { color: var(--primary); }

/* Link rows and the closing row («Size uygun hizmeti seçin»). */
.cta-row__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.cta-row--closing { padding: 3rem 0; }
.cta-row__title { text-align: center; font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; color: var(--text-dark); margin: 0 0 1.25rem; }

/* Coaching packages: category links, then each category's packages (anchors #birebir, #dijital, #veli). */
.pkg-cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.5rem; }
.pkg-cats__item { padding: 0.45rem 0.9rem; border: 1px solid #cbd5e1; border-radius: var(--radius-pill); color: var(--text-dark); font-weight: 600; text-decoration: none; background: var(--white); }
.pkg-cats__item:hover { border-color: var(--primary); color: var(--primary); }
.pkg-group { scroll-margin-top: calc(var(--header-height) + 1rem); margin-bottom: 2.25rem; }
.pkg-group__title { font-size: 1.25rem; font-weight: 700; margin: 0 0 1rem; color: var(--text-dark); }
.package-card-pro-link { display: inline-flex; align-items: center; justify-content: center; gap: 0.2rem; padding: 0.4rem 0; font-weight: 600; color: var(--primary); text-decoration: none; }
.package-card-pro-link:hover { text-decoration: underline; }

/* «Yazılar»: small post cards. */
.posts-compact__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.posts-compact__card { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.75rem; border: 1px solid #e2e8f0; border-radius: var(--radius-md); background: var(--white); color: var(--text-dark); text-decoration: none; }
.posts-compact__card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 6px; }
.posts-compact__cat { font-size: 0.75rem; font-weight: 700; color: var(--secondary-dark); text-transform: uppercase; letter-spacing: 0.02em; }
.posts-compact__card strong { font-size: 0.95rem; line-height: 1.35; }
.posts-compact__card:hover strong { color: var(--primary); }
@media (max-width: 991.98px) { .posts-compact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .posts-compact__grid { grid-template-columns: minmax(0, 1fr); } }

/* In-page e-mail sign-up (/mobil «Bildirim al»). */
.newsletter-inline__card { max-width: 640px; margin: 0 auto; padding: 1.5rem; border: 1px solid #e2e8f0; border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.newsletter-inline__title { font-weight: 600; margin: 0 0 0.9rem; color: var(--text-dark); }
.newsletter-inline__form { display: flex; gap: 0.5rem; }
@media (max-width: 575.98px) { .newsletter-inline__form { flex-direction: column; } }

/* Request and expert forms (Prompt 4). */
.req-container { max-width: 860px; }
.req-form { display: grid; gap: 1.25rem; }
.req-step { border: 1px solid #e2e8f0; border-radius: var(--radius-md); padding: 1.25rem; background: var(--white); margin: 0; min-width: 0; }
.req-step__head { display: flex; align-items: center; gap: 0.6rem; font-size: 1.05rem; font-weight: 700; color: var(--text-dark); padding: 0; margin-bottom: 1rem; float: none; width: auto; }
.req-step__num { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 6px; background: var(--primary); color: #fff; font-size: 0.9rem; }
.req-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.req-field { display: grid; gap: 0.35rem; margin: 0; min-width: 0; border: 0; padding: 0; }
.req-field--wide { grid-column: 1 / -1; }
.req-field > span, .req-field > legend { font-size: 0.9rem; font-weight: 600; color: var(--text-dark); padding: 0; margin-bottom: 0.15rem; }
.req-field input:not([type='radio']):not([type='checkbox']):not([type='file']), .req-field select, .req-field textarea {
  width: 100%; padding: 0.6rem 0.75rem; border: 1px solid #cbd5e1; border-radius: 6px; font: inherit; color: var(--text-dark); background: var(--white);
}
.req-field input:focus-visible, .req-field select:focus-visible, .req-field textarea:focus-visible { outline: 3px solid rgba(30, 64, 175, 0.35); outline-offset: 1px; border-color: var(--primary); }
.req-hint { color: var(--text-muted); font-size: 0.82rem; }
.req-choices { display: grid; gap: 0.75rem; }
.req-choices--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.req-choice { position: relative; display: grid; justify-items: center; gap: 0.4rem; padding: 1rem 0.5rem; border: 1px solid #cbd5e1; border-radius: var(--radius-md); cursor: pointer; text-align: center; background: var(--white); }
.req-choice input { position: absolute; opacity: 0; pointer-events: none; }
.req-choice i { font-size: 1.4rem; color: var(--primary); }
.req-choice:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(30, 64, 175, 0.25); background: #eff6ff; }
.req-choice:has(input:focus-visible) { outline: 3px solid rgba(30, 64, 175, 0.35); outline-offset: 2px; }
.req-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.req-chip { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.75rem; border: 1px solid #cbd5e1; border-radius: 6px; cursor: pointer; font-size: 0.92rem; background: var(--white); }
.req-chip:has(input:checked) { border-color: var(--primary); background: #eff6ff; }
.req-check { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.92rem; }
.req-check input { margin-top: 0.25rem; }
.req-actions { display: flex; justify-content: flex-end; }
.req-alert { display: flex; gap: 0.5rem; align-items: flex-start; padding: 0.8rem 1rem; border-radius: var(--radius-md); background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; margin-bottom: 1rem; }
.req-thanks { display: grid; justify-items: center; gap: 1rem; text-align: center; padding: 2rem 1rem; }
.req-thanks > i { font-size: 3rem; color: var(--secondary); }
.req-thanks__text { font-size: 1.1rem; color: var(--text-dark); max-width: 560px; margin: 0; }
/* Counselling: the child's name only for a child or a teenager, the guardian's approval only for a child. */
.req-field--young, .req-check--child { display: none; }
.req-form:has(input[name='counselling_for'][value='child']:checked) .req-field--young,
.req-form:has(input[name='counselling_for'][value='teen']:checked) .req-field--young { display: grid; }
.req-form:has(input[name='counselling_for'][value='child']:checked) .req-check--child { display: flex; }
@media (max-width: 767.98px) {
  .req-grid { grid-template-columns: minmax(0, 1fr); }
  .req-choices--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Header: the mega panel's left list (Prompt 2: two parts — the list, then one card). */
.mega-menu__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.25rem; }
.mega-menu__list-link { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.7rem 0.85rem; border-radius: 6px; color: var(--text-dark); font-weight: 600; text-decoration: none; }
.mega-menu__list-link i { opacity: 0.45; transition: transform var(--transition), opacity var(--transition); }
.mega-menu__list-link:hover, .mega-menu__list-link:focus-visible { background: #eff6ff; color: var(--primary); }
.mega-menu__list-link:hover i { opacity: 1; transform: translateX(3px); }
/* Sepet, Giriş, Üye ol: only their icons below 1280 px (the menu words keep their full length). */
.nav-action-label { margin-left: 0.35rem; }
@media (max-width: 1279.98px) { .nav-action-label { display: none; } }
/* public.css squares the cart button up to 1399 px; with its word shown (≥ 1280 px) it takes its own width. */
@media (min-width: 1280px) { .btn-nav-cart { width: auto; padding-inline: 0.65rem !important; } }
.footer-nav-badge { display: inline-block; margin-left: 0.4rem; padding: 0 0.4rem; border-radius: 4px; font-size: 0.7rem; font-weight: 700; background: rgba(255, 255, 255, 0.14); color: #e2e8f0; vertical-align: middle; }
.footer-title { font-size: 0.85rem; }

/* Phones: four items in the bottom bar (home, cart, account, menu). */
.mobile-bottom-nav--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Home hero: one h1 for the page; the slide titles are h2. */
.hero-cinematic { position: relative; }
.hero-cinematic .hero-cinematic__h1 { position: absolute; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 3; margin: 0; font-size: 0.85rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); max-width: calc(100% - 2rem); text-align: center; }
.hero-slide-title { font-size: clamp(2rem, 4.6vw, 3.6rem); font-weight: 800; color: #fff; margin: 0.35rem 0 0.75rem; }
#heroCarousel:focus-visible { outline: 3px solid #93c5fd; outline-offset: -3px; }
.hero-toggle i { font-size: 1rem; }

/* Contact page: one column form, the FAQ link. */
.contact-page-layout--single { display: block; }
.contact-channel-value { margin: 0; font-weight: 600; color: var(--text-dark); }
.contact-faq-link { margin: 1rem 0 0; }

/* Footer bar: the card marks sit between the copyright and the legal row. */
.footer-bar .payment-marks { width: auto; margin: 0; }
/* The bottom bar keeps the container's side padding (public.css sets padding: … 0). */
.site-footer .footer-shell-bottom.container { padding-left: var(--bs-gutter-x, 0.75rem); padding-right: var(--bs-gutter-x, 0.75rem); }
/* Inner page: the package cards fill the content column from the left (three, then two, then one). */
.cms-split .packages-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; justify-content: stretch; }
.cms-split .packages-catalog-grid > .package-card-pro { max-width: none; }
@media (max-width: 1199.98px) { .cms-split .packages-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .cms-split .packages-catalog-grid { grid-template-columns: minmax(0, 1fr); } }

/* A request that follows a coach's suggestion: who referred it. */
.req-note { display: flex; gap: 0.5rem; align-items: center; margin: 0; padding: 0.7rem 1rem; border-radius: var(--radius-md); background: #eff6ff; color: var(--text-dark); border: 1px solid #bfdbfe; font-weight: 600; }

/* Owner 2026-10-20: a group bought online — number of people and the participants' e-mails, then the cart. */
.crs-group-card__field { display: grid; gap: 0.3rem; font-size: 0.86rem; font-weight: 600; color: var(--text-dark); }
.crs-group-card__field input,
.crs-group-card__field textarea { width: 100%; padding: 0.5rem 0.65rem; border: 1px solid var(--border-color, #d9dee7); border-radius: 2px; font: inherit; font-weight: 400; background: #fff; }
.crs-group-card__field small { font-weight: 400; color: var(--text-muted, #64748b); line-height: 1.45; }
.cartx-seats { margin: 0.4rem 0 0; font-size: 0.86rem; }
.cartx-seats summary { cursor: pointer; font-weight: 600; }
.cartx-seats ul { margin: 0.35rem 0; padding-left: 1.1rem; columns: 2; column-gap: 1.5rem; }
.cartx-seats small { color: var(--text-muted, #64748b); }
@media (max-width: 575.98px) { .cartx-seats ul { columns: 1; } }

/* 00 plan «Profesyonel ekler»: the cookie notice (bottom, above the phone bar). */
.cookie-notice { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1080; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; max-width: 760px; margin: 0 auto; padding: 0.85rem 1rem; background: #fff; color: var(--text-dark); border: 1px solid var(--border-color, #d9dee7); border-radius: 2px; box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12); }
.cookie-notice p { margin: 0; font-size: 0.9rem; flex: 1 1 260px; }
@media (max-width: 991.98px) { .cookie-notice { bottom: 84px; } }

/* Prompt 4 FORM 1: package groups in the coaching request (Birebir Koçluk, …); no price on a request form. */
.kw-package-group { grid-column: 1 / -1; margin: 0.4rem 0 -0.2rem; font-weight: 700; font-size: 0.85rem; color: var(--text-muted, #64748b); text-transform: none; }
.kw-package-group:empty { display: none; }

/* 00 plan «alan hatası alanın yanında». */
[aria-invalid="true"] { border-color: #dc2626 !important; box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15) !important; }
.field-error { display: block; margin-top: 0.3rem; color: #b91c1c; font-size: 0.84rem; font-weight: 600; }

/* Prompt 3 «Ana sayfa — Seminerler»: the published seminar categories under the section text. */
.ev-home__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.ev-home__cats .events-filter-chip { font-size: 0.86rem; }
