/*
Theme Name: Lab Validation - Blocksy Child
Theme URI: http://www.labszphc.com/
Description: Blocksy child theme for the product authentication website.
Author: Site Owner
Template: blocksy
Version: 1.2.1
Text Domain: labszphc-blocksy-child
*/

/* Updated navigation/footer; existing header and background retained. */
body.labszphc-custom-footer-enabled footer#footer { display: none !important; }
.labszphc-site-footer,.labszphc-site-footer * { box-sizing: border-box; }
.labszphc-site-footer { width:100%; clear:both; margin:0; padding:24px 20px 18px; background:#2d6095; color:#fff; font-family:Arial,Helvetica,sans-serif; text-align:center; }
.labszphc-site-footer__inner { width:100%; max-width:1180px; margin:0 auto; }
.labszphc-site-footer a { color:#fff; text-decoration:none; }
.labszphc-site-footer a:hover { color:#fff; text-decoration:underline; }
.labszphc-site-footer a:focus-visible,.labszphc-site-header a:focus-visible,.labszphc-menu-toggle:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.labszphc-footer-brand { display:inline-flex; align-items:center; min-height:44px; font-size:34px; font-weight:400; letter-spacing:-1.5px; line-height:1.2; margin:0 0 10px; }
.labszphc-footer-brand .labszphc-brand__mark { margin-left:5px; filter:brightness(0) invert(1); }
.labszphc-footer-social,.labszphc-footer-navigation { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 18px; }
.labszphc-footer-social a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; text-decoration:underline; }
.labszphc-footer-navigation a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; line-height:1.5; max-width:100%; overflow-wrap:anywhere; }
.labszphc-footer-navigation a[aria-current="page"] { text-decoration:underline; text-underline-offset:4px; }
.labszphc-site-footer .labszphc-footer-disclaimer { margin:12px 0 0; padding:12px 0; border-top:1px solid rgba(255,255,255,.3); font-size:12px; line-height:1.7; }
.labszphc-footer-disclaimer a { text-decoration:underline; }
.labszphc-site-footer .labszphc-footer-copyright { margin:6px 0 0; font-size:12px; line-height:1.7; }
.labszphc-navigation { flex-wrap:wrap; }
.labszphc-navigation a { overflow-wrap:anywhere; }
@media(max-width:689px) {
 .labszphc-site-footer { padding:24px 16px 20px; }
 .labszphc-footer-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
 .labszphc-footer-navigation a { font-size:13px; padding:6px 0; }
 .labszphc-footer-brand { font-size:30px; }
}

/* LABSZPHC global design system. */
:root {
    --labszphc-blue: #176ba5;
    --labszphc-blue-dark: #084f83;
    --labszphc-blue-soft: #edf5fb;
    --labszphc-border: #c9dceb;
    --labszphc-text: #163a5b;
    --labszphc-white: #fff;
}

html { scroll-behavior: smooth; }

body {
    background-color: #fff !important;
    background-image: url("assets/images/labszphc-watermark-background.svg") !important;
    background-repeat: repeat !important;
    background-position: center top !important;
    background-size: 800px 800px !important;
    background-attachment: fixed !important;
}

/* The Blocksy header remains structurally available but is visually replaced. */
body > #main-container > header#header,
body > header#header,
#header[data-id="type-1"] { display: none !important; }

.labszphc-site-header,
.labszphc-site-header * { box-sizing: border-box; }

.labszphc-site-header {
    position: relative;
    z-index: 9999;
    width: 100%;
    border-top: 3px solid var(--labszphc-blue-dark);
    border-bottom: 1px solid rgba(23,107,165,.12);
    color: var(--labszphc-text);
    background-color: rgba(255,255,255,.96);
    background-image: url("assets/images/labszphc-watermark-background.svg");
    background-repeat: repeat;
    background-size: 620px 620px;
    box-shadow: 0 4px 18px rgba(13,66,104,.06);
    font-family: Arial, Helvetica, sans-serif;
}

.labszphc-site-header__inner {
    width: min(1180px, calc(100% - 32px));
    min-height: 150px;
    margin: 0 auto;
    padding: 18px 0;
    display: grid;
    grid-template-columns: 265px minmax(480px, 1fr) 275px;
    align-items: center;
    gap: 20px;
}

.labszphc-brand-area { min-width: 0; }
.labszphc-brand {
    width: fit-content;
    margin: 0 auto 9px;
    display: flex;
    align-items: center;
    color: var(--labszphc-blue) !important;
    text-decoration: none !important;
}
.labszphc-brand__word {
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.045em;
}
.labszphc-brand__mark {
    position: relative;
    width: 43px;
    height: 28px;
    margin-left: 5px;
    overflow: hidden;
    border-radius: 0 20px 20px 0;
    background: linear-gradient(180deg,#2f91cc 0%,#0768a8 58%,#145987 100%);
}
.labszphc-brand__mark::before {
    content: "";
    position: absolute;
    top: 5px;
    right: 3px;
    left: 0;
    height: 8px;
    border-top: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    background: rgba(255,255,255,.25);
}

.labszphc-languages {
    max-width: 250px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
}
.labszphc-language,
.labszphc-mobile-panel__languages span {
    width: 35px;
    height: 35px;
    border: 1px solid var(--labszphc-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--labszphc-blue-dark);
    background: rgba(255,255,255,.84);
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(18,83,128,.06);
}

.labszphc-navigation-area { align-self: center; min-width: 0; }
.labszphc-navigation-row { display: flex; align-items: center; }
.labszphc-navigation {
    width: 100%;
    min-height: 64px;
    padding: 6px;
    border: 1px solid #9cc4df;
    border-radius: 34px;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(64px,1fr));
    background: linear-gradient(180deg,#377fac,#17699e);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55),0 5px 12px rgba(9,74,119,.22);
}
.labszphc-navigation a {
    min-height: 50px;
    padding: 6px 7px;
    border-radius: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.05;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease,transform .2s ease;
}
.labszphc-navigation a:hover,
.labszphc-navigation a[aria-current="page"] {
    background: rgba(255,255,255,.18);
    transform: translateY(-1px);
}
.labszphc-navigation__dot {
    width: 17px;
    height: 17px;
    border: 1.5px solid rgba(255,255,255,.92);
    border-radius: 50%;
    display: block;
    position: relative;
}
.labszphc-navigation__dot::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #fff;
}

.labszphc-visitor-strip {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}
.labszphc-visitor-strip span {
    padding: 3px 7px;
    border: 1px solid #d4e4f0;
    border-radius: 5px;
    color: #346b96;
    background: rgba(255,255,255,.88);
    font-size: 10px;
    line-height: 1.3;
}
.labszphc-visitor-strip .labszphc-welcome {
    color: #fff;
    background: var(--labszphc-blue);
    font-weight: 700;
}

.labszphc-clocks {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 4px;
}
.labszphc-clock {
    min-height: 47px;
    padding: 4px;
    border: 1px solid #cfe1ee;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.86);
}
.labszphc-clock__face {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border: 1px solid var(--labszphc-blue);
    border-radius: 50%;
    background: #fff;
}
.labszphc-clock__face::before,
.labszphc-clock__face i {
    content: "";
    position: absolute;
    left: 15px;
    top: 7px;
    width: 1px;
    height: 9px;
    transform-origin: 50% 9px;
    background: var(--labszphc-blue-dark);
}
.labszphc-clock__face::before { transform: rotate(var(--clock-hour,0deg)); }
.labszphc-clock__face i { top: 15px; height: 8px; transform-origin: 50% 0; }
.labszphc-clock b { display: block; color: #32658e; font-size: 14px; line-height: 1; }
.labszphc-clock small { display: block; margin-top: 4px; color: #17619a; font-size: 9px; font-weight: 700; }

.labszphc-menu-toggle { display: none; }
.labszphc-mobile-panel[hidden] { display: none !important; }

/* Let page cards stay readable while the watermark remains visible around them. */
#main-container,
.site-main,
[data-prefix="single_page"] article.page,
.entry-content { background-color: transparent; }
.entry-content > .wp-block-group:not(.has-background),
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns {
    position: relative;
}
.labszphc-validation-page .zphc-auth__masthead { display: none; }

@media (max-width: 1120px) {
    .labszphc-site-header__inner { grid-template-columns: 220px minmax(430px,1fr) 190px; gap: 12px; }
    .labszphc-brand__word { font-size: 31px; }
    .labszphc-languages { max-width: 210px; }
    .labszphc-language { width: 30px; height: 30px; font-size: 11px; }
    .labszphc-clocks { grid-template-columns: repeat(2,1fr); }
    .labszphc-clock:nth-child(n+7) { display: none; }
    .labszphc-navigation a { font-size: 10px; padding-inline: 3px; }
}

@media (max-width: 860px) {
    body { background-attachment: scroll !important; background-size: 650px 650px !important; }
    .labszphc-site-header__inner {
        width: min(100% - 24px,720px);
        min-height: 82px;
        grid-template-columns: 1fr auto;
        gap: 14px;
        padding: 12px 0;
    }
    .labszphc-brand-area { display: flex; align-items: center; gap: 12px; }
    .labszphc-brand { margin: 0; }
    .labszphc-brand__word { font-size: 28px; }
    .labszphc-brand__mark { width: 36px; height: 23px; }
    .labszphc-languages { display: none; }
    .labszphc-navigation-area { grid-column: 2; grid-row: 1; }
    .labszphc-navigation { display: none; }
    .labszphc-visitor-strip,.labszphc-clocks { display: none; }
    .labszphc-menu-toggle {
        width: 48px;
        height: 48px;
        padding: 12px;
        border: 1px solid var(--labszphc-border);
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        background: rgba(255,255,255,.92);
        cursor: pointer;
    }
    .labszphc-menu-toggle span { width: 100%; height: 2px; border-radius: 2px; background: var(--labszphc-blue-dark); }
    .labszphc-mobile-panel {
        width: min(100% - 24px,720px);
        margin: 0 auto;
        padding: 0 0 16px;
    }
    .labszphc-mobile-panel nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
    .labszphc-mobile-panel nav a {
        min-height: 44px;
        padding: 10px 13px;
        border: 1px solid #cae0ee;
        border-radius: 9px;
        display: flex;
        align-items: center;
        color: var(--labszphc-blue-dark) !important;
        background: rgba(255,255,255,.94);
        font-size: 14px;
        font-weight: 700;
        text-decoration: none !important;
    }
    .labszphc-mobile-panel__languages { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 5px; }
    .labszphc-mobile-panel__languages span { width: 31px; height: 31px; font-size: 10px; }
}

@media (max-width: 480px) {
    .labszphc-site-header__inner { width: calc(100% - 20px); min-height: 70px; }
    .labszphc-brand__word { font-size: 23px; }
    .labszphc-brand__mark { width: 31px; height: 20px; }
    .labszphc-menu-toggle { width: 43px; height: 43px; padding: 11px; }
    .labszphc-mobile-panel { width: calc(100% - 20px); }
    .labszphc-mobile-panel nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .labszphc-navigation a { transition: none; }
}
