/*
 Theme Name: Attorna Child
 Theme URI: https://beyond-avocats.tld
 Description: Thème enfant pour Attorna
 Author: Ton Nom
 Author URI: https://beyond-avocats.tld
 Template: attorna
 Version: 1.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain: attorna-child
*/

/* --- CSS de la landing optimisé --- */
:root{
  --text:#0f1222;
  --primary:#0D3B66;
  --primary-600:#0A2D4D;
}

/* === NEW CLASSES FOR LAWYER PHOTO INTEGRATION === */
.page-template-page-landing-beyond .lawyer-hero-section {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #f0f7ff 100%) !important;
  border-radius: 0 0 24px 24px !important;
  margin-bottom: 40px !important;
  box-shadow: 0 8px 32px rgba(13,59,102,0.08) !important;
}

.page-template-page-landing-beyond .lawyer-hero-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 60px 20px !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 60px !important;
  align-items: center !important;
  position: relative !important;
}

.page-template-page-landing-beyond .lawyer-hero-content {
  z-index: 2 !important;
}

.page-template-page-landing-beyond .lawyer-hero-content h1 {
  font-size: 56px !important;
  line-height: 1.1 !important;
  margin-bottom: 24px !important;
  color: #0f1222 !important;
  font-family: 'Times New Roman', Times, serif !important;
  font-weight: 700 !important;
}

.page-template-page-landing-beyond .lawyer-hero-content .lawyer-highlight {
  color: #0D3B66 !important;
  font-weight: 700 !important;
}

.page-template-page-landing-beyond .lawyer-hero-content p {
  font-size: 20px !important;
  line-height: 1.6 !important;
  color: #4b5563 !important;
  margin-bottom: 32px !important;
  max-width: 600px !important;
}

.page-template-page-landing-beyond .lawyer-photo-container {
  position: relative !important;
  z-index: 2 !important;
}

.page-template-page-landing-beyond .lawyer-photo {
  width: 320px !important;
  height: 400px !important;
  object-fit: cover !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 60px rgba(13,59,102,0.15) !important;
  border: 4px solid #ffffff !important;
  transition: transform 0.3s ease !important;
}

.page-template-page-landing-beyond .lawyer-photo:hover {
  transform: translateY(-8px) !important;
}

.page-template-page-landing-beyond .lawyer-credentials {
  position: absolute !important;
  bottom: -20px !important;
  right: -20px !important;
  background: linear-gradient(135deg, #0D3B66, #1e4976) !important;
  color: #ffffff !important;
  padding: 16px 24px !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 25px rgba(13,59,102,0.3) !important;
  backdrop-filter: blur(10px) !important;
}

.page-template-page-landing-beyond .lawyer-credentials h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 0 4px 0 !important;
  color: #ffffff !important;
}

.page-template-page-landing-beyond .lawyer-credentials p {
  font-size: 13px !important;
  margin: 0 !important;
  color: rgba(255,255,255,0.9) !important;
}

.page-template-page-landing-beyond .lawyer-hero-decoration {
  position: absolute !important;
  top: 50% !important;
  right: -100px !important;
  transform: translateY(-50%) !important;
  width: 200px !important;
  height: 200px !important;
  background: radial-gradient(circle, rgba(13,59,102,0.03) 0%, transparent 70%) !important;
  border-radius: 50% !important;
  z-index: 1 !important;
}

/* === RESPONSIVE DESIGN FOR LAWYER HERO === */
@media (max-width: 768px) {
  .page-template-page-landing-beyond .lawyer-hero-container {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    text-align: center !important;
    padding: 40px 20px !important;
  }
  
  .page-template-page-landing-beyond .lawyer-hero-content h1 {
    font-size: 42px !important;
  }
  
  .page-template-page-landing-beyond .lawyer-photo {
    width: 280px !important;
    height: 350px !important;
    margin: 0 auto !important;
  }
  
  .page-template-page-landing-beyond .lawyer-credentials {
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    margin-top: 20px !important;
    display: inline-block !important;
  }
}

