/*
Theme Name: Astra Child - Purley Pages
Template: astra
Version: 2.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); }
.elementor-heading-title{ font-family:'Poppins',sans-serif !important; font-weight:700 !important; color:var(--pp-dark) !important; }
.elementor-widget-text-editor p{ color:#3a4650; }
.elementor-icon-box-title, .elementor-icon-box-title span{ color:var(--pp-dark) !important; font-family:'Poppins',sans-serif !important; }

.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 ===== */
.pp-hero-cover .wp-block-cover__inner-container{ max-width:900px; margin:0 auto; }
.pp-hero-section{ overflow:hidden; }
.pp-eyebrow{ margin-bottom:18px !important; }
.pp-eyebrow .elementor-heading-title, .pp-eyebrow .elementor-text-editor{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--pp-teal) !important; background:rgba(47,143,130,.12) !important; padding:6px 18px; border-radius:999px; }
.pp-eyebrow-light .elementor-heading-title, .pp-eyebrow-light .elementor-text-editor{ color:#fff !important; background:rgba(255,255,255,.16) !important; }
.pp-hero-heading .elementor-heading-title{ font-size:clamp(32px,5vw,54px) !important; font-weight:800 !important; color:#fff !important; line-height:1.15 !important; }
.pp-hero-heading.is-small .elementor-heading-title{ font-size:clamp(28px,4vw,44px) !important; }
.pp-hero-sub p, .pp-hero-sub{ font-size:18px !important; max-width:620px; margin:0 auto !important; color:rgba(255,255,255,.94) !important; text-shadow:0 1px 8px rgba(0,0,0,.45); }
.pp-hero-btn{ margin-top:10px; }

/* ===== 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); }

/* Elementor Button widget internals */
.pp-btn-primary .elementor-button, .pp-btn-outline .elementor-button, .pp-btn-dark .elementor-button{
  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;
}
.pp-btn-primary .elementor-button{ background:var(--pp-primary) !important; color:#fff !important; }
.pp-btn-primary .elementor-button:hover{ background:var(--pp-primary-dark) !important; transform:translateY(-3px); box-shadow:0 10px 24px rgba(217,98,43,.35); }
.pp-btn-outline .elementor-button{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.65) !important; }
.pp-btn-outline .elementor-button:hover{ background:rgba(255,255,255,.15) !important; transform:translateY(-3px); border-color:#fff !important; }
.pp-btn-dark .elementor-button{ background:var(--pp-dark) !important; color:#fff !important; }
.pp-btn-dark .elementor-button:hover{ background:#101820 !important; transform:translateY(-3px); }
.pp-link-arrow-btn .elementor-button{ background:transparent !important; color:var(--pp-primary) !important; padding:0 !important; font-weight:600 !important; border:none !important; }
.pp-link-arrow-btn .elementor-button:hover{ text-decoration:underline; }

/* ===== Sections ===== */
.pp-section{ padding:44px 24px !important; }
.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-section-dark .elementor-heading-title{ color:#fff !important; }
.pp-section-dark .elementor-widget-text-editor p{ color:rgba(255,255,255,.85) !important; }
.pp-section-dark .elementor-icon-box-title{ color:#fff !important; }
.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); }
/* Elementor Counter widget internals */
.pp-stat .elementor-counter-number-wrapper{ font-size:40px !important; font-weight:800 !important; color:var(--pp-primary) !important; font-family:'Poppins',sans-serif; justify-content:center; }
.pp-stat .elementor-counter-title{ font-size:14px !important; text-transform:uppercase; letter-spacing:1px; color:var(--pp-gray) !important; margin-top:4px; }
.pp-stat.on-dark .elementor-counter-title{ color:rgba(255,255,255,.7) !important; }

/* ===== Tag / badge ===== */
.pp-tag{ margin-bottom:16px !important; }
.pp-tag .elementor-heading-title, .pp-tag .elementor-text-editor{ display:inline-block; font-size:13px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--pp-primary) !important; background:rgba(217,98,43,.1) !important; padding:6px 16px; border-radius:999px; }

/* ===== 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:44px 40px !important; text-align:center; color:#fff; }
.pp-cta h2, .pp-cta .elementor-heading-title{ color:#fff !important; }
.pp-cta{ color:#fff; }
.pp-cta p, .pp-cta .elementor-text-editor p{ color:rgba(255,255,255,.92) !important; 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:11px 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; }

/* ---- Bold size/page-name column (client request) ---- */
.pp-table-wrap table.tablepress tbody td:first-child{ font-weight:700 !important; }

/* ---- Further reduce Premium Page table header (client request) ---- */
.pp-table-wrap table.tablepress-id-2 thead th{ padding:7px 16px !important; font-size:12px !important; }

/* ---- Community photo grid (About Us) ---- */
.pp-photo-grid{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:16px !important; margin-top:32px !important; }
.pp-photo-grid img{ width:100% !important; height:220px !important; max-width:100% !important; object-fit:cover !important; border-radius:16px !important; box-shadow:0 4px 20px rgba(34,48,60,.06) !important; display:block !important; transition:transform .3s ease; }
.pp-photo-grid img:hover{ transform:scale(1.03); }
.pp-photo-grid a{ display:block; border-radius:16px; overflow:hidden; cursor:pointer; }
@media (max-width:782px){
  .pp-photo-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .pp-photo-grid img{ height:150px; }
}

/* ---- Price column right-align (client request) ---- */
.pp-table-wrap table.tablepress-id-1 th:not(:first-child),
.pp-table-wrap table.tablepress-id-1 td:not(:first-child){ text-align:right !important; }
.pp-table-wrap table.tablepress-id-2 th:last-child,
.pp-table-wrap table.tablepress-id-2 td:last-child{ text-align:right !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:32px 20px !important; }
  .pp-cta{ padding:44px 24px; }
}


/* ===== Elementor Icon Box / Image Box polish ===== */
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon{ background:rgba(47,143,130,.14) !important; color:var(--pp-teal) !important; border-radius:50% !important; width:56px; height:56px; display:flex; align-items:center; justify-content:center; }
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon svg, .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon i{ font-size:22px; }
.elementor-widget-icon-box .elementor-icon-box-title{ font-family:'Poppins',sans-serif; }
.elementor-widget-testimonial .elementor-testimonial__content{ font-style:normal; }

/* ===== Card container (applied directly to Elementor column/section) ===== */
.pp-card{ background:#fff !important; border-radius:16px !important; 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); }

/* =========================================================
   v1.9 — Modernization pass
   ========================================================= */

/* ---- Hero: richer overlay + guaranteed text legibility ---- */
.pp-hero-section{ position:relative; }
.pp-hero-section::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(15,22,29,.35) 0%, rgba(15,22,29,.55) 45%, rgba(15,22,29,.78) 100%);
}
.pp-hero-section > .elementor-container{ position:relative; z-index:2; }
.pp-hero-heading .elementor-heading-title{ text-shadow:0 2px 16px rgba(0,0,0,.4) !important; letter-spacing:-.01em !important; }
.pp-eyebrow-light .elementor-heading-title, .pp-eyebrow-light .elementor-text-editor{
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.28); box-shadow:0 4px 18px rgba(0,0,0,.18);
}

/* ---- Global type refinement ---- */
h1,h2,h3{ letter-spacing:-.01em; }
.elementor-heading-title{ letter-spacing:-.01em !important; }
.pp-section-head h2, .pp-section-head .elementor-heading-title{ font-size:clamp(26px,3.4vw,38px) !important; }

/* ---- Section header accent divider ---- */
.pp-section-head{ position:relative; }
.pp-section-head::after{
  content:''; display:block; width:56px; height:4px; margin:18px auto 0;
  background:linear-gradient(90deg,var(--pp-primary),var(--pp-teal)); border-radius:999px;
}

/* ---- Buttons: modern depth + motion ---- */
.pp-btn-primary .elementor-button, .wp-block-button.pp-btn-primary .wp-block-button__link{
  box-shadow:0 8px 20px rgba(217,98,43,.28) !important;
}
.pp-btn-primary .elementor-button:hover, .wp-block-button.pp-btn-primary .wp-block-button__link:hover{
  box-shadow:0 14px 30px rgba(217,98,43,.4) !important;
}
.pp-btn-dark .elementor-button, .wp-block-button.pp-btn-dark .wp-block-button__link{
  box-shadow:0 8px 20px rgba(15,22,29,.22) !important;
}
.elementor-button, .wp-block-button__link{ letter-spacing:.01em; }

/* ---- Cards: layered shadow + gradient icon circles ---- */
.pp-card{ border-radius:20px !important; }
.pp-icon-circle{
  background:linear-gradient(135deg, rgba(217,98,43,.16), rgba(217,98,43,.06));
  box-shadow:inset 0 0 0 1px rgba(217,98,43,.12);
}
.pp-icon-circle.teal{
  background:linear-gradient(135deg, rgba(47,143,130,.2), rgba(47,143,130,.06));
  box-shadow:inset 0 0 0 1px rgba(47,143,130,.16);
}
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon{
  background:linear-gradient(135deg, rgba(47,143,130,.2), rgba(47,143,130,.06)) !important;
  box-shadow:inset 0 0 0 1px rgba(47,143,130,.16);
}

/* ---- Stats: bolder, tighter ---- */
.pp-stat .elementor-counter-number-wrapper{ font-size:44px !important; letter-spacing:-.02em; }
.pp-stat.on-dark .elementor-counter-number-wrapper{ color:#fff !important; }

/* ---- CTA banner: decorative glow + depth ---- */
.pp-cta{ position:relative; overflow:hidden; box-shadow:0 24px 48px rgba(184,77,30,.25); }
.pp-cta::before, .pp-cta::after{
  content:''; position:absolute; border-radius:50%; background:rgba(255,255,255,.14); pointer-events:none;
}
.pp-cta::before{ width:220px; height:220px; top:-90px; right:-60px; }
.pp-cta::after{ width:160px; height:160px; bottom:-80px; left:-40px; background:rgba(255,255,255,.1); }
.pp-cta > *{ position:relative; z-index:1; }

/* ---- Dark sections: subtle radial accent ---- */
.pp-section-dark{ position:relative; overflow:hidden; }
.pp-section-dark::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 15% 20%, rgba(47,143,130,.14), transparent 45%),
             radial-gradient(circle at 85% 80%, rgba(217,98,43,.1), transparent 45%);
}
.pp-section-dark > .elementor-container{ position:relative; z-index:1; }

