/*
Theme Name: CozyStay Child — SoCosy
Template: cozystay
Author: SoCosy / Claude Code
Description: Child theme socosyhotels.com — direction artistique blog voyage (refonte 2026-05). Customisations dans ce fichier, jamais dans le theme parent.
Version: 1.1.0
*/

/* =========================================================================
   SOCOSY — DIRECTION ARTISTIQUE  (blog voyage : Paris · Chamonix · Marseille)
   Approche : elever la base cozystay (Marcellus + sable chaud) deja elegante,
   harmoniser la palette autour de l identite des etablissements, moderniser
   le feel editorial. Pilote par les variables CSS natives de cozystay.
   Tout est surchargeable / reversible (supprimer ce bloc = retour parent).
   ========================================================================= */

/* ---- 1. Jetons de design (palette + variables cozystay) ---------------- */
:root{
  /* Palette SoCosy — chaude, naturelle, intemporelle */
  --socosy-cream:#FBF8F2;        /* fond papier chaud            */
  --socosy-ivory:#F3EEE4;        /* sections alternees           */
  --socosy-ink:#2A2723;          /* texte principal (charbon chaud) */
  --socosy-ink-soft:#5E574C;     /* texte secondaire / meta      */
  --socosy-sand:#AC8A5E;         /* marque (sable/laiton affine) */
  --socosy-sand-dark:#937349;    /* hover marque                 */
  --socosy-forest:#44523F;       /* accent Chamonix / nature / Ecotable */
  --socosy-bordeaux:#8C2F39;     /* accent Marseille / La Caravelle */
  --socosy-gold:#C7A86E;         /* filets fins, details          */
  --socosy-line:rgba(42,39,35,.12); /* hairline                  */
  --socosy-shadow:0 18px 48px -24px rgba(42,39,35,.35);

  /* Surcharge des variables cozystay (cascade propre, fin = gagne) */
  --primary-color:var(--socosy-sand);
  --primary-color-semi:rgba(172,138,94,.28);
  --content-color:var(--socosy-ink);
  --heading-font:"Marcellus", Georgia, serif;
  --btn-font:"Marcellus", Georgia, serif;
  --body-font:"Jost", "Helvetica Neue", Arial, sans-serif;
  --secondary-font:"Jost", "Helvetica Neue", Arial, sans-serif;
  --btn-bg:var(--socosy-sand);
  --btn-bg-hover:var(--socosy-sand-dark);
  --btn-radius:999px;
  --light-bg-color:var(--socosy-cream);
}