/* Override Elementor/Attorna constraints */
.page-template-page-landing-beyond .elementor-section-wrap,
.page-template-page-landing-beyond .elementor-container,
.page-template-page-landing-beyond #content,
.page-template-page-landing-beyond #primary,
.page-template-page-landing-beyond .site-main,
.page-template-page-landing-beyond .elementor,
.page-template-page-landing-beyond .elementor-inner,
.page-template-page-landing-beyond .elementor-section-boxed > .elementor-container {
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

/* Admin bar adjustment */
body.page-template-page-landing-beyond.admin-bar .header {
  top: 32px !important;
}

/* Landing page specific styles with higher specificity */
.page-template-page-landing-beyond * {box-sizing:border-box !important}
.page-template-page-landing-beyond html,
.page-template-page-landing-beyond body{height:100% !important; max-width:100% !important; overflow-x:hidden !important}
.page-template-page-landing-beyond body{
  margin:0 !important; 
  font-family:'Times New Roman',Times,serif !important;
  background:linear-gradient(180deg,#f8fafc 0%, #eef2f7 50%, #e8edf7 100%) !important;
  color:var(--text) !important;
  font-size:16px !important;
  line-height:1.8 !important;
}
/* Force Times New Roman sur TOUS les éléments */
.page-template-page-landing-beyond *{
  font-family:'Times New Roman',Times,serif !important;
}
.page-template-page-landing-beyond a{color:inherit !important; text-decoration:none !important}
.page-template-page-landing-beyond .container{max-width:1280px !important; margin:0 auto !important; padding:0 20px !important; width:100% !important; box-sizing:border-box !important}
/* Header */
.page-template-page-landing-beyond .header{position:sticky !important; top:0 !important; z-index:9999 !important; backdrop-filter:blur(8px) !important; background:rgba(255,253,250,.92) !important; border-bottom:1px solid #e9eef5 !important; width:100% !important; left:0 !important}
.page-template-page-landing-beyond .header-inner{max-width:1280px !important; margin:0 auto !important; padding:12px 20px !important; display:flex !important; align-items:center !important; justify-content:space-between !important; gap:20px !important; flex-wrap:nowrap !important; box-sizing:border-box !important; width:100% !important}
.page-template-page-landing-beyond .brand{display:flex !important; align-items:center !important; gap:16px !important; font-weight:700 !important; letter-spacing:.3px !important; color:#0f1222 !important}
.page-template-page-landing-beyond .brand-badge{display:inline-flex !important; align-items:center !important; justify-content:center !important; height:125px !important; border-radius:0 !important; overflow:visible !important}
.page-template-page-landing-beyond .brand-badge img{height:100% !important; width:auto !important; display:block !important}
.page-template-page-landing-beyond .meta{display:flex !important; gap:10px !important; align-items:center !important; color:#667085 !important; font-size:14px !important; flex-wrap:nowrap !important; white-space:nowrap !important}
.page-template-page-landing-beyond .meta a[href^="tel"]{transition:color 0.2s ease !important}
.page-template-page-landing-beyond .meta a[href^="tel"]:hover{color:#0A2D4D !important; text-decoration:underline !important}
/* CTA - Règles consolidées */
.page-template-page-landing-beyond .cta,
.page-template-page-landing-beyond a.cta,
.page-template-page-landing-beyond button.cta,
.page-template-page-landing-beyond a[style*="background: #0D3B66"],
.page-template-page-landing-beyond button[style*="background: #0D3B66"] {
  background: #0D3B66 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

.page-template-page-landing-beyond .cta:hover,
.page-template-page-landing-beyond a.cta:hover,
.page-template-page-landing-beyond button.cta:hover,
.page-template-page-landing-beyond a[style*="background: #0D3B66"]:hover,
.page-template-page-landing-beyond button[style*="background: #0D3B66"]:hover {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 18px rgba(13,59,102,.25) !important;
}

.page-template-page-landing-beyond .cta.outline {
  background: transparent !important;
  color: #0D3B66 !important;
  border: 1px solid #0D3B66 !important;
}

.page-template-page-landing-beyond .cta.outline:hover {
  color: #0D3B66 !important;
  background: rgba(13,59,102,.05) !important;
}
.page-template-page-landing-beyond .header .cta{padding:10px 14px !important; font-size:13px !important}
/* Hero */
.page-template-page-landing-beyond .hero{padding:20px 0 32px !important}
.page-template-page-landing-beyond .hero-grid{display:grid !important; grid-template-columns:1.25fr .85fr !important; gap:32px !important; align-items:start !important}
.page-template-page-landing-beyond .kicker{display:inline-flex !important; align-items:center !important; gap:8px !important; color:#0D3B66 !important; background:rgba(13,59,102,.08) !important; border:1px solid rgba(13,59,102,.25) !important; padding:6px 12px !important; border-radius:999px !important; font-weight:600 !important; font-size:12px !important; text-transform:uppercase !important; letter-spacing:0.5px !important}
.page-template-page-landing-beyond .title{font-size:clamp(30px,4.2vw,46px) !important; line-height:1.15 !important; margin:0 0 12px !important; color:#0f1222 !important; font-weight:700 !important}
.page-template-page-landing-beyond .subtitle{color:#667085 !important; font-size:17px !important; line-height:1.8 !important}
.page-template-page-landing-beyond .hero-card{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,255,.95)) !important; border:1px solid #e6eaf2 !important; padding:20px !important; border-radius:16px !important; box-shadow:0 12px 24px rgba(13,59,102,.08) !important}
/* Trust chips */
.page-template-page-landing-beyond .trust{display:flex !important; gap:14px !important; flex-wrap:wrap !important; margin:14px 0 !important}
.page-template-page-landing-beyond .trust .chip{display:flex !important; align-items:center !important; gap:8px !important; background:#f7faff !important; border:1px solid #e0e7ff !important; padding:8px 12px !important; border-radius:8px !important; font-size:14px !important; font-weight:500 !important}
/* Layout */
.page-template-page-landing-beyond .layout{display:grid !important; grid-template-columns:1.2fr 0.8fr !important; gap:24px !important; margin-top:18px !important}
.page-template-page-landing-beyond .card{background:#ffffff !important; border:1px solid #e6eaf2 !important; border-radius:16px !important; box-shadow:0 12px 24px rgba(13,59,102,.08) !important}
.page-template-page-landing-beyond .card .hd{padding:18px 18px 0 !important; font-weight:700 !important; color:#0f1222 !important}
.page-template-page-landing-beyond .card .bd{padding:18px !important}
/* Bullets */
.page-template-page-landing-beyond .bullets{display:grid !important; gap:14px !important; margin:10px 0 !important}
.page-template-page-landing-beyond .bullets li{list-style:none !important; background:#f7faff !important; border:1px solid #e3e8f0 !important; padding:14px 16px !important; border-radius:12px !important; transition:all 0.2s ease !important}
.page-template-page-landing-beyond .bullets li:hover{background:#fff !important; box-shadow:0 4px 12px rgba(13,59,102,.08) !important; transform:translateY(-2px) !important}
.page-template-page-landing-beyond .bullets b{color:#0f1222 !important}
/* Form */
.page-template-page-landing-beyond form{display:grid !important; gap:12px !important; max-width:800px !important; margin:0 auto !important}
.page-template-page-landing-beyond .field{display:grid !important; gap:6px !important}
.page-template-page-landing-beyond label{font-size:14px !important; color:#0f1222 !important; font-weight:600 !important}
.page-template-page-landing-beyond form button[type="submit"]{justify-self:center !important; margin:0 auto !important; padding:14px 28px !important; font-size:16px !important}
.page-template-page-landing-beyond form > div[style*="display:flex"]{justify-content:center !important}
.page-template-page-landing-beyond input,
.page-template-page-landing-beyond select,
.page-template-page-landing-beyond textarea{background:#ffffff !important; border:1px solid #e3e8f0 !important; color:#0f1222 !important; padding:12px 12px !important; border-radius:12px !important; outline:none !important; font-family:'Times New Roman',Times,serif !important; font-size:16px !important}
.page-template-page-landing-beyond input:focus,
.page-template-page-landing-beyond select:focus,
.page-template-page-landing-beyond textarea:focus{box-shadow:0 0 0 2px #0D3B66 !important}
.page-template-page-landing-beyond .hint{font-size:14px !important; color:#667085 !important}
/* FAQ / Accordions */
.page-template-page-landing-beyond .accordions{display:grid !important; gap:10px !important; margin:10px 0 !important}
.page-template-page-landing-beyond .accordions details{background:#f7faff !important; border:1px solid #e3e8f0 !important; border-radius:12px !important; padding:12px !important; margin-bottom:10px !important; transition:all 0.2s ease !important}
.page-template-page-landing-beyond .accordions details[open]{background:#fff !important; box-shadow:0 4px 12px rgba(13,59,102,.1) !important}
.page-template-page-landing-beyond .accordions summary{cursor:pointer !important; font-weight:600 !important; color:#0f1222 !important; list-style:none !important; display:flex !important; justify-content:space-between !important; align-items:center !important}
.page-template-page-landing-beyond .accordions summary::-webkit-details-marker{display:none !important}
.page-template-page-landing-beyond .accordions summary::after{content:'▼' !important; font-size:10px !important; color:#667085 !important; transition:transform 0.2s ease !important}
.page-template-page-landing-beyond .accordions details[open] summary::after{transform:rotate(180deg) !important}
.page-template-page-landing-beyond .accordions p{color:#667085 !important; margin:12px 0 0 !important; line-height:1.6 !important}
.page-template-page-landing-beyond .accordions a{color:#0D3B66 !important; text-decoration:underline !important}
/* Cookies */
.page-template-page-landing-beyond .cookie-banner{position:fixed !important; inset:auto 16px 16px 16px !important; background:#ffffff !important; color:#0f1222 !important; border:1px solid #e3e8f0 !important; border-radius:14px !important; padding:14px !important; display:none !important; gap:12px !important; align-items:center !important; justify-content:space-between !important; box-shadow:0 12px 24px rgba(13,59,102,.08) !important; z-index:100 !important}
.page-template-page-landing-beyond .cookie-actions{display:flex !important; gap:8px !important; flex-wrap:wrap !important}
.page-template-page-landing-beyond .cookie-link{font-weight:600 !important; text-decoration:underline !important; color:#0D3B66 !important}
/* Sticky CTA */
.page-template-page-landing-beyond .sticky-bar{
  position:fixed !important; 
  bottom:18px !important; 
  left:50% !important; 
  transform:translateX(-50%) !important;
  z-index:40 !important; 
  text-align:center !important; 
  pointer-events:none !important;
  width:auto !important;
}
.page-template-page-landing-beyond .sticky-bar .cta{
  pointer-events:auto !important; 
  display:inline-block !important;
  padding:14px 22px !important; 
  border-radius:999px !important;
  background:#0D3B66 !important;
  color:#ffffff !important;
}

/* WhatsApp Button */
.page-template-page-landing-beyond .whatsapp-btn{position:fixed !important; bottom:20px !important; right:20px !important; z-index:45 !important; background:#25D366 !important; color:#ffffff !important; width:60px !important; height:60px !important; border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important; box-shadow:0 4px 12px rgba(37,211,102,.4) !important; cursor:pointer !important; transition:all 0.3s ease !important; text-decoration:none !important; border:none !important; animation:pulse 2s infinite !important}
.page-template-page-landing-beyond .whatsapp-btn:hover{transform:scale(1.1) !important; box-shadow:0 6px 20px rgba(37,211,102,.6) !important; animation:none !important}
.page-template-page-landing-beyond .whatsapp-btn svg{width:32px !important; height:32px !important; fill:#ffffff !important}

/* Animation pulse pour WhatsApp */
@keyframes pulse {
  0%, 100% { box-shadow:0 4px 12px rgba(37,211,102,.4) }
  50% { box-shadow:0 4px 20px rgba(37,211,102,.7) }
}

/* Footer */
.page-template-page-landing-beyond footer{margin:40px 0 60px !important; color:#667085 !important; font-size:13px !important}
.page-template-page-landing-beyond footer p{color:#667085 !important}
.page-template-page-landing-beyond footer a{color:#0D3B66 !important; text-decoration:underline !important}
.page-template-page-landing-beyond footer a:hover{color:#0A2D4D !important}

/* Hide Google stars from header on desktop - RENFORCÉ */
@media (min-width:981px) {
  .page-template-page-landing-beyond .meta > div:first-child,
  body.page-template-page-landing-beyond .meta > div:first-child,
  body .meta > div:first-child,
  .meta > div:first-child,
  header .meta > div:first-child,
  .header .meta > div:first-child {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  
}

/* Force header to stay on one line for wider screens */
@media (min-width:981px) and (max-width:1400px){
  .page-template-page-landing-beyond .meta{gap:8px !important; font-size:13px !important}
  .page-template-page-landing-beyond .header .cta{padding:8px 12px !important; font-size:12px !important}
  .page-template-page-landing-beyond .brand-badge{height:110px !important}
  .page-template-page-landing-beyond .container{max-width:1200px !important}
  .page-template-page-landing-beyond .header-inner{max-width:1200px !important}
}

@media (max-width:980px){
  .page-template-page-landing-beyond .hero-grid{grid-template-columns:1fr !important}
  .page-template-page-landing-beyond .layout{grid-template-columns:1fr !important}
  .page-template-page-landing-beyond .header{position:sticky !important; top:0 !important; z-index:9999 !important}
  .page-template-page-landing-beyond .header-inner{gap:12px !important; flex-wrap:wrap !important; padding:12px 20px !important}
  
  /* Hide Google Reviews section on mobile (NOT header stars) - RENFORCÉ */
  .page-template-page-landing-beyond .google-reviews-section,
  body.page-template-page-landing-beyond .google-reviews-section,
  body .google-reviews-section,
  .google-reviews-section,
  section.google-reviews-section {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  
  /* Hide header CTA button on mobile only - RENFORCÉ */
  .page-template-page-landing-beyond .header .cta,
  body.page-template-page-landing-beyond .header .cta,
  body .header .cta,
  .header .cta,
  header .cta {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  
  /* Hide specific FAQ questions on mobile to reduce length - RENFORCÉ */
  .page-template-page-landing-beyond .faq-hide-mobile,
  body.page-template-page-landing-beyond .faq-hide-mobile,
  body .faq-hide-mobile,
  .faq-hide-mobile,
  details.faq-hide-mobile,
  details[class*="faq-hide-mobile"],
  *[class*="faq-hide-mobile"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
  }
  .page-template-page-landing-beyond .brand{width:100% !important; justify-content:center !important}
  .page-template-page-landing-beyond .brand-badge{height:100px !important}
  .page-template-page-landing-beyond .brand > div{font-size:12px !important}
  .page-template-page-landing-beyond .brand > div span:first-child{font-size:12px !important}
  .page-template-page-landing-beyond .brand > div span:last-child{font-size:10px !important}
  .page-template-page-landing-beyond .meta{width:100% !important; justify-content:center !important; gap:8px !important}
  .page-template-page-landing-beyond .meta > span{display:inline-block !important}
  .page-template-page-landing-beyond .meta > a{flex:0 0 auto !important}
  .page-template-page-landing-beyond .kicker{justify-content:center !important; text-align:center !important}
  .page-template-page-landing-beyond .whatsapp-btn,
  body .whatsapp-btn,
  .whatsapp-btn {bottom:100px !important; right:15px !important; width:50px !important; height:50px !important}
  .page-template-page-landing-beyond .whatsapp-btn svg,
  body .whatsapp-btn svg,
  .whatsapp-btn svg {width:26px !important; height:26px !important}
  .page-template-page-landing-beyond .title{font-size:28px !important}
  .page-template-page-landing-beyond form > div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .page-template-page-landing-beyond .sticky-bar{
    left:50% !important; 
    right:auto !important; 
    bottom:15px !important;
    transform:translateX(-50%) !important;
    width:auto !important;
  }
  .page-template-page-landing-beyond .sticky-bar .cta{
    width:auto !important; 
    text-align:center !important; 
    max-width:calc(100vw - 40px) !important; 
    margin:0 !important;
    padding:12px 20px !important;
  }
}

@media (max-width:640px){
  .page-template-page-landing-beyond .brand-badge{height:75px !important}
  .page-template-page-landing-beyond .brand{gap:8px !important}
  .page-template-page-landing-beyond .brand > div span:first-child{font-size:10px !important}
  .page-template-page-landing-beyond .brand > div span:last-child{display:none !important}
  .page-template-page-landing-beyond .meta{font-size:11px !important; gap:6px !important; flex-wrap:wrap !important; align-items:center !important}
  .page-template-page-landing-beyond .meta > span:nth-child(2){display:none !important}
  .page-template-page-landing-beyond .meta > span:nth-child(3){display:none !important}
  /* Google stars in header - mobile optimization */
  .page-template-page-landing-beyond .meta > div:first-child{
    gap: 3px !important;
    margin-right: 6px !important;
  }
  .page-template-page-landing-beyond .meta > div:first-child span{
    font-size: 10px !important;
  }
  .page-template-page-landing-beyond .header .cta{padding:8px 10px !important; font-size:11px !important}
  .page-template-page-landing-beyond .cta{padding:10px 14px !important; font-size:13px !important}
  .page-template-page-landing-beyond .title{font-size:24px !important}
  .page-template-page-landing-beyond .subtitle{font-size:15px !important}
  .page-template-page-landing-beyond .header-inner{padding:10px 15px !important}
  
  /* Hero content adjustments */
  .page-template-page-landing-beyond .hero{padding:15px 0 25px !important}
  .page-template-page-landing-beyond [style*="max-width: 900px"]{max-width:100% !important; padding:0 10px !important}
  .page-template-page-landing-beyond [style*="max-width: 1200px"]{max-width:100% !important; padding:0 15px !important}
  
  /* Large sections responsive */
  .page-template-page-landing-beyond [style*="padding: 48px 32px"]{
    padding: 24px 16px !important;
  }
  .page-template-page-landing-beyond [style*="margin: 0 0 48px"]{
    margin: 0 0 24px !important;
  }
  
  /* Footer responsive */
  .page-template-page-landing-beyond footer{margin:30px 0 80px !important; font-size:11px !important; text-align:center !important}
  .page-template-page-landing-beyond footer p{line-height:1.5 !important}
}

/* Testimonials carousel layout overrides */
.page-template-page-landing-beyond #testimonials-track { will-change: transform !important; }
.page-template-page-landing-beyond .testimonial-item { display: block !important; }
@media (max-width: 1024px) {
  .page-template-page-landing-beyond .testimonial-item { flex: 0 0 calc(50% - 12px) !important; margin-right: 16px !important; }
}
@media (max-width: 640px) {
  .page-template-page-landing-beyond .testimonial-item { flex: 0 0 100% !important; margin-right: 0 !important; }
  
  /* Protect stars display on mobile */
  .page-template-page-landing-beyond [style*="gap: 2px"] {
    display: flex !important;
    gap: 2px !important;
    flex-wrap: nowrap !important;
  }
  
  /* Ensure testimonials container works on mobile */
  .page-template-page-landing-beyond #testimonials-track {
    display: flex !important;
    flex-wrap: nowrap !important;
  }
}

/* Responsive overrides for inline styled grids and sections */
@media (max-width: 1024px) {
  /* Standardize spacing between sections */
  .page-template-page-landing-beyond section {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
  
  /* Force 2-column grids to single column on tablets */
  .page-template-page-landing-beyond [style*="grid-template-columns: 1fr 1fr"],
  .page-template-page-landing-beyond [style*="grid-template-columns: 1.2fr 0.8fr"],
  .page-template-page-landing-beyond [style*="grid-template-columns: 1fr auto"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    text-align: center !important;
  }
  
  /* Points forts cards - tablet adjustment */
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 18px !important;
  }
  
  /* Reduce font sizes on tablets */
  .page-template-page-landing-beyond [style*="font-size: 48px"] {
    font-size: 36px !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 36px"] {
    font-size: 28px !important;
  }
  
  /* Adjust padding on tablets */
  .page-template-page-landing-beyond [style*="padding: 48px 32px"] {
    padding: 32px 20px !important;
  }
  .page-template-page-landing-beyond [style*="padding: 32px"] {
    padding: 24px !important;
  }
}

@media (max-width: 768px) {
  /* Standardize spacing between sections on mobile */
  .page-template-page-landing-beyond section {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  
  /* Force all multi-column grids to single column on mobile - EXCEPT testimonials */
  .page-template-page-landing-beyond [style*="grid-template-columns"]:not(#testimonials-track):not(.testimonials-container):not([style*="gap: 2px"]),
  .page-template-page-landing-beyond [style*="display: grid"]:not(#testimonials-track):not(.testimonials-container):not([style*="gap: 2px"]) {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  /* Reduce all large font sizes on mobile */
  .page-template-page-landing-beyond [style*="font-size: 48px"],
  .page-template-page-landing-beyond [style*="font-size: 36px"] {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 28px"] {
    font-size: 22px !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 20px"] {
    font-size: 18px !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 18px"] {
    font-size: 16px !important;
  }
  
  /* Reduce padding and margins on mobile */
  .page-template-page-landing-beyond [style*="padding: 48px 32px"],
  .page-template-page-landing-beyond [style*="padding: 60px 20px"] {
    padding: 20px 15px !important;
  }
  .page-template-page-landing-beyond [style*="padding: 32px"] {
    padding: 20px !important;
  }
  .page-template-page-landing-beyond [style*="padding: 24px"] {
    padding: 16px !important;
  }
  .page-template-page-landing-beyond [style*="margin: 32px 0"],
  .page-template-page-landing-beyond [style*="margin: 48px"] {
    margin: 20px 0 !important;
  }
  
  /* Fix flex wrapping and gaps - EXCEPT testimonials and stars */
  .page-template-page-landing-beyond [style*="display: flex"]:not(#testimonials-track):not([style*="gap: 2px"]) {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .page-template-page-landing-beyond [style*="gap: 32px"] {
    gap: 16px !important;
  }
  .page-template-page-landing-beyond [style*="gap: 60px"] {
    gap: 24px !important;
  }
  
  /* Fix large CTA buttons on mobile */
  .page-template-page-landing-beyond [style*="min-width: 280px"] {
    min-width: 250px !important;
    padding: 16px 24px !important;
    font-size: 16px !important;
  }
  
  /* CTA hover fix - ensure they stay visible */
  .page-template-page-landing-beyond a[style*="background: #0D3B66"]:hover,
  .page-template-page-landing-beyond button[style*="background: #0D3B66"]:hover {
    color: #ffffff !important;
    background: #0A2D4D !important;
  }
  
  /* Points forts cards mobile optimization */
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin: 24px auto !important;
    max-width: 100% !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] > div {
    padding: 20px !important;
    border-radius: 12px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] h3 {
    font-size: 16px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] p {
    font-size: 13px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] div[style*="width: 48px"] {
    width: 40px !important;
    height: 40px !important;
    margin: 0 auto 12px !important;
  }
  
  /* Center profile images and adjust size */
  .page-template-page-landing-beyond img[style*="width: 120px"] {
    width: 100px !important;
    height: 100px !important;
  }
  
  /* Testimonials navigation - fix mobile layout */
  .page-template-page-landing-beyond [style*="justify-content: space-between"]:has(h2) {
    flex-direction: column !important;
    gap: 20px !important;
    align-items: center !important;
  }
  .page-template-page-landing-beyond [style*="justify-content: space-between"]:has(h2) h2 {
    text-align: center !important;
    margin: 0 !important;
  }
  .page-template-page-landing-beyond [style*="justify-content: space-between"]:has(h2) div {
    order: 2 !important;
  }
}

@media (max-width: 480px) {
  /* Standardize spacing between sections on very small screens */
  .page-template-page-landing-beyond section {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  
  /* Extra small screens - even more compact */
  .page-template-page-landing-beyond [style*="font-size: 24px"] {
    font-size: 20px !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 22px"] {
    font-size: 18px !important;
  }
  
  /* Very tight padding on very small screens */
  .page-template-page-landing-beyond [style*="max-width: 1200px"],
  .page-template-page-landing-beyond [style*="max-width: 1280px"] {
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  
  /* Ultra compact sections */
  .page-template-page-landing-beyond [style*="padding: 48px 32px"],
  .page-template-page-landing-beyond [style*="padding: 24px 16px"] {
    padding: 16px 12px !important;
  }
  
  /* Mobile improvements for defense steps section */
  .page-template-page-landing-beyond [style*="padding: 32px"],
  body [style*="padding: 32px"],
  [style*="padding: 32px"] {
    padding: 16px !important;
    margin-bottom: 12px !important;
    border-radius: 12px !important;
  }
  
  .page-template-page-landing-beyond [style*="font-size: 20px"][style*="margin: 0 0 12px"],
  body [style*="font-size: 20px"][style*="margin: 0 0 12px"],
  [style*="font-size: 20px"][style*="margin: 0 0 12px"] {
    font-size: 16px !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
  }
  
  .page-template-page-landing-beyond [style*="font-size: 16px"][style*="color: #667085"],
  body [style*="font-size: 16px"][style*="color: #667085"],
  [style*="font-size: 16px"][style*="color: #667085"] {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  
  /* Better mobile grid for defense section */
  .page-template-page-landing-beyond [style*="grid-template-columns: 1fr 1fr"],
  body [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  /* Mobile improvements for defense steps list */
  .page-template-page-landing-beyond li[style*="padding-left: 50px"],
  body li[style*="padding-left: 50px"],
  li[style*="padding-left: 50px"] {
    padding-left: 40px !important;
    margin-bottom: 16px !important;
  }
  
  .page-template-page-landing-beyond span[style*="width: 32px"],
  body span[style*="width: 32px"],
  span[style*="width: 32px"] {
    width: 28px !important;
    height: 28px !important;
    font-size: 14px !important;
  }
  
  .page-template-page-landing-beyond h4[style*="font-size: 18px"],
  body h4[style*="font-size: 18px"],
  h4[style*="font-size: 18px"] {
    font-size: 16px !important;
    margin: 0 0 6px !important;
  }
  
  .page-template-page-landing-beyond p[style*="font-size: 15px"],
  body p[style*="font-size: 15px"],
  p[style*="font-size: 15px"] {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  
  /* Title responsive */
  .page-template-page-landing-beyond [style*="font-size: 36px"] {
    font-size: 22px !important;
  }
  .page-template-page-landing-beyond [style*="font-size: 28px"] {
    font-size: 20px !important;
  }
  
  /* Form grids to single column */
  .page-template-page-landing-beyond form [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
  
  /* Form section mobile improvements */
  .page-template-page-landing-beyond #form {
    padding: 20px 10px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  
  .page-template-page-landing-beyond #form .card {
    border-radius: 12px !important;
    padding: 16px !important;
    margin: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  /* Fix form overflow on mobile */
  .page-template-page-landing-beyond form {
    max-width: 100% !important;
    margin: 16px 0 !important;
    padding: 0 !important;
  }
  
  .page-template-page-landing-beyond #form .bd {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  
  .page-template-page-landing-beyond #form h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
  }
  
  .page-template-page-landing-beyond #form p {
    font-size: 14px !important;
    margin-bottom: 12px !important;
  }
  
  /* Form inputs mobile optimization */
  .page-template-page-landing-beyond form {
    max-width: 100% !important;
    margin: 16px 0 0 !important;
  }
  
  .page-template-page-landing-beyond .field label {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }
  
  .page-template-page-landing-beyond input,
  .page-template-page-landing-beyond select,
  .page-template-page-landing-beyond textarea {
    font-size: 16px !important;
    padding: 14px 12px !important;
    border-radius: 8px !important;
  }
  
  .page-template-page-landing-beyond textarea {
    min-height: 120px !important;
  }
  
  .page-template-page-landing-beyond .hint {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  
  /* Checkbox and privacy policy mobile */
  .page-template-page-landing-beyond form label[style*="display:flex"] {
    font-size: 11px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    padding: 0 10px !important;
  }
  
  .page-template-page-landing-beyond form label[style*="display:flex"] input {
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }
  
  /* Smaller CTA on very small screens */
  .page-template-page-landing-beyond [style*="min-width: 250px"] {
    min-width: 200px !important;
    font-size: 14px !important;
  }
  
  /* Responsive main CTA */
  .page-template-page-landing-beyond [style*="min-width: 320px"],
  body [style*="min-width: 320px"],
  [style*="min-width: 320px"] {
    min-width: 250px !important;
    font-size: 18px !important;
    padding: 18px 24px !important;
  }
  
  /* Points forts ultra compact */
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] > div {
    padding: 16px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] h3 {
    font-size: 15px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] p {
    font-size: 12px !important;
  }
  
  .page-template-page-landing-beyond [style*="grid-template-columns: repeat(auto-fit, minmax(250px, 1fr))"] div[style*="width: 48px"] {
    width: 36px !important;
    height: 36px !important;
  }
  
  /* Ultra compact form on very small screens */
  .page-template-page-landing-beyond #form {
    padding: 15px 10px !important;
    margin-top: 15px !important;
  }
  
  .page-template-page-landing-beyond #form .card {
    padding: 16px !important;
  }
  
  .page-template-page-landing-beyond #form h2 {
    font-size: 20px !important;
  }
  
  .page-template-page-landing-beyond form label[style*="display:flex"] {
    font-size: 10px !important;
    padding: 0 5px !important;
  }
  
  /* Header responsive improvements - ultra compact */
  .page-template-page-landing-beyond .brand-badge{
    height: 70px !important;
  }
  
  .page-template-page-landing-beyond .meta > div:first-child {
    gap: 2px !important;
    margin-right: 4px !important;
  }
  
  .page-template-page-landing-beyond .meta > div:first-child span {
    font-size: 9px !important;
  }
  
  /* Hide some elements on very small screens */
  .page-template-page-landing-beyond .meta > span:nth-child(2){
    display: none !important;
  }
}

/* Additional spacing and responsive improvements */
@media (max-width: 1280px) {
  /* Ensure consistent spacing on all screen sizes */
  .page-template-page-landing-beyond .container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Improve header responsive behavior */
@media (max-width: 1200px) {
  .page-template-page-landing-beyond .header-inner {
    padding: 12px 15px !important;
  }
  
  .page-template-page-landing-beyond .brand-badge {
    height: 105px !important;
  }
}

/* Better section spacing on all devices */
.page-template-page-landing-beyond section:first-of-type {
  margin-top: 0 !important;
}

.page-template-page-landing-beyond section:last-of-type {
  margin-bottom: 60px !important;
}

/* Ensure consistent card padding across sections */
@media (max-width: 640px) {
  .page-template-page-landing-beyond [style*="padding: 48px 32px"],
  .page-template-page-landing-beyond [style*="padding: 30px 20px"] {
    padding: 20px 15px !important;
  }
  
  .page-template-page-landing-beyond .card .bd {
    padding: 16px !important;
  }
  
  /* Form container mobile padding */
  .page-template-page-landing-beyond #form {
    padding: 15px 10px !important;
  }
  
  .page-template-page-landing-beyond #form .card {
    margin: 0 !important;
  }
  
  .page-template-page-landing-beyond #form .card .bd {
    padding: 20px 12px !important;
  }
}

/* Fix overflow issues on mobile */
.page-template-page-landing-beyond {
  overflow-x: hidden !important;
}

.page-template-page-landing-beyond * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Form styling */
.page-template-page-landing-beyond .field {
  margin-bottom: 16px !important;
}

.page-template-page-landing-beyond .field label {
  display: block !important;
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  color: #0f1222 !important;
  font-size: 14px !important;
}

.page-template-page-landing-beyond .field input,
.page-template-page-landing-beyond .field select,
.page-template-page-landing-beyond .field textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  background: #ffffff !important;
  color: #0f1222 !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease !important;
}

.page-template-page-landing-beyond .field input:focus,
.page-template-page-landing-beyond .field select:focus,
.page-template-page-landing-beyond .field textarea:focus {
  outline: none !important;
  border-color: #0D3B66 !important;
  box-shadow: 0 0 0 3px rgba(13, 59, 102, 0.1) !important;
}

.page-template-page-landing-beyond .field input::placeholder,
.page-template-page-landing-beyond .field textarea::placeholder {
  color: #9ca3af !important;
  font-size: 14px !important;
}

.page-template-page-landing-beyond .hint {
  color: #667085 !important;
  font-size: 12px !important;
  margin: 0 !important;
}

/* Ensure all sections have proper max-width and centering */
@media (max-width: 1280px) {
  .page-template-page-landing-beyond section {
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Badge text responsive behavior */
.page-template-page-landing-beyond .badge-text-mobile {
  display: none !important;
}

.page-template-page-landing-beyond .badge-text-full {
  display: inline !important;
}

@media (max-width: 768px) {
  /* Form responsive - tablet */
  .page-template-page-landing-beyond form {
    max-width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 10px !important;
  }
  
  .page-template-page-landing-beyond [style*="display:grid; grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

@media (max-width: 640px) {
  .page-template-page-landing-beyond .badge-text-full {
    display: none !important;
  }
  
  .page-template-page-landing-beyond .badge-text-mobile {
    display: inline !important;
  }
  
  /* Ensure badges don't break on multiple lines */
  .page-template-page-landing-beyond [style*="background:rgba(16,185,129,.15)"] {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 120px !important;
  }
  
  /* Form responsive - mobile */
  .page-template-page-landing-beyond form {
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 5px !important;
  }
  
  .page-template-page-landing-beyond .field input,
  .page-template-page-landing-beyond .field select,
  .page-template-page-landing-beyond .field textarea {
    padding: 14px 12px !important;
    font-size: 16px !important; /* Évite le zoom sur iOS */
    min-height: 44px !important; /* Touch-friendly */
  }
  
  .page-template-page-landing-beyond .field label {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }
  
  /* Form title responsive */
  .page-template-page-landing-beyond #form h2 {
    font-size: 22px !important;
    margin: 0 0 16px !important;
  }
  
  /* Checkbox and submit area */
  .page-template-page-landing-beyond form label[style*="display:flex"] {
    font-size: 13px !important;
    padding: 0 5px !important;
    text-align: center !important;
    line-height: 1.4 !important;
  }
  
  .page-template-page-landing-beyond form [style*="justify-content:center"] {
    padding: 0 5px !important;
  }
}

@media (max-width: 480px) {
  /* Extra small screens - form */
  .page-template-page-landing-beyond #form {
    padding: 10px 5px !important;
    margin-top: 20px !important;
  }
  
  .page-template-page-landing-beyond #form .card .bd {
    padding: 16px 8px !important;
  }
  
  .page-template-page-landing-beyond form {
    padding: 0 2px !important;
  }
  
  .page-template-page-landing-beyond .field input,
  .page-template-page-landing-beyond .field select,
  .page-template-page-landing-beyond .field textarea {
    padding: 12px 10px !important;
    font-size: 16px !important;
  }
  
  .page-template-page-landing-beyond #form h2 {
    font-size: 20px !important;
  }
  
  .page-template-page-landing-beyond form label[style*="display:flex"] {
    font-size: 12px !important;
    padding: 0 2px !important;
  }
}
