/*
Theme Name: Astra Child - Purley Pages
Template: astra
Version: 1.2
Description: Child theme for Purley Pages, keeps custom code safe from Astra updates.
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --pp-primary:#D9622B;
  --pp-primary-dark:#B84D1E;
  --pp-dark:#22303C;
  --pp-teal:#2F8F82;
  --pp-cream:#FBF7F2;
  --pp-gray:#6B7280;
}

body, p, li, a, span, input, textarea, button { font-family:'Inter',sans-serif; }
h1,h2,h3,h4,h5,h6 { font-family:'Poppins',sans-serif; font-weight:700; color:var(--pp-dark); }

.page .entry-header, .single-page .entry-header, .ast-page-title-bar { display:none !important; }
.ast-container { padding-top:0 !important; }
.entry-content > .wp-block-cover:first-child{ margin-top:0; }

/* ===== Hero (Cover block based) ===== */
.pp-hero-cover .wp-block-cover__inner-container{ max-width:900px; margin:0 auto; }
.pp-eyebrow{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--pp-teal); background:rgba(47,143,130,.12); padding:6px 18px; border-radius:999px; margin-bottom:18px !important; animation: ppFadeUp .8s ease 0s both; }
.pp-eyebrow-light{ color:#fff; background:rgba(255,255,255,.16); }
.pp-hero-heading{ font-size:clamp(32px,5vw,54px) !important; font-weight:800 !important; margin:0 0 20px !important; color:#fff !important; line-height:1.15 !important; animation: ppFadeUp .8s ease .1s both; }
.pp-hero-heading.is-small{ font-size:clamp(28px,4vw,44px) !important; }
.pp-hero-sub{ font-size:18px !important; max-width:620px; margin:0 auto 8px !important; opacity:.92; color:#fff !important; animation: ppFadeUp .8s ease .22s both; }
.pp-hero-btns{ display:flex !important; gap:16px; justify-content:center; flex-wrap:wrap; animation: ppFadeUp .8s ease .34s both; margin-top:26px !important; }

/* ===== Buttons (native core/button) ===== */
.wp-block-button__link.pp-btn,
.wp-block-button.pp-btn-primary .wp-block-button__link,
.wp-block-button.pp-btn-outline .wp-block-button__link,
.wp-block-button.pp-btn-dark .wp-block-button__link{
  display:inline-flex; align-items:center; gap:8px; padding:15px 32px !important; border-radius:999px !important;
  font-weight:600 !important; font-size:15px !important; border:2px solid transparent; transition:all .25s ease;
}
.wp-block-button.pp-btn-primary .wp-block-button__link{ background:var(--pp-primary) !important; color:#fff !important; }
.wp-block-button.pp-btn-primary .wp-block-button__link:hover{ background:var(--pp-primary-dark) !important; transform:translateY(-3px); box-shadow:0 10px 24px rgba(217,98,43,.35); }
.wp-block-button.pp-btn-outline .wp-block-button__link{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.65) !important; }
.wp-block-button.pp-btn-outline .wp-block-button__link:hover{ background:rgba(255,255,255,.15) !important; transform:translateY(-3px); border-color:#fff !important; }
.wp-block-button.pp-btn-dark .wp-block-button__link{ background:var(--pp-dark) !important; color:#fff !important; }
.wp-block-button.pp-btn-dark .wp-block-button__link:hover{ background:#101820 !important; transform:translateY(-3px); }

/* ===== Sections ===== */
.pp-section{ padding:96px 24px; }
.pp-section-cream{ background:var(--pp-cream); }
.pp-section-dark{ background:var(--pp-dark); color:#fff; }
.pp-section-dark h2, .pp-section-dark h3, .pp-section-dark h4{ color:#fff; }
.pp-container{ max-width:1160px; margin:0 auto; }
.pp-section-head{ text-align:center; max-width:640px; margin:0 auto 56px; }

/* ===== Grid & Cards ===== */
.pp-grid{ display:grid; gap:28px; margin-top:8px; }
.pp-grid-2{ grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.pp-grid-3{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.pp-grid-4{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.pp-card{ background:#fff; border-radius:16px; padding:36px 28px; box-shadow:0 4px 20px rgba(34,48,60,.06); border:1px solid rgba(34,48,60,.06); transition:transform .3s ease, box-shadow .3s ease; }
.pp-card:hover{ transform:translateY(-6px); box-shadow:0 16px 36px rgba(34,48,60,.12); }
.pp-img-wrap img{ border-radius:16px; }

/* ===== Icon circle & stats ===== */
.pp-icon-circle{ width:56px; height:56px; border-radius:50%; background:rgba(217,98,43,.12); display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 18px !important; }
.pp-icon-circle.teal{ background:rgba(47,143,130,.14); }
.pp-stat{ text-align:center; }
.pp-stat-number{ font-size:40px !important; font-weight:800 !important; color:var(--pp-primary); margin:0 0 4px !important; font-family:'Poppins',sans-serif; }
.pp-stat-label{ font-size:14px !important; text-transform:uppercase; letter-spacing:1px; color:var(--pp-gray); margin:0 !important; }
.pp-stat.on-dark .pp-stat-label{ color:rgba(255,255,255,.7); }

/* ===== Tag / badge ===== */
.pp-tag{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--pp-primary); background:rgba(217,98,43,.1); padding:6px 16px; border-radius:999px; margin-bottom:16px !important; }

/* ===== Animations ===== */
@keyframes ppFadeUp{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }
.pp-fade-up{ animation: ppFadeUp .7s ease both; }
.pp-delay-1{ animation-delay:.1s; } .pp-delay-2{ animation-delay:.2s; } .pp-delay-3{ animation-delay:.3s; } .pp-delay-4{ animation-delay:.4s; }

/* ===== Link arrow ===== */
.pp-link-arrow{ color:var(--pp-primary); font-weight:600; text-decoration:none; }
.pp-link-arrow:hover{ text-decoration:underline; }

/* ===== CTA banner ===== */
.pp-cta{ background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-dark)); border-radius:24px; padding:64px 40px; text-align:center; color:#fff; }
.pp-cta h2{ color:#fff !important; }
.pp-cta p{ color:rgba(255,255,255,.92); font-size:17px; }

/* ===== Divider ===== */
.pp-divider{ width:64px; height:4px; background:var(--pp-primary); border-radius:2px; margin:0 auto 24px; }

/* ===== TablePress polish ===== */
.pp-table-wrap table.tablepress{ border:none !important; border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(34,48,60,.06); }
.pp-table-wrap table.tablepress thead th{ background:var(--pp-dark) !important; color:#fff !important; text-transform:uppercase; font-size:13px; letter-spacing:1px; padding:16px !important; }
.pp-table-wrap table.tablepress tbody td{ padding:14px 16px !important; border-color:rgba(34,48,60,.08) !important; }
.pp-table-wrap table.tablepress tbody tr:nth-child(even){ background:rgba(34,48,60,.02) !important; }

/* ===== Contact Form 7 ===== */
.wpcf7-form input[type=text], .wpcf7-form input[type=email], .wpcf7-form input[type=tel], .wpcf7-form textarea{
  width:100%; border:1px solid rgba(34,48,60,.15); border-radius:10px; padding:12px 16px; font-family:'Inter',sans-serif;
}
.wpcf7-form input[type=submit]{
  background:var(--pp-primary) !important; color:#fff !important; border:none !important; border-radius:999px !important;
  padding:14px 34px !important; font-weight:600 !important; cursor:pointer; transition:all .25s ease;
}
.wpcf7-form input[type=submit]:hover{ background:var(--pp-primary-dark) !important; }

/* ===== Nav ===== */
.main-header-menu .menu-item > a{ position:relative; }
.main-header-menu .menu-item > a::after{ content:''; position:absolute; left:0; bottom:2px; width:0; height:2px; background:var(--pp-primary); transition:width .25s ease; }
.main-header-menu .menu-item > a:hover::after{ width:100%; }

/* ===== Magazine Issues: Query Loop (Home page grid) ===== */
.wp-block-post-template{ display:grid; gap:28px; list-style:none; margin:0; padding:0; }
.wp-block-post-template.is-layout-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.wp-block-post-template li.wp-block-post{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(34,48,60,.06); border:1px solid rgba(34,48,60,.06); transition:transform .3s ease, box-shadow .3s ease; }
.wp-block-post-template li.wp-block-post:hover{ transform:translateY(-6px); box-shadow:0 16px 36px rgba(34,48,60,.12); }
.wp-block-post-template li.wp-block-post img{ aspect-ratio:3/4; object-fit:cover; width:100%; }
.wp-block-post-template li.wp-block-post .wp-block-post-title{ padding:16px; margin:0; font-size:16px; text-align:center; }
.wp-block-post-template li.wp-block-post .wp-block-post-title a{ color:var(--pp-dark); text-decoration:none; }
.pp-issue-latest{ max-width:340px; margin:0 auto; }
.wp-block-query-no-results{ text-align:center; color:var(--pp-gray); padding:24px; }

/* ===== Magazine Issues: shortcode-based cards (Elementor Shortcode widget) ===== */
.pp-issue-card{ display:block; text-decoration:none; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 4px 20px rgba(34,48,60,.06); border:1px solid rgba(34,48,60,.06); transition:transform .3s ease, box-shadow .3s ease; max-width:340px; margin:0 auto; }
.pp-issue-card:hover{ transform:translateY(-6px); box-shadow:0 16px 36px rgba(34,48,60,.12); }
.pp-issue-cover-img{ aspect-ratio:3/4; object-fit:cover; width:100%; display:block; }
.pp-issue-caption{ padding:16px; text-align:center; font-weight:600; color:var(--pp-dark); font-family:'Poppins',sans-serif; }
.pp-issue-latest .pp-issue-card{ max-width:340px; }

/* ===== Elementor helpers ===== */
.elementor-widget-icon-box .pp-icon-circle{ margin-left:auto; margin-right:auto; }

@media (max-width:782px){
  .pp-section{ padding:56px 20px; }
  .pp-cta{ padding:44px 24px; }
}
