/* ====================================================== POLİTİKALAR ======
   /politikalar — the company's approved policy texts, set as documents.
   A graphite opening with the index of policies; an ivory reading room where
   each policy keeps its head (number, title, standard, approval) beside the
   text; and a closing for supplier files: WhatsApp, phone and the
   certificates the policies stand on. Texts come only from
   content/policies.json (npm run policies); nothing is written here.

     pol-hero     title, lede, policy index                dark
     policies     the policy texts                         light
     pol-contact  WhatsApp, phone, certificates            light
   Print: a clean black-on-white document, one policy per page.
   ========================================================================== */

.pol-eyebrow { display: flex; align-items: center; gap: .75rem; margin-bottom: clamp(1.4rem, 2.2vw, 2.2rem); color: var(--on-dark-muted); font-size: .72rem; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; }
.pol-eyebrow span { color: var(--gold-lit); }
.pol-eyebrow--light { margin-bottom: clamp(1rem, 1.6vw, 1.4rem); color: var(--muted); }
.pol-eyebrow--light::before { content: ''; width: 1.6rem; height: 1px; background: var(--gold-ink); }

/* ------------------------------------------------------------ opening */
.pol-hero { padding-block: clamp(1.6rem, 3vw, 3rem) clamp(3.5rem, 6vw, 6.5rem); }
.pol-hero__inner { margin-inline: var(--gutter); display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); grid-template-areas: "crumbs crumbs" "copy index"; gap: 0 clamp(2rem, 6vw, 7rem); align-items: end; }
.pol-crumbs { grid-area: crumbs; }
.pol-crumbs ol { display: flex; flex-wrap: wrap; gap: .25rem .6rem; margin-bottom: clamp(2.2rem, 4.4vw, 4.4rem); color: var(--on-dark-muted); font-size: .8125rem; }
.pol-crumbs li + li::before { content: '/'; margin-right: .6rem; color: var(--on-dark-line-strong); }
.pol-crumbs a { display: inline-block; padding-block: .2rem; }
.pol-crumbs a:hover, .pol-crumbs [aria-current] { color: var(--on-dark-ink); }
.pol-hero__copy { grid-area: copy; }
.pol-hero__title { font-size: clamp(3rem, 6vw, 7rem); font-weight: 500; line-height: 1; letter-spacing: -.055em; }
.pol-hero__title span { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.12em; letter-spacing: -.02em; color: var(--gold-lit); }
.pol-hero__lede { max-width: 31rem; margin-top: clamp(1.5rem, 2.4vw, 2.3rem); color: var(--on-dark-body); font-size: clamp(.95rem, 1.08vw, 1.08rem); line-height: 1.8; }

.pol-index { grid-area: index; }
.pol-index ol { border-top: 1px solid var(--on-dark-line); }
.pol-index__row { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) auto 1.2rem; align-items: center; gap: 1rem; min-height: 5rem; padding-block: 1.1rem; border-bottom: 1px solid var(--on-dark-line); transition: color 200ms ease; }
.pol-index__no { color: var(--gold-lit); font-size: .74rem; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.pol-index__name { font-size: clamp(1.2rem, 1.9vw, 2rem); font-weight: 500; letter-spacing: -.035em; }
.pol-index__std { color: var(--on-dark-muted); font-size: .76rem; letter-spacing: .04em; white-space: nowrap; }
.pol-index__row svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.4; transform: rotate(90deg); transition: transform 250ms var(--motion); }
.pol-index__row:hover { color: var(--gold-lit); }
.pol-index__row:hover svg { transform: rotate(90deg) translate(2px, -2px); }

