/* Design « Domaine » : domaine viticole, étiquette de grand cru (cadres, filets, médailles), gravure de coteaux, bordeaux profond et feuilles de vigne. Crimson Pro + Karla. */
.d-vigne {
  --gold: #b08d4a;
  --gold-l: #d9bf86;
  --gold-ink: #74561e;
  --paper: #f6efe1;
  --vine: #4d5a2c;
  --deep: color-mix(in oklab, var(--primary), #120508 45%);
  /* Feuille de vigne (masque, prend la couleur du fond) */
  --leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22.5c-.3-1.6-.5-3.5-.5-5.3-2.6 1.4-6 1-7.5-1.5 1.6-.5 2.4-1.5 2.2-2.9-2.2 0-4-1.8-4.2-4.2 1.6.4 3-.2 3.6-1.6-.8-1.8 0-3.8 1.8-4.6.4 1.6 1.6 2.4 3 2.2.4-1.4.9-2.4 1.6-3.2.7.8 1.2 1.8 1.6 3.2 1.4.2 2.6-.6 3-2.2 1.8.8 2.6 2.8 1.8 4.6.6 1.4 2 2 3.6 1.6-.2 2.4-2 4.2-4.2 4.2-.2 1.4.6 2.4 2.2 2.9-1.5 2.5-4.9 2.9-7.5 1.5 0 1.8-.2 3.7-.5 5.3z'/%3E%3C/svg%3E") center / contain no-repeat;
  /* Gravure : hachures fines */
  --hatch: repeating-linear-gradient(-24deg, color-mix(in srgb, var(--primary) 55%, transparent) 0 1.2px, transparent 1.2px 7px);
  /* Cadre d'étiquette : double filet doré */
  --frame: inset 0 0 0 10px var(--paper), inset 0 0 0 11px var(--gold), inset 0 0 0 15px var(--paper), inset 0 0 0 17px var(--gold);
  --bg: #fbf7ef; --bg-soft: var(--paper); --surface: #fffdf8;
  --ink: #26171a; --ink-2: #4e3f40; --ink-3: #6d5f5f; --line: #e6dac4;
  --head-w: 600; --h1-w: 500; --head-track: 0; --h1-track: -.01em;
  --btn-r: 0; --footer-bg: var(--deep);
}

/* Typographie d'étiquette : petites capitales encadrées de filets */
.d-vigne h1, .d-vigne h2, .d-vigne h3 { font-family: var(--font-head); }
.d-vigne .sec-head h2 { font-size: clamp(2.2rem, 4.2vw, 3.3rem); font-weight: 500; line-height: 1.05; }
.d-vigne .eyebrow { color: var(--gold-ink); letter-spacing: .26em; font-size: .74rem; display: inline-flex; align-items: center; gap: 14px; }
.d-vigne .eyebrow::before, .d-vigne .eyebrow::after { content: ''; width: 34px; height: 5px; border-block: 1px solid var(--gold); }
.d-vigne .sec-head:not(.center) .eyebrow::before { display: none; }
.d-vigne .sec-head.center h2::after { content: ''; display: block; width: 30px; height: 30px; margin: 14px auto 0; background: var(--vine); -webkit-mask: var(--leaf); mask: var(--leaf); }
.d-vigne .btn { text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; padding: 1.2em 1.8em; }
.d-vigne .btn-primary { box-shadow: inset 0 0 0 3px var(--primary), inset 0 0 0 4px var(--gold-l); }
.d-vigne .btn-primary:hover { box-shadow: inset 0 0 0 3px var(--primary-600), inset 0 0 0 4px var(--gold-l); }
.d-vigne .btn-ghost { background: transparent; border-color: var(--primary); color: var(--primary-700); }

/* Bandeau et en-tête */
.d-vigne .topbar-info { background: var(--deep); color: var(--gold-l); letter-spacing: .03em; }
.d-vigne .topbar-info .ti-status { color: #fff; }
.d-vigne .site-header { background: rgba(251, 247, 239, .97); border-bottom: 4px double var(--gold); }
.d-vigne .brand-mark { border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--gold); color: var(--gold-l); }
.d-vigne .brand-text strong { font-size: 1.4rem; font-weight: 600; }
.d-vigne .brand-text small { text-transform: uppercase; letter-spacing: .16em; font-size: .66rem; }
.d-vigne .brand-stars { color: var(--gold); }
.d-vigne .nav a { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: .74rem; font-weight: 600; white-space: nowrap; padding: .55em .7em; }
.d-vigne .nav a:hover { background: transparent; color: var(--primary-700); box-shadow: inset 0 -1px 0 var(--gold); }

/* Bannière : une étiquette de grand cru, coteaux gravés et sceau */
.d-vigne .hero { background: radial-gradient(900px 400px at 50% 0, color-mix(in oklab, var(--gold), transparent 85%), transparent 70%), var(--bg); }
.d-vigne .hero h1 { font-size: clamp(2.7rem, 6vw, 5rem); line-height: 1; font-style: italic; }
.d-vigne .pill-badge { border-radius: 0; background: transparent; border: 0; border-block: 1px solid var(--gold); box-shadow: none; color: var(--gold-ink); text-transform: uppercase; letter-spacing: .22em; font-size: .72rem; padding: .7em 1.2em; }
.d-vigne .pill-badge .dot { width: 14px; height: 14px; border-radius: 0; background: var(--vine); box-shadow: none; -webkit-mask: var(--leaf); mask: var(--leaf); }
.d-vigne .hero-art { border-radius: 0; box-shadow: var(--frame), 0 30px 60px -30px rgba(38, 23, 26, .45);
  background: radial-gradient(60% 50% at 50% 40%, #fffaf0, transparent 70%), repeating-linear-gradient(0deg, rgba(110, 31, 47, .05) 0 1px, transparent 1px 6px), var(--paper); }
/* Coteaux : deux collines hachurées en rangs de vigne */
.d-vigne .hero-art::before, .d-vigne .hero-art::after { content: ''; position: absolute; left: 17px; right: 17px; bottom: 17px; top: auto; height: 46%; }
.d-vigne .hero-art::before { background: var(--hatch); opacity: .55; clip-path: polygon(0 40%, 14% 22%, 30% 30%, 46% 8%, 62% 26%, 78% 14%, 100% 34%, 100% 100%, 0 100%); }
.d-vigne .hero-art::after { height: 30%; background: repeating-linear-gradient(28deg, color-mix(in srgb, var(--primary) 70%, transparent) 0 1.4px, transparent 1.4px 6px); opacity: .75; clip-path: polygon(0 30%, 20% 55%, 42% 20%, 60% 48%, 80% 10%, 100% 40%, 100% 100%, 0 100%); }
/* Soleil gravé derrière le sceau */
.d-vigne .art-ring.r1 { width: 30%; top: 44%; border: 0; background: repeating-conic-gradient(color-mix(in srgb, var(--gold) 70%, transparent) 0 1.5deg, transparent 1.5deg 7deg);
  -webkit-mask: radial-gradient(circle, transparent 0 34%, #000 35% 68%, transparent 70%); mask: radial-gradient(circle, transparent 0 34%, #000 35% 68%, transparent 70%); }
.d-vigne .art-ring.r2 { width: 21%; top: 44%; animation: none; border: 1px solid var(--gold); box-shadow: inset 0 0 0 4px var(--paper), inset 0 0 0 5px var(--gold); }
.d-vigne .art-cross { top: 44%; width: 15%; border-radius: 50%; backdrop-filter: none; border: 0; color: var(--gold-l);
  background: radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--primary), #fff 18%), var(--primary) 55%, var(--deep)); box-shadow: inset 0 0 0 5px var(--deep), inset 0 0 0 6px var(--gold-l), 0 8px 18px -6px rgba(38, 23, 26, .5); }
.d-vigne .art-cross .ic { width: 46%; height: 46%; stroke: var(--gold-l); stroke-width: 1.5; filter: none; }
/* Médailles de concours */
.d-vigne .art-pill { width: 76px; height: 76px; border-radius: 50%; animation: none; color: #5a4214; box-shadow: inset 0 0 0 4px #c9a65e, inset 0 0 0 5px #8a6a2c, 0 6px 14px -6px rgba(38, 23, 26, .5);
  background: repeating-conic-gradient(rgba(255, 255, 255, .18) 0 4deg, transparent 4deg 8deg), radial-gradient(circle at 35% 30%, #f3dc9f, #c49a4c 60%, #9a7433); }
.d-vigne .art-pill .ic { width: 30px; height: 30px; stroke-width: 1.6; }
.d-vigne .art-pill.p1 { left: 10%; top: 16%; }
.d-vigne .art-pill.p2 { right: 10%; top: 16%; background: repeating-conic-gradient(rgba(255, 255, 255, .2) 0 4deg, transparent 4deg 8deg), radial-gradient(circle at 35% 30%, #f4f4f4, #b9bcc0 60%, #85898e); box-shadow: inset 0 0 0 4px #c6c9cd, inset 0 0 0 5px #7d8186, 0 6px 14px -6px rgba(38, 23, 26, .5); color: #3c3f44; }
.d-vigne .art-pill.p3 { display: none; }
.d-vigne .float-card { border-radius: 0; background: var(--surface); box-shadow: inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--gold), var(--shadow); }

/* Points forts : bandeau d'étiquette */
.d-vigne .hl-grid { border-radius: 0; border: 0; background: var(--surface); box-shadow: var(--frame), var(--shadow); padding: 12px; --paper: var(--surface); }
.d-vigne .hl-item + .hl-item { border-left: 1px solid var(--line); }
.d-vigne .ic-box { border-radius: 50%; background: transparent; color: var(--primary-700); box-shadow: inset 0 0 0 1px var(--gold), inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--gold); }
.d-vigne .hl-item strong { font-family: var(--font-head); font-size: 1.15rem; font-weight: 600; }

/* Prestations : petites étiquettes encadrées */
.d-vigne .card { border-radius: 0; border: 0; text-align: center; padding: 38px 28px; box-shadow: inset 0 0 0 1px var(--line), inset 0 0 0 8px var(--surface), inset 0 0 0 9px var(--gold); }
.d-vigne .card .ic-box { margin: 0 auto; }
.d-vigne .card::after { inset: auto 30% 18px; height: 1px; background: var(--gold); }
.d-vigne .card:hover { box-shadow: inset 0 0 0 1px var(--line), inset 0 0 0 8px var(--surface), inset 0 0 0 9px var(--gold), var(--shadow); }
.d-vigne .card:hover .ic-box { background: var(--primary); color: var(--gold-l); }
.d-vigne .card h3 { font-size: 1.45rem; font-weight: 600; }

/* Chambres : coteaux gravés en attendant la photo */
.d-vigne .room { border-radius: 0; border: 1px solid var(--line); }
.d-vigne .room-ph { color: var(--primary); background: linear-gradient(transparent 55%, var(--paper) 55%), repeating-linear-gradient(0deg, rgba(110, 31, 47, .06) 0 1px, transparent 1px 6px), var(--paper); box-shadow: var(--frame); position: relative; }
.d-vigne .room-ph::before { content: ''; position: absolute; inset: auto 17px 17px; height: 50%; background: var(--hatch); opacity: .6; clip-path: polygon(0 40%, 22% 15%, 45% 38%, 70% 5%, 100% 30%, 100% 100%, 0 100%); }
.d-vigne .room-ph .ic { position: relative; width: 18%; padding: 4.5%; box-sizing: content-box; border-radius: 50%; background: var(--primary); color: var(--gold-l); stroke-width: 1.5; box-shadow: inset 0 0 0 4px var(--deep), inset 0 0 0 5px var(--gold-l); }
.d-vigne .room-price { border-radius: 0; top: 20px; right: 20px; background: var(--primary); color: #fff; font-family: var(--font-head); font-size: 1.05rem; font-weight: 600; padding: .35em .9em; box-shadow: inset 0 0 0 3px var(--primary), inset 0 0 0 4px var(--gold-l); }
.d-vigne .room-body { text-align: center; align-items: center; }
.d-vigne .room-facts { justify-content: center; }
.d-vigne .room-book { align-self: center; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; border-bottom: 1px solid var(--gold); padding-bottom: 4px; }
.d-vigne .room-cat { color: var(--gold-ink); letter-spacing: .2em; }
.d-vigne .room h3 { font-size: 1.55rem; font-weight: 600; }
.d-vigne .pj-chip { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; }
.d-vigne .pj-chip.on, .d-vigne .pj-pager button.on { background: var(--primary); border-color: var(--primary); }
.d-vigne .pj-pager button { border-radius: 0; }

/* La carte : carte des vins sur papier, cadre d'étiquette */
.d-vigne .menu-board { border-radius: 0; border: 0; background: var(--surface); box-shadow: var(--frame), var(--shadow); --paper: var(--surface); padding: clamp(56px, 7vw, 80px) clamp(28px, 6vw, 72px) clamp(36px, 5vw, 56px); }
.d-vigne .menu-deco { display: block; position: absolute; top: 26px; left: 50%; translate: -50% 0; width: 32px; height: 32px; background: var(--vine); -webkit-mask: var(--leaf); mask: var(--leaf); }
.d-vigne .menu-deco .ic { display: none; }
.d-vigne .menu-group h3 { text-align: center; font-size: 1.6rem; font-weight: 500; font-style: italic; color: var(--primary-700); border-bottom: 0; padding-bottom: 0; display: flex; align-items: center; gap: 14px; }
.d-vigne .menu-group h3::before, .d-vigne .menu-group h3::after { content: ''; flex: 1; height: 5px; border-block: 1px solid var(--gold); }
.d-vigne .dish-line strong { font-family: var(--font-head); font-size: 1.2rem; font-weight: 600; }
.d-vigne .dish-dots { border-bottom: 1.5px dotted var(--gold); }
.d-vigne .dish-price { font-family: var(--font-head); font-size: 1.2rem; color: var(--primary-700); }
.d-vigne .dish small { font-style: italic; }
.d-vigne .menu-note { font-family: var(--font-head); font-size: 1.05rem; border-top: 1px solid var(--line); padding-top: 22px; }

/* Le domaine : contre-étiquette bordeaux */
.d-vigne .about-art { border-radius: 0; border: 0; color: var(--gold-l); background: radial-gradient(circle at 50% 30%, color-mix(in oklab, var(--primary), #fff 10%), var(--deep) 75%); --paper: transparent; box-shadow: inset 0 0 0 14px var(--deep), inset 0 0 0 15px var(--gold), inset 0 0 0 19px var(--deep), inset 0 0 0 21px var(--gold), var(--shadow-lg); }
.d-vigne .about-art .ic { width: 26%; stroke-width: 1.2; }
.d-vigne .about-art-name { color: #fff; font-style: italic; font-weight: 500; font-size: 2rem; display: flex; align-items: center; gap: 14px; }
.d-vigne .about-art-name::before, .d-vigne .about-art-name::after { content: ''; width: 30px; height: 5px; border-block: 1px solid var(--gold); }
.d-vigne .stats div { border-radius: 0; text-align: center; border: 0; box-shadow: inset 0 0 0 1px var(--gold), inset 0 0 0 4px var(--surface), inset 0 0 0 5px var(--line); }
.d-vigne .stats dt { font-weight: 500; font-size: 2.2rem; color: var(--primary-700); }

/* Labels : médailles ; avis : citations en italique */
.d-vigne .trust-item { border-radius: 0; border: 0; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); background: transparent; }
.d-vigne .trust-item .ic-box { background: radial-gradient(circle at 35% 30%, #f3dc9f, #c49a4c 60%, #9a7433); color: #4a360f; box-shadow: inset 0 0 0 3px #c9a65e, inset 0 0 0 4px #8a6a2c; }
.d-vigne .trust-item h3 { font-size: 1.3rem; font-weight: 600; }
.d-vigne .review { border-radius: 0; border: 0; box-shadow: inset 0 0 0 1px var(--line), inset 0 0 0 6px var(--surface), inset 0 0 0 7px var(--gold); padding: 32px; }
.d-vigne .review blockquote { font-family: var(--font-head); font-style: italic; font-size: 1.2rem; line-height: 1.5; color: var(--ink); }
.d-vigne .stars { color: var(--gold); }
.d-vigne .review .avatar { background: var(--primary); }
.d-vigne .review .avatar span { color: var(--gold-l); }

/* Encadré : capsule bordeaux */
.d-vigne .cta { border-radius: 0; background: var(--deep); box-shadow: inset 0 0 0 10px var(--deep), inset 0 0 0 11px var(--gold), inset 0 0 0 15px var(--deep), inset 0 0 0 16px var(--gold), var(--shadow-lg); }
.d-vigne .cta h2 { font-weight: 500; font-style: italic; font-size: clamp(1.8rem, 3vw, 2.4rem); }
.d-vigne .cta .btn-white { color: var(--primary-700); }
.d-vigne .cta-deco .ic { stroke: var(--gold-l); }

/* Équipe : portraits en médaillon */
.d-vigne .avatar { border-radius: 50%; border: 0; background: var(--paper); box-shadow: inset 0 0 0 1px var(--gold), inset 0 0 0 7px var(--surface), inset 0 0 0 8px var(--gold); }
.d-vigne .avatar span { font-weight: 500; font-style: italic; color: var(--primary-700); }
.d-vigne .member strong { font-family: var(--font-head); font-size: 1.3rem; font-weight: 600; }

/* Réservation, infos, FAQ, alentours */
.d-vigne .quote-form { background: var(--surface); padding: 40px; box-shadow: var(--frame), var(--shadow); --paper: var(--surface); }
.d-vigne .f-field label { font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; }
.d-vigne .f-field input, .d-vigne .f-field select, .d-vigne .f-field textarea { border-radius: 0; border-width: 0 0 1.5px; background: var(--bg); padding-inline: .7em; }
.d-vigne .quote-points .ic { background: transparent; color: var(--primary-700); box-shadow: inset 0 0 0 1px var(--gold); }
.d-vigne .panel { border-radius: 0; border: 0; box-shadow: inset 0 0 0 1px var(--line), inset 0 0 0 6px var(--surface), inset 0 0 0 7px var(--gold); }
.d-vigne .panel-head > .ic { border-radius: 50%; background: var(--primary); color: var(--gold-l); }
.d-vigne .panel-head h2, .d-vigne .news-card h3 { font-weight: 600; font-size: 1.6rem; }
.d-vigne .status-line, .d-vigne .closures, .d-vigne .map, .d-vigne .news-img { border-radius: 0; }
.d-vigne .hours-table th { font-family: var(--font-head); font-size: 1.08rem; }
.d-vigne .hours-table tr.today th::after { border-radius: 0; background: var(--primary); color: #fff; }
.d-vigne .news-img { background: var(--hatch), var(--paper); }
.d-vigne .faq details { border-radius: 0; border: 0; border-bottom: 1px solid var(--gold); background: transparent; }
.d-vigne .faq details[open] { box-shadow: none; }
.d-vigne .faq summary { font-family: var(--font-head); font-size: 1.25rem; font-weight: 600; padding-inline: 4px; }
.d-vigne .faq .plus { background: transparent; color: var(--primary-700); box-shadow: inset 0 0 0 1px var(--gold); }
.d-vigne .faq details[open] .plus { background: var(--primary); color: var(--gold-l); }
.d-vigne .towns li { border-radius: 0; background: var(--surface); border: 1px solid var(--gold); color: var(--ink); }
.d-vigne .towns .ic { color: var(--vine); }

/* Pied de page : bordeaux profond, filets dorés */
.d-vigne .site-footer { border-top: 4px double var(--gold); }
.d-vigne .site-footer h3 { font-family: var(--font-head); color: var(--gold-l); text-transform: none; letter-spacing: .02em; font-size: 1.3rem; font-style: italic; font-weight: 500; }
.d-vigne .footer-bottom { border-top-color: color-mix(in srgb, var(--gold) 40%, transparent); }
.d-vigne .brand-light .brand-mark { background: transparent; box-shadow: 0 0 0 1px var(--gold); color: var(--gold-l); }

@media (max-width: 920px) {
  .d-vigne .hl-item + .hl-item { border-left: 0; }
  .d-vigne .hl-item { border-bottom: 1px solid var(--line); }
  .d-vigne .hl-item:nth-child(odd) { border-right: 1px solid var(--line); }
  .d-vigne .art-pill { width: 60px; height: 60px; }
  .d-vigne .art-pill .ic { width: 24px; height: 24px; }
}
@media (max-width: 560px) {
  .d-vigne .hl-item:nth-child(odd) { border-right: 0; }
  .d-vigne .art-cross { width: 22%; }
  .d-vigne .art-ring.r1 { width: 46%; }
  .d-vigne .art-ring.r2 { width: 31%; }
  .d-vigne .art-pill { width: 46px; height: 46px; top: 12%; }
  .d-vigne .art-pill .ic { width: 20px; height: 20px; }
  .d-vigne .art-pill.p1 { left: 9%; } .d-vigne .art-pill.p2 { right: 9%; }
  .d-vigne .quote-form { padding: 32px 22px; }
  .d-vigne .review { padding: 26px 22px; }
}
