/*
Theme Name: PSBIOS Clean (Blocksy child)
Theme URI: https://psbios.download/
Template: blocksy
Description: Clean, light child theme for psbios.download. White pages, light grey bands, slate text, PlayStation-blue accents, soft shadows and rounded cards. Self-hosted Inter headings, system body font, no external requests.
Version: 2.0.0
Text Domain: psbios-retro
*/

@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-700.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/inter-800.woff2) format("woff2")}

:root:root{
  --theme-palette-color-1:#0070d1; /* links / accent */
  --theme-palette-color-2:#0058a8; /* hover */
  --theme-palette-color-3:#1a2233; /* body text */
  --theme-palette-color-4:#0f1a2e; /* headings */
  --theme-palette-color-5:#e3e8f0; /* borders */
  --theme-palette-color-6:#f5f7fb; /* bands / surfaces */
  --theme-palette-color-7:#ffffff; /* page background */
  --theme-palette-color-8:#ffffff; /* header / panels */
  --theme-text-color:#1a2233;
  --theme-headings-color:#0f1a2e;
  --theme-link-initial-color:#0070d1;
  --theme-link-hover-color:#0058a8;
  --theme-border-color:#e3e8f0;
  --psb-blue:#0070d1;
  --psb-blue-h:#0058a8;
  --psb-blue-soft:#eaf3fd;
  --psb-band:#f5f7fb;
  --psb-line:#e3e8f0;
  --psb-muted:#4a5568;
  --psb-shadow:0 1px 2px rgba(16,34,64,.06),0 6px 20px rgba(16,34,64,.07);
  --psb-shadow-h:0 2px 4px rgba(16,34,64,.08),0 12px 28px rgba(16,34,64,.12);
  --psb-radius:12px;
  --psb-head:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --theme-font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --theme-button-background-initial-color:var(--psb-blue);
  --theme-button-background-hover-color:var(--psb-blue-h);
  --theme-button-text-initial-color:#fff;
  --theme-button-text-hover-color:#fff;
  --theme-button-border-radius:10px;
  --theme-content-spacing:1.25em;
  color-scheme:light;
}