/* ---- 2. Typographie & socle ------------------------------------------- */
body.theme-cozystay{
  background-color:var(--socosy-cream);
  color:var(--socosy-ink);
  font-family:var(--body-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:.005em;
}
.theme-cozystay p,
.theme-cozystay li{ line-height:1.78; }

.theme-cozystay h1,.theme-cozystay h2,.theme-cozystay h3,
.theme-cozystay h4,.theme-cozystay h5,.theme-cozystay h6,
.theme-cozystay .cs-title,.theme-cozystay .entry-title{
  font-family:var(--heading-font);
  color:var(--socosy-ink);
  font-weight:400;
  letter-spacing:.005em;
  line-height:1.18;
}
.theme-cozystay h1,.theme-cozystay .entry-title{ letter-spacing:-.005em; }

/* Lien : soulignement fin elegant qui se revele */
.theme-cozystay .entry-content a:not(.button):not(.read-more-btn){
  color:var(--socosy-ink);
  text-decoration:none;
  background-image:linear-gradient(var(--socosy-sand),var(--socosy-sand));
  background-size:100% 1px;background-repeat:no-repeat;background-position:0 100%;
  padding-bottom:1px;transition:color .25s ease;
}
.theme-cozystay .entry-content a:not(.button):not(.read-more-btn):hover{ color:var(--socosy-sand-dark); }

::selection{ background:var(--socosy-sand); color:#fff; }
.theme-cozystay :focus-visible{ outline:2px solid var(--socosy-sand); outline-offset:2px; }

/* Filet decoratif sous les titres de section centres */
.theme-cozystay .cs-title-wrap.text-center .cs-title{ position:relative; padding-bottom:.55em; }
.theme-cozystay .cs-title-wrap.text-center .cs-title:after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:54px;height:2px;background:var(--socosy-gold);
}

/* ---- 3. En-tete & navigation ------------------------------------------ */
.theme-cozystay .cs-menu.main-navigation .menu > li > a{
  font-family:var(--body-font);
  font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;
  position:relative;
}
.theme-cozystay .cs-menu.main-navigation .menu > li > a:after{
  content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;
  background:var(--socosy-sand);transition:width .3s ease;
}
.theme-cozystay .cs-menu.main-navigation .menu > li:hover > a:after,
.theme-cozystay .cs-menu.main-navigation .menu > li.current-menu-item > a:after{ width:100%; }
.theme-cozystay .site-header{ transition:background-color .35s ease, box-shadow .35s ease; }
.theme-cozystay .site-header.is-sticky,
.theme-cozystay .sticky-site-header.sticked{ box-shadow:0 6px 24px -18px rgba(42,39,35,.5); }

/* ---- 4. Boutons & appels a l action ----------------------------------- */
.theme-cozystay .button,
.theme-cozystay .elementor-button-link.button,
.theme-cozystay .more-btn{
  font-family:var(--btn-font);
  letter-spacing:.06em;
  transition:transform .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.theme-cozystay .button:not(.cs-btn-underline):not(.cs-btn-text):hover,
.theme-cozystay .elementor-button-link.button:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px -16px rgba(172,138,94,.85);
}
/* Lien "lire la suite" : fleche animee */
.theme-cozystay .read-more-btn.cs-btn-underline{
  font-family:var(--body-font);text-transform:uppercase;
  letter-spacing:.12em;font-size:12px;font-weight:600;color:var(--socosy-ink);
}
.theme-cozystay .read-more-btn.cs-btn-underline:after{ color:var(--socosy-sand); }
.theme-cozystay .read-more-btn.cs-btn-underline:hover{ color:var(--socosy-sand-dark); }

/* ---- 5. Cartes blog (archives, categories, home) ---------------------- */
.theme-cozystay .posts.layout-masonry .post,
.theme-cozystay .posts.layout-grid .post{
  background:#fff;border:1px solid var(--socosy-line);border-radius:14px;
  overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease;
}
.theme-cozystay .posts.layout-masonry .post:hover,
.theme-cozystay .posts.layout-grid .post:hover{
  transform:translateY(-6px);box-shadow:var(--socosy-shadow);
}
.theme-cozystay .post .post-thumbnail,
.theme-cozystay .post .post-thumb,
.theme-cozystay .post figure{ overflow:hidden; }
.theme-cozystay .post .post-thumbnail img,
.theme-cozystay .post .post-thumb img{
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);width:100%;display:block;
}
.theme-cozystay .post:hover .post-thumbnail img,
.theme-cozystay .post:hover .post-thumb img{ transform:scale(1.06); }
.theme-cozystay .post .post-content{ padding:26px 28px 30px; }
.theme-cozystay .post .post-title,
.theme-cozystay .post .entry-title{ font-size:1.45rem;margin:.2em 0 .5em;line-height:1.22; }
.theme-cozystay .post .post-title a{ color:var(--socosy-ink);transition:color .25s ease; }
.theme-cozystay .post .post-title a:hover{ color:var(--socosy-sand-dark); }
/* Surtitre categorie : majuscules espacees */
.theme-cozystay .post .post-categories,
.theme-cozystay .post .cat-links,
.theme-cozystay .post .category{
  font-family:var(--body-font);text-transform:uppercase;letter-spacing:.16em;
  font-size:11px;font-weight:600;color:var(--socosy-sand);
}
.theme-cozystay .post .post-excerpt{ color:var(--socosy-ink-soft);font-size:.97rem; }
.theme-cozystay .post .post-meta,
.theme-cozystay .post .entry-meta,
.theme-cozystay .post .meta-item{
  color:var(--socosy-ink-soft);font-size:12.5px;letter-spacing:.04em;
}

/* ---- 6. En-tete d article / archive (page-title-section) -------------- */
.theme-cozystay .post-header-section.page-title-section{ position:relative; }
.theme-cozystay .post-header-section .entry-title,
.theme-cozystay .post-header-section .cs-title{
  font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.12;
}
.theme-cozystay .post-header-section .breadcrumb,
.theme-cozystay .breadcrumb,
.theme-cozystay .breadcrumbs{
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--socosy-ink-soft);
}

