/* Design « Cottage » : cottage anglais romantique, papier peint fleuri, vert sauge, rose poudré, dentelle et cadres ovales. Cormorant Garamond + Jost. */
.d-cottage {
  --rose: #e6bfbb;
  --rose-2: #f3e0dc;
  --rose-ink: #9e4c59;
  --sage-d: color-mix(in oklab, var(--primary), #000 24%);
  --leaf: color-mix(in oklab, var(--primary), #fff 38%);
  --bg: #fcf8f3;
  --bg-soft: #f7ede7;
  --surface: #fffdfb;
  --ink: #3a3131;
  --ink-2: #61565a;
  --ink-3: #75696b;
  --line: #eddcd6;
  --head-w: 600;
  --h1-w: 500;
  --h1-track: -.005em;
  --head-track: 0em;
  --btn-r: 999px;
  --footer-bg: color-mix(in oklab, var(--primary), #24211f 60%);
  /* Papier peint : petites roses en quinconce, feuillage sauge, semis de points */
  --paper: radial-gradient(circle at 30px 30px, #c27c86 0 2.5px, #e9b9ba 3px 5px, #d89aa1 5.5px 7px, transparent 7.5px) 0 0 / 60px 60px,
    radial-gradient(circle at 30px 30px, #c27c86 0 2.5px, #e9b9ba 3px 5px, #d89aa1 5.5px 7px, transparent 7.5px) 30px 30px / 60px 60px,
    radial-gradient(ellipse 5px 2.4px at 23px 37px, var(--leaf) 85%, transparent 100%) 0 0 / 60px 60px,
    radial-gradient(ellipse 5px 2.4px at 37px 37px, var(--leaf) 85%, transparent 100%) 0 0 / 60px 60px,
    radial-gradient(ellipse 5px 2.4px at 23px 37px, var(--leaf) 85%, transparent 100%) 30px 30px / 60px 60px,
    radial-gradient(ellipse 5px 2.4px at 37px 37px, var(--leaf) 85%, transparent 100%) 30px 30px / 60px 60px,
    radial-gradient(circle at 15px 15px, #e2b4b4 0 1.6px, transparent 2.1px) 0 0 / 30px 30px,
    repeating-linear-gradient(90deg, transparent 0 58px, rgba(125, 143, 105, .07) 58px 60px),
    #f8ece7;
  /* Bordure de dentelle festonnée (pointes vers le bas) */
  --lace: radial-gradient(circle at 9px 3px, #e3c4bf 0 1.3px, transparent 1.8px) 0 0 / 18px 10px repeat-x,
    radial-gradient(circle at 9px 0, var(--surface) 8px, transparent 8.5px) 0 0 / 18px 10px repeat-x;
  --veil: linear-gradient(rgba(252, 248, 243, .84), rgba(252, 248, 243, .84));
}

/* En-tête : bandeau ivoire et feston de dentelle */
.d-cottage .site-header { background: var(--surface); }
.d-cottage .site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; background: var(--lace); filter: drop-shadow(0 2px 1px rgba(160, 110, 100, .12)); }
.d-cottage .brand-mark { border-radius: 50%; aspect-ratio: 4 / 5; height: 48px; width: auto; background: var(--surface); color: var(--sage-d); box-shadow: inset 0 0 0 2px var(--leaf), 0 0 0 3px var(--surface), 0 0 0 4px var(--rose); }
.d-cottage .brand-text strong { font-size: 1.5rem; font-weight: 600; letter-spacing: 0; }
.d-cottage .brand-text small { letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; }
.d-cottage .brand-stars { color: var(--rose-ink); }
.d-cottage .nav a { font-weight: 400; letter-spacing: .02em; white-space: nowrap; }
.d-cottage .nav a:hover { background: var(--rose-2); color: var(--rose-ink); }
.d-cottage .btn { font-weight: 500; letter-spacing: .04em; }
.d-cottage .btn-primary { background: var(--sage-d); box-shadow: 0 10px 22px -12px var(--sage-d); }
.d-cottage .btn-primary:hover { background: color-mix(in oklab, var(--primary), #000 38%); }
.d-cottage .btn-ghost { background: var(--surface); border-color: var(--rose); color: var(--rose-ink); }

/* Bannière : papier peint et grand médaillon ovale */
.d-cottage .hero { padding-top: 80px; background: radial-gradient(ellipse 60% 55% at 50% 30%, var(--bg) 45%, transparent 100%), var(--veil), var(--paper); }
.d-cottage .hero h1 { font-size: clamp(2.8rem, 6vw, 5rem); line-height: 1.02; }
.d-cottage .hero-sub { font-size: 1.12rem; }
.d-cottage .pill-badge { background: transparent; border: 0; box-shadow: none; color: var(--rose-ink); font-family: var(--font-head); font-style: italic; font-size: 1.25rem; font-weight: 500; gap: 14px; }
.d-cottage .pill-badge .dot, .d-cottage .pill-badge::after { content: ''; width: 36px; height: 8px; border-radius: 0; box-shadow: none;
  background: radial-gradient(circle, currentColor 0 2.5px, transparent 3px) center / 8px 8px no-repeat, linear-gradient(currentColor 0 0) center / 100% 1px no-repeat; }
.d-cottage .hero-art { border-radius: 50%; background: radial-gradient(ellipse at 50% 50%, rgba(255, 253, 251, .7), transparent 60%), var(--paper);
  box-shadow: 0 0 0 10px var(--surface), 0 0 0 11px var(--rose), 0 0 0 17px var(--surface), 0 0 0 18px var(--line), var(--shadow-lg);
  outline: 2px dotted var(--rose); outline-offset: 5px; }
.d-cottage .hero-art::before { background: radial-gradient(ellipse at 50% 120%, rgba(125, 143, 105, .18), transparent 60%); }
.d-cottage .art-ring { aspect-ratio: 4 / 5; animation: none; border: 2px dotted var(--rose-ink); opacity: .5; }
.d-cottage .art-ring.r2 { border: 1px solid var(--rose-ink); opacity: .35; }
.d-cottage .art-ring.r1, .d-cottage .hero-center .art-ring.r1 { aspect-ratio: 4 / 5; width: 21%; }
.d-cottage .art-ring.r2, .d-cottage .hero-center .art-ring.r2 { aspect-ratio: 4 / 5; width: 27%; }
.d-cottage .art-cross { border-radius: 50%; aspect-ratio: 4 / 5; background: var(--surface); backdrop-filter: none; border: 0; color: var(--sage-d);
  box-shadow: inset 0 0 0 6px var(--surface), inset 0 0 0 7px var(--rose), inset 0 0 0 12px var(--rose-2), 0 18px 40px -18px rgba(120, 70, 70, .45); }
.d-cottage .art-cross .ic { stroke: var(--sage-d); filter: none; width: 46%; height: 46%; }
.d-cottage .art-pill { animation: none; border-radius: 50%; width: 7%; height: auto; aspect-ratio: 4 / 5; background: var(--surface); color: var(--rose-ink);
  box-shadow: inset 0 0 0 3px var(--leaf), inset 0 0 0 5px var(--surface), inset 0 0 0 6px var(--rose), 0 10px 20px -10px rgba(120, 70, 70, .5); }
.d-cottage .art-pill .ic { width: 42%; height: auto; }
.d-cottage .float-card { border-radius: 18px; border: 1px solid var(--line); box-shadow: var(--shadow); }
.d-cottage .float-card > .ic { color: var(--rose-ink); }

/* Points forts */
.d-cottage .highlights { margin-top: -30px; }
.d-cottage .hl-grid { border-radius: 28px; border-color: var(--line); background: var(--surface); }
.d-cottage .hl-item strong { font-family: var(--font-head); font-size: 1.25rem; font-weight: 600; }
.d-cottage .ic-box { border-radius: 50%; aspect-ratio: 4 / 5; height: auto; background: var(--rose-2); color: var(--rose-ink); box-shadow: inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--rose); }

/* Titres : italique et petit fleuron */
.d-cottage .eyebrow { font-family: var(--font-head); font-style: italic; font-weight: 500; text-transform: none; letter-spacing: .01em; font-size: 1.3rem; color: var(--rose-ink); display: inline-flex; align-items: center; gap: 14px; }
.d-cottage .eyebrow::before, .d-cottage .sec-head.center .eyebrow::after { content: ''; width: 36px; height: 8px;
  background: radial-gradient(circle, currentColor 0 2.5px, transparent 3px) center / 8px 8px no-repeat, linear-gradient(currentColor 0 0) center / 100% 1px no-repeat; }
.d-cottage .sec-head h2 { font-size: clamp(2.3rem, 4.4vw, 3.4rem); }
.d-cottage .lead { font-size: 1.08rem; }

/* Services : cartes à galon de dentelle */
.d-cottage .card { border-radius: 26px; border-color: var(--line); padding-top: 38px; }
.d-cottage .card::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: radial-gradient(circle at 9px 0, var(--rose-2) 8px, transparent 8.5px) 0 0 / 18px 10px repeat-x; }
.d-cottage .card::after { background: var(--rose); }
.d-cottage .card:hover .ic-box { background: var(--sage-d); color: #fff; }
.d-cottage .card h3, .d-cottage .room h3, .d-cottage .trust-item h3, .d-cottage .news-card h3 { font-size: 1.5rem; font-weight: 600; }

/* La maison : portrait dans un cadre ovale */
.d-cottage .about { background: var(--veil), var(--paper); }
.d-cottage .about-art { border-radius: 50%; aspect-ratio: 4 / 5; max-width: 440px; width: 100%; margin: 0 auto; border: 0; color: var(--sage-d);
  background: radial-gradient(ellipse at 50% 40%, var(--surface), var(--rose-2) 75%);
  box-shadow: inset 0 0 0 10px var(--surface), inset 0 0 0 11px var(--rose), 0 0 0 10px var(--surface), 0 0 0 11px var(--line), var(--shadow-lg); outline: 2px dotted var(--rose); outline-offset: 16px; }
.d-cottage .about-art .ic { width: 30%; }
.d-cottage .about-art-name { font-style: italic; font-weight: 500; font-size: 1.9rem; color: var(--rose-ink); max-width: 80%; line-height: 1.1; }
.d-cottage .stats div { border-radius: 20px; background: var(--surface); border: 1px dotted var(--rose); text-align: center; }
.d-cottage .stats dt { font-family: var(--font-head); font-weight: 600; font-size: 2.3rem; color: var(--sage-d); }

/* Encadré sauge brodé */
.d-cottage .cta { border-radius: 32px; background: radial-gradient(circle at 30px 30px, rgba(255, 255, 255, .1) 0 2px, transparent 2.5px 4.5px, rgba(255, 255, 255, .1) 5px 6.5px, transparent 7px) 0 0 / 60px 60px, linear-gradient(120deg, color-mix(in oklab, var(--primary), #000 42%), var(--sage-d));
  outline: 1.5px dashed rgba(255, 255, 255, .45); outline-offset: -12px; }
.d-cottage .cta h2 { font-weight: 600; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.d-cottage .cta .btn-white { color: var(--sage-d); }

/* Chambres : vignettes papier peint et médaillon */
.d-cottage .room { border-radius: 26px; border-color: var(--line); }
.d-cottage .room-ph { background: radial-gradient(ellipse at 50% 50%, rgba(255, 253, 251, .55), transparent 60%), var(--paper); }
.d-cottage .room-ph .ic { width: 30%; height: auto; aspect-ratio: 4 / 5; padding: 7% 6.5%; border-radius: 50%; background: var(--surface); color: var(--sage-d);
  box-shadow: inset 0 0 0 5px var(--surface), inset 0 0 0 6px var(--rose), 0 0 0 4px var(--surface), 0 14px 26px -12px rgba(120, 70, 70, .45); }
.d-cottage .room-price { background: var(--surface); color: var(--rose-ink); font-family: var(--font-head); font-size: 1.1rem; font-weight: 600; padding: .25em .9em; box-shadow: 0 0 0 1px var(--rose), var(--shadow-sm); }
.d-cottage .room-cat, .d-cottage .news-date { color: var(--rose-ink); letter-spacing: .16em; font-weight: 500; }
.d-cottage .room-facts .ic { color: var(--primary); }
.d-cottage .room-book { color: var(--sage-d); }
.d-cottage .pj-chip { font-weight: 500; }
.d-cottage .pj-chip.on, .d-cottage .pj-pager button.on { background: var(--sage-d); border-color: var(--sage-d); }

/* La carte : menu bordé de dentelle */
.d-cottage .menu-sec { background: var(--veil), var(--paper); }
.d-cottage .menu-board { border-radius: 32px; border-color: var(--line); box-shadow: var(--shadow); padding-top: clamp(56px, 7vw, 80px); }
.d-cottage .menu-board::before { content: ''; position: absolute; inset: 12px; border-radius: 22px; border: 1.5px dotted var(--rose); pointer-events: none; }
.d-cottage .menu-deco { display: grid; place-items: center; position: absolute; left: 50%; top: 0; translate: -50% -50%; width: 56px; aspect-ratio: 4 / 5; border-radius: 50%; background: var(--surface); color: var(--rose-ink); box-shadow: inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--rose), 0 0 0 1px var(--line); }
.d-cottage .menu-deco .ic { width: 24px; height: 24px; }
.d-cottage .menu-group h3 { font-style: italic; font-weight: 600; font-size: 1.7rem; text-align: center; color: var(--sage-d); border-bottom: 0; background: radial-gradient(circle, var(--rose) 0 2.5px, transparent 3px) 50% 100% / 8px 8px no-repeat; padding-bottom: 16px; }
.d-cottage .dish-line strong { font-weight: 500; }
.d-cottage .dish-dots { border-bottom-color: var(--rose); }
.d-cottage .dish-price { font-family: var(--font-head); font-size: 1.2rem; color: var(--rose-ink); }

/* Labels, avis, équipe */
.d-cottage .trust { background: var(--bg-soft); }
.d-cottage .trust-item, .d-cottage .review { border-radius: 26px; border-color: var(--line); }
.d-cottage .review { position: relative; padding-top: 44px; }
.d-cottage .review::before { content: '“'; position: absolute; top: 2px; left: 24px; font-family: var(--font-head); font-size: 4.6rem; line-height: 1; color: var(--rose); }
.d-cottage .review blockquote { font-family: var(--font-head); font-style: italic; font-size: 1.22rem; line-height: 1.5; color: var(--ink); }
.d-cottage .stars { color: #c08a3e; }
.d-cottage .avatar { border-radius: 50%; aspect-ratio: 4 / 5; background: radial-gradient(ellipse at 50% 40%, var(--surface), var(--rose-2) 80%); border: 0; box-shadow: inset 0 0 0 6px var(--surface), inset 0 0 0 7px var(--rose), 0 0 0 1px var(--line); }
.d-cottage .review .avatar { aspect-ratio: 1; box-shadow: 0 0 0 1px var(--rose); }
.d-cottage .avatar span { font-family: var(--font-head); font-style: italic; color: var(--rose-ink); }
.d-cottage .member .avatar { max-width: 210px; margin-left: auto; margin-right: auto; }
.d-cottage .member strong { font-family: var(--font-head); font-size: 1.35rem; }

/* Réservation, contact, alentours, FAQ */
.d-cottage .panel { position: relative; border-radius: 28px; border-color: var(--line); padding-top: 44px; }
.d-cottage .panel::before { content: ''; position: absolute; left: 24px; right: 24px; top: 0; height: 10px; background: radial-gradient(circle at 9px 0, var(--rose-2) 8px, transparent 8.5px) 0 0 / 18px 10px repeat-x; }
.d-cottage .panel-head > .ic, .d-cottage .quote-points .ic { border-radius: 50%; background: var(--rose-2); color: var(--rose-ink); }
.d-cottage .panel-head h2 { font-size: 1.9rem; }
.d-cottage .f-field input, .d-cottage .f-field select, .d-cottage .f-field textarea { border-radius: 14px; border-color: #e6d1ca; background: #fffefd; }
.d-cottage .status-line, .d-cottage .closures { background: var(--bg-soft); border-radius: 16px; }
.d-cottage .hours-table th, .d-cottage .hours-table td { border-bottom: 1px dotted var(--rose); }
.d-cottage .hours-table tr.today th, .d-cottage .hours-table tr.today td { color: var(--rose-ink); }
.d-cottage .hours-table tr.today th::after { background: var(--rose-2); color: var(--rose-ink); }
.d-cottage .towns li { background: var(--surface); border: 1px solid var(--rose); color: var(--ink); font-weight: 500; }
.d-cottage .towns .ic { color: var(--rose-ink); }
.d-cottage .faq details { border-radius: 20px; border-color: var(--line); }
.d-cottage .faq details[open] { border-color: var(--rose); }
.d-cottage .faq summary { font-family: var(--font-head); font-size: 1.3rem; font-weight: 600; }
.d-cottage .faq .plus { background: var(--rose-2); color: var(--rose-ink); }
.d-cottage .faq details[open] .plus { background: var(--sage-d); }
.d-cottage .news-img { border-radius: 22px; background: var(--paper); }

/* Pied de page sauge, bord festonné */
.d-cottage .site-footer { position: relative; }
.d-cottage .site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 10px; background: radial-gradient(circle at 9px 10px, var(--footer-bg) 8px, transparent 8.5px) 0 0 / 18px 10px repeat-x; }
.d-cottage .site-footer h3 { font-family: var(--font-head); font-style: italic; text-transform: none; letter-spacing: 0; font-size: 1.4rem; font-weight: 500; color: var(--rose); }
.d-cottage .brand-light .brand-mark { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .5); }

@media (max-width: 920px) {
  .d-cottage .hero { padding-top: 52px; }
  .d-cottage .highlights { margin-top: 0; }
  .d-cottage .about-art { max-width: 340px; }
  .d-cottage .art-pill { width: 10%; }
}
@media (max-width: 560px) {
  .d-cottage .pill-badge { font-size: 1.1rem; gap: 10px; }
  .d-cottage .pill-badge .dot, .d-cottage .pill-badge::after { width: 18px; }
  .d-cottage .hero-center .art-pill.p3 { right: 12%; bottom: 20%; }
  .d-cottage .hero-art { box-shadow: 0 0 0 6px var(--surface), 0 0 0 7px var(--rose), var(--shadow); outline-offset: 2px; }
  .d-cottage .art-cross { width: 26%; }
  .d-cottage .art-ring.r1 { width: 36%; }
  .d-cottage .art-ring.r2 { width: 48%; }
  .d-cottage .art-pill { width: 13%; }
  .d-cottage .about-art { max-width: 260px; outline-offset: 8px; }
  .d-cottage .about-art-name { font-size: 1.4rem; }
}
