/* ============================================================
   LOUIE DESIGN · PC INTERACTION STATE SYSTEM v1
   Stage 11-9
   Scope: public PC hover / focus-visible / active consistency only.
   - no layout / spacing / typography / media geometry changes
   - no mobile rules
   ============================================================ */

@media (min-width:901px){
  :root{
    --ld-pc-state-gold:#efc85c;
    --ld-pc-state-gold-soft:rgba(239,200,92,.68);
    --ld-pc-state-focus-halo:rgba(225,179,70,.11);
    --ld-pc-state-hover-bg:rgba(217,173,67,.055);
    --ld-pc-state-active-bg:rgba(217,173,67,.075);
  }

  /* 01. Primary conversion controls: one physical response language. */
  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.portfolio-show-pc-page .sample-show__bottom a:last-child
  ){
    outline:0;
    transition:transform .16s ease,filter .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease!important;
  }

  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.portfolio-show-pc-page .sample-show__bottom a:last-child
  ):active{
    transform:translateY(0)!important;
    filter:brightness(.985)!important;
  }

  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.portfolio-show-pc-page .sample-show__bottom a:last-child
  ):focus-visible{
    outline:2px solid var(--ld-pc-state-gold)!important;
    outline-offset:3px!important;
    box-shadow:0 0 0 4px var(--ld-pc-state-focus-halo)!important;
  }

  /* 02. Compact/chip controls: no floating motion; use border/background feedback. */
  :is(
    body.country-index-pc-page .country-category-nav a,
    body.pricex-page .pricex-quick a,
    body.pricex-page .pricex-category > header > a,
    body.portfolio-list-pc-page .category-tabs a,
    body.portfolio-list-pc-page .pagination a
  ){
    outline:0;
    transition:border-color .16s ease,color .16s ease,background-color .16s ease,box-shadow .16s ease,opacity .12s ease!important;
  }

  :is(
    body.country-index-pc-page .country-category-nav a,
    body.pricex-page .pricex-quick a,
    body.pricex-page .pricex-category > header > a,
    body.portfolio-list-pc-page .category-tabs a,
    body.portfolio-list-pc-page .pagination a
  ):active{
    transform:none!important;
    background-color:var(--ld-pc-state-active-bg)!important;
    filter:none!important;
  }

  :is(
    body.country-index-pc-page .country-category-nav a,
    body.pricex-page .pricex-quick a,
    body.pricex-page .pricex-category > header > a,
    body.portfolio-list-pc-page .category-tabs a,
    body.portfolio-list-pc-page .pagination a
  ):focus-visible{
    outline:2px solid var(--ld-pc-state-gold)!important;
    outline-offset:3px!important;
    border-color:var(--ld-pc-state-gold-soft)!important;
    box-shadow:0 0 0 4px var(--ld-pc-state-focus-halo)!important;
  }

  /* 03. Text navigation links: color/arrow only; never look like a floating card. */
  :is(
    body.country-index-pc-page .country-work-row__copy > a,
    body.services-page--th .services-card--master a,
    body.services-page--vi .services-card--master a,
    body.services-page--ko .services-card--master a,
    body.portfolio-list-pc-page .breadcrumb a,
    body.portfolio-show-pc-page .sample-show__back,
    body.portfolio-show-pc-page .sample-show__bottom a:first-child
  ){
    outline:0;
    transition:color .16s ease,opacity .12s ease,background-color .16s ease,box-shadow .16s ease!important;
  }

  :is(
    body.country-index-pc-page .country-work-row__copy > a,
    body.services-page--th .services-card--master a,
    body.services-page--vi .services-card--master a,
    body.services-page--ko .services-card--master a,
    body.portfolio-list-pc-page .breadcrumb a,
    body.portfolio-show-pc-page .sample-show__back,
    body.portfolio-show-pc-page .sample-show__bottom a:first-child
  ):active{
    transform:none!important;
    opacity:.78;
  }

  :is(
    body.country-index-pc-page .country-work-row__copy > a,
    body.services-page--th .services-card--master a,
    body.services-page--vi .services-card--master a,
    body.services-page--ko .services-card--master a,
    body.portfolio-list-pc-page .breadcrumb a,
    body.portfolio-show-pc-page .sample-show__back,
    body.portfolio-show-pc-page .sample-show__bottom a:first-child
  ):focus-visible{
    outline:2px solid var(--ld-pc-state-gold)!important;
    outline-offset:3px!important;
    border-radius:5px;
    box-shadow:none!important;
  }

  /* 04. Clickable cards: subtle one-pixel lift, clear keyboard focus, neutral press. */
  :is(
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card
  ){
    outline:0;
    transition:transform .16s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease!important;
  }

  :is(
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card
  ):active{
    transform:translateY(0)!important;
  }

  :is(
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card
  ):focus-visible{
    outline:2px solid var(--ld-pc-state-gold)!important;
    outline-offset:3px!important;
    border-color:rgba(239,200,92,.88)!important;
    box-shadow:0 0 0 4px var(--ld-pc-state-focus-halo),0 12px 28px rgba(0,0,0,.28)!important;
  }

  /* 05. Media/samples: focus should be as visible as cards without changing geometry. */
  :is(
    body.pricex-page .pricex-sample,
    body.pricex-page #price-profile .pricex-profile-sample,
    body.portfolio-show-pc-page .sample-show__media
  ){
    outline:0;
  }

  :is(
    body.pricex-page .pricex-sample,
    body.pricex-page #price-profile .pricex-profile-sample,
    body.portfolio-show-pc-page .sample-show__media
  ):focus-visible{
    outline:2px solid var(--ld-pc-state-gold)!important;
    outline-offset:3px!important;
    box-shadow:0 0 0 4px var(--ld-pc-state-focus-halo)!important;
  }

  /* 06. Header / contact rail / footer / modal: same focus strength, existing geometry preserved. */
  :is(
    .site-header .brand,
    .site-header .site-nav a,
    .site-header .locale-switcher a,
    .site-header .nav-toggle,
    .contact-rail__card > a,
    .site-footer-compact__brand,
    .site-footer-compact__bottom a,
    .sample-modal__close
  ):focus-visible{
    outline-color:var(--ld-pc-state-gold)!important;
    outline-width:2px!important;
    outline-style:solid!important;
  }
}

