/*
Theme Name: Prime Life Co.
Theme URI: https://primelifeco.com/
Description: Prime Life Co. Full Site Editing child theme for Twenty Twenty-Five.
Author: Prime Life Co.
Template: twentytwentyfive
Version: 6.0.0
Text Domain: prime-life-co
*/

:root{
  --plc-navy:#193548;
  --plc-emerald:#4D7C63;
  --plc-ice:#EDF6F8;
  --plc-ivory:#F6F4F1;
  --plc-ink:#1E2328;
  --plc-mist:#D8DFDB;
  --plc-slate:#59636A;
  --plc-site-max:1360px;
  --plc-page-max:960px;
  --plc-gutter:clamp(20px,3vw,40px);
}

/* Remove parent-theme vertical gaps that can make the page look segmented */
.wp-site-blocks{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.wp-site-blocks > *{
  margin-block-start:0 !important;
}

/* Global wide wrapper */
.plc-wrap,
header .alignwide,
footer .alignwide{
  width:min(calc(100% - (var(--plc-gutter) * 2)), var(--plc-site-max)) !important;
  max-width:var(--plc-site-max) !important;
  margin-inline:auto !important;
}

/* HERO: force true viewport-width breakout even inside constrained parent wrappers */
.plc-hero{
  position:relative;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  min-height:clamp(620px,78vh,900px);
  overflow:hidden;
  box-sizing:border-box;
}

/* Temporary background until video is ready */
.plc-hero-placeholder{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  background:linear-gradient(120deg,var(--plc-navy),var(--plc-emerald));
}

/* Future video/image layer */
.plc-hero-media,
.plc-hero-media .wp-block-cover,
.plc-hero-media video,
.plc-hero-media img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
}

.plc-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(30,37,40,.68) 0%,
    rgba(30,37,40,.44) 38%,
    rgba(30,37,40,.16) 68%,
    rgba(30,37,40,.04) 100%
  );
}

.plc-hero-inner{
  position:relative;
  z-index:2;
  width:min(calc(100% - (var(--plc-gutter) * 2)), var(--plc-site-max)) !important;
  max-width:var(--plc-site-max) !important;
  min-height:clamp(620px,78vh,900px);
  margin-inline:auto !important;
  display:flex;
  align-items:center;
}

.plc-hero-copy{
  max-width:680px;
  padding-block:64px;
}

.plc-kicker{
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:700;
}

/* Regular editorial content */
.plc-content-wrap{
  width:min(calc(100% - (var(--plc-gutter) * 2)), var(--plc-page-max)) !important;
  max-width:var(--plc-page-max) !important;
  margin-inline:auto !important;
}

@media(max-width:782px){
  .plc-hero,
  .plc-hero-inner{
    min-height:640px;
  }
  .plc-hero::after{
    background:rgba(30,37,40,.52);
  }
  .plc-hero-copy{
    max-width:100%;
  }
}


/* =========================================
   PRIME LIFE CO. FOOTER
   ========================================= */

/* Main footer: Atlantic Blue with white text */
.plc-footer-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: var(--plc-navy) !important;
  color: #fff !important;
  padding: 72px var(--plc-gutter) 64px !important;
  box-sizing: border-box;
}

/* Override WordPress constrained-layout max-width rules (e.g. 780px) */
.plc-footer-main > .wp-block-group,
.plc-footer-inner,
footer .plc-footer-inner {
  width: min(calc(100% - (var(--plc-gutter) * 2)), var(--plc-site-max)) !important;
  max-width: var(--plc-site-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure generated WP container rules don't narrow footer children */
.plc-footer-main .wp-block-group-is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.plc-footer-main .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: var(--plc-site-max) !important;
}

/* Footer links */
.plc-footer-main a {
  color: #fff !important;
}

.plc-footer-main a:hover {
  color: var(--plc-ice) !important;
}

/* Copyright sub-footer */
.plc-footer-bottom {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #000 !important;
  color: #fff !important;
  padding: 18px var(--plc-gutter) !important;
  box-sizing: border-box;
}

.plc-footer-bottom-inner {
  width: min(calc(100% - (var(--plc-gutter) * 2)), var(--plc-site-max)) !important;
  max-width: var(--plc-site-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.plc-footer-bottom p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.4;
  opacity: .9;
}



/* =========================================
   PRIME LIFE CO. GLOBAL HEADER
   ========================================= */
header .wp-block-site-logo img {
  width: min(280px, 34vw);
  height: auto;
  display: block;
}

header .wp-block-navigation {
  flex: 1 1 auto;
  justify-content: flex-end;
}

header .wp-block-navigation-item__content {
  white-space: nowrap;
}


/* =========================================
   PRIME LIFE CO. BRAND TYPOGRAPHY — ARVO + ATKINSON HYPERLEGIBLE NEXT
   ========================================= */
body,
button,
input,
select,
textarea,
.wp-block-navigation,
.wp-block-navigation-item__content {
  font-family: "Atkinson Hyperlegible Next", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 300;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
  font-family: "Arvo", Georgia, serif;
  font-weight: 700;
}


/* ===========================
   FONTS
   =========================== */
@font-face {
    font-family: "Arvo";
    src: url("./fonts/Arvo/Arvo-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Atkinson Hyperlegible Next";
    src: url("./fonts/Atkinson_Hyperlegible_Next/Atkinson-Hyperlegible-Next-Variable.woff2")
         format("woff2-variations");
    font-style: normal;
    font-weight: 300 500;
    font-display: swap;
}