
/*
Theme Name: Puissance Max Radio Pro
Theme URI: https://puissance-max-la-radio.fr/
Author: Puissance Max
Description: Thème WordPress moderne pour Puissance Max La Radio.
Version: 1.0.0
Text Domain: puissance-max-radio-pro
*/
:root{
 --bg:#050714;--panel:#0d1230;--text:#fff;--muted:#bfc5dc;
 --pink:#ff168f;--violet:#8b36ff;--cyan:#19d9ff;--border:rgba(255,255,255,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.pm-container{width:min(1180px,92%);margin:auto}
.pm-header{position:sticky;top:0;z-index:999;background:rgba(5,7,20,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.pm-nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.pm-brand{text-decoration:none;font-weight:900;font-size:22px;letter-spacing:.5px}
.pm-brand span{color:var(--pink)}
.pm-menu{display:flex;list-style:none;margin:0;padding:0;gap:22px;align-items:center}
.pm-menu a{text-decoration:none;font-weight:800;font-size:15px}
.pm-menu a:hover{color:var(--pink)}
.pm-toggle{display:none;background:none;border:1px solid var(--border);color:#fff;border-radius:10px;padding:9px 12px;font-size:22px}
.pm-hero{
 min-height:760px;display:flex;align-items:center;position:relative;overflow:hidden;
 background:
 linear-gradient(90deg,rgba(4,5,16,.96),rgba(4,5,16,.72) 48%,rgba(4,5,16,.35)),
 url('assets/images/studio-puissance-max.png') center/cover no-repeat
}
.pm-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,var(--bg))}
.pm-hero-inner{position:relative;z-index:2;max-width:650px;padding:80px 0}
.pm-live{display:inline-flex;align-items:center;gap:9px;background:rgba(255,22,143,.16);border:1px solid rgba(255,22,143,.45);padding:8px 14px;border-radius:999px;font-weight:900}
.pm-dot{width:10px;height:10px;border-radius:50%;background:#ff1744;box-shadow:0 0 18px #ff1744;animation:pulse 1.2s infinite}
@keyframes pulse{50%{opacity:.45}}
.pm-hero h1{font-size:clamp(46px,8vw,92px);line-height:.95;margin:24px 0 18px;text-transform:uppercase;text-shadow:0 0 28px rgba(255,22,143,.35)}
.pm-gradient{background:linear-gradient(90deg,var(--pink),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-lead{font-size:20px;color:#e1e5f5;max-width:620px}
.pm-player{margin-top:28px;padding:22px;border:1px solid var(--border);border-radius:22px;background:rgba(9,13,40,.82);backdrop-filter:blur(14px);box-shadow:0 22px 60px rgba(0,0,0,.38)}
.pm-player audio{width:100%;margin-top:12px}
.pm-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.pm-btn{display:inline-block;text-decoration:none;padding:13px 20px;border-radius:12px;font-weight:900;background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 10px 24px rgba(255,22,143,.24)}
.pm-btn.secondary{background:rgba(255,255,255,.09);border:1px solid var(--border);box-shadow:none}
.pm-section{padding:86px 0}
.pm-section.alt{background:#080b1d}
.pm-kicker{color:var(--cyan);font-weight:900;text-transform:uppercase;letter-spacing:2px;font-size:13px}
.pm-heading h2{font-size:clamp(32px,5vw,54px);margin:8px 0 14px}
.pm-heading p{color:var(--muted);max-width:720px}
.pm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.pm-card{background:linear-gradient(145deg,rgba(18,24,63,.95),rgba(8,12,34,.95));border:1px solid var(--border);border-radius:22px;padding:24px;box-shadow:0 16px 44px rgba(0,0,0,.22)}
.pm-card h3{margin:12px 0 7px}
.pm-card p{color:var(--muted);margin:0}
.pm-team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.pm-team-card{padding:0;overflow:hidden;text-align:center;transition:.25s}
.pm-team-card:hover{transform:translateY(-8px);border-color:rgba(255,22,143,.55)}
.pm-team-card img{width:100%;height:300px;object-fit:cover}
.pm-team-card h3{font-size:24px}
.pm-team-card p{padding:0 18px 24px}
.pm-app{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:36px}
.pm-store-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.pm-store{display:inline-flex;align-items:center;gap:10px;text-decoration:none;padding:15px 20px;background:#000;border:1px solid rgba(255,255,255,.25);border-radius:14px;font-weight:900}
.pm-contact{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.pm-contact-box{padding:28px;border-radius:22px;border:1px solid var(--border);background:var(--panel)}
.pm-footer{padding:30px 0;border-top:1px solid var(--border);text-align:center;color:var(--muted)}
@media(max-width:900px){
 .pm-toggle{display:block}
 .pm-menu{display:none;position:absolute;top:76px;left:0;right:0;background:#080b1d;padding:20px;flex-direction:column;align-items:flex-start}
 .pm-menu.open{display:flex}
 .pm-grid{grid-template-columns:1fr}
 .pm-team{grid-template-columns:repeat(2,1fr)}
 .pm-app,.pm-contact{grid-template-columns:1fr}
 .pm-hero{min-height:650px;background-position:center}
}
@media(max-width:560px){
 .pm-team{grid-template-columns:1fr}
 .pm-team-card img{height:340px}
}


/* Page Tchat Puissance Max */
.pm-chat-page{min-height:75vh;background:
radial-gradient(circle at top left,rgba(255,22,143,.12),transparent 34%),
radial-gradient(circle at top right,rgba(25,217,255,.10),transparent 32%),
var(--bg)}
.pm-chat-box{max-width:1050px;margin:auto;padding:24px}
.pm-chat-notice{text-align:center;padding:20px;margin-bottom:22px;border-radius:18px;
background:linear-gradient(135deg,rgba(255,22,143,.16),rgba(25,217,255,.10));
border:1px solid rgba(255,255,255,.12)}
.pm-chat-notice strong{font-size:22px}
.pm-chat-notice p{margin:7px 0 0;color:var(--muted)}
.pm-chat-content iframe{width:100%!important;min-height:680px;border:0;border-radius:16px;background:#fff}
.pm-chat-content{overflow:hidden;border-radius:16px}

/* Boutons officiels des applications */
.pm-store{
  min-width:210px;
  min-height:64px;
  justify-content:flex-start;
  padding:10px 18px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease
}
.pm-store:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.55);
  box-shadow:0 14px 32px rgba(0,0,0,.32)
}
.pm-store-icon{
  width:38px;
  font-size:30px;
  text-align:center;
  flex:0 0 38px
}
.pm-store span:last-child{
  display:flex;
  flex-direction:column;
  line-height:1.08;
  font-size:20px
}
.pm-store small{
  font-size:10px;
  letter-spacing:.8px;
  margin-bottom:4px;
  color:#d7d7d7
}

/* Page Contactez-nous */
.pm-contact-page{
  min-height:75vh;
  background:
    radial-gradient(circle at top left,rgba(255,22,143,.13),transparent 36%),
    radial-gradient(circle at top right,rgba(25,217,255,.10),transparent 34%),
    var(--bg)
}
.pm-contact-layout{
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);
  gap:24px;
  align-items:start
}
.pm-contact-info,
.pm-contact-form{
  padding:28px
}
.pm-contact-info{
  text-align:center;
  position:sticky;
  top:110px
}
.pm-contact-icon{
  width:76px;
  height:76px;
  margin:0 auto 18px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:34px;
  background:linear-gradient(135deg,var(--pink),var(--cyan));
  box-shadow:0 0 32px rgba(255,22,143,.28)
}
.pm-contact-info h2{
  margin:0 0 12px
}
.pm-contact-info p{
  color:var(--muted);
  line-height:1.7
}
.pm-contact-form input,
.pm-contact-form textarea,
.pm-contact-form select{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:14px;
  padding:14px 16px;
  margin-top:7px;
  outline:none
}
.pm-contact-form input:focus,
.pm-contact-form textarea:focus,
.pm-contact-form select:focus{
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(255,22,143,.12)
}
.pm-contact-form textarea{
  min-height:160px;
  resize:vertical
}
.pm-contact-form input[type="submit"],
.pm-contact-form button{
  width:auto;
  border:0;
  cursor:pointer;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,var(--pink),var(--violet));
  padding:14px 24px;
  border-radius:999px
}
@media (max-width:800px){
  .pm-contact-layout{grid-template-columns:1fr}
  .pm-contact-info{position:static}
}

/* Formulaire de contact complet */
.pm-contact-heading{
  text-align:center;
  max-width:780px;
  margin:0 auto 34px
}
.pm-contact-form h2{
  margin-top:0;
  font-size:30px
}
.pm-contact-form-intro{
  margin-top:-8px;
  margin-bottom:24px;
  color:var(--muted)
}
.pm-contact-detail{
  margin-top:18px;
  padding:15px;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10)
}
.pm-contact-detail span{
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:1px
}
.pm-contact-detail a{
  color:#fff;
  font-weight:800;
  word-break:break-word
}
.pm-form-warning{
  padding:20px;
  border-radius:15px;
  background:rgba(255,190,0,.10);
  border:1px solid rgba(255,190,0,.35)
}

/* Contact Form 7 */
.pm-contact-form .wpcf7{
  width:100%
}
.pm-contact-form .wpcf7-form p{
  margin:0 0 18px
}
.pm-contact-form .wpcf7-form label{
  display:block;
  font-weight:700;
  color:#fff
}
.pm-contact-form .wpcf7-not-valid-tip{
  margin-top:6px;
  color:#ff7aa9
}
.pm-contact-form .wpcf7-response-output{
  margin:18px 0 0 !important;
  padding:14px 16px !important;
  border-radius:13px
}
.pm-contact-form .wpcf7-spinner{
  vertical-align:middle
}

.pm-podcast-page{min-height:75vh;background:radial-gradient(circle at 15% 0%,rgba(255,22,143,.14),transparent 32%),radial-gradient(circle at 90% 10%,rgba(25,217,255,.12),transparent 30%),var(--bg)}
.pm-podcast-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.pm-podcast-main{max-width:900px;margin:0 auto 28px;display:grid;grid-template-columns:120px 1fr;gap:25px;align-items:center;padding:30px}
.pm-podcast-icon{width:110px;height:110px;border-radius:26px;display:grid;place-items:center;font-size:58px;background:linear-gradient(135deg,var(--pink),var(--violet),var(--cyan))}
.pm-podcast-main h2{margin:0 0 7px;font-size:30px}.pm-podcast-main p{color:var(--muted);margin:0 0 20px}
.pm-podcast-content{max-width:900px;margin:25px auto 0}.pm-podcast-content iframe{max-width:100%;border-radius:16px}
@media(max-width:650px){.pm-podcast-main{grid-template-columns:1fr;text-align:center}.pm-podcast-icon{margin:auto}}

.pm-weather-page{min-height:75vh;background:radial-gradient(circle at 15% 0%,rgba(25,217,255,.13),transparent 32%),radial-gradient(circle at 90% 10%,rgba(255,22,143,.12),transparent 30%),var(--bg)}
.pm-weather-heading{text-align:center;max-width:760px;margin:0 auto 34px}
.pm-weather-card{max-width:850px;margin:0 auto 24px;display:flex;align-items:center;gap:24px;padding:30px}
.pm-weather-icon{width:100px;height:100px;border-radius:25px;display:grid;place-items:center;font-size:52px;background:linear-gradient(135deg,var(--cyan),var(--violet))}
.pm-weather-card h2{margin:0 0 8px}.pm-weather-note{color:var(--muted)}
.pm-weather-grid{max-width:850px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pm-weather-grid .pm-card{text-align:center}.pm-weather-grid span{font-size:32px}.pm-weather-grid h3{margin:10px 0 5px}.pm-weather-grid p{color:var(--muted);font-size:20px}
@media(max-width:650px){.pm-weather-card{flex-direction:column;text-align:center}.pm-weather-grid{grid-template-columns:1fr}}


/* ===== Page Météo interactive Puissance-Max ===== */
.pm-weather-full{padding:38px 0 24px;min-height:calc(100vh - 90px);}
.pm-weather-shell{max-width:1500px;}
.pm-weather-heading{margin-bottom:18px;}
.pm-weather-app-card{position:relative;width:100%;height:calc(100vh - 190px);min-height:680px;padding:0!important;overflow:hidden;border-radius:18px;background:#090c12;border:1px solid rgba(255,255,255,.10);box-shadow:0 20px 60px rgba(0,0,0,.35);}
.pm-weather-iframe{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:680px;border:0;background:#090c12;}
.pm-weather-fallback{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:3;padding:8px 13px;border-radius:999px;background:rgba(5,8,14,.88);color:#eef2f7;font-size:12px;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.35);}
.pm-weather-fallback a{color:#3bc6da;font-weight:700;text-decoration:none;}
@media (max-width:700px){.pm-weather-full{padding-top:20px}.pm-weather-heading p{font-size:14px}.pm-weather-app-card{height:calc(100vh - 170px);min-height:620px}.pm-weather-iframe{min-height:620px}.pm-weather-fallback{font-size:11px;max-width:92%;overflow:hidden;text-overflow:ellipsis;}}


/* Menu Auditeurs */
.menu-item-auditeurs a{font-weight:700}

/* PUISSANCE-MAX — menu exact */
.menu-item-auditeurs a{font-weight:700}
.menu-item-auditeurs a:hover{opacity:.85}


.menu-item-auditeurs a{font-weight:700}


/* PUISSANCE MAX — MENU ROSE/NOIR */

/* PUISSANCE MAX — MENU ROSE / NOIR */
.pm-header-menu{
  width:100%;
  min-height:55px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 13px;
  background:#050510;
  border-bottom:1px solid rgba(255,0,204,.18);
  font-family:Arial,Helvetica,sans-serif;
}

.pm-logo{
  color:#ff00cc;
  font-size:21px;
  font-weight:700;
  letter-spacing:.2px;
  white-space:nowrap;
}

.pm-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:27px;
}

.pm-link{
  color:#ff00cc !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:700;
  line-height:55px;
  white-space:nowrap;
  transition:.2s ease;
}

.pm-link:hover{
  color:#ff4be0 !important;
  text-shadow:0 0 10px rgba(255,0,204,.45);
}

.pm-link:focus{
  outline:2px solid #ff00cc;
  outline-offset:3px;
}

/* MOBILE */
@media(max-width:800px){
  .pm-header-menu{
    min-height:auto;
    padding:12px 14px;
    flex-direction:column;
    gap:10px;
  }

  .pm-nav{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px 18px;
  }

  .pm-link{
    line-height:1.4;
    font-size:14px;
  }
}

@media(max-width:480px){
  .pm-logo{
    font-size:19px;
  }

  .pm-nav{
    gap:7px 14px;
  }

  .pm-link{
    font-size:13px;
  }
}


/* === PUISSANCE MAX : MENU EXACT DE L'EN-TETE === */
.pm-header{
  background:#050510 !important;
  border-bottom:1px solid rgba(255,0,204,.16) !important;
}
.pm-menu{
  display:flex !important;
  align-items:center !important;
  gap:27px !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.pm-menu li{margin:0 !important;padding:0 !important;list-style:none !important}
.pm-menu li a{
  color:#ff00cc !important;
  font-weight:700 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  transition:color .2s ease, text-shadow .2s ease !important;
}
.pm-menu li a:hover{
  color:#ff4be0 !important;
  text-shadow:0 0 10px rgba(255,0,204,.45) !important;
}
.pm-brand{color:#ff00cc !important}
.pm-brand span{color:#ff00cc !important}
@media(max-width:800px){
  .pm-menu{gap:10px 16px !important;flex-wrap:wrap !important;justify-content:center !important}
}


/* ===== PUISSANCE-MAX THEME COMPLET ===== */
:root{
 --pm-pink:#ff00cc;
 --pm-pink2:#ff4be0;
 --pm-black:#050510;
 --pm-dark:#080313;
 --pm-text:#fff;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pm-dark);color:var(--pm-text);font-family:Arial,Helvetica,sans-serif}
.pm-container{width:min(1200px,calc(100% - 32px));margin:0 auto}
.pm-page{min-height:70vh;padding:50px 0}
.pm-content{background:rgba(20,10,38,.8);border:1px solid rgba(255,0,204,.15);border-radius:16px;padding:30px}
.pm-content h1{color:var(--pm-pink)}
.pm-button{display:inline-block;padding:12px 18px;background:var(--pm-pink);color:#fff;border-radius:8px;text-decoration:none;font-weight:700}
.pm-error{padding:20px;background:#24000f;color:#ff9ebf;border-radius:10px}

/* Menu */
.pm-header{background:#050510!important;border-bottom:1px solid rgba(255,0,204,.18)!important}
.pm-menu{display:flex!important;align-items:center!important;gap:27px!important;list-style:none!important;margin:0!important;padding:0!important}
.pm-menu li{list-style:none!important;margin:0!important;padding:0!important}
.pm-menu a{color:#ff00cc!important;text-decoration:none!important;font-weight:700!important}
.pm-menu a:hover{color:#ff4be0!important;text-shadow:0 0 10px rgba(255,0,204,.45)!important}
.menu-item-auditeurs a{font-weight:800!important}

/* Carte auditeurs */
.pm-auditeurs-page{width:100%;overflow:hidden}
.pm-auditeurs-page #map{border-radius:0}
@media(max-width:800px){
 .pm-menu{gap:10px 16px!important;flex-wrap:wrap!important;justify-content:center!important}
 .pm-auditeurs-page #map{height:650px;min-height:600px}
}
