/* Shared pieces for every public page: the EN | TR switch and the site footer.
   Each page keeps its own look; these two parts are the same everywhere so the site hangs together. */

.lang-switch { display: inline-flex; align-items: center; border: 1.5px solid #D9D6CE; border-radius: 10px; overflow: hidden; flex: none; font-weight: 700; font-size: .82rem; line-height: 1; }
.lang-switch a, .lang-switch span { padding: .62em .7em; color: #4A4D55; text-decoration: none; }
.lang-switch a:hover { background: #F3F2EE; color: #15171C; }
.lang-switch [aria-current] { background: #15171C; color: #fff; }

.site-foot { border-top: 1px solid #E7E5DF; background: #FAF9F6; padding: 48px 0 28px; font-size: .92rem; color: #5D6068; }
.site-foot .sf-wrap { max-width: 1160px; margin-inline: auto; padding-inline: 20px; display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 28px; }
.site-foot .sf-brand { display: grid; gap: 10px; align-content: start; }
.site-foot .sf-logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.1rem; color: #15171C; text-decoration: none; }
.site-foot .sf-logo span { width: 30px; height: 30px; border-radius: 9px; background: #2E4A2C; color: #fff; display: grid; place-items: center; font-size: .85rem; }
.site-foot h4 { margin: 0 0 10px; font-size: .9rem; color: #15171C; }
.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.site-foot a { color: inherit; text-decoration: none; }
.site-foot ul a:hover { color: #2E4A2C; text-decoration: underline; }
.site-foot .sf-bottom { grid-column: 1 / -1; border-top: 1px solid #E7E5DF; padding-top: 18px; display: flex; flex-wrap: wrap; gap: 12px 20px; justify-content: space-between; align-items: center; }
@media (max-width: 860px) { .site-foot .sf-wrap { grid-template-columns: 1fr 1fr; } .site-foot .sf-brand { grid-column: 1 / -1; } }

/* mobile menu */
.menu { display: none; position: relative; }
.menu summary { list-style: none; cursor: pointer; width: 42px; height: 42px; border-radius: 10px; border: 1.5px solid #D9D6CE; display: grid; place-items: center; }
.menu summary::-webkit-details-marker { display: none; }
.menu summary span, .menu summary span::before, .menu summary span::after { display: block; width: 18px; height: 2px; background: var(--ink, #15171C); border-radius: 2px; position: relative; content: ""; }
.menu summary span::before { position: absolute; top: -6px; } .menu summary span::after { position: absolute; top: 6px; }
.menu .panel { position: absolute; right: 0; top: 50px; background: #fff; border: 1px solid var(--line, #E7E5DF); border-radius: 16px; box-shadow: 0 20px 40px -20px rgba(0,0,0,.3); padding: 10px; display: grid; min-width: 220px; z-index: 40; }
.menu .panel a { padding: .7em .8em; border-radius: 10px; font-weight: 700; }
.menu .panel a:hover { background: var(--soft, #F5F4F0); }

@media (max-width: 900px) { .menu { display: block; } }
@media (max-width: 600px) { .nav .wrap { gap: 10px !important; } .nav-actions { gap: 8px !important; } .nav-actions .btn-primary, .nav-actions .btn-main { display: none !important; } .logo { font-size: 1.05rem !important; white-space: nowrap; } }

/* top bar: keep everything on one line */
.nav .logo { white-space: nowrap; }
.nav .nav-links { white-space: nowrap; gap: 22px !important; margin-left: 4px !important; }
.nav .nav-actions .btn { white-space: nowrap; }
@media (max-width: 1220px) { .nav .nav-actions .wa-btn { display: none !important; } }
@media (min-width: 901px) and (max-width: 1060px) { .nav .nav-links { gap: 16px !important; font-size: .9rem !important; } }

/* "Meet 2 teachers" card: lead with meeting the teachers, price second */
.pcard .lbl { font-size: 1.6rem !important; font-weight: 800 !important; letter-spacing: -0.02em; line-height: 1.15; }
.pcard .amt { font-size: 2rem !important; }
.ticket .amt { font-size: 2.2rem !important; }