/* ------------------------------------------------------------ the texts */
.policies { background: var(--surface-light); padding-block: clamp(2rem, 4vw, 4rem) clamp(3.5rem, 5.5vw, 6rem); }
.policies__inner { margin-inline: var(--gutter); }
.policy { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 2rem clamp(2.5rem, 6vw, 7rem); align-items: start; padding-block: clamp(3rem, 5vw, 5.5rem); }
.policy + .policy { border-top: 1px solid var(--line); }
.policy__head { position: sticky; top: calc(var(--header-h, var(--masthead)) + 1.5rem); }
.policy__no { color: var(--gold-ink); font-size: .78rem; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.policy__title { margin-top: .9rem; font-size: clamp(2rem, 3.4vw, 3.8rem); font-weight: 500; line-height: 1.04; letter-spacing: -.05em; }
.policy__system { margin-top: 1rem; color: var(--muted); font-size: .9rem; }
.policy__stds { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .9rem; }
.policy__std { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 .95rem; border: 1px solid var(--gold); border-radius: 999px; font-size: .76rem; font-weight: 600; letter-spacing: .02em; transition: background-color 200ms ease, color 200ms ease; }
.policy__std:hover { background: var(--gold); color: var(--on-gold); }
.policy__std--law { border-color: var(--field-line); color: var(--muted); }
.policy__std--law:hover { background: none; color: var(--muted); }
.policy__meta { margin-top: 1.6rem; border-top: 1px solid var(--line); }
.policy__meta div { display: flex; justify-content: space-between; gap: 1rem; padding-block: .65rem; border-bottom: 1px solid var(--line); }
.policy__meta dt { color: var(--muted); font-size: .78rem; }
.policy__meta dd { font-size: .88rem; font-weight: 600; text-align: right; }

.policy__text { max-width: 46rem; }
.policy__text p, .policy__text li { color: var(--ink); font-size: clamp(1rem, 1.12vw, 1.12rem); line-height: 1.85; }
.policy__text p + p, .policy__text p + ul, .policy__text ul + p { margin-top: 1.3rem; }
.policy__text ul { display: grid; gap: .9rem; }
.policy__text li { position: relative; padding-left: 1.8rem; }
.policy__text li::before { content: ''; position: absolute; left: 0; top: .9em; width: 1rem; height: 1px; background: var(--gold-ink); }

.policy__pending { max-width: 46rem; padding: clamp(1.4rem, 2.4vw, 2.2rem); border: 1px dashed var(--field-line); border-radius: 6px; }
.policy__pending-title { display: flex; align-items: center; gap: .7rem; font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; }
.policy__pending-title::before { content: ''; width: .55rem; height: .55rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgb(209 154 23 / .18); }
.policy__pending p + p { margin-top: .6rem; color: var(--muted); font-size: .92rem; line-height: 1.7; }

/* ----------------------------------------------- certificates + contact */
.pol-contact { background: var(--surface-light); padding-block: 0 clamp(4.5rem, 7.5vw, 8.5rem); }
.pol-contact__inner { margin-inline: var(--gutter); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 2.5rem clamp(2.5rem, 6vw, 7rem); align-items: center; padding-top: clamp(3.5rem, 5.5vw, 6rem); border-top: 1px solid var(--line); }
.pol-contact__title { font-size: clamp(2.4rem, 4.4vw, 5rem); font-weight: 500; line-height: 1.04; letter-spacing: -.05em; }
.pol-contact__title span { color: var(--muted); }
.pol-contact__lede { max-width: 31rem; margin-top: 1.2rem; color: var(--muted); font-size: .98rem; line-height: 1.75; }
.pol-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 1.8rem; }
.pol-contact__wa { color: var(--on-gold); gap: .75rem; }
.pol-contact__wa .wa-icon { width: 1.25rem; height: 1.25rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; transform: none; }
.pol-contact__wa:hover .wa-icon { transform: none; }
.pol-contact__phone { display: inline-flex; align-items: center; min-height: 2.75rem; font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; text-decoration: underline; text-decoration-thickness: 1px; text-decoration-color: var(--field-line); text-underline-offset: .3em; }
.pol-contact__phone:hover { color: var(--gold-ink); }

