/*
Theme Name: WinShine Mirror
Description: A native block theme for a B2B mirror catalogue and quotation website.
Version: 0.1.1
Author: WinShine
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: winshine-mirror
Tags: full-site-editing, custom-logo, featured-images, wide-blocks
*/
:root{--ws-blue:#1a64b1;--ws-ink:#1c2a3b;--ws-line:#dce4ec;--ws-soft:#f7f7f7}
html{scroll-behavior:smooth}body{margin:0}*,*::before,*::after{box-sizing:border-box}
a{text-underline-offset:.19em}a:hover{text-decoration-thickness:.12em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ws-blue);outline-offset:4px}
img{max-width:100%;height:auto}.wp-site-blocks>*{margin-block-start:0}.wp-site-blocks{overflow-wrap:anywhere}
.wp-block-post-content>*{max-width:100%}
.ws-header{border-bottom:1px solid var(--ws-line);background:#fff;padding:1.2rem clamp(1rem,3vw,2.5rem)}
.ws-header .wp-block-site-title{line-height:1.15}.ws-header .wp-block-site-title a{text-decoration:none}
.ws-header .wp-block-navigation{font-size:.92rem;font-weight:600}.ws-header .wp-block-navigation-item__content{padding-block:.35rem}
.wp-block-site-logo img{max-height:48px;width:auto;object-fit:contain}
.ws-hero{padding-block:clamp(3rem,7vw,6.4rem)}
.ws-kicker{color:var(--ws-blue);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.ws-intro{color:#526174;font-size:1.12rem;max-width:47rem}
.ws-brief{background:#f0f5fa;border:1px solid #dce8f4;border-radius:1.1rem;padding:clamp(1.4rem,3vw,2.5rem)}
.ws-brief h2{margin-block-start:0}.ws-section{padding-block:clamp(2.8rem,5vw,5rem)}.ws-section-soft{background:var(--ws-soft)}
.ws-category-card{height:100%;padding:1.7rem;border:1px solid var(--ws-line);border-radius:.8rem;background:#fff}
.ws-category-card h3{margin-block-start:0;font-size:1.15rem}.ws-category-card p{color:#526174;font-size:.95rem}
.ws-product-grid .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0}
.ws-product-grid .wp-block-post-template>li{min-width:0;margin:0}
.ws-product-card{height:100%;padding:1rem;border:1px solid var(--ws-line);border-radius:.85rem;background:#fff}
.ws-product-card .wp-block-post-featured-image{margin:0 0 1.2rem;background:#f5f6f7;border-radius:.5rem;overflow:hidden}
.ws-product-card .wp-block-post-featured-image img{aspect-ratio:1;width:100%;object-fit:contain}
.ws-product-card .wp-block-post-title{margin-block:.4rem .65rem;line-height:1.35}
.ws-product-card .wp-block-post-title a{color:var(--ws-ink);text-decoration:none}
.ws-product-card .wp-block-post-title a:hover{color:var(--ws-blue);text-decoration:underline}
.ws-product-card .wp-block-post-excerpt{color:#526174;font-size:.95rem}.ws-product-card .wp-block-post-excerpt__excerpt{margin-block:0}
.ws-product-card .wp-block-post-terms{font-size:.75rem;letter-spacing:.045em;text-transform:uppercase}.ws-product-card .wp-block-post-terms a{text-decoration:none}
.ws-page{padding-block:clamp(2.5rem,5vw,5rem);min-height:55vh}.ws-page>.wp-block-post-title{max-width:60rem;margin-bottom:1.8rem}
.ws-catalogue-intro{padding-block:3.4rem 2rem}.ws-catalogue-body{padding-block:1rem 4rem}.ws-catalogue-intro h1{max-width:58rem}
.ws-cta{padding:clamp(1.8rem,4vw,3.2rem);background:#edf4fb;border:1px solid #dce8f4;border-radius:1rem}
.ws-cta h2{margin-block-start:0;max-width:45rem}
.ws-footer{border-top:1px solid var(--ws-line);padding:3rem clamp(1rem,3vw,2.5rem) 2rem;background:#f7f9fb}
.ws-footer a{color:#34475e}.ws-footer .wp-block-site-title{margin-top:0}
.ws-footer-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#526174}
.ws-footer .wp-block-columns{margin-bottom:0}.ws-footer p{font-size:.93rem}
.wp-block-query-pagination{margin-block:2rem;gap:1rem}.wp-block-query-pagination a,.wp-block-query-pagination .page-numbers{padding:.35rem .6rem}
.wp-block-table{max-width:100%;overflow-x:auto}.wp-block-table td,.wp-block-table th{vertical-align:top;overflow-wrap:anywhere}
.wp-block-buttons{gap:.8rem}.wp-block-button__link{min-height:44px}
.wp-block-search__input{min-width:0;padding:.8rem;border:1px solid #b9c7d5;border-radius:.3rem}
.wp-block-search__button{background:var(--ws-blue);color:#fff;border:0;border-radius:.3rem;padding:.8rem 1rem}
/* Retained v2 bodies are visible internal review documents. */
.ws-v2-review{width:100%;max-width:100%;color:#333;font-size:1rem;line-height:1.75}
.ws-v2-review :where(div,section,figure){min-width:0}.ws-v2-review figure{margin:0}
.ws-v2-review img{display:block;width:100%;height:auto;object-fit:contain;border-radius:.6rem}
.ws-v2-review figcaption{margin-top:.6rem;color:#657384;font-size:.83rem}
.ws-v2-review h2{color:var(--ws-ink);font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.3;margin-block:1.6rem .75rem}
.ws-v2-review h3{font-size:1.13rem;line-height:1.4}.ws-v2-review p{margin-block:.85rem}
.ws-v2-review .hero,.ws-v2-review .feature,.ws-v2-review .grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:start}
.ws-v2-review .hero{align-items:center;padding-bottom:2.5rem;border-bottom:1px solid var(--ws-line)}
.ws-v2-review .block{margin-top:clamp(2rem,4vw,3.6rem)}.ws-v2-review .feature>div>h2:first-child{margin-top:0}
.ws-v2-review .pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1.2rem}
.ws-v2-review .pills span{padding:.3rem .7rem;border-radius:2rem;background:#edf4fb;color:#225888;font-size:.82rem}
.ws-v2-review .btn{display:inline-block;background:var(--ws-blue);color:#fff;border-radius:.35rem;padding:.75rem 1.15rem;text-decoration:none;margin-block:.5rem;font-weight:600}
.ws-v2-review .table,.ws-v2-review .oldtable{max-width:100%;overflow-x:auto}
.ws-v2-review table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.93rem}
.ws-v2-review th,.ws-v2-review td{text-align:left;vertical-align:top;border-bottom:1px solid var(--ws-line);padding:.85rem;overflow-wrap:anywhere}
.ws-v2-review th{width:32%;color:var(--ws-ink);background:#f4f7fa;font-weight:600}
.ws-v2-review .soft{background:#f4f7fa;border-radius:.65rem;padding:1.5rem}.ws-v2-review .soft h2:first-child{margin-top:0}
.ws-v2-review .muted{color:#657384;font-size:.88rem}
.ws-v2-review .notice{padding:1rem 1.25rem;background:#eef4fd;border:1px solid #c5d8f2;border-radius:.45rem;color:#2057a6;font-size:.9rem;margin-bottom:2rem}
.ws-v2-review .check{background:#fff9e9;border-left:3px solid #c58f2a;border-radius:.2rem;padding:1rem 1.2rem;margin-block:.8rem;font-size:.9rem}
.ws-v2-review .checktag{display:inline-block;color:#795508;background:#fff1c8;font-size:.72rem;line-height:1.5;padding:.1rem .4rem;margin-left:.35rem;border-radius:.25rem;text-decoration:none}
.ws-v2-review .oldtable{margin-top:1.5rem;border:1px dashed #7da2dc;padding:1rem;font-size:.85rem}
.ws-v2-review .oldtable p,.ws-v2-review .oldtable th,.ws-v2-review .oldtable td{color:#1455d6}
.ws-v2-review .oldtable table{text-decoration:line-through;text-decoration-color:#1455d6}
.ws-v2-review ins{color:#1455d6;text-decoration:none}.ws-v2-review del{color:#1455d6;text-decoration:line-through;text-decoration-color:#1455d6}
.ws-v2-review details{margin-top:2rem;border:1px solid var(--ws-line);border-radius:.45rem;padding:1rem}
.ws-v2-review summary{cursor:pointer;font-weight:600}
.ws-v2-review .gradbar{height:1.2rem;margin-block:.7rem;border-radius:2rem;background:linear-gradient(90deg,#dfb75e 0%,#f6ebd1 35%,#fffdf6 65%,#fff 100%);border:1px solid #e0e2e5}
.ws-v2-review .tones{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#657384}
.ws-v2-review .faq{border-bottom:1px solid var(--ws-line);padding-block:.5rem 1rem}
.ws-v2-review .cta{background:#edf4fb;padding:clamp(1.5rem,3vw,2.5rem);border-radius:.7rem}.ws-v2-review .cta h2{margin-top:0}
.ws-v2-review .links{display:flex;flex-wrap:wrap;gap:.7rem 1.3rem}
@media(max-width:960px){.ws-product-grid .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}.ws-v2-review .hero,.ws-v2-review .feature{gap:1.5rem}.ws-header .wp-block-navigation{font-size:.85rem}}
@media(max-width:781px){.ws-v2-review .hero,.ws-v2-review .feature,.ws-v2-review .grid2{grid-template-columns:1fr}.ws-v2-review .feature figure{max-width:38rem;margin-inline:auto}.ws-v2-review th,.ws-v2-review td{padding:.65rem}.ws-v2-review .soft{padding:1.1rem}.ws-hero .wp-block-columns{gap:2rem}}
@media(max-width:600px){.ws-product-grid .wp-block-post-template{grid-template-columns:1fr}.ws-header{padding-block:.9rem}.ws-header .wp-block-site-title{font-size:1.15rem}.ws-header .wp-block-site-logo img{max-height:36px;max-width:145px}.ws-v2-review{font-size:.95rem}.ws-v2-review table{font-size:.83rem}.ws-v2-review th{width:35%}.ws-v2-review .check,.ws-v2-review .notice{padding:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* First online preview refinements */
.ws-category-card .wp-block-image{margin:0 0 1.2rem;background:#f7f7f7;border-radius:.5rem;overflow:hidden}.ws-category-card .wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:contain}.ws-header .wp-block-group:has(>.wp-block-site-logo img)>.wp-block-site-title{display:none}.ws-review-note{padding:1rem 1.25rem;border-left:3px solid #c58f2a;background:#fff9e9;font-size:.9rem}
/* Inquiry form */
.wpcf7 form label{display:block;font-weight:600;margin-block:.8rem}.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{display:block;width:100%;max-width:100%;padding:.85rem;border:1px solid #b9c7d5;border-radius:.35rem;font:inherit;background:#fff;color:#333}.wpcf7 textarea{min-height:10rem}.wpcf7 input[type=submit]{min-height:44px;background:#1a64b1;color:white;border:0;border-radius:.35rem;padding:.85rem 1.4rem;font:inherit;font-weight:600;cursor:pointer}.wpcf7-not-valid-tip{font-size:.85rem}.wpcf7 form .wpcf7-response-output{margin-inline:0;padding:1rem}

/* Local v3 candidate only: append after existing theme CSS. */
.ws-header .ws-brand{gap:.7rem;min-width:0;flex-shrink:0}
.ws-header .ws-brand .wp-block-site-logo{margin:0;flex-shrink:0}
.ws-header .ws-brand-name{display:block;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2;white-space:nowrap}
.ws-header .ws-brand-name a,.ws-footer .ws-footer-brand a{color:var(--ws-ink,#1c2a3b);text-decoration:none}
.ws-footer .ws-footer-brand{margin-top:0;font-size:1.3rem;font-weight:700;line-height:1.25}
.ws-footer .ws-social-links{gap:.75rem;margin-top:1rem}
.ws-footer .ws-social-links .wp-social-link{color:var(--ws-blue,#1a64b1);background:transparent}
.ws-footer .ws-social-links .wp-social-link a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem;color:var(--ws-blue,#1a64b1)}
@media(max-width:600px){.ws-header .ws-brand{gap:.45rem}.ws-header .ws-brand .wp-block-site-logo img{max-width:110px;max-height:34px}.ws-header .ws-brand-name{font-size:.95rem;white-space:normal;max-width:7rem}}
@media(max-width:380px){.ws-header .ws-brand .wp-block-site-logo img{max-width:90px}.ws-header .ws-brand-name{font-size:.88rem;max-width:6rem}}

/* Keep the complete primary navigation accessible on medium-width screens. */
@media (min-width:600px) and (max-width:1050px){
.ws-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
.ws-header .wp-block-navigation__responsive-container-open{display:flex!important}
}