/* ---- 7. Lecture d article (mesure & rythme editorial) ----------------- */
.theme-cozystay .single .entry-content,
.theme-cozystay .single .post-content > .entry-content{
  font-size:1.085rem;color:#37322B;
}
.theme-cozystay .single .entry-content > p,
.theme-cozystay .single .entry-content > ul,
.theme-cozystay .single .entry-content > ol,
.theme-cozystay .single .entry-content > h2,
.theme-cozystay .single .entry-content > h3,
.theme-cozystay .single .entry-content > blockquote,
.theme-cozystay .single .entry-content > figure{
  max-width:740px;margin-left:auto;margin-right:auto;
}
.theme-cozystay .single .entry-content > figure,
.theme-cozystay .single .entry-content > .wp-block-image{ max-width:920px; }
.theme-cozystay .single .entry-content h2{ margin-top:1.9em;font-size:1.9rem; }
.theme-cozystay .single .entry-content h3{ margin-top:1.5em;font-size:1.4rem; }
.theme-cozystay .single .entry-content img{ border-radius:10px; }
.theme-cozystay .single .entry-content figcaption,
.theme-cozystay .wp-caption-text{
  font-size:.85rem;color:var(--socosy-ink-soft);font-style:italic;
  text-align:center;margin-top:.6em;
}
.theme-cozystay .entry-content blockquote{
  border-left:3px solid var(--socosy-sand);
  background:var(--socosy-ivory);
  padding:1.1em 1.4em;margin:1.8em auto;border-radius:0 10px 10px 0;
  font-family:var(--heading-font);font-size:1.25rem;font-style:italic;color:var(--socosy-ink);
}
/* Lettrine sur le 1er paragraphe d article */
.theme-cozystay .single .entry-content > p:first-of-type:first-letter{
  font-family:var(--heading-font);float:left;font-size:3.5rem;line-height:.82;
  padding:.05em .12em 0 0;color:var(--socosy-sand);
}

/* ---- 8. Articles lies / pagination ------------------------------------ */
.theme-cozystay .related-posts-title,
.theme-cozystay .article-footer-title{
  font-family:var(--heading-font);font-size:1.6rem;
}
.theme-cozystay .navigation.pagination .page-numbers{
  border-radius:999px;transition:background-color .25s ease,color .25s ease;
}
.theme-cozystay .navigation.pagination .page-numbers.current,
.theme-cozystay .navigation.pagination a.page-numbers:hover{
  background:var(--socosy-sand);color:#fff;
}
.theme-cozystay .pagination-container.load-more .button{ letter-spacing:.1em; }

/* ---- 9. Pied de page -------------------------------------------------- */
/* Le footer est un bloc Elementor custom (photo + overlay, deja dark-color) :
   on NE force PAS ses couleurs pour ne pas casser son design existant.
   Finition legere uniquement (copyright / bas de page rendu par le theme). */
.theme-cozystay .site-footer-bottom,
.theme-cozystay .copyright{ font-size:12.5px; letter-spacing:.04em; }

/* ---- 10. Accents par destination (utilitaires Phase 2) ---------------- */
.dest-paris{ --dest:var(--socosy-sand); }
.dest-chamonix{ --dest:var(--socosy-forest); }
.dest-marseille{ --dest:var(--socosy-bordeaux); }
.dest-accent{ color:var(--dest,var(--socosy-sand)); }
.dest-rule:after{ background:var(--dest,var(--socosy-sand)) !important; }

/* ---- 11. Details & finitions ------------------------------------------ */
.theme-cozystay img{ height:auto; }
.theme-cozystay .wp-block-button__link{ border-radius:999px; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .theme-cozystay *{ transition:none !important; animation:none !important; }
  .theme-cozystay .post:hover .post-thumbnail img{ transform:none; }
}
/* Scrollbar discrete (desktop) */
@media (pointer:fine){
  .theme-cozystay ::-webkit-scrollbar{ width:11px;height:11px; }
  .theme-cozystay ::-webkit-scrollbar-thumb{ background:var(--socosy-sand);border-radius:99px;border:3px solid var(--socosy-cream); }
  .theme-cozystay ::-webkit-scrollbar-track{ background:var(--socosy-cream); }
}