.pol-certs { padding: clamp(1.6rem, 2.6vw, 2.4rem); border: 1px solid var(--line); border-top: 2px solid var(--gold); background: rgb(255 255 255 / .45); }
.pol-certs__title { font-size: clamp(1.15rem, 1.5vw, 1.45rem); font-weight: 500; letter-spacing: -.03em; }
.pol-certs ul { margin-top: 1.1rem; border-top: 1px solid var(--line); }
.pol-certs li a { display: grid; grid-template-columns: 6rem minmax(0, 1fr) 1rem; align-items: center; gap: .8rem; min-height: 3.2rem; border-bottom: 1px solid var(--line); transition: color 200ms ease; }
.pol-certs__code { font-weight: 600; letter-spacing: -.01em; }
.pol-certs__name { color: var(--muted); font-size: .84rem; }
.pol-certs li svg, .pol-certs__all svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.4; }
.pol-certs li a:hover { color: var(--gold-ink); }
.pol-certs__all { display: inline-flex; align-items: center; gap: .8rem; min-height: 2.75rem; margin-top: .8rem; border-bottom: 1px solid var(--field-line); font-size: .86rem; font-weight: 600; }
.pol-certs__all:hover { color: var(--gold-ink); border-color: var(--gold-deep); }

/* ---------------------------------------------------------- responsive */
@media (max-width: 63.99em) {
  .pol-hero__inner { grid-template-columns: 1fr; grid-template-areas: "crumbs" "copy" "index"; row-gap: 2.6rem; }
  .policy { grid-template-columns: 1fr; gap: 1.6rem; }
  .policy__head { position: static; }
  .pol-contact__inner { grid-template-columns: 1fr; }
}
@media (max-width: 47.99em) {
  .pol-hero { padding-block: 1.4rem 3rem; }
  .pol-crumbs ol { margin-bottom: 2rem; }
  .pol-hero__title { font-size: clamp(2.8rem, 13vw, 4rem); }
  .pol-index__row { grid-template-columns: 2rem minmax(0, 1fr) 1rem; row-gap: .2rem; }
  .pol-index__std { grid-column: 2; grid-row: 2; }
  .pol-index__row svg { grid-column: 3; grid-row: 1 / span 2; }
  .policies { padding-block: 1rem 2.6rem; }
  .policy { padding-block: 2.8rem; }
  .pol-contact { padding-bottom: 3.8rem; }
  .pol-contact__inner { padding-top: 3rem; }
  .pol-certs li a { grid-template-columns: 5.2rem minmax(0, 1fr) 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pol-index__row, .pol-index__row svg, .policy__std { transition: none; }
}

/* ---------------------------------------------------------------- print */
@media print {
  @page { margin: 18mm 16mm; }
  .skip-link, .site-header, .mnav, .site-footer, .pol-crumbs, .pol-index, .pol-contact, .policy__pending { display: none !important; }
  body, .pol-hero, .policies { background: #fff !important; color: #000 !important; }
  .pol-hero { padding: 0 0 8mm; border-bottom: 1px solid #000; }
  .pol-hero, .pol-hero * { --ink: #000; --on-dark-ink: #000; --on-dark-body: #222; --on-dark-muted: #444; --gold-lit: #000; color: #000 !important; }
  .pol-hero__inner, .policies__inner { margin-inline: 0; display: block; }
  .pol-hero__title { font-size: 26pt; }
  .pol-hero__lede { max-width: none; font-size: 10.5pt; }
  .policy { display: block; padding: 8mm 0 0; break-before: page; }
  .policy:first-child { break-before: auto; }
  .policy__head { position: static; }
  .policy__title { font-size: 20pt; }
  .policy__std { min-height: 0; padding: 1mm 3mm; border-color: #000; }
  .policy__text { max-width: none; margin-top: 6mm; }
  .policy__text p, .policy__text li { font-size: 10.5pt; line-height: 1.6; color: #000; }
  .policy__text li::before { background: #000; }
}
