/*
Theme Name: F4MSA Le Shack
Theme URI: https://www.f4msa.fr/
Author: F4MSA
Description: Thème radioamateur F4MSA issu de la maquette V5.6. Pages éditables dans WordPress.
Version: 1.1.2
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: f4msa-shack
*/
:root{--bg:#242320;--panel:#302d27;--line:#655c4e;--ink:#e9e2d4;--muted:#c4bbaa;--cyan:#d7b783;--amber:#d7bf97}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--cyan)}.wrap{max-width:1180px;margin:auto;padding:0 24px}.stripe{height:4px;background:linear-gradient(90deg,var(--amber),var(--cyan),#b18471)}.notice{text-align:center;background:#383229;color:var(--amber);font:11px 'Trebuchet MS','Segoe UI',sans-serif;padding:6px}header{position:sticky;top:0;z-index:10;background:#242320fa;border-bottom:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:90px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:60px;height:60px;border-radius:50%;background:#f5f1e7}.brand strong{display:block;font-size:26px;letter-spacing:.12em;line-height:1.1}.brand small{font-size:12px;color:var(--amber)}nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}nav a,nav summary{font:12px 'Trebuchet MS','Segoe UI',sans-serif;cursor:pointer}nav details{position:relative}nav .dropdown{position:absolute;top:100%;left:0;min-width:250px;background:var(--panel);padding:12px;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0009}.dropdown a{display:block;padding:7px}.hero{background:radial-gradient(ellipse at 80% 10%,#383229,transparent 52%);padding:50px 0 28px}.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:start}.hero-photo{width:100%;height:440px;object-fit:cover;border-radius:22px}.tag{font:12px 'Trebuchet MS','Segoe UI',sans-serif;color:var(--cyan);letter-spacing:.1em}h1{font-size:clamp(35px,4.5vw,60px);line-height:1.14;letter-spacing:-.035em;margin:18px 0 23px}h1 em{font-style:normal;color:var(--amber)}h2{font-size:clamp(23px,2.8vw,33px);line-height:1.25;margin:10px 0 20px}h3{font-size:21px;margin:8px 0}.presentation p{margin:0 0 14px;color:#d6cdbf}.presentation p:last-child{margin-top:19px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.btn{display:inline-block;border:1px solid var(--cyan);border-radius:9px;color:var(--cyan);font:12px 'Trebuchet MS','Segoe UI',sans-serif;padding:10px 14px}.section{padding-top:45px;padding-bottom:45px}.subtitle{color:var(--muted);max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 50px}.card{background:var(--panel);border:1px solid var(--line);border-radius:19px;overflow:hidden}.card:hover{border-color:var(--cyan)}.card>img{width:100%;height:205px;object-fit:cover;object-position:center;border-radius:18px 18px 0 0}.cardtext{padding:18px 20px 24px}.cardtext p{color:var(--muted);min-height:50px;font-size:14px}.go{font:11px 'Trebuchet MS','Segoe UI',sans-serif;color:var(--cyan)}.aff{display:flex;gap:22px;flex-wrap:wrap}.aff a{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:14px;min-width:190px;max-width:290px}.aff img{max-width:260px;width:100%;height:112px;object-fit:contain;border-radius:8px}.aff span{font-size:13px;text-align:center;color:var(--cyan)}.equipment{display:grid;grid-template-columns:43% 1fr;gap:32px;align-items:center;border-top:1px solid var(--line);padding:32px 0}.equipment img{width:100%;height:360px;object-fit:contain;background:#302d27;border-radius:19px;border:1px solid var(--line)}.equipment p,.equipment li{color:#d6cdbf}.equipment ul{padding-left:22px}.equipment li{margin-bottom:6px}.shack-wide{width:100%;height:460px;object-fit:contain;background:var(--panel);border-radius:20px}.info{background:var(--panel);padding:25px;border-radius:14px;color:var(--muted)}footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0;font-size:12px}@media(max-width:940px){.top{flex-direction:column;align-items:flex-start;padding:13px 24px}.hero-inner,.equipment{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.hero-photo{height:340px}}@media(max-width:620px){.cards{grid-template-columns:1fr}.equipment img{height:280px}.shack-wide{height:280px}nav{gap:12px}.dropdown{right:0;left:auto!important}}
/* V4 — pages documentées, photos cliquables et présentation sans débordement */
.hero-inner{align-items:start;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr)}.hero-inner>div{min-width:0}.hero{height:auto;min-height:0}.presentation{overflow:visible;max-height:none;height:auto}.presentation p{position:static;max-height:none;overflow:visible;line-height:1.7;margin:0 0 13px}.presentation p:last-child{margin:20px 0 0}.hero-photo{height:auto;max-height:570px;object-fit:contain;background:var(--panel)}.page-intro{padding-top:48px;padding-bottom:18px}.page-intro h1{margin-bottom:12px}.content{padding-bottom:65px}.detail{border-top:1px solid var(--line);padding:34px 0 39px}.detail h2{color:var(--ink)}.detail p,.detail li{color:#d6cdbf}.spec{padding-left:23px;max-width:950px}.spec li{margin:7px 0}.spec a,.small-note a{color:var(--cyan)}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin:24px 0 0}.gallery a{display:flex;flex-direction:column;justify-content:space-between;background:var(--panel);border:1px solid var(--line);border-radius:17px;overflow:hidden;min-width:0}.gallery a:hover{border-color:var(--cyan)}.gallery img{width:100%;height:170px;object-fit:contain;background:#2d2a25}.gallery span{font:10px 'Trebuchet MS','Segoe UI',sans-serif;color:var(--cyan);padding:8px 12px}.card>img{object-fit:contain;background:#2d2a25}.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:28px}.link-group{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:22px}.link-group h2{font-size:21px}.link-group ul{margin:0;padding-left:20px}.link-group li{padding:5px 0;color:#d6cdbf}.link-group a:hover{text-decoration:underline}.small-note{color:var(--muted)}.shack-wide{object-fit:contain}@media(max-width:940px){.hero-inner{grid-template-columns:1fr}.hero-photo{max-height:450px}}@media(max-width:650px){.link-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img{height:130px}.hero-photo{max-height:300px}}

/* F4MSA — V5 : slogan, sections, galeries et visionneuse */
.hero h1{font-size:clamp(30px,3.7vw,51px);line-height:1.18;letter-spacing:-.035em}
.hero h1 .word{display:inline-block;margin-right:.16em}.word-radio{color:#f1eee6}.word-tech{color:#d7bf97}.word-exchange{color:#d7b783}
.presentation p{line-height:1.72;margin:0 0 17px}.presentation a{color:#d7b783;text-decoration:underline;text-underline-offset:3px}
.presentation p:nth-last-child(1){margin-top:22px}
.page-intro .tag{display:inline-block;background:#383229;color:#d7b783;border:1px solid #74654b;padding:7px 12px;border-radius:9px}
.detail h2{display:block;background:#383229;padding:12px 17px;border-left:4px solid #d7bf97;border-radius:11px;font-size:clamp(20px,2.2vw,27px)}
.link-group h2{background:#383229;padding:11px 14px;border-left:3px solid #d7bf97;border-radius:9px;color:#eee6d8}
.lead-text{color:#d6cdbf;font-size:17px;margin:18px 0 4px}
.photo-viewer{background:#242320;border:1px solid #74654b;border-radius:18px;padding:30px 18px 15px;max-width:min(94vw,1350px);max-height:94vh;color:#e9e2d4;box-shadow:0 25px 80px #000a}
.photo-viewer::backdrop{background:rgba(2,8,12,.87)}.photo-viewer img{display:block;max-width:100%;max-height:calc(94vh - 100px);object-fit:contain;margin:auto;border-radius:10px}.viewer-close{position:absolute;right:8px;top:5px;border:0;border-radius:8px;background:#514535;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:4px 11px}.viewer-caption{text-align:center;color:#d6cdbf;margin:10px 0 0;font-size:13px}
.gallery a{cursor:zoom-in}.gallery a span{letter-spacing:.04em}
@media(max-width:700px){.hero h1{font-size:clamp(27px,8vw,40px)}.photo-viewer{padding:35px 8px 10px}}

.operator-section img{width:min(100%,760px);height:auto;border-radius:18px;border:1px solid var(--border)}


/* Bandeau compact radioamateur — accueil V5.4 */
.radio-identifiers{display:flex;align-items:center;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin:0 0 20px;padding:5px 13px 5px 8px;border:1px solid #74654b;border-radius:9px;background:linear-gradient(105deg,#383229 0%,#383229 50%,#383229 100%);box-shadow:inset 0 1px 0 #ffffff12,0 5px 20px #00000025}
.radio-identifiers .radio-id{display:inline-flex;align-items:baseline;gap:7px;padding:3px 15px;border-right:1px solid #57808777;white-space:nowrap}
.radio-identifiers .radio-id:last-child{border-right:0;padding-right:4px}
.radio-identifiers small{font-family:Consolas,monospace;font-size:10px;letter-spacing:.08em;color:#d7b783}
.radio-identifiers strong{font-family:Consolas,monospace;font-size:14px;color:#fff6e7}
.tricolor-ribbon{display:flex;overflow:hidden;flex:none;width:22px;height:15px;border-radius:2px;box-shadow:0 0 0 1px #ffffff4d;transform:skew(-9deg);margin:0 7px 0 4px}
.tricolor-ribbon i{flex:1;display:block}.tricolor-ribbon i:nth-child(1){background:#164da1}.tricolor-ribbon i:nth-child(2){background:#fff}.tricolor-ribbon i:nth-child(3){background:#ec3038}
@media(max-width:540px){.radio-identifiers{gap:3px;padding:7px 8px}.radio-identifiers .radio-id{padding:3px 8px}.radio-identifiers small{font-size:9px}.radio-identifiers strong{font-size:12px}}

.activation-partners{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 4px}.activation-partners a{display:flex;align-items:center;justify-content:center;width:142px;height:70px;padding:9px 12px;border:1px solid #655c4e;border-radius:13px;background:#eee6d8}.activation-partners img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

.admin-bar header{top:32px}

/* F4MSA CONTACT CSS START */
.wpforms-container {
  max-width: 760px !important;
  margin: 35px auto !important;
  padding: 28px !important;
  background: #302d27;
  border: 1px solid #655c4e;
  border-radius: 18px;
}
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description {
  color: #e9e2d4 !important;
}
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container textarea {
  width: 100% !important;
  max-width: 100% !important;
  background: #eee6d8 !important;
  color: #292722 !important;
  border: 1px solid #8c795c !important;
  border-radius: 9px !important;
  padding: 12px !important;
}
.wpforms-container button[type=submit] {
  background: #d7b783 !important;
  color: #242320 !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 12px 24px !important;
  font-weight: 700 !important;
}
.wpforms-container button[type=submit]:hover {
  background: #e5c898 !important;
}
.wpforms-container .wpforms-required-label {
  color: #d7bf97 !important;
}
@media (max-width: 600px) {
  .wpforms-container {
    padding: 16px !important;
    margin: 20px 12px !important;
  }
}
/* F4MSA CONTACT CSS END */

/* === F4MSA : PAGE CONTACT === */

body.page .entry-content:has(.wpforms-container),
body.page .wp-block-post-content:has(.wpforms-container) {
  max-width: 900px;
  margin: 55px auto 80px;
  padding: 0 24px;
}

body.page .entry-content:has(.wpforms-container) > p,
body.page .wp-block-post-content:has(.wpforms-container) > p {
  max-width: 780px;
  margin: 0 0 18px;
  line-height: 1.8;
  color: #d6cdbf;
}

body.page .wpforms-container {
  max-width: 760px !important;
  margin: 35px auto 0 !important;
  padding: 32px !important;
  background: #302d27;
  border: 1px solid #655c4e;
  border-top: 3px solid #d7b783;
  border-radius: 18px;
  box-sizing: border-box;
}

body.page .wpforms-container .wpforms-field-label {
  color: #eee6d8 !important;
  font-weight: 600 !important;
}

body.page .wpforms-container input[type=text],
body.page .wpforms-container input[type=email],
body.page .wpforms-container textarea {
  width: 100% !important;
  max-width: 100% !important;
  background: #eee6d8 !important;
  color: #292722 !important;
  border: 1px solid #bdb29f !important;
  border-radius: 8px !important;
}

body.page .wpforms-container button[type=submit] {
  background: #d7b783 !important;
  color: #242320 !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 13px 24px !important;
  font-weight: 700 !important;
}

body.page .wpforms-container button[type=submit]:hover {
  background: #d7b783 !important;
}

@media (max-width: 600px) {
  body.page .wpforms-container {
    padding: 20px !important;
  }
}

/* === FIN F4MSA CONTACT === */

/* === F4MSA CONTACT : ALIGNEMENT FINAL === */

body.page .wp-block-post-content:has(.wpforms-container),
body.page .entry-content:has(.wpforms-container) {
    max-width: 1100px;
    margin: 55px auto 80px;
    padding: 0 25px;
}

body.page:has(.wpforms-container) main > p,
body.page:has(.wpforms-container) article > p,
body.page:has(.wpforms-container) .page-content > p {
    max-width: 900px;
    margin: 0 auto 20px;
    padding: 0 25px;
    line-height: 1.8;
}

body.page:has(.wpforms-container) .wpforms-container {
    margin-top: 35px !important;
}

/* === FIN ALIGNEMENT CONTACT === */

/* === PAGE CONTACT F4MSA : STRUCTURE === */

.f4msa-contact-page {
    padding: 65px 24px 85px;
}

.f4msa-contact-inner {
    max-width: 900px;
    margin: 0 auto;
}

.f4msa-contact-heading {
    margin-bottom: 30px;
}

.f4msa-contact-label {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #74654b;
    border-radius: 9px;
    background: #383229;
    color: #d7b783;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 700;
}

.f4msa-contact-heading h1 {
    margin: 20px 0 0;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.1;
    color: #eee6d8;
}

.f4msa-contact-content > p {
    max-width: 800px;
    margin: 0 0 18px;
    line-height: 1.8;
    color: #d6cdbf;
}

.f4msa-contact-content .wpforms-container {
    margin: 38px auto 0 !important;
}

@media (max-width: 600px) {
    .f4msa-contact-page {
        padding: 40px 18px 60px;
    }
}

/* === FIN PAGE CONTACT F4MSA === */

/* Ajustement du titre Contact */
.f4msa-contact-heading h1 {
    font-size: 36px;
    margin-top: 16px;
    margin-bottom: 0;
}

.f4msa-contact-heading {
    margin-bottom: 24px;
}

@media (max-width: 600px) {
    .f4msa-contact-heading h1 {
        font-size: 30px;
    }
}

/* F4MSA - Coins arrondis des photographies */
.gallery img,
.equipment img,
.shack-wide,
.hero-photo,
.card > img,
.operator-section img {
    border-radius: 12px;
}

/* Conserver les coins arrondis sur les images agrandies */
.photo-viewer img {
    border-radius: 12px;
}

/* FIN F4MSA - PHOTOS ARRONDIES */

/* F4MSA - Certificat FT8DMC */
body.page img[src*="FT8DMC"] {
    border-radius: 12px;
}

/* FIN CERTIFICAT FT8DMC */

/* F4MSA - Galeries WordPress */
.wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    max-width: 1100px;
    margin: 30px auto !important;
    padding: 0 !important;
}

.wp-block-gallery .wp-block-image {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px !important;
    background: #302d27;
    border: 1px solid #655c4e;
    border-radius: 16px;
    overflow: hidden;
    box-sizing: border-box;
}

.wp-block-gallery .wp-block-image img {
    display: block;
    width: 100% !important;
    height: 220px !important;
    object-fit: contain !important;
    border-radius: 11px !important;
    background: #302d27;
}

@media (max-width: 800px) {
    .wp-block-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 500px) {
    .wp-block-gallery {
        grid-template-columns: 1fr !important;
    }
}

/* FIN F4MSA GALERIES WORDPRESS */

/* F4MSA - Galeries compactes */
.wp-block-gallery .wp-block-image {
    height: 220px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.wp-block-gallery .wp-block-image img {
    width: 100% !important;
    height: 190px !important;
    object-fit: contain !important;
    border-radius: 12px !important;
}

/* F4MSA home balance 1.0.1 */
body.home .hero-inner {
  align-items: center;
}
body.home .hero-inner > p {
  margin-block: 0;
  min-width: 0;
}
body.home .hero-photo {
  display: block;
}
@media (max-width: 940px) {
  body.home .hero-inner {
    gap: 28px;
  }
  body.home .hero-photo {
    width: 100%;
    max-width: 450px;
    height: auto;
    max-height: none;
    margin-inline: auto;
  }
}

/* F4MSA editorial tools 1.0.2 */
main img:not(.emoji):not(.wp-smiley) { max-width:100%; border-radius:12px; }
main .wp-block-image img { height:auto; }
main .wp-block-gallery .wp-block-image img { height:100%; }
main figcaption { color:var(--muted); font-size:.9em; line-height:1.5; margin-top:8px; }
.f4msa-editorial { overflow-wrap:anywhere; }
.f4msa-editorial a:not(.f4msa-month-card) { color:var(--cyan); }
.f4msa-month-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:24px; margin:24px 0; }
.f4msa-month-card { display:block; max-width:640px; width:100%; border-radius:18px; overflow:hidden; background:var(--panel); color:var(--ink); text-decoration:none; border:1px solid var(--line); }
.f4msa-month-card:focus-visible { outline:3px solid var(--amber); outline-offset:4px; }
.f4msa-month-frames { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; }
main .f4msa-month-frames img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; object-fit:cover; border-radius:0; margin:0; opacity:0; }
.f4msa-month-frames img:first-child { opacity:1; }
.f4msa-month-frames[data-count="3"] img { animation:f4msa-month-three 15s infinite; }
.f4msa-month-frames[data-count="3"] img:nth-child(2) { animation-delay:-10s; }
.f4msa-month-frames[data-count="3"] img:nth-child(3) { animation-delay:-5s; }
.f4msa-month-frames[data-count="2"] img { animation:f4msa-month-two 10s infinite; }
.f4msa-month-frames[data-count="2"] img:nth-child(2) { animation-delay:-5s; }
.f4msa-month-caption { display:block; padding:18px 22px; line-height:1.6; }
.f4msa-month-caption strong { display:block; font-size:1.3em; }
@keyframes f4msa-month-three { 0%,30% {opacity:1} 33.333%,100% {opacity:0} }
@keyframes f4msa-month-two { 0%,45% {opacity:1} 50%,100% {opacity:0} }
.f4msa-month-card:hover img,.f4msa-month-card:focus img { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce) {
  main .f4msa-month-frames[data-count] img { animation:none; opacity:0; }
  main .f4msa-month-frames[data-count] img:first-child { opacity:1; }
}

/* F4MSA visible photo corners 1.0.4: preserve full photo and frame layout. */
main img:not(.emoji):not(.wp-smiley), .photo-viewer img {
  border-radius:12px !important;
  clip-path:inset(var(--f4msa-photo-y, 0px) var(--f4msa-photo-x, 0px) round 12px) !important;
}

/* F4MSA tricolour branding 1.0.5 */
body.home .hero-visual {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:28px;
  min-width:0;
}
body.home .hero-visual > .hero-identity {
  display:block;
  width:260px;
  max-width:70%;
  height:auto;
}
body.home .hero-visual > .hero-photo {
  display:block;
  width:100%;
  max-width:440px;
  height:auto;
  max-height:none;
  margin:0;
}
@media(max-width:940px) {
  body.home .hero-visual {gap:24px; padding-top:8px;}
  body.home .hero-visual > .hero-identity {width:240px; max-width:75%;}
}