/* ---- 12. Responsive --------------------------------------------------- */
@media (max-width:1024px){
  .theme-cozystay .post .post-content{ padding:22px 22px 26px; }
  .theme-cozystay .post .post-title,
  .theme-cozystay .post .entry-title{ font-size:1.3rem; }
}
@media (max-width:600px){
  .theme-cozystay .single .entry-content > p:first-of-type:first-letter{ font-size:2.9rem; }
  .theme-cozystay .post .post-content{ padding:20px 18px 24px; }
}

/* ---- 13. Logo wordmark (header desktop, #socosy-logo) ----------------- */
/* Remplace l ancien logo image rond par un wordmark texte sobre et net.
   Contexte : colonne header en dark-color (texte clair sur le hero). */
#socosy-logo .elementor-heading-title{ margin:0; line-height:1; }
#socosy-logo .elementor-heading-title a{
  display:inline-block;
  font-family:var(--heading-font);
  font-size:30px;
  font-weight:400;
  letter-spacing:.045em;
  color:#F7F1E6;
  text-shadow:0 1px 18px rgba(0,0,0,.38);
  text-decoration:none;
  transition:color .3s ease;
}
#socosy-logo .elementor-heading-title a:hover{ color:var(--socosy-gold); }
#socosy-logo .elementor-heading-title a:after{
  content:"H\00D4 T E L S";          /* HÔTELS espace fine, Jost */
  display:block;
  font-family:var(--body-font);
  font-size:10px;
  font-weight:600;
  letter-spacing:.42em;
  margin-top:3px;
  opacity:.78;
  text-shadow:none;
}
@media (max-width:1280px){ #socosy-logo .elementor-heading-title a{ font-size:26px; } }

/* ---- 14. Home : cartes destinations & hero (Phase 2) ----------------- */
/* Cartes destinations (cs_call_to_action) = element de conversion cle.
   Contenu en surimpression sur photo + overlay : textes clairs. */
.elementor-page-9 .cs-cta{
  border-radius:16px; overflow:hidden;
  box-shadow:0 10px 30px -22px rgba(42,39,35,.45);
  transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.elementor-page-9 .cs-cta:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 60px -28px rgba(42,39,35,.55);
}
.elementor-page-9 .cs-cta .cs-cta-img img{ transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.elementor-page-9 .cs-cta:hover .cs-cta-img img{ transform:scale(1.07); }
/* Overlay degrade pour lisibilite du texte */
.elementor-page-9 .cs-cta .cs-cta-overlay{
  background:linear-gradient(180deg, rgba(28,25,22,.10) 0%, rgba(28,25,22,.28) 45%, rgba(28,25,22,.72) 100%) !important;
  opacity:1 !important;
}
/* Surtitre ville : eyebrow dore */
.elementor-page-9 .cs-cta .cs-subtitle{
  color:var(--socosy-gold) !important;
  font-family:var(--body-font);
  text-transform:uppercase; letter-spacing:.34em; font-size:12px; font-weight:600;
}
/* Titre etablissement : Marcellus clair */
.elementor-page-9 .cs-cta .cs-cta-title,
.elementor-page-9 .cs-cta h6.cs-cta-title.cs-title{
  color:#FFF8EC !important;
  font-family:var(--heading-font);
  font-size:2rem; line-height:1.12; margin:.35em 0 .45em;
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.elementor-page-9 .cs-cta .cs-cta-text p{
  color:rgba(255,248,236,.92);
  font-size:.86rem; letter-spacing:.12em; line-height:1.6;
}
/* Bouton "Reserver" : pilule pleine, CTA primaire visible */
.elementor-page-9 .cs-cta .cs-cta-btn{ margin-top:1.3em; }
.elementor-page-9 .cs-cta .cs-cta-btn a.button{
  background:var(--socosy-sand) !important;
  color:#fff !important;
  border:0 !important;
  padding:13px 30px !important;
  border-radius:999px !important;
  display:inline-block;
  transition:background-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.elementor-page-9 .cs-cta .cs-cta-btn a.button .cs-btn-text{
  font-family:var(--btn-font); letter-spacing:.1em; font-size:14px; color:#fff !important;
}
.elementor-page-9 .cs-cta .cs-cta-btn a.button:after{ display:none !important; } /* retire le trait underline */
.elementor-page-9 .cs-cta .cs-cta-btn a.button:hover{
  background:var(--socosy-sand-dark) !important;
  transform:translateY(-2px);
  box-shadow:0 16px 26px -14px rgba(172,138,94,.9);
}

/* Hero (section 0 : id 60d07609) */
.elementor-element-60d07609 .cs-title.cs-title,
.elementor-page-9 .elementor-element-60d07609 h1.cs-title{
  font-family:var(--heading-font);
  font-size:clamp(2.6rem,6vw,5rem) !important;
  line-height:1.06; color:#FFF8EC !important;
  text-shadow:0 3px 26px rgba(0,0,0,.4);
}
.elementor-element-60d07609 .cs-subtitle{
  color:var(--socosy-gold) !important;
  letter-spacing:.42em !important; text-transform:uppercase; font-weight:600;
}
.elementor-element-60d07609 .cs-title-text p,
.elementor-element-60d07609 .cs-desc p{
  color:rgba(255,248,236,.92) !important;
  font-size:1.15rem; letter-spacing:.02em;
}

@media (max-width:1024px){
  .elementor-page-9 .cs-cta .cs-cta-title{ font-size:1.7rem; }
}

/* ---- 15. Header desktop : logo centre en haut, menu centre dessous --- */
/* Section 1827a322 = 3 colonnes [menu 25][logo 50][vide 25] -> on empile
   verticalement, centre : wordmark en haut puis menu aligne dessous. */
#masthead .elementor-element-1827a322 > .elementor-container{
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px;
  padding:24px 0 18px;
}
#masthead .elementor-element-1827a322 > .elementor-container > .elementor-column{
  width:100% !important; max-width:100% !important; flex:0 0 auto !important;
}
#masthead .elementor-element-1827a322 .elementor-element-15208836{ order:1; }  /* logo  */
#masthead .elementor-element-1827a322 .elementor-element-3d341673{ order:2; }  /* menu  */
#masthead .elementor-element-1827a322 .elementor-element-60b6b98c{ display:none !important; } /* colonne vide */
#masthead .elementor-element-1827a322 .elementor-widget-wrap{ justify-content:center; }

/* Wordmark parfaitement centre (compense le letter-spacing de HOTELS) */
#masthead .elementor-element-1827a322 #socosy-logo .elementor-heading-title{ text-align:center; }
#masthead #socosy-logo .elementor-heading-title a{ text-align:center; }
#masthead #socosy-logo .elementor-heading-title a:after{ margin-right:-.42em; }

/* Menu : items alignes, centres, les uns apres les autres */
#masthead .elementor-element-1827a322 nav.cs-menu .menu.primary-menu{
  display:flex !important; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:38px; margin:0; padding:0; list-style:none;
}
#masthead .elementor-element-1827a322 nav.cs-menu .menu.primary-menu > li{ margin:0; padding:0; }
#masthead .elementor-element-1827a322 .elementor-element-79543eae{ width:auto !important; }

/* ---- 16. Section "Parcourez la France" — grille des maisons --------- */
.elementor-element-9541954 .socosy-places-section{ text-align:center; padding:8px 0; }
.socosy-places-head{ max-width:760px; margin:0 auto; }
.socosy-places-eyebrow{
  display:inline-block; font-family:var(--body-font);
  text-transform:uppercase; letter-spacing:.34em; font-size:12px; font-weight:600;
  color:var(--socosy-sand);
}
.socosy-places-title{
  font-family:var(--heading-font); color:var(--socosy-ink);
  font-size:clamp(2rem,3.6vw,3rem); line-height:1.12; margin:.28em 0 .4em;
}
.socosy-places-title:after{
  content:""; display:block; width:54px; height:2px; background:var(--socosy-gold);
  margin:.55em auto 0;
}
.socosy-places-sub{ color:var(--socosy-ink-soft); font-size:1.02rem; line-height:1.7; margin:.2em 0 0; }
.socosy-places{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:24px; margin:48px auto 0; max-width:1180px;
}
.socosy-place{
  position:relative; flex:0 1 340px; max-width:370px;
  aspect-ratio:3/4; border-radius:16px; overflow:hidden;
  display:block; text-decoration:none;
  box-shadow:0 14px 36px -24px rgba(42,39,35,.5);
  transition:transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s ease;
}
.socosy-place:hover{ transform:translateY(-8px); box-shadow:0 30px 60px -28px rgba(42,39,35,.6); }
.socosy-place__img{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform 1.15s cubic-bezier(.2,.7,.2,1);
}
.socosy-place:hover .socosy-place__img{ transform:scale(1.07); }
.socosy-place:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(28,25,22,0) 35%, rgba(28,25,22,.78) 100%);
}
.socosy-place__body{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:26px 28px 30px; text-align:left;
}
.socosy-place__city{
  display:block; font-family:var(--body-font);
  text-transform:uppercase; letter-spacing:.22em; font-size:11px; font-weight:600;
  color:var(--socosy-gold); margin-bottom:.5em;
}
.socosy-place__name{
  display:block; font-family:var(--heading-font);
  font-size:1.6rem; line-height:1.15; color:#FFF8EC;
  text-shadow:0 2px 16px rgba(0,0,0,.4);
}
.socosy-place__cta{
  display:inline-block; margin-top:1em;
  font-family:var(--body-font); text-transform:uppercase;
  letter-spacing:.16em; font-size:11.5px; font-weight:600; color:#FFF8EC;
  padding-bottom:3px; position:relative;
}
.socosy-place__cta:after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:22px;
  background:var(--socosy-gold); transition:width .35s ease;
}
.socosy-place:hover .socosy-place__cta:after{ width:100%; }
@media (max-width:680px){
  .socosy-place{ flex:0 1 100%; max-width:420px; aspect-ratio:4/3; }
  .socosy-places{ gap:18px; margin-top:36px; }
}