/* ---- Header: subtle depth ---- */
.ast-primary-header{ box-shadow:0 1px 0 rgba(34,48,60,.06); }

/* ---- Tables: rounder, modern ---- */
.pp-table-wrap table.tablepress{ border-radius:20px; }

/* ---- Issue cards: refined ---- */
.pp-issue-card{ border-radius:20px; }
.pp-issue-card:hover{ box-shadow:0 20px 40px rgba(34,48,60,.16); }

@media (max-width:782px){
  .pp-cta::before, .pp-cta::after{ display:none; }
}

/* =========================================================
   v2.1 — Modern interactions & depth pass
   ========================================================= */

/* ---- Sticky, adaptive header ---- */
#masthead{ position:sticky; top:0; z-index:999; background:#fff; transition:box-shadow .3s ease, backdrop-filter .3s ease; }
#masthead.pp-scrolled{
  box-shadow:0 8px 30px rgba(34,48,60,.08);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}

/* ---- Scroll reveal ---- */
.pp-reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.16,.8,.3,1), transform .7s cubic-bezier(.16,.8,.3,1); }
.pp-reveal.is-visible{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){ .pp-reveal{ opacity:1; transform:none; transition:none; } }

/* ---- Bolder, tighter type scale ---- */
.pp-hero-heading .elementor-heading-title{ letter-spacing:-.02em !important; }
.pp-section-head h2, .pp-section-head .elementor-heading-title{ letter-spacing:-.015em !important; }
.pp-stat .elementor-counter-number-wrapper{
  font-size:48px !important; letter-spacing:-.03em;
  background:linear-gradient(135deg,var(--pp-primary),#f0975f);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.pp-stat.on-dark .elementor-counter-number-wrapper{
  background:linear-gradient(135deg,#ffffff,#c9d6df);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* ---- Decorative depth: soft blobs behind cream / light sections ---- */
.pp-section-cream{ position:relative; overflow:hidden; }
.pp-section-cream::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 92% 8%, rgba(217,98,43,.08), transparent 40%),
             radial-gradient(circle at 4% 92%, rgba(47,143,130,.08), transparent 40%);
}
.pp-section-cream > .elementor-container{ position:relative; z-index:1; }

/* ---- Cards: richer hover with ring + lift ---- */
.pp-card{ position:relative; }
.pp-card:hover{ box-shadow:0 20px 44px rgba(34,48,60,.14), 0 0 0 1px rgba(217,98,43,.14); }

/* ---- Image zoom on hover (issue cards, image widgets in cards) ---- */
.pp-issue-cover-img, .pp-img-wrap img, .elementor-widget-image img{ transition:transform .5s cubic-bezier(.16,.8,.3,1); }
.pp-issue-card{ overflow:hidden; }
.pp-issue-card:hover .pp-issue-cover-img{ transform:scale(1.06); }
.pp-img-wrap{ overflow:hidden; border-radius:16px; }
.pp-img-wrap:hover img{ transform:scale(1.05); }

/* ---- Icon boxes: ring + lift on hover ---- */
.elementor-widget-icon-box{ transition:transform .3s ease; }
.elementor-widget-icon-box:hover .elementor-icon-box-icon .elementor-icon{ transform:scale(1.08); }
.elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon{ transition:transform .3s ease; }

/* ---- Testimonial quote mark: bigger, on-brand serif ---- */
.pp-icon-circle{ font-size:30px !important; font-family:Georgia,'Times New Roman',serif; font-weight:700; }

/* ---- Buttons: subtle arrow nudge ---- */
.pp-btn-primary .elementor-button, .wp-block-button.pp-btn-primary .wp-block-button__link{
  position:relative; overflow:hidden;
}

/* ---- Nav: refined active/hover ---- */
.main-header-menu .menu-item.current-menu-item > a{ color:var(--pp-primary) !important; }
.main-header-menu .menu-item.current-menu-item > a::after{ width:100%; }

/* ---- Eyebrow / tag badges: tiny dot accent ---- */
.pp-eyebrow .elementor-heading-title::before, .pp-eyebrow .elementor-text-editor::before,
.pp-tag .elementor-heading-title::before, .pp-tag .elementor-text-editor::before{
  content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor; margin-right:8px; vertical-align:middle; opacity:.8;
}

/* ---- Section rhythm: slightly more breathing room ---- */
.pp-section{ padding:44px 24px !important; }
.pp-section-head{ margin-bottom:24px; }

@media (max-width:782px){
  .pp-section{ padding:32px 20px !important; }
  .pp-section-head{ margin-bottom:40px; }
  #masthead{ position:relative; }
}
