/*
Theme Name: Living Potential
Theme URI: https://www.livingpotentialcarefarming.org.uk/
Author: Living Potential Care Farm
Description: Classic theme recreating the Living Potential Care Farm website: white header with logo and green menu, green page-title banners, grey content bands, four-colour values band, green footer. Includes block patterns for the homepage sections.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: living-potential
*/

:root{
  --lp-green:#1d5b40;
  --lp-lime:#adc752;
  --lp-teal:#045d6b;
  --lp-tan:#c4a185;
  --lp-grey:#f3f3f3;
  --lp-text:#4a4a4a;
  --lp-heading:#2c6e5c;
  --lp-sans:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --lp-serif:'Playfair Display',Georgia,'Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--lp-sans);font-size:16px;line-height:1.7;color:var(--lp-text);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--lp-teal)}
a:hover,a:focus{color:var(--lp-green)}
:focus-visible{outline:3px solid var(--lp-lime);outline-offset:2px}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:100}

h1,h2,h3,h4{font-family:var(--lp-sans);font-weight:500;color:var(--lp-heading);line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.5vw,3rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}
h3{font-size:1.25rem}
.lp-container{width:min(1100px,92%);margin-inline:auto}
.lp-narrow{width:min(760px,92%);margin-inline:auto}
.entry-content > *:not(.alignfull):not(.alignwide){max-width:min(900px,92%);margin-left:auto;margin-right:auto}
.entry-content .alignwide{max-width:min(1200px,94%);margin-inline:auto}
.entry-content .alignfull{max-width:none;width:100%}
.entry-content p,.entry-content li{max-width:75ch}

/* Header */
.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 #e4e4e4}
.site-header .lp-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:84px}
.site-logo img{height:64px;width:auto}
.site-title{font-weight:600;color:var(--lp-green);text-decoration:none;font-size:1.3rem}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;flex-wrap:wrap;align-items:center}
.main-nav a{font-weight:700;font-size:.95rem;color:var(--lp-green);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{color:#9a9a9a;border-bottom-color:transparent}
.nav-toggle{display:none;background:none;border:2px solid var(--lp-green);color:var(--lp-green);font:700 .9rem var(--lp-sans);padding:.45rem .8rem;border-radius:4px;cursor:pointer}

/* Page title band */
.page-banner{background:var(--lp-green);color:#fff;text-align:center;padding:1.2rem 1rem}
.page-banner h1{color:#fff;margin:0;font-weight:400;letter-spacing:.08em;font-size:clamp(2rem,5vw,3.2rem)}
.page-title-plain{text-align:center;padding:2.5rem 1rem 1rem}
.page-title-plain h1{color:var(--lp-heading)}

/* Hero (front page) */
.lp-hero{position:relative;min-height:min(520px,70vh);background:var(--lp-grey) center/cover no-repeat;display:flex;align-items:center}
.lp-hero__card{background:rgba(255,255,255,.82);color:var(--lp-green);margin:2rem 0 2rem 4%;padding:2rem 1.8rem;width:min(340px,90%);text-align:center}
.lp-hero__card h2{font-size:1.3rem;font-weight:600;color:var(--lp-green)}
.lp-hero__card p{margin:.6rem 0}

/* Buttons */
.wp-block-button__link,.lp-button,input[type=submit],button.lp-button,.wpcf7-submit,.wpforms-submit{
  display:inline-block;background:var(--lp-green);color:#fff!important;border:0;border-radius:999px;padding:.7rem 1.8rem;font:600 .95rem var(--lp-sans);text-decoration:none;cursor:pointer}
.wp-block-button__link:hover,.lp-button:hover,input[type=submit]:hover,.wpcf7-submit:hover,.wpforms-submit:hover{background:#144430}
.is-style-lime .wp-block-button__link,.enquiry-form input[type=submit]{background:var(--lp-lime);color:#fff!important;border-radius:0}

/* Content bands */
.lp-band{padding:3.5rem 0;text-align:center}
.lp-band--grey,.has-lp-grey-background-color{background:var(--lp-grey)}
.lp-band h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
.lp-band p{margin-inline:auto;max-width:60ch}

/* Photo grid */
.lp-photo-grid.wp-block-gallery{gap:4px}
.lp-photo-grid img{object-fit:cover}

/* Values band */
.lp-values{display:grid;grid-template-columns:repeat(4,1fr)}
.lp-values>div{padding:1.6rem 1.2rem;color:#fff;text-align:center;font-size:.85rem}
.lp-values h3{color:#fff;font-weight:500;margin-bottom:.4rem}
.lp-values p{margin:0}
.lp-v1{background:var(--lp-green)}.lp-v2{background:var(--lp-lime)}.lp-v3{background:var(--lp-teal)}.lp-v4{background:var(--lp-tan)}

/* Media & text rows (Care Farm page) */
.entry-content .wp-block-media-text{background:var(--lp-grey);margin-block:1.2rem;gap:0}
.entry-content .wp-block-media-text .wp-block-media-text__content{padding:1.6rem 2rem}
.entry-content .wp-block-media-text img{height:100%;object-fit:cover}

/* Handwritten-style sub heading */
.lp-script{font-family:var(--lp-serif);font-style:italic;color:var(--lp-green);font-size:2rem}
.entry-content h2{text-align:center}

/* Forms */
.entry-content input[type=text],.entry-content input[type=email],.entry-content input[type=tel],.entry-content textarea,.entry-content select{
  width:100%;font:inherit;padding:.6rem .7rem;border:1px solid #cfcfcf;border-radius:2px;background:#fff}
.lp-contact-panel{background:var(--lp-green);padding:2rem 0}
.lp-contact-panel form{width:min(560px,92%);margin-inline:auto}

/* Footer */
.site-footer{background:var(--lp-green);color:#fff;padding:2.5rem 0 1.5rem;font-size:.8rem;text-align:center}
.site-footer a{color:#fff}
.footer-widgets{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:start;margin-bottom:1.5rem}
.footer-widgets .widget{padding:0 1rem;border-left:1px solid rgba(255,255,255,.55)}
.footer-widgets .widget:first-child{border-left:0}
.footer-widgets img{margin-inline:auto;background:#fff;padding:4px}
.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.6rem}
.social-links{list-style:none;margin:0;padding:0;display:flex;gap:.8rem}
.social-links a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;text-decoration:none;font-weight:700;font-size:.8rem}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:1rem;font-weight:600}

/* Posts */
.post-card{margin-bottom:2rem}
.post-card h2{text-align:left}

@media(max-width:900px){
  .nav-toggle{display:inline-block}
  .main-nav{display:none;width:100%}
  .main-nav.is-open{display:block}
  .site-header .lp-container{flex-wrap:wrap;padding-block:.6rem}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:.6rem;padding:.5rem 0 1rem}
  .lp-values,.footer-widgets{grid-template-columns:1fr 1fr}
  .footer-widgets .widget{border-left:0}
}
@media(max-width:560px){
  .lp-values,.footer-widgets{grid-template-columns:1fr}
  .lp-hero__card{margin:1rem auto}
  .entry-content .wp-block-media-text{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