/* ---- 17. Cartes destinations : meme hauteur (CSS pur) --------------- */
/* Cadrage uniforme des photos (sources de ratios differents) sans
   modifier la structure ni les elements Elementor. */
.elementor-element-5bc85ebf .cs-cta .cs-cta-img{ aspect-ratio:3/2; overflow:hidden; }
.elementor-element-5bc85ebf .cs-cta .cs-cta-img img{
  width:100% !important; height:100% !important;
  object-fit:cover; object-position:center; display:block;
}

/* ---- 18. Bas de page : grille carnets (12, sans resume) + footer ---- */
/* Section cs_blog (41a3623d) : cartes resserrees, sans le vide du resume */
.elementor-element-41a3623d .posts.layout-masonry{ margin-top:8px; }
.elementor-element-41a3623d .post .post-content{ padding:20px 24px 22px !important; }
.elementor-element-41a3623d .post .post-excerpt{ display:none !important; }
.elementor-element-41a3623d .post .post-title,
.elementor-element-41a3623d .post .entry-title{ margin:.15em 0 .35em; font-size:1.32rem; }
.elementor-element-41a3623d .post .read-more-btn{ margin-top:.4em; }

/* Footer custom (bloc 4120) — plus lisible & elegant */
.site-footer .elementor-4120 .elementor-element-388232cf > .elementor-background-overlay{
  background:linear-gradient(180deg, rgba(28,25,22,.62) 0%, rgba(28,25,22,.82) 100%) !important;
  opacity:1 !important;
}
.site-footer .elementor-4120 .elementor-element-18feb1f3 > .elementor-container{
  gap:40px; padding:18px 0;
}
.site-footer .elementor-4120 .cs-subtitle{
  color:var(--socosy-gold) !important;
  text-transform:uppercase; letter-spacing:.28em; font-size:11px; font-weight:600;
}
.site-footer .elementor-4120 .cs-title{
  font-family:var(--heading-font) !important; color:#FBF8F2 !important;
  font-size:1.7rem !important; letter-spacing:.01em;
}
.site-footer .elementor-4120 .elementor-element-24a4b3ba .cs-title{
  font-size:13px !important; text-transform:uppercase; letter-spacing:.2em;
  color:var(--socosy-gold) !important; font-family:var(--body-font) !important;
}
.site-footer .elementor-4120 .cs-title-text p{ color:rgba(251,248,242,.78) !important; }
.site-footer .elementor-4120 .cs-list{ margin:0; }
.site-footer .elementor-4120 .cs-list li{
  padding:7px 0 !important; border-color:rgba(251,248,242,.14) !important;
}
.site-footer .elementor-4120 .cs-list .list-content{
  color:rgba(251,248,242,.86); font-size:14px; transition:color .25s ease;
}
.site-footer .elementor-4120 .cs-list li:hover .list-content{ color:var(--socosy-gold); }
.site-footer .elementor-4120 .cs-list .list-icon svg{
  width:11px; height:11px; fill:var(--socosy-gold); opacity:.9;
}
.site-footer .elementor-4120 .cs-social a{
  transition:color .25s ease, transform .25s ease; display:inline-block;
}
.site-footer .elementor-4120 .cs-social a:hover{ color:var(--socosy-gold); transform:translateY(-2px); }
.site-footer .elementor-4120 .elementor-element-781d51f h6{
  font-family:var(--body-font) !important; font-weight:500;
  font-size:12px !important; letter-spacing:.05em;
  color:rgba(251,248,242,.6) !important; text-transform:none;
}
@media (max-width:768px){
  .site-footer .elementor-4120 .elementor-element-18feb1f3 > .elementor-container{ gap:24px; text-align:center; }
  .site-footer .elementor-4120 .cs-social{ justify-content:center; }
}

