/*
Theme Name: Digital Coach
Theme URI: https://digitalcoach.net
Author: Digital Coach
Description: Block theme for Digital Coach — digital sales audit & growth advisory. Direction 1c "Sahne": light paper grounds, graphite measurement surfaces, cinematic scroll reveals. English root layer with a Turkish content tree under /tr/.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: digital-coach
Tags: full-site-editing, block-patterns, editor-style, translation-ready
*/

/* ---------------------------------------------------------------------------
   Only what theme.json cannot express: the design's specific components,
   the scroll-reveal engine, and the sticky mobile CTA.
   Every colour here is a var(--wp--preset--color--*) from theme.json.
   --------------------------------------------------------------------------- */

/* Mono label — the [eyebrow] slot */
.dc-label{
  font-family:var(--wp--preset--font-family--mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  line-height:1.2;
  color:var(--wp--preset--color--accent-text);
}
.dc-label--muted{color:var(--wp--preset--color--ink-2)}
.dc-label--on-dark{color:var(--wp--preset--color--accent-on-dark)}
.dc-label--sm{font-size:10px;letter-spacing:.14em}

/* Brand lockup */
.dc-lockup{display:flex;align-items:center;gap:9px;text-decoration:none}
.dc-lockup svg{display:block;flex-shrink:0}
.dc-lockup__word{
  font-family:var(--wp--preset--font-family--wordmark);
  font-size:21px;
  line-height:1;
  white-space:nowrap;
  color:var(--wp--preset--color--ink);
}
.dc-lockup__dot{color:var(--wp--preset--color--accent-graphic)}
.dc-lockup--light .dc-lockup__word{color:#fff}

/* Header */
.dc-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;min-height:70px;
  border-bottom:1px solid var(--wp--preset--color--border);
}
.dc-nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.dc-nav a{
  font-size:13.5px;font-weight:500;color:var(--wp--preset--color--ink);
  text-decoration:none;padding-bottom:3px;border-bottom:2px solid transparent;
}
.dc-nav a:hover{color:var(--wp--preset--color--action)}
.dc-nav .current-menu-item > a,
.dc-nav a[aria-current="page"]{font-weight:700;border-bottom-color:var(--wp--preset--color--accent-graphic)}

/* Language entry strip (root layer, above the hero) */
.dc-lang-strip{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:14px var(--wp--custom--gutter);
  background:var(--wp--preset--color--paper-2);
  border-bottom:1px solid var(--wp--preset--color--border);
  font-size:15.5px;
}

/* Buttons */
.wp-block-button.is-style-dc-primary .wp-block-button__link{
  background:var(--wp--preset--color--action);color:#fff;
  border-radius:8px;padding:16px 26px;font-weight:700;font-size:15.5px;
  box-shadow:var(--wp--custom--shadow--lift);
}
.wp-block-button.is-style-dc-secondary .wp-block-button__link{
  background:transparent;color:var(--wp--preset--color--ink);
  border:1.5px solid var(--wp--preset--color--ink);
  border-radius:8px;padding:14.5px 24px;font-weight:600;font-size:15.5px;
}
.wp-block-button.is-style-dc-secondary .wp-block-button__link:hover{
  background:var(--wp--preset--color--ink);color:#fff;
}
.dc-on-dark .wp-block-button.is-style-dc-secondary .wp-block-button__link{
  color:#fff;border-color:var(--wp--preset--color--graphite-muted);
}

/* Surfaces */
.dc-card{background:var(--wp--preset--color--paper-2);border-radius:12px;padding:30px 32px}
.dc-card--bordered{background:var(--wp--preset--color--paper);border:1px solid var(--wp--preset--color--border)}
.dc-card--graphite{background:var(--wp--preset--color--graphite);border-radius:12px;padding:30px 32px;box-shadow:var(--wp--custom--shadow--lift)}
.dc-rule{border-left:3px solid var(--wp--preset--color--accent-graphic);border-radius:0 12px 12px 0;padding:24px 28px;background:var(--wp--preset--color--paper-2)}
.dc-rule--action{border-left-color:var(--wp--preset--color--action)}
.dc-rule--warn{border-left-color:var(--wp--preset--color--warn-graphic)}

/* Graphite context: text colours flip to the on-dark tokens */
.dc-on-dark{color:#fff}
.dc-on-dark .dc-muted{color:var(--wp--preset--color--graphite-muted)}
.dc-on-dark hr,.dc-on-dark .dc-divider{border-color:var(--wp--preset--color--graphite-border)}
.dc-muted{color:var(--wp--preset--color--ink-2)}

/* Ladder / step strip — the rule is drawn on scroll */
.dc-ladder{position:relative;padding-top:16px;display:grid;gap:20px}
.dc-ladder__rule{position:absolute;top:0;left:0;right:0;height:2px;background:var(--wp--preset--color--ink);transform-origin:left center}
.dc-on-dark .dc-ladder__rule{background:var(--wp--preset--color--accent-on-dark)}

/* Data panel — DOAS score */
.dc-score{display:flex;align-items:baseline;gap:10px}
.dc-score__value{font-size:64px;font-weight:800;letter-spacing:-.05em;line-height:1}
.dc-score__max{font-size:20px;color:var(--wp--preset--color--graphite-muted)}
.dc-score__level{
  margin-left:auto;font-family:var(--wp--preset--font-family--mono);
  font-size:11px;letter-spacing:.12em;color:#fff;
  background:var(--wp--preset--color--data);padding:5px 9px;border-radius:6px;
}
.dc-bars{display:flex;gap:5px;align-items:flex-end;height:92px}
.dc-bars > span{flex:1;border-radius:3px;background:var(--wp--preset--color--data);display:block;transform-origin:bottom center}
.dc-bars > span.is-low{background:var(--wp--preset--color--accent-graphic)}
.dc-meter{height:7px;background:var(--wp--preset--color--graphite-border-2);border-radius:4px;overflow:hidden}
.dc-meter > span{display:block;height:7px;border-radius:4px;background:var(--wp--preset--color--data);transform-origin:left center}
.dc-meter > span.is-low{background:var(--wp--preset--color--accent-graphic)}

/* Status tints */
.dc-status{border-radius:8px;padding:16px 20px;font-size:16px}
.dc-status--success{background:var(--wp--preset--color--success-bg);border:1px solid var(--wp--preset--color--success-border);color:var(--wp--preset--color--ink)}
.dc-status--error{background:var(--wp--preset--color--error-bg);border:1px solid var(--wp--preset--color--error-border);color:var(--wp--preset--color--ink)}
.dc-on-dark .dc-status--success{background:none;border:0;padding:0;color:var(--wp--preset--color--success-on-dark)}
.dc-on-dark .dc-status--error{background:none;border:0;padding:0;color:var(--wp--preset--color--error-on-dark)}

/* Empty state */
.dc-empty{border:1px dashed var(--wp--preset--color--border-dashed);border-radius:12px;padding:64px 56px;text-align:center;background:var(--wp--preset--color--paper-2)}

/* Image placeholder for [KG] photography slots */
.dc-photo-slot{
  background:var(--wp--preset--color--placeholder);border-radius:12px;
  aspect-ratio:4/5;display:flex;align-items:flex-end;padding:20px;
  font-family:var(--wp--preset--font-family--mono);font-size:10px;
  letter-spacing:.08em;line-height:1.5;color:var(--wp--preset--color--ink-2);
}

/* Footer */
.dc-footer{background:var(--wp--preset--color--graphite-deep);color:#fff;padding:48px var(--wp--custom--gutter)}
.dc-footer__nav{display:flex;flex-wrap:wrap;gap:20px;font-size:13.5px;color:var(--wp--preset--color--graphite-muted)}
.dc-footer__nav a{color:var(--wp--preset--color--graphite-muted);text-decoration:none}
.dc-footer__nav a:hover{color:#fff}
.dc-footer__meta{
  margin-top:36px;padding-top:22px;border-top:1px solid var(--wp--preset--color--graphite-border-2);
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  font-size:13.5px;color:var(--wp--preset--color--graphite-muted);
}
.dc-proof-strip{
  display:flex;flex-wrap:wrap;gap:22px;
  font-family:var(--wp--preset--font-family--mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--graphite-muted);
}

/* Sticky mobile CTA */
.dc-sticky-cta{
  position:fixed;inset:auto 0 0 0;z-index:60;display:none;
  align-items:center;justify-content:space-between;gap:16px;
  padding:14px 18px;background:var(--wp--preset--color--graphite-deep);
}
.dc-sticky-cta__text{font-size:15px;font-weight:600;color:#fff;line-height:1.3}
.dc-sticky-cta__btn{
  background:var(--wp--preset--color--action);color:#fff;text-decoration:none;
  padding:11px 20px;border-radius:8px;font-weight:700;font-size:14px;white-space:nowrap;
}
@media (max-width:781px){
  .dc-sticky-cta{display:flex}
  .dc-header{flex-wrap:wrap;gap:16px;padding-block:14px}
  .dc-nav{gap:16px}
  .dc-score__value{font-size:48px}
  .dc-empty{padding:40px 24px}
}

/* ---------------------------------------------------------------------------
   Scroll reveal — arm-then-play. Elements are visible by default; the
   [data-armed] gate is only ever added by JS, so a failed script or a
   reduced-motion preference can never hide content.
   --------------------------------------------------------------------------- */
@keyframes dcRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes dcFade{from{opacity:0}to{opacity:1}}
@keyframes dcScale{from{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
@keyframes dcWord{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes dcDrawX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes dcDrawY{from{transform:scaleY(0)}to{transform:scaleY(1)}}

[data-dc-anim]{will-change:transform,opacity}
[data-dc-anim="drawx"]{transform-origin:left center}
[data-dc-anim="drawy"]{transform-origin:bottom center}
[data-dc-anim="rise"][data-armed],
[data-dc-anim="fade"][data-armed],
[data-dc-anim="scale"][data-armed]{opacity:0}
[data-dc-anim="word"][data-armed]{transform:translateY(112%)}
[data-dc-anim="drawx"][data-armed]{transform:scaleX(0)}
[data-dc-anim="drawy"][data-armed]{transform:scaleY(0)}

[data-dc-in="1"][data-dc-anim="rise"]{animation:dcRise .85s cubic-bezier(.16,.84,.32,1) var(--dc-d,0s) both}
[data-dc-in="1"][data-dc-anim="fade"]{animation:dcFade .7s ease var(--dc-d,0s) both}
[data-dc-in="1"][data-dc-anim="scale"]{animation:dcScale 1.15s cubic-bezier(.16,.84,.32,1) var(--dc-d,0s) both}
[data-dc-in="1"][data-dc-anim="word"]{animation:dcWord 1s cubic-bezier(.16,.84,.32,1) var(--dc-d,0s) both}
[data-dc-in="1"][data-dc-anim="drawx"]{animation:dcDrawX 1.15s cubic-bezier(.4,0,.2,1) var(--dc-d,0s) both}
[data-dc-in="1"][data-dc-anim="drawy"]{animation:dcDrawY 1.15s cubic-bezier(.4,0,.2,1) var(--dc-d,0s) both}

/* Word-mask headline: each word wrapped so it can rise out of a clip */
.dc-headline .dc-word{display:inline-block;overflow:hidden;vertical-align:bottom}
.dc-headline .dc-word > span{display:block}

@media (prefers-reduced-motion:reduce){
  [data-dc-anim]{opacity:1!important;transform:none!important;animation:none!important}
}
