/* Production-only accessibility and layout additions to the v0.2.2 design. */
[hidden] { display:none !important; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:12px 20px; background:#fff; color:#003366; transform:translateY(-180%); }
.skip-link:focus { transform:none; outline:3px solid #007B7B; }
.cookie { width:calc(100% - 32px); max-height:calc(100dvh - 32px); overflow:auto; }
.menu-open .cookie { visibility:hidden; pointer-events:none; }
.cc-head { gap:12px; }
.cc-x { flex:none; }
.cc-switch { height:44px; }
.cc-switch span { top:9px; bottom:9px; }
.cc-actions .btn,.cc-foot .btn,.quick button,.seg button,.tabs button { min-height:44px; }
.footer-grid a,.footer-grid button.linklike { min-height:44px; display:flex; align-items:center; }
.btn { white-space:normal; text-align:center; }
.header-cta .btn { white-space:nowrap; }
.header-inner > * { min-width:0; }
.brand,.menu-btn { flex:none; }
.nav.open { max-height:calc(100dvh - 72px); overflow:auto; }
.tab-panel:focus-visible { outline:3px solid #007B7B; outline-offset:4px; }
fieldset { min-width:0; border:0; padding:0; margin:0; }
fieldset:disabled { opacity:.55; }
.price-card .plan-badge { align-self:flex-start; max-width:100%; margin-top:-50px; color:#fff; background:var(--teal-dark); border-radius:999px; padding:7px 12px; font-size:.8125rem; line-height:20px; font-weight:800; text-align:center; overflow-wrap:anywhere; }
.plan-profile-note { max-width:72ch; margin-bottom:40px; font-size:.875rem; line-height:1.7; color:var(--ink-2); }
.trial-callout { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-bottom:24px; }
.trial-callout p { max-width:65ch; font-size:1.0625rem; line-height:1.7; }
.trial-callout strong { color:var(--ink); }
.trial-callout .trial-cta { width:320px; max-width:100%; min-height:60px; padding:16px 24px; font-size:1.125rem; }
@media(max-width:600px){ .trial-callout .trial-cta { width:100%; } }
.list-price { color:var(--ink-3); font-size:.875rem; }
.tel { display:inline-flex; align-items:center; min-height:44px; font-size:clamp(1.25rem,3vw,1.75rem); font-weight:800; color:var(--ink); }
.btn-wa svg { flex:none; }
.price-tag strong { font-size:clamp(1.7rem,2.6vw,2.25rem); }
.price-tag .price-monthly { font-size:.8125rem; line-height:1.6; font-weight:700; color:var(--ink-2); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.price-grid { align-items:start; row-gap:40px; }
.price-card { padding-top:32px; gap:20px; }
.plan-heading { min-height:104px; }
.plan-heading p { margin-top:8px; font-size:.9375rem; line-height:1.6; color:var(--ink-2); }
.plan-highlights { display:grid; gap:14px; list-style:none; margin:0; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); min-height:188px; }
.plan-highlights li { display:flex; gap:10px; align-items:flex-start; }
.feature-check { display:grid; place-items:center; flex:none; width:22px; height:22px; border-radius:50%; background:var(--panel); color:var(--teal-dark); font-size:13px; font-weight:800; }
.plan-highlights strong { font-size:.9375rem; line-height:1.5; color:var(--ink); }
.plan-highlights small { display:block; margin-top:4px; font-size:.8125rem; color:var(--ink-2); }
.plan-usage h4 { font-size:.9375rem; color:var(--ink); }
.plan-usage .cap { border:0; padding-top:12px; gap:10px; }
.plan-usage .cap li { gap:12px; align-items:baseline; font-size:.9375rem; }
.plan-usage .cap li b { flex:none; white-space:nowrap; }
.capacity-note { margin-top:14px; font-size:.8125rem; line-height:1.6; color:var(--ink-2); }
.price-card .price-tag { padding-top:20px; border-top:1px solid var(--line); }
.price-card [data-buy] { width:100%; }
.plan-refund { display:inline-flex; align-items:center; min-height:44px; color:var(--teal-dark); font-size:.875rem; font-weight:700; text-underline-offset:3px; margin-top:-10px; }
.plan-details { border-top:1px solid var(--line); }
.plan-details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding-top:12px; cursor:pointer; list-style:none; font-weight:800; color:var(--ink); }
.plan-details summary::-webkit-details-marker { display:none; }
.details-chevron { font-size:1.5rem; line-height:1; }
.plan-details[open] .details-chevron { transform:rotate(180deg); }
.plan-details summary:focus-visible,.plan-refund:focus-visible,.pricing-notes a:focus-visible { outline:3px solid var(--teal-dark); outline-offset:3px; }
.plan-details-body { padding:16px 0 0; font-size:.875rem; line-height:1.6; color:var(--ink-2); }
.plan-details-body > p { margin-bottom:20px; }
.plan-details-body ul { list-style:none; padding:0; margin:0; display:grid; gap:20px; }
.plan-details-body h4 { font-size:.9375rem; color:var(--ink); margin-bottom:6px; }
.pricing-notes { margin-top:24px; font-size:.875rem; line-height:1.7; color:var(--ink-2); }
.pricing-notes a { color:var(--teal-dark); text-underline-offset:3px; }
.payment-band { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; }
.payment-band > div { min-width:0; }
.payment-band h3 { font-size:1.0625rem; margin-bottom:6px; }
.payment-band p { font-size:.875rem; color:var(--ink-2); max-width:42ch; }
.payment-logos { display:flex; justify-content:center; align-items:center; max-width:100%; padding:16px; border-radius:10px; background:#263640; }
.payment-logos img { display:block; max-width:100%; width:353px; height:auto; }
.footer-base { gap:20px; align-items:center; }
@media(max-width:900px){ .plan-heading,.plan-highlights { min-height:0; } }
.legal-content { max-width:900px; overflow-wrap:anywhere; }
.legal-content p,.legal-content ul,.legal-content ol,.legal-content table { margin:1rem 0; }
.legal-content h3,.legal-content h4,.legal-content h6 { margin:2rem 0 1rem; font-size:1.2rem; line-height:1.5; }
.legal-content ul,.legal-content ol { padding-left:1.4rem; }
.legal-content li { margin:.5rem 0; }
.legal-content a { color:#007B7B; text-decoration:underline; }
.legal-content table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; }
.legal-content td,.legal-content th { padding:12px; border:1px solid var(--line); min-width:120px; }
.legal-content th { background:var(--navy); color:#fff; }
.screen-pending { display:block; min-height:100%; background:var(--paper-2); }
/* Hero grade labels retain their written case, including lowercase “sınıf”. */
.hero-scope { font-size:clamp(1rem,1.4vw,1.125rem); line-height:1.6; letter-spacing:.01em; text-transform:none; }
.tile strong { overflow-wrap:anywhere; }
.map-showcase { min-width:0; }
.map-route-bridge { font-size:clamp(1.25rem,2.3vw,1.75rem); line-height:1.4; margin-bottom:24px; }
.map-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:20px; }
.map-steps button { display:flex; gap:12px; align-items:center; min-height:60px; padding:14px 16px; border:1px solid var(--line); border-radius:var(--r-md); background:#fff; color:var(--ink-2); font:700 .9375rem/1.5 var(--font); text-align:left; cursor:pointer; }
.map-steps button > span { display:grid; place-items:center; flex:none; width:28px; height:28px; border-radius:50%; background:var(--panel); color:var(--teal-dark); }
.map-steps button[aria-pressed="true"] { color:var(--ink); border-color:var(--teal-dark); background:var(--panel); }
.map-steps button[aria-pressed="true"] > span { background:var(--teal-dark); color:#fff; }
.map-steps button:focus-visible,.map-shot a:focus-visible { outline:3px solid var(--teal-dark); outline-offset:3px; }
.map-shot { margin:0; }
.map-image { aspect-ratio:2590 / 1542; background:#042849; border:1px solid var(--line); border-radius:var(--r-xl); overflow:hidden; }
.map-image img { display:block; width:100%; height:auto; }
.map-shot figcaption { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 24px; padding:12px 0; font-size:.9375rem; color:var(--ink-2); }
.map-shot figcaption p { flex:1 1 360px; }
.map-shot a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--teal-dark); font-weight:700; text-underline-offset:4px; }
.map-followthrough { margin-top:12px; padding:24px; border-radius:var(--r-md); background:var(--panel); }
.map-followthrough h4 { font-size:1.0625rem; margin-bottom:8px; }
.map-followthrough p { color:var(--ink-2); max-width:76ch; }
/* Display the existing logo's v7 artwork; no raster modification or replacement typeface. */
.company-signature { white-space:nowrap; }
.v7-mark { display:inline-block; position:relative; width:2.02em; height:1.25em; vertical-align:-.2em; }
.v7-mark-art { position:absolute; inset:0; background:url('./v7groove-logo-acik-zemin.png') no-repeat; background-size:6.4em auto; background-position:-.327em -.427em; clip-path:polygon(0 0,100% 0,69% 100%,0 100%); }
@media(max-width:560px){
 .cookie { width:auto; max-height:calc(100dvh - 96px); }
 .cc-cat { gap:12px; }
 .cc-head,.cc-body,.cc-foot { padding-left:16px; padding-right:16px; }
 .header-inner { gap:8px; }
 .header-cta .btn { font-size:12px; padding:0 10px; }
 .tabs { gap:8px; }
 .calc-links .btn { min-height:44px; }
 .cap li { gap:12px; }
 .map-steps { grid-template-columns:minmax(0,1fr); gap:8px; }
 .map-steps button { min-height:48px; padding:10px 12px; }
 /* On phones the final step focuses on the existing topic card, not tiny UI text. */
 #map-route .map-image { position:relative; aspect-ratio:1; }
 #map-route .map-image img { position:absolute; right:0; bottom:0; width:325%; max-width:none; height:auto; }
 .map-followthrough { padding:20px; }
}
