/*
Theme Name: InClassWithMrc
Theme URI: https://inclasswithmrc.com
Author: Migael Carrias
Description: Thème du site public InClassWithMrc, tiré du design system (ciel de Saint-Malo, ambre, encre). Fonctionne avec l'extension InClassWithMrc.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: inclasswithmrc-theme
*/

/* Boutons : décalage au survol, comme dans l'espace étudiant. */
.wp-element-button, .wp-block-button__link { transition: transform .08s ease, box-shadow .08s ease; }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translate(2px, 2px); }
@media (prefers-reduced-motion: reduce) { .wp-element-button, .wp-block-button__link { transition: none; } .wp-element-button:hover, .wp-block-button__link:hover { transform: none; } }

/* En-tête et pied ------------------------------------------------------- */
.icm-site-header { background: var(--wp--preset--color--card); border-bottom: 2px solid var(--wp--preset--color--ink); padding-top: 14px; padding-bottom: 14px; }
.icm-brand { margin: 0; display: flex; flex-direction: column; line-height: 1.1; }
.icm-brand a { text-decoration: none; color: var(--wp--preset--color--ink); font: 800 22px/26px var(--wp--preset--font-family--display); letter-spacing: -0.01em; }
.icm-tagline { margin: 0 !important; font: 600 17px/18px var(--wp--preset--font-family--voice); color: var(--wp--preset--color--amber-ink); }
.icm-site-header .wp-block-navigation a { color: var(--wp--preset--color--ink); text-decoration: none; }
.icm-site-header .wp-block-navigation a:hover, .icm-site-header .wp-block-navigation .current-menu-item a { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; color: var(--wp--preset--color--amber-ink); }
.icm-site-footer { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--card); padding-top: 40px; padding-bottom: 40px; }
.icm-site-footer a { color: var(--wp--preset--color--card); }
.icm-site-footer a:hover { color: var(--wp--preset--color--amber); }
.icm-site-footer .icm-brand-footer { margin: 0; font: 800 20px/24px var(--wp--preset--font-family--display); }
.icm-site-footer .icm-tagline { color: var(--wp--preset--color--amber); }
.icm-site-footer .icm-fineprint { font-size: 13px; color: #c9d4db; }

/* Bandes pleine largeur ------------------------------------------------- */
.icm-band { padding-top: clamp(40px, 6vw, 72px) !important; padding-bottom: clamp(40px, 6vw, 72px) !important; }
.icm-band--card { background: var(--wp--preset--color--card); border-top: 2px solid var(--wp--preset--color--ink); border-bottom: 2px solid var(--wp--preset--color--ink); }
.icm-band--sunken { background: var(--wp--preset--color--paper-sunken); border-top: 2px solid var(--wp--preset--color--ink); border-bottom: 2px solid var(--wp--preset--color--ink); }
.icm-band--harbor { background: var(--wp--preset--color--harbor-tint); border-top: 2px solid var(--wp--preset--color--ink); border-bottom: 2px solid var(--wp--preset--color--ink); }
.icm-band--slim { padding-top: 28px !important; padding-bottom: 28px !important; }

/* Cartes ---------------------------------------------------------------- */
.is-style-icm-card, .icm-card { background: var(--wp--preset--color--card); border: 2px solid var(--wp--preset--color--ink); border-radius: 18px; box-shadow: 4px 4px 0 #1c1a17; padding: 24px !important; }
.is-style-icm-card-flat { background: var(--wp--preset--color--card); border: 2px solid var(--wp--preset--color--ink); border-radius: 18px; padding: 22px !important; }
.is-style-icm-card > :first-child, .is-style-icm-card-flat > :first-child { margin-top: 0; }
.wp-block-columns.icm-cards { gap: 28px; }
.wp-block-columns.icm-cards > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns.icm-cards > .wp-block-column > .is-style-icm-card, .wp-block-columns.icm-cards > .wp-block-column > .is-style-icm-card-flat { flex: 1; }

/* Typo utilitaire ------------------------------------------------------- */
.icm-eyebrow { margin-bottom: 0 !important; font: 700 12px/16px var(--wp--preset--font-family--display); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--ink-muted); }
.icm-eyebrow + * { margin-top: 8px !important; }
.icm-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.5; max-width: 600px; }
.icm-meta { font-size: 14px; color: var(--wp--preset--color--ink-muted); }
.icm-big-number { font: 800 40px/1 var(--wp--preset--font-family--display); color: var(--wp--preset--color--amber-ink); margin-bottom: 0 !important; }
.icm-placeholder { background: var(--wp--preset--color--amber-tint); outline: 2px dashed var(--wp--preset--color--amber-ink); padding: 0 4px; }

