/*
Theme Name: Carte Anniversaire
Theme URI: https://100-carte-anniversaire.fr
Description: Thème ultra-léger pour cartes d'anniversaire virtuelles
Version: 1.0
Author: 100 Carte Anniversaire
Text Domain: carte-anniversaire
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --rose:#e91e63;
  --rose-clair:#fce4ec;
  --gris:#444;
  --gris-clair:#f5f5f5;
  --blanc:#fff;
  --ombre:0 2px 8px rgba(0,0,0,.1);
  --rayon:8px;
}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--gris);background:var(--blanc);line-height:1.6}
a{color:var(--rose);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

/* HEADER */
#masthead{background:var(--blanc);border-bottom:2px solid var(--rose);box-shadow:var(--ombre);position:sticky;top:0;z-index:100}
.header-inner{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.site-logo img{height:48px;width:auto}
.site-logo span{font-size:1.3rem;font-weight:700;color:var(--rose)}

/* NAV */
#site-navigation ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px}
#site-navigation ul li a{padding:6px 12px;border-radius:20px;font-size:.9rem;font-weight:500;color:var(--gris);transition:background .2s,color .2s}
#site-navigation ul li a:hover,#site-navigation ul li.current-menu-item a{background:var(--rose);color:var(--blanc);text-decoration:none}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--rose);font-size:1.5rem}

/* HERO */
.site-hero{background:linear-gradient(135deg,var(--rose-clair),#fff);padding:40px 16px;text-align:center}
.site-hero h1{font-size:2rem;color:var(--rose);margin-bottom:8px}
.site-hero p{font-size:1.1rem;color:var(--gris);max-width:600px;margin:0 auto}

/* GRILLE CARTES */
.cards-grid{max-width:1200px;margin:0 auto;padding:24px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card-item{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);transition:transform .2s,box-shadow .2s;background:var(--blanc)}
.card-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(233,30,99,.2)}
.card-item a{display:block}
.card-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card-item .card-title{padding:10px 12px;font-size:.9rem;font-weight:500;color:var(--gris);text-align:center}

/* PAGE CATEGORIE */
.archive-header{max-width:1200px;margin:0 auto;padding:24px 16px 0;border-bottom:2px solid var(--rose-clair)}
.archive-header h1{font-size:1.6rem;color:var(--rose);margin-bottom:4px}
.archive-header p{color:#888;font-size:.95rem}

/* PAGE CARTE INDIVIDUELLE */
.single-carte{max-width:900px;margin:0 auto;padding:24px 16px}
.single-carte h1{font-size:1.6rem;color:var(--rose);margin-bottom:16px;text-align:center}
.single-carte .carte-image{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);margin-bottom:24px}
.single-carte .carte-image img{width:100%;height:auto}
.partage{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0}
.btn-partage{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:24px;font-size:.95rem;font-weight:500;cursor:pointer;border:none;transition:opacity .2s;color:var(--blanc)}
.btn-partage:hover{opacity:.85;text-decoration:none;color:var(--blanc)}
.btn-fb{background:#1877f2}
.btn-tw{background:#1da1f2}
.btn-wa{background:#25d366}
.btn-email{background:var(--rose)}
.btn-print{background:#607d8b}
.carte-description{background:var(--gris-clair);border-radius:var(--rayon);padding:20px;margin-top:16px;font-size:.95rem}
.cartes-similaires{max-width:900px;margin:0 auto;padding:0 16px 40px}
.cartes-similaires h2{font-size:1.2rem;color:var(--rose);margin-bottom:16px;padding-top:24px;border-top:2px solid var(--rose-clair)}

/* CATEGORIES ACCUEIL */
.cats-section{max-width:1200px;margin:0 auto;padding:24px 16px}
.cats-section h2{font-size:1.4rem;color:var(--rose);margin-bottom:16px;text-align:center}
.cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cat-item{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);position:relative;aspect-ratio:4/3}
.cat-item a{display:block;height:100%}
.cat-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cat-item:hover img{transform:scale(1.05)}
.cat-item .cat-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(233,30,99,.85));color:var(--blanc);padding:20px 12px 12px;font-size:1rem;font-weight:600;text-align:center}

/* PAGINATION */
.pagination{display:flex;justify-content:center;gap:8px;padding:24px 16px;flex-wrap:wrap}
.pagination a,.pagination span{padding:8px 14px;border-radius:6px;font-size:.95rem;border:1px solid #ddd;color:var(--gris)}
.pagination a:hover{background:var(--rose);color:var(--blanc);border-color:var(--rose);text-decoration:none}
.pagination .current{background:var(--rose);color:var(--blanc);border-color:var(--rose)}

/* FOOTER */
#colophon{background:var(--gris);color:#ccc;padding:32px 16px;margin-top:40px}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.footer-col h3{color:var(--blanc);font-size:1rem;margin-bottom:12px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:6px}
.footer-col ul li a{color:#aaa;font-size:.9rem}
.footer-col ul li a:hover{color:var(--rose);text-decoration:none}
.footer-bottom{max-width:1200px;margin:16px auto 0;padding-top:16px;border-top:1px solid #555;text-align:center;font-size:.85rem;color:#888}

/* RESPONSIVE */
@media(max-width:768px){
  .header-inner{flex-wrap:wrap}
  .menu-toggle{display:block}
  #site-navigation{width:100%;display:none}
  #site-navigation.open{display:block}
  #site-navigation ul{flex-direction:column;padding:8px 0}
  #site-navigation ul li a{display:block;border-radius:6px}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .cats-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr}
  .site-hero h1{font-size:1.5rem}
}
@media(max-width:480px){
  .cards-grid{grid-template-columns:1fr}
  .cats-grid{grid-template-columns:1fr}
}

/* BREADCRUMB */
.breadcrumb{max-width:1200px;margin:0 auto;padding:12px 16px;font-size:.85rem;color:#888}
.breadcrumb a{color:#888}
.breadcrumb a:hover{color:var(--rose)}

/* SOUS-CATEGORIES */
.sous-cats{max-width:1200px;margin:0 auto;padding:16px 16px 0}
.sous-cats h2{font-size:1.1rem;color:var(--rose);margin-bottom:12px}
.sous-cats-grid{display:flex;flex-wrap:wrap;gap:10px}
.sous-cat-item{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--rose-clair);border-radius:20px;font-size:.9rem;color:var(--gris);border:1px solid #f8bbd0}
.sous-cat-item:hover{background:var(--rose);color:var(--blanc);text-decoration:none}
.sous-cat-item img{width:32px;height:32px;object-fit:cover;border-radius:50%}

/* MAILLAGE INTERNE */
.maillage-cats{max-width:1200px;margin:24px auto 0;padding:16px}
.maillage-cats h2{font-size:1.1rem;color:var(--rose);margin-bottom:12px}
.maillage-grid{display:flex;flex-wrap:wrap;gap:8px}
.maillage-item{padding:6px 14px;background:var(--gris-clair);border-radius:20px;font-size:.88rem;color:var(--gris);border:1px solid #ddd}
.maillage-item:hover{background:var(--rose);color:var(--blanc);border-color:var(--rose);text-decoration:none}
.maillage-item span{color:#999;font-size:.8rem}

/* CATEGORIES LIENS */
.carte-cats{margin:16px 0;font-size:.9rem}
.carte-cats a{display:inline-block;margin:4px;padding:4px 12px;background:var(--rose-clair);border-radius:16px;color:var(--rose);font-size:.85rem}
.carte-cats a:hover{background:var(--rose);color:var(--blanc);text-decoration:none}

/* NAV PRECEDENT/SUIVANT */
.nav-carte{display:flex;justify-content:space-between;gap:16px;margin:24px 0;padding:16px;background:var(--gris-clair);border-radius:var(--rayon)}
.nav-carte a{font-size:.9rem;color:var(--rose);max-width:45%}
.nav-prev{text-align:left}
.nav-next{text-align:right;margin-left:auto}

/* BANNIERE CATEGORIE */
.cat-banner{width:100%;max-height:300px;overflow:hidden;margin-bottom:16px}
.cat-banner img{width:100%;height:300px;object-fit:cover;border-radius:var(--rayon)}

/* GRANDE GRILLE SOUS-CATS */
.sous-cats-grid-big{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}
.sous-cat-big{display:flex;flex-direction:column;align-items:center;border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre);background:var(--blanc);transition:transform .2s}
.sous-cat-big:hover{transform:translateY(-4px);text-decoration:none}
.sous-cat-big img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sous-cat-big span{padding:10px;font-size:.9rem;font-weight:500;color:var(--gris);text-align:center}
@media(max-width:768px){.sous-cats-grid-big{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.sous-cats-grid-big{grid-template-columns:1fr}}
