/*
Theme Name: Mairie Minimal
Author: Site Mairie
Description: Thème WordPress minimaliste pour site de mairie/institution. Hero, slider Smart Slider 3, cards entreprises via shortcodes.
Version: 1.0.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mairie-minimal
*/

:root{--bg:#E7EBD9;--txt:#1f2937;--pri:#2f5d2f;--acc:#9f7aea;--radius:12px;--w:1100px;--header-bg:#e1dbb8;--header-border:#d6cfaa;--footer-bg:#e9e1be;--footer-border:#d6cfaa}
*{box-sizing:border-box}
html{height:100%}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;color:var(--txt);background:var(--bg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:var(--pri);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--w);margin:0 auto;padding:0 16px}
.alignwide{max-width:min(1200px,100%);margin-left:auto;margin-right:auto}
.alignfull{width:100vw;margin-left:50%;transform:translateX(-50%)}
.btn{display:inline-block;background:var(--pri);color:#fff;padding:10px 14px;border-radius:8px}
.btn:hover{background:#254a25;text-decoration:none}

/* Header */
.site-header{background:var(--header-bg);border-bottom:1px solid var(--header-border);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.custom-logo{max-height:48px;width:auto}
.branding{display:flex;align-items:center;gap:12px}
.branding .site-title{font-weight:700;font-size:1.1rem;margin:0}
.site-tagline{margin:0;font-size:.9rem;color:#6b7280}
.menu{list-style:none;margin:0;padding:0}
.primary-nav .menu{display:flex;gap:12px}
.menu a{padding:8px 10px;border-radius:8px}
.menu a:hover{background:#efe7c8}

/* Primary nav dropdowns */
.primary-nav .menu > li{position:relative}
.primary-nav .menu,
.primary-nav .sub-menu{list-style:none;margin:0;padding:0}
/* Generic targeting for any nested UL (WordPress sometimes varies classes) */
.primary-nav ul ul{
  position:absolute;left:0;top:calc(100% + 6px);
  min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;
  padding:8px;display:none; /* fallback hidden */
  opacity:0;visibility:hidden;transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transition:opacity .15s ease,transform .15s ease,visibility 0s .15s;
  z-index:20;pointer-events:none
}
.primary-nav li:hover > ul,
.primary-nav li:focus-within > ul{display:block;opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .15s ease,transform .15s ease,visibility 0s 0s}
.primary-nav ul ul li{display:block}
.primary-nav ul ul a{display:block;padding:8px 10px;border-radius:6px;white-space:nowrap}
.primary-nav ul ul a:hover{background:#f3f4f6;text-decoration:none}
.primary-nav .menu > li.menu-item-has-children > a::after{content:'▾';margin-left:6px;font-size:.8em;color:#6b7280}
.primary-nav .sub-menu .menu-item-has-children > a::after{content:'▸';margin-left:6px}
.primary-nav ul ul ul{left:100%;top:-8px}
.primary-nav ul ul > li{position:relative}

/* JS-assisted open state */
.primary-nav li.open > ul{display:block;opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.primary-nav .menu > li.menu-item-has-children > a[aria-expanded="true"]::after{content:'▴'}
.primary-nav .sub-menu .menu-item-has-children > a[aria-expanded="true"]::after{content:'▾'}

/* Hero */
.hero{background:none}
.hero[style*="background-image"]{background-size:cover;background-position:center}
.hero .container{padding:72px 16px}
.hero{min-height:260px}
.hero h1{margin:0 0 6px;font-size:clamp(1.6rem,3vw,2.4rem)}
.hero .subtitle{margin:0;color:#4b5563;font-size:clamp(1rem,2vw,1.2rem)}

/* Layout */
.site-main{padding-bottom:0;flex:1 1 auto;min-height:0}
.home .site-main{padding-top:80px;padding-bottom:32px}
.two-col{display:grid;grid-template-columns:.3fr .7fr;gap:24px;margin:28px auto}
.two-col .text,.two-col .slider{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius)}
.two-col .text{padding:20px}
.two-col .slider{padding:12px}
/* Accueil: slider sans cadre */
.home .two-col .slider, .front-page .two-col .slider{background:transparent;border:0;padding:0}
/* Accueil/Front-page: élargir la colonne slider dans la mise en page 2 colonnes (75%) */
.home .two-col, .front-page .two-col{grid-template-columns:.25fr .75fr}
/* Le slider doit remplir sa colonne */
.two-col .slider .n2-ss-slider{width:100% !important}
/* Accueil: masquer le H1 initial du contenu (titre de page) */
.home .two-col .text > h1:first-child, .front-page .two-col .text > h1:first-child{display:none}
/* Smart Slider 3: neutraliser arrondis/ombres dans la colonne slider */
.two-col .slider .n2-ss-slider{border-radius:0 !important;box-shadow:none !important}

/* Cards Entreprises */
.entreprises{margin:28px auto}
.entreprises h2{margin:0 0 12px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card-media{position:relative;width:100%;padding-top:56%;background:#eef;background-size:cover;background-position:center}
.card-body{padding:14px}
.card-body h3{margin:0 0 6px;font-size:1.05rem}
.card-body p{margin:0;color:#4b5563}

/* Generic row cards (25% image / 75% text) */
.list-cards{margin:28px auto}
.list-cards h2{margin:0 0 12px}
.list-cards-inner{display:flex;flex-direction:column;gap:6px}
.row-card{display:grid;grid-template-columns:25% 75%;gap:16px;align-items:stretch;transition:box-shadow .15s ease,border-color .15s ease}
.row-card .card-media{padding-top:0;height:180px;background-color:#eef;border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}
.row-card .card-body{display:flex;flex-direction:column;justify-content:center;padding:20px}
.row-card .card-body h3{margin:0 0 8px}
.row-card .card-body p{line-height:1.55}
.row-card h3 a{text-decoration:none}
.row-card h3 a:hover{text-decoration:underline}
.row-card:hover{box-shadow:0 1px 3px rgba(0,0,0,.06);border-color:#d1d5db}

/* Entire card clickable when link is provided */
.row-card.is-link{display:block}
.row-card.is-link .card-link{display:grid;grid-template-columns:25% 75%;gap:16px;align-items:stretch;color:inherit;text-decoration:none;height:100%;border-radius:inherit}

@media (max-width: 900px){
  .row-card{grid-template-columns:1fr}
  .row-card.is-link .card-link{grid-template-columns:1fr}
  .row-card .card-media{height:160px;border-radius:var(--radius) var(--radius) 0 0}
  .home .site-main{padding-top:64px;padding-bottom:24px}
}

/* Footer */
.site-footer{margin-top:auto;background:var(--footer-bg);border-top:1px solid var(--footer-border);min-height:56px;box-shadow:0 -2px 6px rgba(0,0,0,.04)}
.footer-inner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 0}

/* Footer badge (Intramuros) */
.footer-badge{display:inline-flex;align-items:center;margin-left:8px}
.footer-badge img{height:28px;width:auto;border-radius:6px;display:block}

/* Responsive */
@media (max-width: 900px){
  .two-col{grid-template-columns:1fr}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 580px){
  .cards-grid{grid-template-columns:1fr}
}

/* Home/Front-page: widen the slider column in the first columns block */
.home .site-main .wp-block-columns:first-of-type,
.front-page .site-main .wp-block-columns:first-of-type{align-items:stretch}
.home .site-main .wp-block-columns:first-of-type > .wp-block-column:first-child,
.front-page .site-main .wp-block-columns:first-of-type > .wp-block-column:first-child{flex:0 0 25% !important;max-width:25% !important}
.home .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child,
.front-page .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child{flex:0 0 75% !important;max-width:75% !important}
/* Remove inner padding/border around the slider group to give full width to the slider */
.home .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-group,
.front-page .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child .wp-block-group{padding:0 !important;border:0 !important}
/* Ensure Smart Slider fills its container */
.home .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child .n2-ss-slider,
.front-page .site-main .wp-block-columns:first-of-type > .wp-block-column:last-child .n2-ss-slider{width:100% !important}
@media (max-width: 900px){
  .home .site-main .wp-block-columns:first-of-type > .wp-block-column,
  .front-page .site-main .wp-block-columns:first-of-type > .wp-block-column{flex-basis:100% !important;max-width:100% !important}
}

/* Make first homepage columns block 90% viewport width (centered) without editing template */
.home .site-main .container > .wp-block-columns:first-of-type,
.front-page .site-main .container > .wp-block-columns:first-of-type{
  width:90vw;max-width:none;margin-left:50%;transform:translateX(-50%);
  padding-left:16px;padding-right:16px
}