/* Mr C ------------------------------------------------------------------ */
.icm-voice-row { gap: 14px !important; align-items: flex-end !important; }
.icm-voice-row > .wp-block-image { flex: none; margin: 0; }
.icm-avatar img { width: 64px; height: 64px; display: block; }
.is-style-mrc-voice { position: relative; margin: 0; padding: 10px 18px 12px; max-width: 520px; background: var(--wp--preset--color--amber-tint); border: 2px solid var(--wp--preset--color--ink); border-radius: 16px 16px 16px 4px; font: 600 23px/1.2 var(--wp--preset--font-family--voice); color: var(--wp--preset--color--ink); }
.is-style-mrc-voice.is-large { font-size: 29px; padding: 14px 22px 16px; }
.icm-hero-avatar img { width: min(300px, 70vw); height: auto; }
.icm-illus img { width: 100%; height: auto; border: 2px solid var(--wp--preset--color--ink); border-radius: 12px; background: var(--wp--preset--color--harbor-tint); }
.icm-illus--soft img { border: 0; background: transparent; }
.icm-illus--shadow img { box-shadow: 4px 4px 0 #1c1a17; border-radius: 18px; }

/* Cadre de mission ------------------------------------------------------ */
.icm-setting { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.icm-setting > div { padding: 10px 14px; border-left: 4px solid var(--wp--preset--color--amber); background: var(--wp--preset--color--paper); border-radius: 0 6px 6px 0; }
.icm-setting dt { font: 700 11px/14px var(--wp--preset--font-family--display); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--amber-ink); }
.icm-setting dd { margin: 4px 0 0; }

/* Pin's ----------------------------------------------------------------- */
.icm-site-pins, .wp-site-blocks .icm-pins { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; }
.icm-site-pin, .wp-site-blocks .icm-pin { width: 128px; height: 128px; display: grid; place-items: center; text-align: center; box-sizing: border-box; padding: 14px; border: 3px solid var(--wp--preset--color--ink); box-shadow: 4px 4px 0 #1c1a17; font: 800 12px/15px var(--wp--preset--font-family--display); text-transform: uppercase; }
.icm-site-pin--round, .wp-site-blocks .icm-pin--round { border-radius: 50%; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--card); }
.icm-site-pin--amber, .wp-site-blocks .icm-pin--amber { border-radius: 12px; background: var(--wp--preset--color--amber); transform: rotate(-4deg); }
.icm-site-pin--harbor, .wp-site-blocks .icm-pin--harbor { border-radius: 12px; background: var(--wp--preset--color--harbor); color: var(--wp--preset--color--card); transform: rotate(3deg); }
.icm-site-pin--teal, .wp-site-blocks .icm-pin--teal { border-radius: 12px; background: #2fc9c0; transform: rotate(-5deg); }

/* Tableau des accès ----------------------------------------------------- */
.icm-access-table table { border-collapse: collapse; min-width: 640px; }
.icm-access-table { overflow-x: auto; border: 2px solid var(--wp--preset--color--ink); border-radius: 12px; background: var(--wp--preset--color--card); }
.icm-access-table th, .icm-access-table td { border: 0 !important; border-bottom: 1px solid #c9d4db !important; padding: 12px 16px; text-align: left; }
.icm-access-table thead th { background: var(--wp--preset--color--paper-sunken); border-bottom: 2px solid var(--wp--preset--color--ink) !important; }
.icm-access-table tr > :nth-child(4) { background: var(--wp--preset--color--harbor-tint); }

/* Mentions légales ------------------------------------------------------ */
.icm-legal dl { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: 10px 24px; margin: 0; }
.icm-legal dt { font-weight: 700; }
.icm-legal dd { margin: 0; }
@media (max-width: 600px) { .icm-legal dl { grid-template-columns: 1fr; gap: 2px; } .icm-legal dd { margin-bottom: 12px; } }

/* Formulaire de contact (extension) ------------------------------------- */
.icm-contact { display: flex; flex-direction: column; gap: 16px; }
.icm-contact label { font-weight: 600; font-size: 14px; }
.icm-contact .icm-field { display: flex; flex-direction: column; gap: 6px; }
.icm-contact input[type="text"], .icm-contact input[type="email"], .icm-contact select, .icm-contact textarea { font: 500 16px/22px var(--wp--preset--font-family--sans); padding: 11px 12px; border: 2px solid var(--wp--preset--color--ink); border-radius: 6px; background: var(--wp--preset--color--card); color: var(--wp--preset--color--ink); }
.icm-contact :focus-visible { outline: 3px solid var(--wp--preset--color--harbor); outline-offset: 2px; }
.icm-contact .icm-consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.icm-contact .icm-consent input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.icm-contact .icm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.icm-notice { padding: 12px 16px; border: 2px solid var(--wp--preset--color--ink); border-radius: 12px; }
.icm-notice--ok { background: #e3f1e6; }
.icm-notice--err { background: #fbe4e1; }

@media (max-width: 781px) {
  .icm-site-header .wp-block-group.icm-header-inner { flex-wrap: wrap; }
}

/* Illustrations des cartes : même hauteur pour toutes. */
.icm-cards .icm-illus img { aspect-ratio: 16 / 9; object-fit: cover; }
.icm-cards .icm-illus img[src*="mrc-"] { object-fit: contain; }
.icm-cards h3 { overflow-wrap: anywhere; hyphens: auto; }
.icm-coming { margin: 0 0 6px !important; display: grid; place-items: center; aspect-ratio: 16 / 9; border: 2px dashed var(--wp--preset--color--amber-ink); border-radius: 12px; background: var(--wp--preset--color--amber-tint); font: 700 13px/16px var(--wp--preset--font-family--display); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--amber-ink); }
.icm-cards .icm-illus img, .icm-cards .icm-coming { max-height: 210px; width: 100%; }
.icm-brand-block { gap: 2px !important; }

/* Carte de public ciblée depuis « I'm in… » */
.is-style-icm-card[id] { scroll-margin-top: 32px; }
.is-style-icm-card:target { outline: 4px solid var(--wp--preset--color--amber); outline-offset: 4px; }
.icm-aud-links { font-weight: 600; margin-top: auto !important; padding-top: 6px; }
