/* v0.5.20: explicit, page-agnostic QA fixes. Enqueued after legacy styles. */
:root { --peach-line-cta:#06C755; --peach-other-cta:#E8A06A; --peach-site-cta:#396E77; }
/* Primary LINE action on all FV pages, without JavaScript role guessing. */
body .hero .peach-fv-line-primary,
body .pcnx-root .hero .peach-fv-line-primary,
body .pc-service .hero .peach-fv-line-primary,
body #hero .peach-fv-line-primary {
  display:inline-flex!important;justify-content:center;align-items:center;gap:10px;
  background:#06C755!important;border:1px solid #06C755!important;
  background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  text-decoration:none!important;opacity:1!important;font-weight:800!important;
  min-height:52px;padding:11px 20px;line-height:1.5;
}
body .hero .peach-fv-line-primary :is(.peach-line-label,.cta-arrow) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
body .hero .peach-fv-line-primary .peach-fv-line-mark {
  display:inline-flex!important;align-items:center;justify-content:center;
  width:37px;min-width:37px;height:32px;min-height:32px;
  background:#fff!important;border:1px solid rgba(6,130,60,.2)!important;
  border-radius:9px!important;flex:none;box-shadow:none;
}
body .hero .peach-fv-line-primary .peach-fv-line-mark span {
  color:#06C755!important;-webkit-text-fill-color:#06C755!important;
  font-family:Arial,sans-serif;font-weight:900;font-size:10px;letter-spacing:-.04em;
}
body .hero .peach-fv-line-primary.peach-fv-button--pending {cursor:default;}
/* Menu must be above hero and independently interactive on EVERY template. */
body .site-header {z-index:9000!important;isolation:isolate;overflow:visible!important;}
body .site-header .header-inner {position:relative;z-index:2;}
@media(max-width:1100px){
 body .site-header .menu-toggle {position:relative!important;z-index:5!important;display:flex!important;pointer-events:auto!important;touch-action:manipulation;}
 body .site-header #mobile-nav[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important;}
 body .site-header #mobile-nav:not([hidden]){
   display:block!important;visibility:visible!important;pointer-events:auto!important;
   z-index:9001!important;top:100%!important;left:0!important;right:0!important;
   position:absolute!important;max-height:calc(100dvh - 62px)!important;overflow-y:auto!important;
 }
 body .site-header #mobile-nav .pc-menu-link {touch-action:manipulation;}
}
/* Highlight the full PEACH CONNECT column, not the colored text span. */
body .pcnx-root .pcnx-compare-head>span:nth-child(2){background:#286c6d!important;color:#fff!important;}
body .pcnx-root .pcnx-compare-row>p:nth-child(2){
  background:#E7F6F1!important;background-image:none!important;
  border-radius:0!important;box-shadow:none!important;
  display:flex!important;align-items:center;align-self:stretch!important;
  height:100%!important;min-height:100%!important;
  margin:0!important;padding:18px 20px!important;color:#20545b!important;
}
body .pcnx-page-branding .pcnx-brand-compare table {border-collapse:collapse!important;}
body .pcnx-page-branding .pcnx-brand-compare :is(th,td).pcnx-brand-compare-best{
  background-color:#E7F6F1!important;background-image:none!important;
  background-clip:border-box!important;color:#20545b!important;
  box-shadow:none!important;border-radius:0!important;
}
body .pcnx-page-branding .pcnx-brand-compare thead th.pcnx-brand-compare-best{
  background:#286c6d!important;color:#fff!important;
}
body .pcnx-page-branding .pcnx-brand-compare td.pcnx-brand-compare-best .pcnx-brand-check{background:#fff!important;color:#087e65!important;}
/* The first representative portrait is portrait-oriented: never crop the face. */
body .pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo,
body .pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-portrait-face-safe {
  aspect-ratio:4/5!important;max-height:none!important;min-height:0!important;
  background:#f3f8f6!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden!important;
}
body .pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo img{
  width:100%!important;height:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center top!important;transform:none!important;
}
/* Keep Japanese brand names intact, without forcing arbitrary clip/overflow. */
body .peach-brand-keep {white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;}
@media(max-width:760px){
 /* Desktop comparison remains a real four-column table on phones. Only the table scrolls. */
 body .pcnx-page-branding .pcnx-brand-compare {
   display:block!important;max-width:100%!important;width:100%!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch;
   touch-action:pan-x pan-y;
 }
 body .pcnx-page-branding .pcnx-brand-compare table {
   display:table!important;width:860px!important;min-width:860px!important;table-layout:fixed!important;
 }
 body .pcnx-page-branding .pcnx-brand-compare thead {display:table-header-group!important;}
 body .pcnx-page-branding .pcnx-brand-compare tbody {display:table-row-group!important;}
 body .pcnx-page-branding .pcnx-brand-compare tr {display:table-row!important;margin:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;}
 body .pcnx-page-branding .pcnx-brand-compare tr>th,
 body .pcnx-page-branding .pcnx-brand-compare tr>td{
   display:table-cell!important;box-sizing:border-box!important;width:auto!important;
   padding:14px 15px!important;vertical-align:middle!important;border-bottom:1px solid #dce9e9!important;
 }
 body .pcnx-page-branding .pcnx-brand-compare thead th:nth-child(1){width:170px!important;}
 body .pcnx-page-branding .pcnx-brand-compare thead th:nth-child(2){width:230px!important;}
 body .pcnx-page-branding .pcnx-brand-compare thead th:nth-child(3){width:220px!important;}
 body .pcnx-page-branding .pcnx-brand-compare thead th:nth-child(4){width:240px!important;}
 body .pcnx-page-branding .pcnx-brand-compare td::before{display:none!important;content:none!important;}
 body .pcnx-page-branding .pcnx-brand-compare tbody th{background:#f9fcfc!important;color:#184d55!important;}
 body .pcnx-page-branding .pcnx-brand-compare tbody td.pcnx-brand-compare-best{background:#E7F6F1!important;}
 body .pcnx-root .pcnx-compare-head,body .pcnx-root .pcnx-compare-row{align-items:stretch!important;}
 body .pcnx-root .pcnx-compare-row>p:nth-child(2){height:auto!important;min-height:100%!important;}
 /* Allow menu, fixed header and gallery to stay inside iPhone SE viewport. */
 html,body{max-width:100%;overflow-x:clip;}
 body .hero .peach-fv-line-primary{width:min(100%,380px);font-size:14px!important;padding:11px 13px;}
 body .pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo {max-height:none!important;}
}
