/* Front-end and editor shared styling */
:root{--plc-navy:#071722;--plc-blue:#087fce;--plc-cyan:#19b9f5}body{margin:0}.plc-header{background:var(--plc-navy);color:#fff;padding:14px 20px}.plc-header a{color:#fff;text-decoration:none}.plc-header .wp-block-navigation__responsive-container-open{color:#fff}.plc-header-inner{gap:24px}.plc-footer{background:#06131c;color:#aabfcb;padding:30px 20px;font-size:13px}.plc-footer a{color:#aabfcb}.plc-hero{background:linear-gradient(90deg,rgba(4,18,30,.97),rgba(4,18,30,.83),rgba(4,18,30,.35)),url('cabinet-illustration.png') center/cover;min-height:470px;color:#fff;display:flex;align-items:center;padding:55px 24px}.plc-hero>div{width:100%}.plc-hero h1{max-width:740px;font-size:clamp(36px,4.7vw,62px);line-height:1.1}.plc-hero p{max-width:650px;font-size:18px}.plc-kicker{color:#55ccff;font-size:13px!important;letter-spacing:2px;font-weight:bold}.plc-quick{padding:22px 18px;border-bottom:1px solid #e2e9ee}.plc-quick h3{font-size:16px;margin:0;color:#174e6d}.plc-section{padding:75px 22px}.plc-section h2{font-size:clamp(28px,3vw,42px)}.plc-services,.plc-about{background:#f1f6f9}.plc-card-cols{gap:18px;margin:22px 0}.plc-service{background:white;padding:24px;min-height:155px;border:1px solid #dfe8ef;box-shadow:0 6px 22px #0b24360c}.plc-service h3{font-size:19px}.plc-service p{color:#516879;font-size:15px}.plc-eplan{background:#081c2a;color:#fff;padding:65px 22px}.plc-eplan .wp-block-columns{align-items:center;gap:6%}.plc-eplan h2{font-size:clamp(30px,3.4vw,45px)}.plc-eplan img{max-height:460px;object-fit:cover}.plc-disclaimer{font-size:13px;color:#61798a;border-left:3px solid var(--plc-blue);padding-left:14px}.plc-contact{background:linear-gradient(100deg,#071722,#0d3652);color:#fff;padding:80px 22px}.plc-contact h2{font-size:clamp(30px,3vw,44px)}.plc-contact a{color:#a7e7ff}.plc-contact .wp-block-button__link,.plc-hero .wp-block-button__link,.plc-eplan .wp-block-button__link{color:#fff}.wp-block-button__link:hover{filter:brightness(1.1)}@media(max-width:780px){.plc-hero{min-height:360px;padding:50px 18px}.plc-section{padding:45px 18px}.plc-card-cols{gap:12px}.plc-eplan,.plc-contact{padding:48px 18px}}


/* V0.3: Original dark-on-light logo, limited to its own white backing. */
.plc-header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.plc-brand{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;background:#fff;border-radius:5px;padding:7px 12px;max-width:100%;flex:0 1 auto;text-decoration:none}
.plc-brand img{display:block;width:195px;max-width:100%;height:auto;object-fit:contain}
.plc-header .wp-block-navigation{flex:0 1 auto;min-width:0}
.plc-eplan-title{margin-bottom:0!important;overflow-wrap:normal;word-break:normal}
.plc-eplan-subtitle{color:#19b9f5!important;margin-top:7px!important;margin-bottom:18px!important;font-weight:500}
/* Hero text blocks must stack, not form a squeezed row on narrow screens. */
.plc-hero{box-sizing:border-box;min-width:0}
.plc-hero > *{min-width:0;max-width:100%}
.plc-hero h1,.plc-hero p{overflow-wrap:break-word;word-break:normal}
.plc-hero .wp-block-buttons{flex-wrap:wrap}
.plc-hero .wp-block-button__link{white-space:normal;text-align:center}
.plc-section,.plc-quick,.plc-eplan,.plc-contact{box-sizing:border-box;min-width:0}
.plc-quick-cols,.plc-card-cols,.plc-feature-cols{min-width:0}
.plc-quick-cols>.wp-block-column,.plc-card-cols>.wp-block-column,.plc-feature-cols>.wp-block-column{min-width:0}
.plc-eplan img{height:auto;max-width:100%}
@media(max-width:781px){
  .plc-header{padding:12px 14px}
  .plc-header-inner{flex-wrap:nowrap;gap:10px}
  .plc-brand{padding:5px 8px;max-width:calc(100% - 58px)}
  .plc-brand img{width:145px}
  .plc-header .wp-block-navigation{margin-left:auto}
  .plc-hero{display:block!important;min-height:0!important;padding:48px 18px!important;background-position:center center}
  .plc-hero>.wp-block-group__inner-container{display:block!important;max-width:100%}
  .plc-hero h1{font-size:clamp(29px,8vw,43px)!important;line-height:1.14!important;max-width:100%!important;margin:16px 0!important}
  .plc-hero p:not(.plc-kicker){font-size:16px!important;line-height:1.55!important;max-width:100%!important}
  .plc-hero .plc-kicker{font-size:11px!important;letter-spacing:1.2px!important;line-height:1.5}
  .plc-quick-cols,.plc-card-cols,.plc-feature-cols{display:flex!important;flex-direction:column!important;gap:14px!important}
  .plc-quick-cols>.wp-block-column,.plc-card-cols>.wp-block-column,.plc-feature-cols>.wp-block-column{width:100%!important;flex-basis:auto!important;flex-grow:0!important}
  .plc-quick{padding:18px}
  .plc-section{padding:48px 18px!important}
  .plc-service{min-height:0;padding:20px}
  .plc-eplan,.plc-contact{padding:48px 18px!important}
  .plc-eplan h2{font-size:clamp(25px,7vw,34px)!important}
  .plc-eplan img{max-height:none}
  .plc-eplan-subtitle{font-size:17px!important}
  .plc-about .wp-block-columns{display:flex!important;flex-direction:column!important;gap:18px}
  .plc-about .wp-block-columns>.wp-block-column{width:100%!important;flex-basis:auto!important}
  .plc-hero,.plc-quick,.plc-section,.plc-eplan,.plc-contact{max-width:100%;overflow-wrap:break-word}
}
@media(max-width:420px){
  .plc-brand img{width:122px}
  .plc-hero{padding:36px 16px!important}
  .plc-hero h1{font-size:clamp(27px,8vw,34px)!important}
  .plc-section,.plc-eplan,.plc-contact{padding-left:16px!important;padding-right:16px!important}
}


/* V0.4: Hero layout fix. Gutenberg group children must stack vertically. */
.plc-hero{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:0;
  min-width:0;
}
.plc-hero > .plc-kicker,
.plc-hero > h1,
.plc-hero > p,
.plc-hero > .wp-block-buttons{
  flex:none;
  width:100%;
  box-sizing:border-box;
  margin-left:0;
  margin-right:0;
}
.plc-hero > .plc-kicker{margin-top:0;margin-bottom:16px;max-width:700px}
.plc-hero > h1{max-width:800px;margin-top:0;margin-bottom:20px;line-height:1.12}
.plc-hero > p:not(.plc-kicker){max-width:680px;margin-top:0;margin-bottom:26px;line-height:1.55}
.plc-hero > .wp-block-buttons{margin-top:0;max-width:680px}
@media(max-width:781px){
  .plc-hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important}
  .plc-hero > h1{max-width:100%!important;margin-bottom:16px!important}
  .plc-hero > p:not(.plc-kicker){margin-bottom:22px!important}
}

/* V0.5: transparent metallic logo, no white backing */
.plc-brand{background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;line-height:0}
.plc-brand img{display:block;width:225px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:781px){.plc-brand{padding:0!important}.plc-brand img{width:152px}}
@media(max-width:420px){.plc-brand img{width:130px}}

/* V0.6: approved larger header logo; desktop +~18%, mobile +~12%. */
.plc-brand img{width:266px;max-width:100%;height:auto}
@media(max-width:781px){.plc-brand img{width:170px;max-width:100%;height:auto}}


/* V0.8: compact left-side mobile menu, isolated to the PLC header. */
@media (max-width: 781px) {
  .plc-header .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: rgba(2, 9, 15, .48) !important;
    color: #fff !important;
    overflow: visible !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: min(280px, 82vw) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: min(560px, 90dvh) !important;
    margin: 0 !important;
    padding: 58px 20px 18px !important;
    box-sizing: border-box !important;
    background: #071722 !important;
    box-shadow: 12px 8px 28px rgba(0,0,0,.28) !important;
    border-radius: 0 0 12px 0 !important;
    overflow-y: auto !important;
    animation: plc-compact-drawer .24s ease-out both;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: left !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    border-bottom: 1px solid rgba(255,255,255,.11);
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    display: block !important;
    width: 100% !important;
    padding: 12px 0 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    color: #fff !important;
    text-decoration: none !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible {
    color: #19b9f5 !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    z-index: 5 !important;
    color: #fff !important;
  }
  @keyframes plc-compact-drawer {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { animation: none !important; }
}

/* V0.9: remove Gutenberg's centered inner layout in the mobile drawer. */
@media (max-width:781px) {
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    width: min(280px, 82vw) !important;
    max-width: none !important;
    left: 0 !important;
    right: auto !important;
    padding: 52px 18px 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    padding: 6px !important;
    margin: 0 !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { max-width: 100% !important; }
}

/* V1.0: narrower mobile drawer, aligned links, safe overlay hit area. */
@media (max-width:781px) {
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
    width: min(260px, 78vw) !important;
    padding: 52px 16px 12px !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    font-size: 14px !important;
    padding: 11px 0 !important;
    overflow-wrap: normal !important;
  }
  .plc-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    right: 12px !important;
  }
}
