/*
Theme Name: Serkan Oral Online
Theme URI: https://online.serkanoral.com/
Author: serkanoral.com
Description: Online görüşme ücreti için hafif WooCommerce teması: tek sayfa, ödeme butonu doğrudan ödeme formuna gider; mağaza, sepet ve ürün sayfaları görünmez. serkanoral.com'un kurumsal görünümü (logo, renkler, Plus Jakarta Sans).
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
WC requires at least: 8.0
License: Proprietary
Text Domain: serkanoral-online
*/

/* Brand tokens, the same as serkanoral.com's corporate theme (site/src/themes/corporate.css). */
:root {
	--bg: #FFFFFF; --alt: #F4F8FC; --ink: #1A2440; --mut: #56637E; --line: #DFE7F1;
	--brand: #1C2F78; --acc: #13A6C6; --acc-ink: #0B7893; --acc-soft: #E3F5FA; --wa: #15803D;
	--radius: 14px; --radius-lg: 20px;
	--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

@font-face { font-family: "Plus Jakarta Sans Variable"; font-style: normal; font-display: swap; font-weight: 200 800;
	src: url("assets/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Plus Jakarta Sans Variable"; font-style: normal; font-display: swap; font-weight: 200 800;
	src: url("assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--alt); color: var(--ink); font: 16px/1.6 var(--font); display: flex; flex-direction: column; min-height: 100vh; }
a { color: var(--acc-ink); }
img { max-width: 100%; height: auto; }
.so-wrap { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 900px) { .so-wrap { padding: 0 40px; } }
.so-main { flex: 1; padding: 40px 0 64px; }

/* Header: logo and a way back to the main site. */
.so-header { background: var(--bg); border-bottom: 1px solid var(--line); }
.so-header__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; }
.so-logo img { display: block; height: 40px; width: auto; }
.so-header__links { display: flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 600; }
.so-header__links a { color: var(--ink); text-decoration: none; }
.so-header__links a:hover { color: var(--acc-ink); }
.so-header__back { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; white-space: nowrap; }
@media (max-width: 600px) {
	.so-logo img { height: 28px; }
	.so-header__in { min-height: 60px; }
	.so-header__links a:not(.so-header__back) { display: none; }
	.so-header__back { font-size: 13px; padding: 6px 12px; }
}

/* Front page: one card with the fee. */
.so-pay { display: grid; place-items: center; }
.so-card { width: 100%; max-width: 560px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 36px 32px; text-align: center; box-shadow: 0 18px 48px rgba(28, 47, 120, .08); }
@media (max-width: 600px) { .so-card { padding: 28px 20px; } }
.so-eyebrow { display: inline-block; font-size: 13px; font-weight: 700; color: var(--acc-ink); background: var(--acc-soft); padding: 4px 12px; border-radius: 999px; }
.so-card h1, .so-page h1 { margin: 14px 0 0; color: var(--brand); font-size: 32px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; }
.so-lead { margin: 12px 0 0; color: var(--mut); font-size: 17px; }
.so-price { margin: 22px 0 0; color: var(--brand); font-size: 44px; line-height: 1; font-weight: 800; letter-spacing: -.02em; }
.so-price del { color: var(--mut); font-size: 24px; font-weight: 600; margin-right: 8px; }
.so-price ins { text-decoration: none; }
.so-btn { display: block; margin: 26px 0 0; padding: 16px 22px; border-radius: var(--radius); background: var(--acc); color: #FFFFFF; font-weight: 700; font-size: 17px; text-decoration: none; transition: background .15s; }
.so-btn:hover, .so-btn:focus-visible { background: var(--acc-ink); color: #FFFFFF; }
.so-note { margin: 16px 0 0; color: var(--mut); font-size: 14px; }
.so-wa { display: inline-block; margin-top: 18px; color: var(--wa); font-weight: 700; font-size: 14px; text-decoration: none; }
.so-wa:hover { text-decoration: underline; }

/* Payment form and thank-you page (WooCommerce's classic forms). */
.so-page { max-width: 980px; }
.so-page h1 { margin: 0 0 24px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; font: inherit; background: #FFFFFF; min-height: 46px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.woocommerce form .form-row label { font-weight: 600; font-size: 14px; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-order {
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px;
}
.woocommerce-checkout #order_review_heading { color: var(--brand); margin: 28px 0 12px; }
.woocommerce-checkout h3 { color: var(--brand); font-size: 20px; }
.woocommerce table.shop_table { border-radius: 12px; border-color: var(--line); }
.woocommerce #payment { background: var(--alt); border-radius: 12px; }
.woocommerce #payment #place_order, .woocommerce button.button.alt, .woocommerce a.button.alt {
	background: var(--acc); color: #FFFFFF; border-radius: var(--radius); padding: 15px 22px; font-weight: 700; font-size: 16px; width: 100%;
}
.woocommerce #payment #place_order:hover, .woocommerce button.button.alt:hover { background: var(--acc-ink); }
.so-accept { margin: 14px 0 6px !important; font-size: 14px; }
.so-accept label { display: flex !important; gap: 8px; align-items: flex-start; font-weight: 500 !important; }
.so-accept input { margin-top: 4px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--acc); border-radius: 10px; }
.woocommerce-thankyou-order-received { color: var(--brand); font-size: 18px; font-weight: 700; }
.woocommerce-order-details, .woocommerce-customer-details { margin-top: 20px; }

/* Footer: contact and the legal texts on serkanoral.com. */
.so-footer { background: var(--brand); color: #C8D3F0; font-size: 14px; padding: 32px 0 20px; }
.so-footer a { color: #FFFFFF; text-decoration: none; }
.so-footer a:hover { text-decoration: underline; }
.so-footer__in { display: grid; gap: 18px; }
@media (min-width: 800px) { .so-footer__in { grid-template-columns: 1.2fr 1fr 1.4fr; } }
.so-footer__in p { margin: 0; }
.so-footer__who b { color: #FFFFFF; }
.so-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 18px; align-content: start; }
.so-footer__copy { margin-top: 24px !important; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: 13px; }
