/*
Theme Name: Carter Ouvert
Theme URI: https://renault-ales.fr
Description: Thème enfant pour Carter Ouvert.
Author: Carter Ouvert
Template: generatepress
Version: 1.0
Text Domain: carter-ouvert
*/

/* ---- Tokens: palette ember-glow, spacing spacious, radius none, shadow dramatic ---- */
:root{
  --vm-primary:#C17747;
  --vm-secondary:#D4A574;
  --vm-accent:#F39C12;
  --vm-accent-warm:#E8D5C4;
  --vm-surface:#FDF8F4;
  --vm-bg:#FFFFFF;
  --vm-text:#2C1810;
  --vm-text-2:#5D5D5D;
  --vm-border:#F5E0CC;
  --vm-section-gap:6rem;
  --vm-block-gap:2rem;
  --vm-container-padding:3rem;
  --vm-radius:0px;
  --vm-shadow:0 8px 30px rgba(0,0,0,0.12);
}

/* ---- Spacious rhythm ---- */
.site-content .content-area > *:not(:last-child){margin-bottom:var(--vm-block-gap);}
.separate-containers .site-main > *{margin-bottom:var(--vm-block-gap);}
.inside-article,.sidebar .widget,.comments-area > *,.page-header{
  box-shadow:var(--vm-shadow);
  border-radius:var(--vm-radius);
}

/* ---- Sharp corners everywhere (border radius: none) ---- */
.inside-article,.button,button,input,textarea,select,.wp-block-image img,
img.avatar,.vm-hero,.vm-card{border-radius:var(--vm-radius)!important;}

/* ---- Typography ---- */
body{color:var(--vm-text);}
h1,h2,h3,h4,h5,h6{letter-spacing:-0.01em;}
.entry-content a{text-decoration:underline;text-underline-offset:2px;}

/* ---- Featured-post hero (homepage) ---- */
.vm-hero{
  background:var(--vm-surface);
  border-left:6px solid var(--vm-primary);
  padding:var(--vm-container-padding);
  margin-bottom:var(--vm-section-gap);
  box-shadow:var(--vm-shadow);
}
.vm-hero__eyebrow{
  font-family:Raleway,sans-serif;font-weight:700;font-size:.75rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--vm-primary);
  display:block;margin-bottom:.75rem;
}
.vm-hero__title{margin:0 0 .75rem;font-size:2rem;line-height:1.2;}
.vm-hero__title a{color:var(--vm-text);text-decoration:none;}
.vm-hero__title a:hover{color:var(--vm-primary);}
.vm-hero__excerpt{color:var(--vm-text-2);margin:0 0 1.25rem;}
.vm-hero__media img{width:100%;height:auto;display:block;margin-bottom:1.5rem;}
.vm-hero__more{
  font-family:Raleway,sans-serif;font-weight:700;font-size:.8rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--vm-primary);
  text-decoration:none;border-bottom:2px solid var(--vm-accent-warm);padding-bottom:2px;
}
.vm-hero__more:hover{border-bottom-color:var(--vm-primary);}

/* ---- Homepage recent-articles section ---- */
.vm-section-heading{
  font-size:1.35rem;margin:0 0 var(--vm-block-gap);
  padding-bottom:.6rem;border-bottom:2px solid var(--vm-border);
}
.vm-cards{display:grid;grid-template-columns:1fr;gap:var(--vm-block-gap);margin-bottom:var(--vm-section-gap);}
@media(min-width:768px){.vm-cards{grid-template-columns:1fr 1fr;}}
.vm-card{background:var(--vm-bg);border:1px solid var(--vm-border);padding:1.5rem;box-shadow:var(--vm-shadow);}
.vm-card__cat{
  font-family:Raleway,sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--vm-primary);display:block;margin-bottom:.5rem;
}
.vm-card__title{font-size:1.1rem;margin:0 0 .5rem;line-height:1.3;}
.vm-card__title a{color:var(--vm-text);text-decoration:none;}
.vm-card__title a:hover{color:var(--vm-primary);}
.vm-card__excerpt{color:var(--vm-text-2);font-size:.95rem;margin:0;}

/* ---- Author byline + card ---- */
.vm-byline{
  display:flex;align-items:center;gap:.75rem;
  font-size:.9rem;color:var(--vm-text-2);margin-bottom:1.5rem;
}
.vm-byline img{border-radius:50%!important;}
.vm-byline a{color:var(--vm-primary);text-decoration:none;font-weight:600;}
.vm-authorcard{
  display:flex;gap:1.25rem;align-items:flex-start;
  background:var(--vm-surface);border-top:3px solid var(--vm-primary);
  padding:1.5rem;margin-top:var(--vm-section-gap);
}
.vm-authorcard img{border-radius:50%!important;flex:0 0 auto;}
.vm-authorcard__name{font-family:Raleway,sans-serif;font-weight:700;margin:0 0 .2rem;}
.vm-authorcard__name a{color:var(--vm-text);text-decoration:none;}
.vm-authorcard__role{font-size:.85rem;color:var(--vm-primary);margin:0 0 .5rem;}
.vm-authorcard__bio{font-size:.92rem;color:var(--vm-text-2);margin:0;}

/* ---- About page: avatar-left ---- */
.vm-about{display:flex;gap:2rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--vm-block-gap);}
.vm-about__portrait{flex:0 0 200px;}
.vm-about__portrait img{width:200px;height:auto;display:block;box-shadow:var(--vm-shadow);}
.vm-about__body{flex:1 1 320px;}

/* ---- Footer: centered-dark, no headings ---- */
.site-footer,.footer-widgets{background:#2C1810;color:var(--vm-accent-warm);}
.site-footer .footer-widgets-container,.site-info{text-align:center;}
.site-info{background:#2C1810;color:var(--vm-accent-warm);padding:1.5rem 0;}
.site-info a{color:var(--vm-secondary);}
.footer-widgets .widget-title{display:none;}

/* ---- Scroll to top ---- */
.generate-back-to-top{border-radius:var(--vm-radius)!important;box-shadow:var(--vm-shadow);}

/* ---- Screen-reader-only H1 ---- */
.vm-sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---- Content width: compact (content 720 / wide 1000) ---- */
.entry-content > *:not(.alignwide):not(.alignfull):not(.vm-cards):not(.vm-hero),
.entry-content > p, .entry-content > h2, .entry-content > h3, .entry-content > ul, .entry-content > ol{
  max-width:720px;margin-left:auto;margin-right:auto;
}