@media (min-width:901px) and (hover:hover) and (pointer:fine){
  /* Primary CTA lift is deliberately capped at 1px site-wide. */
  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.portfolio-show-pc-page .sample-show__bottom a:last-child
  ):hover{
    transform:translateY(-1px)!important;
    filter:brightness(1.025)!important;
  }

  /* Compact controls stay fixed in place. */
  :is(
    body.country-index-pc-page .country-category-nav a,
    body.pricex-page .pricex-quick a,
    body.pricex-page .pricex-category > header > a,
    body.portfolio-list-pc-page .category-tabs a,
    body.portfolio-list-pc-page .pagination a
  ):hover{
    transform:none!important;
    border-color:rgba(239,200,92,.52)!important;
    background-color:var(--ld-pc-state-hover-bg)!important;
  }

  /* Portfolio/service cards share the same restrained lift. */
  :is(
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card
  ):hover{
    transform:translateY(-1px)!important;
  }
}

@media (min-width:901px) and (prefers-reduced-motion:reduce){
  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.pricex-page .pricex-quick a,
    body.pricex-page .pricex-category > header > a,
    body.country-index-pc-page .country-category-nav a,
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.country-index-pc-page .country-work-row__copy > a,
    body.services-page--th .services-card--master a,
    body.services-page--vi .services-card--master a,
    body.services-page--ko .services-card--master a,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card,
    body.portfolio-list-pc-page .category-tabs a,
    body.portfolio-list-pc-page .pagination a,
    body.portfolio-list-pc-page .breadcrumb a,
    body.portfolio-show-pc-page .sample-show__back,
    body.portfolio-show-pc-page .sample-show__bottom a,
    body.pricex-page .pricex-sample,
    body.pricex-page #price-profile .pricex-profile-sample
  ){
    transition:none!important;
  }

  :is(
    body.country-index-pc-page .country-hero__actions .btn,
    body.inquiry-page .inquiry-primary,
    body.whyx-page .whyx-final__cta > a,
    body.services-page--th .services-cta__button,
    body.services-page--vi .services-cta__button,
    body.services-page--ko .services-cta__button,
    body.country-index-pc-page .country-service-card,
    body.country-index-pc-page .country-work-row__samples a.portfolio-card,
    body.portfolio-list-pc-page .portfolio-list-grid a.portfolio-card
  ):hover{
    transform:none!important;
  }
}
