/*
Theme Name: Green Point Recycling
Theme URI: https://www.gprga.com/
Author: Green Point Recycling
Description: A full-site editing block theme for Green Point Recycling, with seven editable pages and reusable GPR section patterns.
Version: 1.3.0
Requires at least: 7.0
Requires PHP: 7.4
Text Domain: gpr
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: block-patterns, full-site-editing, custom-logo, featured-images, wide-blocks
*/

@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("assets/fonts/LibreFranklin-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}

:root{--gpr-green:#149b00;--gpr-dark:#044314;--gpr-deep:#003f16;--gpr-yellow:#e7fa02;--gpr-beige:#f8f5e8;--gpr-text:#333;--gpr-line:#d9e1d9;--gpr-shadow:0 20px 38px rgba(0,55,20,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--gpr-text);font-family:"Libre Franklin",Arial,sans-serif}
a{transition:color .2s ease,background .2s ease,transform .2s ease}
.wp-site-blocks{overflow:hidden}
.gpr-shell{width:min(100% - 40px,1280px);margin-inline:auto}

.gpr-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid #eee}
.gpr-header-inner{min-height:86px;display:grid;grid-template-columns:190px 1fr auto auto;align-items:center;gap:24px}
.gpr-logo img{display:block;width:172px;height:auto}
.gpr-header .wp-block-navigation{justify-content:center;font-size:14px;font-weight:700}
.gpr-header .wp-block-navigation__container,.gpr-header .wp-block-page-list{display:flex!important;align-items:center;flex-wrap:wrap;gap:26px!important;column-gap:26px!important;row-gap:10px!important;margin:0;padding:0;list-style:none}
.gpr-header .wp-block-navigation-item,.gpr-header .wp-block-pages-list__item{margin:0!important}
.gpr-header .wp-block-navigation-item__content{color:#111;text-decoration:none;padding:31px 0 27px;border-bottom:3px solid transparent}
.gpr-header .wp-block-navigation-item__content:hover,.gpr-header .current-menu-item>.wp-block-navigation-item__content{color:var(--gpr-dark);border-color:var(--gpr-green)}
.gpr-call-button .wp-block-button__link,.gpr-btn-primary .wp-block-button__link{background:var(--gpr-yellow);color:#101b00;border:0;border-radius:7px;font-weight:800;padding:15px 24px;box-shadow:0 12px 24px rgba(196,220,0,.25)}
.gpr-btn-secondary .wp-block-button__link{background:#fff;color:var(--gpr-dark);border:1px solid var(--gpr-dark);border-radius:7px;font-weight:800;padding:14px 24px}
.gpr-location-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid var(--gpr-dark);border-radius:50%;color:#fff;background:var(--gpr-dark);text-decoration:none;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}
.gpr-location-button:hover{color:var(--gpr-dark);background:#fff;border-color:var(--gpr-dark);transform:translateY(-1px)}
.gpr-location-button .material-symbols-rounded{font-size:28px}
.wp-block-button__link,.gpr-link,.gpr-materials-showcase-link a{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.gpr-inline-icon{font-size:21px;line-height:1;font-weight:600}
.gpr-call-button .gpr-inline-icon{font-size:18px}
.gpr-call-button .wp-block-button__link:hover,.gpr-btn-primary .wp-block-button__link:hover{background:#d7e900;transform:translateY(-1px)}

.gpr-section{padding:74px 20px}
.gpr-eyebrow{margin:0 0 10px!important;color:var(--gpr-green);font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.gpr-section h2{color:var(--gpr-dark);font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.05;margin:0 0 20px}
.gpr-section h3{color:var(--gpr-dark);font-size:23px;font-weight:800;line-height:1.08;margin:0 0 13px}
.gpr-section p{line-height:1.55}

.gpr-hero{position:relative;min-height:550px;padding:76px 20px;display:flex;align-items:center}
.gpr-hero-bg{position:absolute;inset:0;margin:0!important;width:100%;height:100%;z-index:0}
.gpr-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.gpr-hero:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,54,20,.96) 0%,rgba(0,54,20,.87) 37%,rgba(0,54,20,.26) 68%,rgba(0,54,20,.05) 100%)}
.gpr-hero.is-light:before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 37%,rgba(255,255,255,.34) 69%,rgba(255,255,255,.04) 100%)}
.gpr-hero-inner{position:relative;z-index:2;width:min(100%,1280px);margin:auto}
.gpr-hero-copy{max-width:590px}
.gpr-hero .gpr-eyebrow{color:#fff}
.gpr-hero.is-light .gpr-eyebrow{color:var(--gpr-green)}
.gpr-hero h1{margin:0;color:#fff;font-size:clamp(43px,4.1vw,63px);font-weight:900;line-height:1;letter-spacing:-.04em}
.gpr-hero.is-light h1{color:var(--gpr-dark)}
.gpr-hero h1 strong{color:var(--gpr-yellow)}
.gpr-hero.is-light h1 strong{color:var(--gpr-green)}
.gpr-hero .gpr-lead{max-width:590px;color:#fff;font-size:18px;line-height:1.5;margin:24px 0}
.gpr-hero.is-light .gpr-lead{color:#3f4940}
.gpr-hero .wp-block-buttons{gap:14px!important;margin-top:26px}
.gpr-hero .wp-block-button{margin:0}

.gpr-proof{padding:0 20px;background:var(--gpr-dark);color:#fff}
.gpr-proof-inner{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}
.gpr-proof-item{display:grid;grid-template-columns:55px 1fr;gap:16px;align-items:center;padding:26px 22px;border-right:1px solid rgba(255,255,255,.22)}
.gpr-proof-item:last-child{border-right:0}
.material-symbols-rounded{display:inline-flex;align-items:center;justify-content:center;font-family:"Material Symbols Rounded";font-weight:600;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 24;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}
.gpr-proof-icon{width:56px;height:56px;margin:0!important;border:1.5px solid var(--gpr-yellow);border-radius:50%;display:grid;place-items:center;overflow:hidden;color:#fff;background:rgba(255,255,255,.05);font-size:30px;font-weight:600}
.gpr-proof-icon img{width:100%;height:100%;object-fit:cover}
.gpr-proof h3{margin:0 0 6px;color:#fff;font-size:16px;font-weight:900;text-transform:uppercase;line-height:1.05}
.gpr-proof p{margin:0;font-size:13px;line-height:1.35}

.gpr-intro-grid{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:260px 1fr;gap:42px;align-items:start}
.gpr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.gpr-card{height:100%;background:#fff;border:1px solid var(--gpr-line);border-radius:8px;overflow:hidden;box-shadow:var(--gpr-shadow)}
.gpr-card figure{margin:0}
.gpr-card img{width:100%;height:190px;object-fit:cover;display:block}
.gpr-card-body{padding:24px}
.gpr-card-body p:last-child{margin-bottom:0}
.gpr-link{color:var(--gpr-dark);font-weight:800;text-decoration:none}

.gpr-materials-showcase{padding:50px 20px 48px;background:linear-gradient(90deg,rgba(244,232,178,.42),rgba(255,255,255,.7)),#f7f4ea}
.gpr-materials-showcase-inner{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,2.28fr);gap:34px;align-items:start}
.gpr-materials-showcase-copy{grid-row:1/span 2;min-width:0}
.gpr-materials-showcase-copy h2{max-width:315px;margin:0;color:var(--gpr-dark);font-size:clamp(24px,3vw,30px);font-weight:900;line-height:1.08}
.gpr-materials-showcase-copy>p:not(.gpr-materials-showcase-link){max-width:310px;margin:18px 0 0;line-height:1.52}
.gpr-materials-accent{display:grid;grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr);align-items:center;gap:14px;width:min(100%,264px);margin:23px 0 20px;color:var(--gpr-green)}
.gpr-materials-accent span:not(.material-symbols-rounded){height:1px;background:var(--gpr-green);opacity:.72}
.gpr-materials-accent .material-symbols-rounded{font-size:23px}
.gpr-materials-showcase-link{margin:22px 0 0!important}.gpr-materials-showcase-link a{display:inline-flex;align-items:center;gap:9px;color:var(--gpr-dark);font-size:15px;font-weight:800;text-decoration:none}
.gpr-materials-showcase-link a:hover{color:var(--gpr-green)}
.gpr-material-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;min-width:0}
.gpr-material-tile{min-width:0;overflow:hidden;border-radius:8px;background:var(--gpr-dark);box-shadow:0 16px 34px rgba(4,67,20,.12)}
.gpr-material-tile figure{margin:0}.gpr-material-tile img{display:block;width:100%;aspect-ratio:1.54/1;object-fit:cover}
.gpr-material-tile h3{margin:0;padding:12px 16px 14px;color:#fff;font-size:clamp(18px,1.35vw,22px);font-weight:800;line-height:1.1;text-align:center}
.gpr-not-accepted-note{grid-column:2;display:inline-flex;align-items:center;justify-self:center;gap:10px;max-width:100%;margin:18px 0 0;text-align:center}
.gpr-not-accepted-note .material-symbols-rounded{flex:0 0 auto;color:var(--gpr-dark);font-size:20px}
.gpr-not-accepted-note p{margin:0;font-size:15px;line-height:1.35}

.gpr-tint{background:linear-gradient(90deg,#faf5da,#fff)}
.gpr-panel-layout{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:270px 1fr;gap:46px;align-items:start}
.gpr-panel{padding:38px;background:#fff;border:1px solid var(--gpr-line);border-radius:14px;box-shadow:var(--gpr-shadow)}
.gpr-list-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 34px;list-style:none;padding:0;margin:25px 0 0}
.gpr-list-grid li{position:relative;padding-left:26px;font-size:14px;font-weight:700}
.gpr-list-grid li:before{content:"\2713";position:absolute;left:0;top:-2px;width:18px;height:18px;border-radius:50%;background:var(--gpr-dark);color:#fff;text-align:center;line-height:18px;font-size:11px}
.gpr-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gpr-number-item{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:22px;border:1px solid var(--gpr-line);border-radius:9px}
.gpr-number{width:42px;height:42px;border-radius:50%;background:var(--gpr-dark);color:var(--gpr-yellow);display:grid;place-items:center;font-weight:900}
.gpr-number-item h3{font-size:16px;margin:0 0 4px}.gpr-number-item p{font-size:14px;margin:0}

.gpr-faq-layout{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:300px 1fr;gap:48px}
.gpr-faq-list{border-top:1px solid var(--gpr-line)}
.gpr-faq-row{display:grid;grid-template-columns:240px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--gpr-line)}
.gpr-faq-row h3{font-size:14px;margin:0}.gpr-faq-row p{font-size:14px;margin:0}
.gpr-faq-page{padding:70px 20px 34px;background:#fff}
.gpr-faq-page-layout{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.48fr);gap:70px;align-items:start}
.gpr-faq-page-intro{position:sticky;top:28px}.gpr-faq-page-intro h1{max-width:420px;margin:0;color:var(--gpr-dark);font-size:clamp(35px,4vw,56px);font-weight:900;line-height:1.05}.gpr-faq-page-intro p:not(.gpr-eyebrow){max-width:380px;margin:20px 0 0;line-height:1.55}
.gpr-faq-groups{display:grid;gap:42px}.gpr-faq-group-heading{margin-bottom:14px}.gpr-faq-group-heading h2{margin:0;color:var(--gpr-dark);font-size:clamp(24px,2.4vw,32px);font-weight:900;line-height:1.08}
.gpr-faq-page .gpr-faq-row{grid-template-columns:minmax(210px,.62fr) minmax(0,1fr)}

.gpr-cta-wrap{padding:40px 20px}
.gpr-cta{width:min(100%,1280px);margin:auto;padding:32px 36px;background:var(--gpr-dark);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.gpr-cta h2{color:#fff;font-size:30px;margin:0 0 5px}.gpr-cta p{margin:0}.gpr-cta .gpr-eyebrow{color:var(--gpr-yellow)}

.gpr-request-section{background:linear-gradient(90deg,#faf5da,#fff);padding:72px 20px}
.gpr-request-layout{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:280px 1fr;gap:60px;align-items:start}
.gpr-form{background:var(--gpr-dark);padding:34px;border-radius:9px;color:#fff;box-shadow:var(--gpr-shadow)}
.gpr-form h2{color:#fff;font-size:34px;margin:0 0 7px}.gpr-form>p{margin-top:0}
.gpr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gpr-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gpr-form input,.gpr-form textarea{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:5px;background:#08651b;color:#fff;padding:15px 16px;font:600 14px "Libre Franklin",Arial,sans-serif}
.gpr-form input::placeholder,.gpr-form textarea::placeholder{color:#d9eadc}.gpr-form textarea{min-height:88px;resize:vertical}.gpr-form .gpr-full{grid-column:1/-1}
.gpr-form button{width:100%;border:0;border-radius:5px;background:var(--gpr-yellow);color:#102000;padding:15px;font:800 15px "Libre Franklin",Arial,sans-serif;cursor:pointer}
.gpr-notice{padding:12px;border-radius:5px;background:#fff;color:var(--gpr-dark);margin-bottom:16px}
.gpr-honeypot{position:absolute!important;left:-9999px!important}

.gpr-location{width:min(100%,1280px);margin:auto;display:grid;grid-template-columns:240px 320px 1fr;gap:34px;align-items:start}
.gpr-location figure{margin:0}.gpr-location img{width:100%;height:260px;object-fit:cover;border-radius:8px}
.gpr-location-details{border:1px solid var(--gpr-line);border-radius:8px;padding:26px}
.gpr-location-row{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:11px 0;font-size:14px}.gpr-location-row p{margin:0}.gpr-location-row strong{color:var(--gpr-dark)}
.gpr-location-map{width:min(100%,1280px);margin:34px auto 0;border:1px solid rgba(4,67,20,.18);border-radius:8px;background:#fff;box-shadow:var(--gpr-shadow);overflow:hidden}
.gpr-location-map figure{margin:0}.gpr-location-map img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#f8f8f2;border-radius:0}
.gpr-entrance-guide{width:min(100%,1280px);margin:34px auto 0;display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.55fr);gap:70px;align-items:start}
.gpr-entrance-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gpr-entrance-item{display:grid;grid-template-columns:48px 1fr;gap:16px;min-height:104px;padding:22px;border:1px solid var(--gpr-line);border-radius:9px;background:#fbfcf8}.gpr-entrance-item h3{font-size:16px;margin:0 0 4px}.gpr-entrance-item p{font-size:14px;margin:0}

.gpr-footer{background:linear-gradient(90deg,#faf7e8,#fff);border-top:1px solid #e8e5da}
.gpr-footer-inner{width:min(100% - 40px,1280px);margin:auto;padding:48px 0;display:grid;grid-template-columns:250px 1.2fr 1fr 1fr;gap:34px}
.gpr-footer .gpr-logo img{width:232px}
.gpr-footer h2{color:var(--gpr-dark);font-size:15px;margin:0 0 15px}.gpr-footer p,.gpr-footer li{font-size:13px;line-height:1.55}.gpr-footer ul{list-style:none;margin:0;padding:0}.gpr-footer a{color:#172218;text-decoration:none}
.gpr-socials{display:flex;gap:12px}.gpr-socials a{width:40px;height:40px;border-radius:50%;background:var(--gpr-dark);color:#fff;display:grid;place-items:center;font-weight:800;text-decoration:none}
.gpr-copyright{background:var(--gpr-dark);color:#fff;text-align:center;padding:18px 20px;font-size:12px}

.gpr-editor-note{padding:14px 18px;background:#f5f7f5;border-left:4px solid var(--gpr-green);font-size:13px}

@media (max-width:900px){
 .gpr-header-inner{grid-template-columns:170px 1fr auto auto}.gpr-logo img{width:154px}.gpr-header .wp-block-navigation{justify-content:flex-end}
 .gpr-proof-inner{grid-template-columns:1fr 1fr}.gpr-proof-item:nth-child(2){border-right:0}
 .gpr-intro-grid,.gpr-panel-layout,.gpr-request-layout,.gpr-faq-layout,.gpr-faq-page-layout{grid-template-columns:1fr}
 .gpr-faq-page-intro{position:static}
 .gpr-cards{gap:18px}.gpr-list-grid{grid-template-columns:1fr 1fr}
 .gpr-materials-showcase-inner{grid-template-columns:1fr;gap:28px}.gpr-materials-showcase-copy{grid-row:auto}.gpr-materials-showcase-copy h2,.gpr-materials-showcase-copy>p:not(.gpr-materials-showcase-link){max-width:650px}.gpr-not-accepted-note{grid-column:1}
 .gpr-location{grid-template-columns:1fr 1fr}.gpr-location>div:first-child{grid-column:1/-1}.gpr-entrance-guide{grid-template-columns:1fr;gap:32px}
 .gpr-footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:650px){
 .gpr-shell{width:min(100% - 28px,1280px)}
 .gpr-header-inner{min-height:72px;grid-template-columns:1fr auto auto;gap:12px}.gpr-logo img{width:132px}.gpr-call-button{display:none}.gpr-location-button{width:42px;height:42px}.gpr-location-button .material-symbols-rounded{font-size:25px}
 .gpr-header .wp-block-navigation__responsive-container-open{display:flex}.gpr-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
 .gpr-hero{min-height:610px;padding:65px 20px;background-position:62% center}.gpr-hero:before,.gpr-hero.is-light:before{background:linear-gradient(90deg,rgba(0,54,20,.94),rgba(0,54,20,.72))}.gpr-hero.is-light:before{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.63))}
 .gpr-hero h1{font-size:43px}.gpr-hero .wp-block-buttons{display:grid;gap:12px!important}.gpr-hero .wp-block-button{width:100%}.gpr-hero .wp-block-button__link{width:100%}
 .gpr-proof-inner,.gpr-cards,.gpr-number-grid,.gpr-location{grid-template-columns:1fr}.gpr-proof-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}
 .gpr-section{padding:56px 20px}.gpr-card img{height:210px}.gpr-panel{padding:25px}.gpr-list-grid{grid-template-columns:1fr}
 .gpr-materials-showcase{padding:44px 20px}.gpr-material-tiles{grid-template-columns:1fr}.gpr-material-tile img{aspect-ratio:1.9/1}.gpr-not-accepted-note{justify-self:start;text-align:left}
 .gpr-faq-page{padding:48px 20px 24px}.gpr-faq-groups{gap:34px}.gpr-faq-row,.gpr-faq-page .gpr-faq-row{grid-template-columns:1fr;gap:7px}.gpr-form-grid{grid-template-columns:1fr}.gpr-cta{align-items:flex-start;flex-direction:column}
 .gpr-location>div:first-child{grid-column:auto}.gpr-location-map img{max-height:none}.gpr-entrance-panel{grid-template-columns:1fr}.gpr-footer-inner{grid-template-columns:1fr}.gpr-footer .gpr-logo img{width:210px}
}