html{background:#fff}
body{background:#fff!important;background-image:none!important;color:#1a2233;font-size:17px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (min-width:768px){body{font-size:18px}}
::selection{background:#cfe4fa;color:#0f1a2e}
:focus-visible{outline:3px solid #0070d1;outline-offset:2px;border-radius:4px}

/* ---------- Headings ---------- */
h1,h2,h3,h4,h5,h6,.page-title,.entry-title{font-family:var(--psb-head);color:#0f1a2e;letter-spacing:-.015em;line-height:1.22;text-shadow:none}
h1,.page-title{font-weight:800}
.entry-content h2{font-size:27px;font-weight:800;margin:0 0 .7em;padding:0}
.entry-content h2::before{content:none!important}
.entry-content h3{font-size:21px;font-weight:700;margin-top:1.6em;margin-bottom:.5em;color:#0f1a2e}
@media (min-width:768px){.entry-content h2{font-size:32px}.entry-content h3{font-size:23px}}

/* ---------- Header ---------- */
#header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--psb-line);box-shadow:0 2px 14px rgba(16,34,64,.06)}
#header::after{content:none!important}
.admin-bar #header{top:32px}
@media (max-width:782px){.admin-bar #header{top:0}}
#header [data-row]{background:#fff!important;border:0!important}
.site-title,.site-title a{font-family:var(--psb-head)!important;font-weight:800!important;font-size:20px!important;letter-spacing:-.02em;color:#0f1a2e!important;text-transform:none}
.site-title a{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.site-title a::before{content:"";flex:0 0 32px;width:32px;height:32px;border-radius:9px;box-shadow:0 3px 8px rgba(0,112,209,.28);
  background:#0070d1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 7.5h9a4.5 4.5 0 0 1 4.4 5.4l-.8 4a2.5 2.5 0 0 1-4.4 1.1L14 16h-4l-1.7 2a2.5 2.5 0 0 1-4.4-1.1l-.8-4A4.5 4.5 0 0 1 7.5 7.5z'/%3E%3Cpath d='M8 10.5v3M6.5 12h3'/%3E%3Ccircle cx='15.5' cy='11' r='.6' fill='%23fff'/%3E%3Ccircle cx='17' cy='13' r='.6' fill='%23fff'/%3E%3C/svg%3E") center/22px 22px no-repeat}
#header .ct-menu-link{font-family:var(--psb-head);font-weight:700;font-size:15px;color:#1a2233}
#header .ct-menu-link:hover{color:#0070d1}
#header .menu>li.current-menu-item>.ct-menu-link{color:#0070d1;box-shadow:inset 0 -3px 0 #0070d1}
#header .ct-header-trigger,#header .ct-header-search{color:#1a2233;--theme-icon-color:#1a2233}
#offcanvas .ct-panel-inner{background:#fff}
#offcanvas .ct-menu-link{color:#1a2233;font-family:var(--psb-head);font-weight:700}
#offcanvas .ct-toggle-close{--theme-icon-color:#1a2233}

/* ---------- Hero (theme H1) + intro band ---------- */
[data-vertical-spacing*="top"]{padding-top:0}
.hero-section[data-type="type-1"]{position:relative;padding:44px 0 6px;margin-bottom:0;
  border-image:linear-gradient(180deg,#e9f2fc 0%,#f3f8fe 100%) fill 0//0 100vw}
.hero-section .entry-header{margin:0}
.hero-section .page-title{font-size:32px;line-height:1.16;max-width:22ch}
@media (min-width:768px){.hero-section[data-type="type-1"]{padding-top:64px}.hero-section .page-title{font-size:46px}}
.hero-section .page-title::after{content:"";display:block;width:56px;height:5px;border-radius:5px;background:#0070d1;margin-top:18px}

.entry-content>.psb-lead{padding:22px 0 44px;margin-bottom:0;
  border-image:linear-gradient(180deg,#f3f8fe 0%,#f7faff 100%) fill 0//0 100vw}
.psb-lead>p:first-child{font-size:1.06em;color:#26314a}
.psb-label{font-family:var(--psb-head);font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:#4a5568;margin-bottom:.6em!important}
.psb-label strong{font-weight:800}

/* ---------- Sections / bands ---------- */
.entry-content>.psb-sec{padding:48px 0;margin:0}
.entry-content>.psb-sec:nth-of-type(even){border-image:conic-gradient(#f5f7fb 0 0) fill 0//0 100vw}
.entry-content>.psb-sec>*:last-child{margin-bottom:0}
@media (min-width:768px){.entry-content>.psb-sec{padding:64px 0}}

/* ---------- Links ---------- */
.entry-content a:not(.wp-block-button__link){color:#0070d1;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.entry-content a:not(.wp-block-button__link):hover{color:#0058a8;text-decoration-thickness:2px}

/* ---------- Buttons ---------- */
.wp-block-button__link,.psb-btn{font-family:var(--psb-head);font-weight:700;font-size:16px;letter-spacing:0;border-radius:10px;padding:13px 22px;
  background:#0070d1;color:#fff;box-shadow:0 2px 6px rgba(0,112,209,.25);transition:background .15s,box-shadow .15s,transform .15s}
.wp-block-button__link:hover,.psb-btn:hover{background:#0058a8;color:#fff;box-shadow:0 6px 16px rgba(0,88,168,.28);transform:translateY(-1px)}
.wp-block-button__link:active{transform:none}

/* Region picker: neat grid of cards */
.wp-block-buttons.psb-regions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 1.6em}
.psb-regions .wp-block-button{margin:0;width:auto}
.psb-regions .wp-block-button:last-child{grid-column:1/-1}
@media (min-width:640px){.wp-block-buttons.psb-regions{grid-template-columns:repeat(5,minmax(0,1fr))}.psb-regions .wp-block-button:last-child{grid-column:auto}}
.psb-regions .wp-block-button__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:96px;padding:16px 10px;
  background:#fff;color:#0f1a2e;border:1px solid var(--psb-line);border-radius:var(--psb-radius);box-shadow:var(--psb-shadow);font-size:16px;text-align:center}
.psb-regions .wp-block-button__link::before{content:"";width:34px;height:34px;border-radius:50%;
  background:#eaf3fd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230070d1' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='2.2'/%3E%3C/svg%3E") center/22px no-repeat}
.psb-regions .wp-block-button__link:hover{background:#fff;color:#0070d1;border-color:#0070d1;box-shadow:var(--psb-shadow-h);transform:translateY(-2px)}
.psb-regions .wp-block-button__link:hover::before{background-color:#0070d1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='2.2'/%3E%3C/svg%3E")}

/* Official emulator + guide buttons */
.wp-block-buttons.psb-official,.wp-block-buttons.psb-guides{gap:12px}
.psb-guides .wp-block-button:not(:first-child) .wp-block-button__link{background:#fff;color:#0070d1;border:1.5px solid #0070d1;box-shadow:none}
.psb-guides .wp-block-button:not(:first-child) .wp-block-button__link:hover{background:#0070d1;color:#fff}
@media (max-width:639px){.wp-block-buttons.psb-official>.wp-block-button,.wp-block-buttons.psb-guides>.wp-block-button{width:100%}.psb-official .wp-block-button__link,.psb-guides .wp-block-button__link{width:100%;text-align:center}}

/* ---------- Lists ---------- */
.entry-content ul.wp-block-list{list-style:none;padding-left:0}
.entry-content ul.wp-block-list>li{position:relative;padding-left:28px;margin-bottom:.55em}
.entry-content ul.wp-block-list>li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:#0070d1;box-shadow:0 0 0 4px #eaf3fd}
.entry-content ol.wp-block-list{list-style:none;padding-left:0;counter-reset:psb}
.entry-content ol.wp-block-list>li{position:relative;counter-increment:psb;padding-left:46px;margin-bottom:.8em;min-height:32px}
.entry-content ol.wp-block-list>li::before{content:counter(psb);position:absolute;left:0;top:-.05em;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:#0070d1;color:#fff;font-family:var(--psb-head);font-weight:800;font-size:15px;line-height:1}

/* ---------- Tables ---------- */
.entry-content .wp-block-table{overflow-x:auto;border-radius:var(--psb-radius);box-shadow:var(--psb-shadow);border:1px solid var(--psb-line);background:#fff;margin:1.4em 0}
.entry-content table{border-collapse:collapse;width:100%;background:#fff;border:0;font-size:.92em;margin:0}
.entry-content th{background:#0070d1;color:#fff;font-family:var(--psb-head);font-weight:700;text-align:left;border:0;white-space:nowrap}
.entry-content td,.entry-content th{padding:.75em 1em;border:0;border-bottom:1px solid var(--psb-line)}
.entry-content tbody tr:nth-child(even) td{background:#f5f7fb}
.entry-content tbody tr:last-child td{border-bottom:0}
.entry-content tbody tr:hover td{background:#eaf3fd}

/* ---------- Callouts ---------- */
.entry-content blockquote,.psb-note,.entry-content .psb-callout{background:#eaf3fd;border:1px solid #cfe2f7;border-left:5px solid #0070d1;padding:1em 1.2em;border-radius:var(--psb-radius);color:#1a2233}
.entry-content .psb-callout{margin:1.4em 0}
.entry-content>.psb-sec.psb-sec-note>.psb-note-card{background:#fff;border:1px solid var(--psb-line);border-top:5px solid #0070d1;border-radius:var(--psb-radius);box-shadow:var(--psb-shadow);padding:26px 24px}
.psb-note-card>*:last-child{margin-bottom:0}
.entry-content code,.entry-content kbd{background:#eef2f8;color:#0b3d6e;padding:.12em .42em;border-radius:6px;font-size:.9em;border:1px solid #e1e7f0}

/* ---------- FAQ ---------- */
.psb-faq-item{background:#fff;border:1px solid var(--psb-line);border-radius:var(--psb-radius);box-shadow:var(--psb-shadow);padding:20px 22px;margin:0 0 14px}
.psb-faq-item>h3{margin:0 0 .45em!important;font-size:19px!important;display:flex;gap:12px;align-items:flex-start}
.psb-faq-item>h3::before{content:"?";flex:0 0 28px;height:28px;border-radius:8px;background:#eaf3fd;color:#0070d1;display:grid;place-items:center;font-size:16px;font-weight:800;margin-top:-1px}
.psb-faq-item>*:last-child{margin-bottom:0}
@media (min-width:768px){.psb-faq-item>h3{font-size:20px!important}}

/* ---------- Author box ---------- */
.psb-author{display:flex;gap:16px;margin-top:2.5em;padding:20px;background:#fff;border:1px solid var(--psb-line);border-radius:var(--psb-radius);box-shadow:var(--psb-shadow)}
.psb-author .psb-avatar{flex:0 0 56px;height:56px;display:grid;place-items:center;background:#0070d1;color:#fff;font-family:var(--psb-head);font-weight:800;font-size:20px;border-radius:50%}
.psb-author p{margin:.3em 0 0;font-size:.95em;color:#4a5568}
.psb-author strong{font-family:var(--psb-head);color:#0f1a2e}

/* ---------- Generic pages (trust pages) ---------- */
.entry-content>h2:first-child{margin-top:0}
.entry-content>p,.entry-content>ul,.entry-content>ol{color:#1a2233}

/* ---------- Footer ---------- */
#footer,#footer [data-row]{background:#0d2a4d!important;border-top:0}
#footer [data-row="bottom"]{--container-spacing:40px}
.psb-footer{font-size:14.5px;line-height:1.7;color:#c9d7ea;max-width:860px;margin:0 auto;text-align:center;padding:12px 0}
.psb-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-bottom:1em}
.psb-footer nav a{color:#fff;font-family:var(--psb-head);font-weight:700;font-size:14.5px;text-decoration:none;white-space:nowrap}
.psb-footer nav a:hover{color:#9fd0ff;text-decoration:underline}
.psb-footer .psb-legal{margin:.5em auto;max-width:720px;color:#c9d7ea}
.psb-footer .psb-copy{font-size:13px;color:#a9bdd8;margin-top:1em}
.entry-content .psb-sources{margin-top:22px;font-size:14.5px;color:#4a5568}

/* Spacing: button groups followed by content (inner-page leads, guides) */
.entry-content .wp-block-buttons.psb-official:not(:last-child),
.entry-content .wp-block-buttons.psb-guides:not(:last-child){margin-bottom:24px!important}
.entry-content .wp-block-buttons.psb-official+p,
.entry-content .wp-block-buttons.psb-guides+p{margin-top:0}
