/*
Theme Name: AD Groupe Service
Theme URI: https://adgroupeservice.ca
Author: AD Groupe Service inc.
Description: Theme vitrine pour AD Groupe Service inc. - reparation d'appareils menagers, nettoyage de vitres et thermopompes dans les Laurentides. Design rouge/noir/blanc converti depuis Claude Design.
Version: 1.0
Text Domain: adgroupeservice
*/

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }
body { margin: 0; font-family: 'Hanken Grotesk', system-ui, sans-serif; color: #0b0b0b; background: #ffffff; -webkit-font-smoothing: antialiased; }
a { color: #DB1E27; text-decoration: none; }
a:hover { color: #a5161d; }
h1, h2, h3 { font-family: 'Bricolage Grotesque', system-ui, sans-serif; margin: 0; letter-spacing: -0.02em; }
input, textarea, select { font-family: inherit; }
img { max-width: 100%; }

@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes ripple { 0% { transform: scale(0.12); opacity: 0.5; } 70% { opacity: 0.1; } 100% { transform: scale(1.1); opacity: 0; } }
@keyframes corepulse { 0%,100% { transform: scale(1); opacity: 0.5; } 50% { transform: scale(1.5); opacity: 0.2; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes ping { 0% { r: 5; opacity: .8; } 70% { opacity: 0; } 100% { r: 18; opacity: 0; } }
@keyframes cityGlow { 0%,100% { color:#0b0b0b; } 40% { color:#DB1E27; } }
@keyframes dotGlow { 0%,100% { background:#c9c9c9; transform:scale(1); } 40% { background:#DB1E27; transform:scale(1.5); } }

/* ---- Interactive states (remplacent style-hover / style-focus du design) ---- */
.ad-btn-primary:hover { background:#a5161d !important; color:#fff !important; }
.ad-navlink:hover { color:#DB1E27 !important; }
.ad-phone-btn:hover { background:#DB1E27 !important; color:#fff !important; }
.ad-text-link:hover { color:#DB1E27 !important; }
.ad-footer-link:hover { color:#DB1E27 !important; }
.ad-social:hover { border-color:#DB1E27 !important; color:#DB1E27 !important; }
.ad-field:focus { border-color:#DB1E27 !important; }

/* Menu deroulant en CSS pur (remplace le composant React) */
.ad-dropdown { position:relative; }
.ad-dropdown-menu { display:none; position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%); background:#fff; border:1px solid #ececec; border-radius:12px; box-shadow:0 18px 44px rgba(0,0,0,0.10); padding:8px; min-width:246px; z-index:60; }
.ad-dropdown:hover .ad-dropdown-menu { display:block; }
.ad-dropdown-item { display:block; padding:11px 14px; border-radius:8px; color:#0b0b0b; font-size:14px; font-weight:500; }
.ad-dropdown-item:hover { background:#faf0f0; color:#DB1E27; }

/* Cartes services */
.ad-service-card { transition:box-shadow .3s ease, transform .3s ease; }
.ad-service-card:hover { box-shadow:0 22px 50px rgba(0,0,0,0.09); transform:translateY(-4px); }

/* Zone-photo remplacable (le vrai visuel etait dans Claude Design) */
.ad-img-slot { position:absolute; inset:0; width:100%; height:100%; background:linear-gradient(135deg,#111 0%,#3a0d10 55%,#DB1E27 130%); display:flex; align-items:center; justify-content:center; }
.ad-img-slot img { width:78px; height:78px; opacity:.92; }
.ad-img-slot.ad-cover { background-size:cover; background-position:center; }
.ad-img-slot.ad-cover img { display:none; }

/* Banniere succes formulaire */
.ad-notice { background:#0b0b0b; color:#fff; border-radius:12px; padding:16px 20px; margin-bottom:22px; font-size:15px; }
.ad-notice strong { color:#DB1E27; }

/* ---- Responsive ---- */
@media (max-width: 900px) {
  .ad-hero-grid { grid-template-columns:1fr !important; }
  .ad-stats { grid-template-columns:repeat(2,1fr) !important; }
  .ad-services-grid { grid-template-columns:1fr !important; }
  .ad-service-row { grid-template-columns:1fr !important; }
  .ad-service-row > div[style*="order:1"] { order:0 !important; }
  .ad-contact-grid { grid-template-columns:1fr !important; }
  .ad-reviews { grid-template-columns:1fr !important; }
  .ad-nav-links { display:none !important; }
  .ad-img-slot { position:relative; min-height:240px; }
}
@media (max-width: 560px) {
  .ad-stats { grid-template-columns:1fr !important; }
  .ad-hero-badge { position:static !important; margin-top:16px; display:inline-block; }
  .ad-form-row { grid-template-columns:1fr !important; }
  .ad-phone-btn { display:none !important; }
}