/* ---- 19. Articles intemporels : masquer les dates de publication ----- */
.theme-cozystay .meta-item.time,
.theme-cozystay .post-meta .date,
.theme-cozystay .entry-meta .date,
.theme-cozystay .posted-on,
.theme-cozystay .published,
.theme-cozystay time.entry-date,
.theme-cozystay .post .date,
.theme-cozystay .cs-meta-date{ display:none !important; }

/* ---- 20. Bandeau cookies -------------------------------------------- */
#socosy-cookie{
  position:fixed; left:18px; right:18px; bottom:18px; z-index:99999;
  max-width:560px; margin:0 auto;
  background:var(--socosy-ink,#2A2723); color:#FBF8F2;
  border:1px solid var(--socosy-gold,#C7A86E); border-radius:14px;
  padding:18px 22px; box-shadow:0 18px 48px -22px rgba(0,0,0,.6);
  font-family:var(--body-font,"Jost",sans-serif); font-size:14px; line-height:1.6;
}
#socosy-cookie p{ margin:0 0 14px; color:#FBF8F2; }
#socosy-cookie a{ color:var(--socosy-gold,#C7A86E); text-decoration:underline; }
.socosy-cookie-btns{ display:flex; gap:12px; justify-content:flex-end; }
#socosy-cookie button{
  font-family:var(--btn-font,"Marcellus",serif); cursor:pointer;
  border-radius:999px; padding:9px 22px; font-size:13px; letter-spacing:.04em;
  border:1px solid var(--socosy-gold,#C7A86E); transition:all .25s ease;
}
#socosy-cookie-refuse{ background:transparent; color:#FBF8F2; }
#socosy-cookie-ok{ background:var(--socosy-sand,#AC8A5E); color:#fff; border-color:var(--socosy-sand,#AC8A5E); }
#socosy-cookie-ok:hover{ background:var(--socosy-sand-dark,#937349); }
#socosy-cookie-refuse:hover{ border-color:#FBF8F2; }
@media (max-width:600px){ #socosy-cookie{ left:10px; right:10px; bottom:10px; padding:16px; } }

/* ---- 21. Bouton "Réserver" fin d article -------------------------- */
.socosy-reserver-wrap{ text-align:center; margin:2.4em 0 .5em; }
a.socosy-reserver{
  display:inline-block; font-family:var(--btn-font,"Marcellus",serif);
  background:var(--socosy-sand,#AC8A5E); color:#fff !important; text-decoration:none;
  padding:15px 40px; border-radius:999px; font-size:16px; letter-spacing:.06em;
  border:1px solid var(--socosy-sand,#AC8A5E);
  transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}
a.socosy-reserver:hover{
  background:var(--socosy-sand-dark,#937349); transform:translateY(-2px);
  box-shadow:0 16px 28px -14px rgba(172,138,94,.9); color:#fff !important;
}
