/* Café contemporain : chocolat profond, caramel vif et blanc. */
:root{--font-heading:Manrope,Arial,sans-serif;--font-body:"DM Sans",Arial,sans-serif;--espresso:#26160f;--moka:#8e3d19;--caramel:#f59a3d;--latte:#ffe0b5;--paper:#fffaf3;--white:#ffffff;--ink:#26160f;--muted:#624c3f;--line:#dcc4ad;--gold:#8e3d19;--sand:#ffe0b5;--coffee:#26160f;--green:#8e3d19}
body{background:var(--paper);color:var(--ink)}
.masthead{background:var(--paper)}
.brand,.brand-name{color:var(--espresso)}
.brand-sub,.nav-half a{color:var(--ink)}
.nav-half a:hover{color:var(--ink)}
.nav-half a:after{background:var(--caramel)}
.topbar{background:var(--espresso);color:var(--white)}
.topbar a:hover{color:#fff}
.hero-shade{background:linear-gradient(90deg,#35251f80,transparent 78%),linear-gradient(180deg,transparent 23%,#261b15cf 100%)}
.hero-content .hero-location{color:#fff9f4}
.hero-credit{background:#2e211adb;color:#fff}
.button-light{background:var(--caramel);border-color:var(--caramel);color:var(--ink)}
.button-light:hover{background:#ffb15d;border-color:#ffb15d;color:var(--ink)}
.button-outline,.button-outline:hover{background:var(--caramel);border-color:var(--caramel);color:var(--ink)}
.button-outline:hover{background:#ffb15d;border-color:#ffb15d}
.button-green{background:var(--caramel);border-color:var(--caramel);color:var(--ink)}
.button-green:hover{background:#ffb15d;border-color:#ffb15d;color:var(--ink)}
.cafe-ribbon{background:var(--latte)}
.counter{background:#f0e6d9}
.cafe-ribbon>.page{color:var(--ink)}
.cafe-ribbon span+span{border-left-color:var(--caramel)}
.cafe h2,.about-copy h2,.photos h2,.press h2{color:var(--espresso)}
.cafe-specialties{border-top-color:var(--line)}
.cafe-specialties li{border-bottom-color:var(--line)}
.counter .section-index,.counter h2,.counter h3,.counter p{color:var(--ink)}
.counter .product{border-top-color:#cfbda6}
.gallery-stage{background:#eee3d5}
.gallery-thumb[aria-pressed="true"] img{border-color:var(--caramel)}
.gallery-thumb[aria-pressed="true"] span{background:var(--caramel);color:var(--ink);padding:4px 7px;border-radius:3px}
.reviews{background:#f4ede3;border-color:var(--line)}
.reviews h2,.review-score>strong{color:var(--moka)}
.reviews .review-original,.reviews .underlined,.reviews a:hover{color:var(--ink)}
.review-controls button{background:var(--caramel);border-color:var(--caramel);color:var(--ink)}
.review-controls button:hover{background:var(--caramel)}
.aggregate-stars{background:linear-gradient(90deg,var(--moka) 96%,#d8cbbb 96%);background-clip:text;-webkit-background-clip:text;color:transparent}
.visit{background:var(--espresso);color:var(--white)}
.visit .section-index,.visit h2,.visit .phone,.visit .copy-address,.visit-address>p:not(.copy-feedback),.visit-address>.contact-note,.hours th,.hours td,.hours>p{color:#fff}
.visit .phone:hover{color:var(--caramel)}
.visit th,.visit td{border-bottom-color:#a28871}
.hours,.visit .copy-address{border-color:#a28871}
.visit .directions{background:var(--caramel);color:var(--ink)}
.visit .directions:hover{background:#ffb15d;color:var(--ink)}
.copy-feedback{color:#fff}
.footer-brand{color:var(--moka)}
.lightbox{background:var(--ink);color:#fff}
.lightbox .dialog-close{color:#fff}
a:focus-visible,button:focus-visible{outline-color:var(--ink)}
.lightbox button:focus-visible{outline-color:var(--caramel)}
.visit a:focus-visible,.visit button:focus-visible,.topbar a:focus-visible{outline-color:var(--caramel)}
@media(max-width:600px){
 .nav-half{border-top-color:var(--line)}
 .cafe-ribbon span+span{border:0}
 .mobile-quick-links{background:var(--paper);border-top-color:var(--line);box-shadow:0 -3px 18px #35251f12}
 .mobile-quick-links a{background:var(--caramel);border-color:var(--caramel);color:var(--ink)}
 .mobile-quick-links a:first-child{background:var(--caramel);color:var(--ink);border-color:var(--caramel)}
}

/* Typographie contemporaine, sans empattements. */
h1,h2,h3{font-family:var(--font-heading);font-weight:700;letter-spacing:-.045em;line-height:1.16}
.brand-name{font-family:var(--font-heading);font-weight:800;font-size:39px;letter-spacing:-1.8px}
.brand-name i{font-style:normal;font-weight:600;font-size:.8em}
.brand-wheat{color:var(--caramel)}
.brand-sub{letter-spacing:1.4px}
.hero h1{font-size:clamp(48px,5.2vw,68px);font-weight:700;letter-spacing:-.055em;line-height:1.12;max-width:870px}
.cafe h2{font-size:clamp(35px,3.8vw,47px);line-height:1.16;letter-spacing:-.05em}
.about h2{font-size:43px;line-height:1.17}
.photos h2,.press h2{font-size:clamp(33px,3.5vw,42px);line-height:1.2}
.product h3{font-size:27px;letter-spacing:-.04em;line-height:1.25}
.reviews h2{font-size:38px;line-height:1.2}
.review-quotes blockquote{font-family:var(--font-heading);font-size:27px;font-weight:500;letter-spacing:-.025em;line-height:1.5}
.review-score>strong{font-family:var(--font-heading);font-weight:700;font-size:49px;letter-spacing:-2px}
.gallery-featured figcaption{font-family:var(--font-heading);font-size:25px;font-weight:600;letter-spacing:-.035em}
.press-article h3{font-size:25px;letter-spacing:-.04em;line-height:1.3}
.visit-address h2,.hours h2{font-size:34px;letter-spacing:-.04em;line-height:1.3}
.phone{font-size:31px;letter-spacing:-1px;font-weight:500}
.footer-brand{font-family:var(--font-heading);font-size:28px;letter-spacing:-1px;font-weight:800}
.button-light,.button-green,.button-outline,.directions,.mobile-quick-links a{border-radius:5px}
@media(max-width:800px){.brand-name{font-size:33px}.brand-sub{font-size:6px;letter-spacing:.8px}.cafe h2{font-size:34px}.about h2{font-size:36px}.product h3{font-size:23px}}
@media(max-width:600px){
 .brand-name{font-size:38px}
 .brand-sub{font-size:8px;letter-spacing:.8px}
 .hero h1{font-size:clamp(34px,9.4vw,43px);line-height:1.17;letter-spacing:-.055em}
 .cafe h2,.about h2{font-size:34px;line-height:1.2}
 .photos h2,.press h2,.reviews h2{font-size:31px;line-height:1.25}
 .product h3{font-size:27px}
 .review-quotes blockquote{font-size:24px;line-height:1.5}
 .gallery-featured figcaption{font-size:23px}
 .visit-address h2,.hours h2{font-size:31px}
 .phone{font-size:28px}
}

/* Le caramel signale les actions et les éléments à remarquer. */
.visit .copy-address{background:var(--caramel);color:var(--ink);border:1px solid var(--caramel);border-radius:5px;padding:10px 17px}
.visit .copy-address:hover{background:#ffb15d;border-color:#ffb15d}
.section-index:before{content:'';display:inline-block;width:7px;height:7px;margin-right:9px;background:var(--caramel);border-radius:50%;vertical-align:1px}
.cafe-specialties li:before{content:'';display:inline-block;width:7px;height:7px;margin-right:12px;background:var(--caramel);border-radius:50%;vertical-align:1px}
.review-score>strong{display:inline-block;background:var(--caramel);padding:12px 17px;border-radius:6px;color:var(--ink)}
.review-score>strong>span{color:var(--ink)}

/* Les grands fonds restent clairs ; les boutons se détachent en caramel. */
.masthead{background:var(--white)}
.hero .button-outline{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.hero .button-outline:hover{background:var(--latte);border-color:var(--latte);color:var(--ink)}
.cafe-ribbon span+span{border-left-color:#b79574}
.footer-brand{color:var(--espresso)}
@media(max-width:600px){.cafe-ribbon span+span{border:0}}
