/* Shared public website and account presentation. Uses only local assets. */
:root {
  --site-ink: #17354b;
  --site-muted: #536c7c;
  --site-line: #dce5ee;
  --site-blue: #005a94;
  --site-surface: #f4f7fb;
}
body:has(.site-header) {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  background: #fbfcfe;
  color: var(--site-ink);
}
.site-header.site-header {
  height: 88px;
  padding-inline: max(5%, calc((100% - 1440px) / 2));
  border-bottom: 1px solid var(--site-line);
  box-shadow: 0 3px 20px #17354b05;
  background: #fff;
}
.site-header .header-logo { width: 218px; }
.site-header nav[aria-label="Ana menü"] { gap: 8px; font-size: 13px; }
.site-header #nav>a { border-radius: 8px; padding: 12px 13px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
.site-header #nav>a.active { background: #eaf3fa; color: var(--site-blue); }
.site-header #nav>a:not(.navcta):hover { background: #f0f5fa; color: var(--site-blue); }
.site-header #nav>a.nav-register { border: 1px solid var(--site-line); color: var(--site-ink); }
.site-header #nav>a.navcta { background: var(--site-blue); color: #fff; }
.site-header #nav>a.navcta:hover { background: #004774; }
.site-header .menu { border: 1px solid var(--site-line); border-radius: 8px; padding: 10px 14px; background: #f4f7fb; }
body:has(.site-header) :is(h1,h2,h3,h4) { text-wrap: balance; }
body:has(.site-header) p { line-height: 1.85; }
body:has(.site-header) .eyebrow { color: var(--site-blue); font-size: 11px; letter-spacing: .16em; }
body:has(.site-header) :is(.section,.home-intro) { padding: clamp(48px, 6vw, 88px) max(6%, calc((100% - 1320px) / 2)); }
body:has(.site-header) :is(.section,.home-intro) h2 { font-weight: 600; letter-spacing: -.04em; }
body:has(.site-header) .innerhero {
  margin: 24px max(3%, calc((100% - 1440px) / 2)) 0;
  min-height: 520px;
  padding: 76px 6%;
  border-radius: 24px;
  overflow: hidden;
  background: #102d43;
}
body:has(.site-header) .innerhero::before { background: linear-gradient(90deg, #0b253ce8 5%, #0b253c8a 60%, #0b253c35); }
body:has(.site-header) .innerhero .eyebrow { color: #c7e4fa; }
body:has(.site-header) .innerhero h1 { font-size: clamp(40px, 5.5vw, 76px); font-weight: 600; letter-spacing: -.045em; line-height: 1.08; max-width: 900px; }
body:has(.site-header) .innerhero p { color: #e1edf5; font-size: 17px; max-width: 58ch; }
body:has(.site-header) .button { border-radius: 9px; background: var(--site-blue); color: #fff; min-height: 48px; font-size: 14px; line-height: 1.6; align-items: center; }
body:has(.site-header) .button:hover { background: #004774; }
body:has(.site-header) .innerhero .button { background: #fff; color: #17354b; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 12px; }
.hero-actions .hero-contact { color: white; padding: 16px 0; min-height: 48px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
body:has(.site-header) .home-film { min-height: min(680px, 78svh); }
.home-shortcuts { max-width: 1320px; margin: 24px auto 0; padding: 0 24px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.home-shortcuts>a { display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--site-line); border-radius: 12px; padding: 20px 24px; background: white; font-size: 15px; font-weight: 600; }
.home-shortcuts>a span { display: block; font-size: 12px; font-weight: 400; color: var(--site-muted); margin-top: 6px; line-height: 1.6; }
.site-arrow { display: inline-block; flex: none; vertical-align: middle; }
.home-shortcuts>a>.site-arrow { color: var(--site-blue); }
.hero-contact .site-arrow { margin-left: 8px; }
.home-shortcuts>a:hover { border-color: #7daacb; background: #f2f7fc; }
body:has(.site-header) .split { grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 0; background: transparent; gap: 20px; padding: 40px max(3%, calc((100% - 1440px) / 2)) 0; }
body:has(.site-header) .split .panel { min-height: 440px; border: 0; border-radius: 18px; padding: 36px 30px; }
body:has(.site-header) .panel h2 { font-weight: 600; font-size: clamp(34px, 3vw, 48px); letter-spacing: -.04em; }
body:has(.site-header) .panel .eyebrow { color: #c7e4fa; }
body:has(.site-header) .panel-link { font-size: 13px; gap: 12px; }
body:has(.site-header) .panel-link span { color: #c7e4fa; }
body:has(.site-header) :is(.card,.editorial-card,.picture-card,.detail-section) { border-color: var(--site-line); border-radius: 16px; box-shadow: 0 4px 24px #17354b05; }
body:has(.site-header) .card:not(.product-card) { padding: 30px; }
body:has(.site-header) :is(.card,.editorial-card) h3 { font-weight: 600; letter-spacing: -.025em; }
body:has(.site-header) .editorial-card:hover { border-color: #91b4cd; box-shadow: 0 8px 28px #17354b0c; }
body:has(.site-header) .dark { background: #102d43; }
body:has(.site-header) .dark .card { background: #193c54; border-color: #416077; }
body:has(.site-header) .dark .eyebrow { color: #c7e4fa; }
body:has(.site-header) .request { background: #edf4fb; border-block: 1px solid var(--site-line); }
body:has(.site-header) .request :is(input,select,textarea) { border: 1px solid #9cB2c4; border-radius: 8px; background: #fff; padding: 13px; margin-top: 8px; min-height: 48px; }
body:has(.site-header) .request label { font-size: 13px; font-weight: 500; }
body:has(.site-header) .faq details { border: 1px solid var(--site-line); border-radius: 12px; padding: 0 22px; margin-bottom: 12px; background: white; }
body:has(.site-header) .faq summary { line-height: 1.6; font-size: 15px; }
body:has(.site-header) .step { border-color: #b5c8d8; }
body:has(.site-header) .step>span { color: #7195b1; }
body:has(.site-header) .crosslinks { background: #f4f7fb; border-color: var(--site-line); }
body:has(.site-header) .crosslinks a span { color: var(--site-blue); }
body:has(.site-header) .fish-catalog>.collection-heading { background: #edf4fa; border: 1px solid var(--site-line); border-radius: 16px; padding: 24px; }
body:has(.site-header) .guide-copy { padding: 24px; }
body:has(.site-header) :is(.guide-copy h3,.guide-copy h4) { font-weight: 600; }
body:has(.site-header) .guide-photo { background: #f1f5fa; }
body:has(.site-header) .seo-main { max-width: 1360px; padding: 40px max(24px, 3%) 76px; }
body:has(.site-header) :is(.seo-main,.company-main,.legal-main) :is(.seo-breadcrumb,.company-breadcrumb) { color: var(--site-muted); font-size: 13px; line-height: 1.8; }
body:has(.site-header) .detail-intro { border-color: var(--site-line); gap: 48px; }
body:has(.site-header) .detail-intro h1 { font-weight: 600; }
body:has(.site-header) .detail-cover { border-radius: 20px; background: #f0f5fa; }
body:has(.site-header) .detail-section { background: #fff; padding: 32px; }
body:has(.site-header) .detail-section h2 { font-weight: 600; letter-spacing: -.03em; }
body:has(.site-header) :is(.seo-cta,.info-cta) { background: #eaf3fb; border: 1px solid #d1e2ef; border-radius: 18px; padding: 32px; }
body:has(.site-header) .company-main { --ink: #17354b; --muted: #536c7c; --line: #dce5ee; padding-top: 36px; }
body:has(.site-header) .company-main :is(h1,h2,h3) { font-weight: 600; }
body:has(.site-header) .company-hero { border-radius: 24px; background: #102d43; }
body:has(.site-header) .company-hero-copy { background: linear-gradient(145deg,#173d58,#102d43); }
body:has(.site-header) .company-button { background: #eaf3fb; color: #17354b; border-radius: 9px; min-height: 48px; }
body:has(.site-header) .company-sector { border-radius: 18px; overflow: hidden; border-color: var(--site-line); }
body:has(.site-header) .company-invitation { background: #eaf3fb; border: 1px solid #d1e2ef; border-radius: 20px; }
body:has(.site-header) .company-identity { background: #f0f5fa; border-color: var(--site-line); border-radius: 16px; }
body:has(.site-header) .contact-direct { background: #153b55; border: 1px solid #294e69; border-radius: 20px; }
body:has(.site-header) .contact-route { border-color: var(--site-line); border-radius: 12px; }
body:has(.site-header) .contact-route:hover { background: #f0f6fb; }
body:has(.site-header) .legal-main { color: var(--site-ink); }
body:has(.site-header) .legal-main :is(h1,h2) { font-weight: 600; }
body:has(.site-header) :is(.legal-card,.legal-company,.legal-contact,.legal-template) { border-color: var(--site-line); border-radius: 14px; }
body:has(.site-header) :is(.legal-company,.legal-contact,.legal-template) { background: #edf4fa; }
body:has(.site-header) .legal-toc a { background: #f0f5fa; border-color: var(--site-line); border-radius: 8px; min-height: 44px; display: flex; align-items: center; }
.site-footer.site-footer { display: block; background: #102b40; padding: 56px max(6%, calc((100% - 1320px) / 2)) 24px; }
.site-footer .footer-invitation { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #ffffff26; }
.site-footer .footer-invitation h2 { font-size: clamp(26px,3vw,40px); line-height: 1.2; letter-spacing: -.035em; font-weight: 500; margin: 0 0 12px; }
.site-footer .footer-invitation p { margin: 0; color: #c5d6e3; font-size: 14px; }
.site-footer .footer-invitation>a { background: #fff; color: #17354b; padding: 15px 22px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 14px; min-height: 48px; flex-shrink: 0; }
.site-footer .footer-main { display: grid; grid-template-columns: 1.4fr repeat(3,minmax(0,1fr)); gap: 40px; }
.site-footer .footer-group h2 { color: #eff6fb; letter-spacing: 0; font-size: 15px; font-weight: 600; }
.site-footer .footer-group a { color: #c5d6e3; line-height: 1.6; display: inline-flex; align-items: center; min-height: 44px; }
.site-footer .footer-group a:hover { color: white; text-decoration: underline; text-underline-offset: 5px; }
.site-footer .footer-bottom { border-color: #ffffff26; margin-top: 36px; }
.site-footer .footer-bottom a { color: #c5d6e3; }
/* Account, verification, setup and logistics application screens share the palette. */
.auth-page.auth-page { --auth-ink: #17354b; --auth-muted: #536c7c; --auth-line: #dce5ee; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; background: #f4f7fb; }
.auth-page .auth-layout { border-color: var(--site-line); box-shadow: 0 16px 56px #17354b0a; }
.auth-page .auth-story { background: #102d43; }
.auth-page .auth-story:after { background: linear-gradient(180deg,#102d4338,#102d43ef); }
.auth-page .auth-story h2 em { color: #b8dff9; }
.auth-page .auth-panel h1 { font-weight: 600; color: var(--site-ink); }
.auth-page .auth-story-footer span:last-child { color: #b8dff9; }
.auth-page .auth-tabs { background: #edf3f9; border-radius: 10px; }
.auth-page .auth-tabs button[aria-pressed=true] { color: var(--site-blue); }
.auth-page .auth-primary { background: var(--site-blue); border-radius: 9px; }
.auth-page .auth-primary:hover:not(:disabled) { background: #004774; }
.auth-page input { border-color: #a6b9c8; background: #fbfcfe; }
.logistics-application.logistics-application { font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; background: #f4f7fb; color: var(--site-ink); }
.logistics-application .application-card { border-color: var(--site-line); border-radius: 18px; box-shadow: 0 4px 24px #17354b05; }
.logistics-application .application-intro h1 { font-weight: 600; letter-spacing: -.04em; }
.logistics-application .application-steps li { border-radius: 8px 8px 0 0; background: #eaf1f7; }
.logistics-application .application-steps li[aria-current] { border-color: var(--site-blue); background: #e4f0fa; }
.logistics-application .application-card :is(input,select,textarea) { border-radius: 8px; background: #fbfcfe; border-color: #728997; }
.logistics-application .application-card button,.logistics-application .application-button { border-radius: 9px; min-height: 48px; }
body:has(.site-header) :focus-visible { outline: 3px solid #0075bd; outline-offset: 4px; }
.site-footer :focus-visible { outline-color: #b8dff9; }
@media (max-width: 1280px) and (min-width: 1101px) {
  .site-header #nav>a { padding: 12px 9px; }
  .site-header .header-logo { width: 190px; }
}
@media (max-width: 1100px) {
  .site-header nav[aria-label="Ana menü"] { top: 88px; max-height: calc(100dvh - 88px); padding: 16px 5% 24px; border-bottom: 1px solid var(--site-line); box-shadow: 0 12px 24px #17354b12; }
  .site-header #nav>a { padding: 13px 16px; }
  .site-footer .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
}
@media (max-width: 850px) {
  .site-header.site-header { height: 76px; }
  .site-header .header-logo { width: 190px; }
  .site-header nav[aria-label="Ana menü"] { top: 76px; max-height: calc(100dvh - 76px); }
  body:has(.site-header) .innerhero { margin: 16px 20px 0; padding: 52px 28px 64px; min-height: 460px; border-radius: 18px; }
  body:has(.site-header) .home-film { min-height: 520px; }
  body:has(.site-header) .split { grid-template-columns: minmax(0,1fr); padding: 28px 20px 0; gap: 16px; }
  body:has(.site-header) .split .panel { min-height: 320px; padding: 30px; }
  .home-shortcuts { gap: 10px; padding: 0 20px; }
  .home-shortcuts>a { padding: 18px; font-size: 14px; }
  body:has(.site-header) .detail-intro { gap: 28px; }
  .site-footer .footer-invitation { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 600px) {
  .site-header.site-header { padding-inline: 20px; gap: 12px; }
  .site-header .header-logo { width: 176px; }
  body:has(.site-header) .innerhero { margin-inline: 12px; padding: 42px 24px 70px; }
  body:has(.site-header) .innerhero h1 { font-size: clamp(34px,9vw,48px); }
  body:has(.site-header) .innerhero p { font-size: 16px; }
  body:has(.site-header) .home-film { min-height: 530px; }
  .hero-actions { gap: 8px 20px; }
  .home-shortcuts { grid-template-columns: minmax(0,1fr); margin-top: 16px; padding-inline: 16px; }
  .home-shortcuts>a { padding: 18px 20px; }
  body:has(.site-header) .split { padding-inline: 16px; }
  body:has(.site-header) .split .panel { min-height: 330px; padding: 28px; }
  body:has(.site-header) :is(.section,.home-intro) { padding: 48px 20px; }
  body:has(.site-header) .fish-catalog>.collection-heading { padding: 18px; flex-direction: column; align-items: flex-start; }
  body:has(.site-header) .fish-catalog>.collection-heading>:is(img,video) { width: 100%; height: 170px; }
  body:has(.site-header) :is(.detail-section,.seo-cta,.info-cta) { padding: 24px; }
  body:has(.site-header) .seo-main { padding: 28px 20px 48px; }
  body:has(.site-header) .company-main { padding-top: 24px; }
  .site-footer.site-footer { padding: 40px 20px 24px; }
  .site-footer .footer-main { gap: 28px 20px; }
  .site-footer .footer-identity { grid-column: 1 / -1; }
  .site-footer .footer-invitation { padding-bottom: 28px; margin-bottom: 28px; }
  .site-footer .footer-bottom { gap: 16px; }
}
@media (max-width: 380px) {
  .site-header .header-logo { width: 154px; }
  .site-header .menu { padding: 10px; }
  .site-footer .footer-main { grid-template-columns: minmax(0,1fr); }
  body:has(.site-header) .innerhero { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.site-header) *, body:has(.site-header) *::before { scroll-behavior: auto; transition: none; }
}

.site-skip-link {
  position: fixed; z-index: 100; top: 12px; left: 12px;
  padding: 14px 20px; border-radius: 8px; background: white; color: #17354b;
  border: 2px solid #005a94; font-size: 15px; text-decoration: none;
  transform: translateY(-200%);
}
.site-skip-link:focus { transform: translateY(0); outline: 3px solid #71b9e8; outline-offset: 3px; }
#site-main, #auth-content, #application-content { scroll-margin-top: 108px; }
.detail-toc.detail-toc {
  position: static; inset: auto; display: flex; flex-wrap: wrap; align-items: center;
  flex-direction: row; justify-content: flex-start;
  gap: 10px; padding: 20px 0; margin-top: 12px; width: 100%; max-height: none;
  overflow: visible; background: transparent; box-shadow: none;
}
.detail-toc>span { font-size: 12px; font-weight: 600; color: #536c7c; margin-right: 8px; }
.detail-toc>a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid #dce5ee; border-radius: 8px; background: white; color: #005a94; font-size: 13px; line-height: 1.6; }
.detail-toc>a:hover { background: #eaf3fb; border-color: #91b4cd; }
.detail-section[id] { scroll-margin-top: 110px; }
@media (max-width: 600px) {
  .detail-toc>span { width: 100%; }
  .detail-toc>a { max-width: 100%; }
  .detail-section[id] { scroll-margin-top: 96px; }
}

/* Clear boundaries and readable hints across public forms and filters. */
body:has(.site-header) :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-color:#728997}
body:has(.site-header) :is(input,textarea)::placeholder{color:#607376;opacity:1}
/* Enlarged text must wrap inside hero and FAQ columns instead of being clipped. */
body:has(.site-header) .innerhero>div:not(.hero-frames):not(.hero-controls),body:has(.site-header) .faq>div{min-width:0;max-width:100%}
