/* MUSE DE MAI — FINAL ATELIER EDITION
   Small-scale fashion archive / calm editorial grid.
   This stylesheet is deliberately loaded after the original styles.css. */
:root { --atelier-bg: #fbfaf8; --atelier-ink:#2d2b27; --atelier-soft:#73706a; --atelier-line:#e3e0da; --atelier-serif:'Italiana', Georgia, serif; --atelier-sans:'DM Sans', Arial, sans-serif; }
[hidden] { display:none!important; }
body { background:var(--atelier-bg); color:var(--atelier-ink); }
/* Navigation — understated and consistent across non-home pages. */
.site-header { height:100px; padding:12px max(4%,calc((100vw - 1280px)/2)) 0; }
.site-header.header-solid { background:var(--atelier-bg); }
.header-link { font-size:12px; font-weight:500; letter-spacing:.025em; padding:12px 0; text-transform:none; }
.header-left,.header-right { gap:31px; }
.nav-dropdown-menu { border:1px solid var(--atelier-line); background:var(--atelier-bg); padding:12px 0; box-shadow:0 12px 34px #29251d11; }
.nav-dropdown-menu a,.nav-dropdown-menu button { font-size:12px; letter-spacing:.025em; text-transform:none; }
.currency-btn { font-size:11px; }
.wordmark img { width:clamp(122px,11vw,150px); max-height:42px; }
/* Collection archive */
.collections-page { background:var(--atelier-bg); color:var(--atelier-ink); min-height:70vh; padding:135px 6vw 100px; overflow:visible; }
.collection-index__inner, .collection-detail__inner, .collection-catalogue { max-width:1120px; width:100%; margin-inline:auto; }
.collection-index__header { display:flex; align-items:end; justify-content:space-between; gap:28px; margin:0 0 38px; padding:0 0 23px; border-bottom:1px solid var(--atelier-line); }
.collection-eyebrow { display:block; font:500 10px/1.45 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:.10em; text-transform:uppercase; }
.collection-index__header h1 { margin:10px 0 12px; font:400 clamp(43px,4.4vw,60px)/1.12 var(--atelier-serif); letter-spacing:-.012em; }
.collection-index__header p { margin:0; max-width:460px; font:400 13px/1.65 var(--atelier-sans); color:var(--atelier-soft); }
.collection-index__index { flex-shrink:0; padding:0 0 5px; font:500 10px/1.5 var(--atelier-sans); letter-spacing:.1em; color:var(--atelier-soft); }
.collections-page .collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; width:min(100%,900px); margin:0 auto; }
.collections-page .collection-card { display:block; min-width:0; width:100%; height:auto; padding:0; margin:0; text-align:left; background:transparent; border:0; transform:none!important; cursor:pointer; }
.collections-page .collection-card__media { display:block; position:relative; width:100%; height:auto; max-height:420px; aspect-ratio: 4/4.3; overflow:hidden; background:#ede9e3; }
.collections-page .collection-card__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:none; transform:none; transition:transform .5s ease; }
.collections-page .collection-card:hover .collection-card__media img { transform:scale(1.025); }
.collection-card__meta { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:15px 0 9px; border-bottom:1px solid var(--atelier-line); }
.collection-card__name { font:400 clamp(25px,2.8vw,35px)/1.2 var(--atelier-serif); }
.collection-card__link { font:500 11px/1.5 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:0; white-space:nowrap; text-transform:none; }
.collection-card__description { display:block; max-width:420px; margin:0; padding:9px 0; font:400 12px/1.7 var(--atelier-sans); color:var(--atelier-soft); }
.collection-index__count { width:min(100%,900px); margin:25px auto 0; text-align:right; color:var(--atelier-soft); font:500 10px/1.6 var(--atelier-sans); letter-spacing:.08em; }
/* Collection detail */
.collection-products { background:var(--atelier-bg); padding:114px 6vw 0; }
.collection-breadcrumb { display:flex; justify-content:flex-start; align-items:center; gap:11px; margin:0 0 35px; padding:0 0 17px; border-bottom:1px solid var(--atelier-line); }
.collection-breadcrumb .back-link { display:inline; padding:0; margin:0; border:0; font:500 12px/1.6 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:0; text-transform:none; }
.collection-breadcrumb .back-link:hover { color:var(--atelier-ink); text-decoration:underline; text-underline-offset:3px; }
.collection-breadcrumb > span { font:400 12px/1.4 var(--atelier-sans); letter-spacing:0; color:var(--atelier-ink); }
.collection-breadcrumb .collection-breadcrumb__sep { color:#aba7a0; }
.collection-detail__overview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); align-items:center; gap:clamp(35px,8vw,110px); max-width:1000px; margin:0 auto 62px; }
.collection-detail__copy { padding:15px 0; }
.collection-detail__copy h1 { margin:12px 0 17px; font:400 clamp(43px,4.8vw,65px)/1.12 var(--atelier-serif); letter-spacing:0; overflow-wrap:break-word; }
.collection-detail__copy p { margin:0; max-width:440px; font:400 14px/1.8 var(--atelier-sans); color:var(--atelier-soft); }
.collection-detail__count { margin-top:28px; color:var(--atelier-soft); font:500 10px/1.5 var(--atelier-sans); letter-spacing:.08em; }
.collection-detail__cover { width:100%; max-width:340px; min-height:0; height:0; padding-top:106%; position:relative; background:#eae6df; overflow:hidden; }
.collection-detail__cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 34%; filter:none; }
/* Product listing — modern 3 column grid, no huge photography blocks. */
.collection-catalogue { padding:0 0 92px; }
.collection-catalogue__intro { display:flex; align-items:center; justify-content:space-between; margin:0 0 24px; padding:0 0 13px; border-bottom:1px solid var(--atelier-line); }
.collection-catalogue__intro h2 { margin:0; font:500 15px/1.4 var(--atelier-sans); letter-spacing:.015em; }
.collection-catalogue__intro > span { color:var(--atelier-soft); font:400 11px/1.4 var(--atelier-sans); letter-spacing:0; }
.collection-catalogue .product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 20px; min-height:0; width:100%; }
.collection-catalogue .product-card, .collection-catalogue .product-card:nth-child(even) { display:flex; flex-direction:column; margin:0; padding:0; min-width:0; text-align:left; transform:none!important; background:transparent; border:0; }
.collection-catalogue .product-image, .collection-catalogue .product-card:nth-child(even) .product-image { width:100%; aspect-ratio:4/5; height:auto; max-height:410px; min-height:0; position:relative; display:block; overflow:hidden; background:#eae6df; }
.collection-catalogue .product-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 32%; filter:none; transition:transform .5s ease; }
.collection-catalogue .product-card:hover .product-image img { transform:scale(1.025); filter:none; }
.product-image__edition,.product-image__hover { display:none!important; }
.collection-catalogue .product-card__details { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:0; padding:13px 0 0; }
.collection-catalogue .product-label { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; margin:0; }
.collection-catalogue .product-label strong { font:400 clamp(20px,2vw,26px)/1.15 var(--atelier-serif); letter-spacing:0; }
.collection-catalogue .product-label > span { font:400 10px/1.4 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:.04em; }
.collection-catalogue .product-card__pricing { flex-shrink:0; text-align:right; }
.collection-catalogue .product-price { font:500 12px/1.4 var(--atelier-sans); color:var(--atelier-ink); white-space:nowrap; }
.collection-catalogue .product-price-note { display:block; margin-top:4px; font:400 10px/1.35 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:0; text-transform:none; }
.collection-tail { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1120px; padding:25px 0 70px; margin:0 auto; border-top:1px solid var(--atelier-line); background:var(--atelier-bg); text-align:left; }
.collection-tail > span { font:400 13px/1.55 var(--atelier-sans); color:var(--atelier-soft); }
.collection-tail__cta { margin:0; padding:0 0 5px; font:500 12px/1.5 var(--atelier-sans); letter-spacing:0; border-bottom:1px solid var(--atelier-ink); text-transform:none; white-space:nowrap; }
/* Product detail page — preserve gallery but reduce overly large typography. */
.product-page { background:var(--atelier-bg); padding-top:108px; }
.product-page .product-page-top { display:flex; justify-content:space-between; align-items:center; gap:20px; height:auto; min-height:62px; max-width:1120px; margin-inline:auto; padding:15px 0; border-bottom:1px solid var(--atelier-line); }
.product-page .product-page-top > span, .product-page__breadcrumb { font:400 11px/1.5 var(--atelier-sans); color:var(--atelier-soft); letter-spacing:.035em; }
.product-page__breadcrumb > span { margin:0 6px; }
.product-page .back-link { margin:0; padding:0; border:0; text-transform:none; font:500 12px/1.4 var(--atelier-sans); letter-spacing:0; }
.product-dialog-body { max-width:1120px; margin:0 auto; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:54px; }
.product-page .detail-photo { max-height:590px; }
.product-page .product-details { padding:32px 0; }
.product-details h1 { font-size:clamp(38px,4.5vw,60px); }
.detail-bottom button { font-size:11px; letter-spacing:0; text-transform:none; }
/* Simplify footer on catalogue pages. */
.site-footer { background:var(--atelier-bg); }
.footer-bottom { border-top:1px solid var(--atelier-line); }
.footer-links a, .footer-links button { letter-spacing:.04em; }
/* Device sizes */
@media (min-width:1500px) {
  .collections-page { padding-top:145px; }
}
@media (max-width:900px) {
  .collection-products { padding:112px 5vw 0; }
  .collections-page { padding:125px 5vw 80px; }
  .collection-detail__overview { grid-template-columns:minmax(0,1fr) minmax(0,280px); gap:34px; }
  .collection-catalogue .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-page .product-page-top { width:90%; }
  .product-dialog-body { width:90%; gap:30px; }
}
@media (max-width:620px) {
  .site-header { height:95px; padding:8px 5vw 0; }
  .header-link { font-size:10px; }
  .header-left,.header-right { gap:14px; }
  .wordmark img { width:105px; }
  .currency-btn { font-size:9px; }
  .collections-page { padding:122px 5vw 75px; }
  .collection-index__header { display:block; padding-bottom:15px; margin-bottom:25px; }
  .collection-index__header h1 { font-size:45px; margin-bottom:10px; }
  .collection-index__header p { font-size:12px; }
  .collection-index__index { display:none; }
  .collections-page .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
  .collections-page .collection-card__media { height:auto; aspect-ratio:4/5.2; max-height:none; }
  .collection-card__meta { display:block; padding:12px 0 7px; }
  .collection-card__name { font-size:23px; }
  .collection-card__link { display:block; font-size:10px; margin-top:5px; }
  .collection-card__description { font-size:11px; line-height:1.5; }
  .collection-products { padding:110px 5vw 0; }
  .collection-breadcrumb { margin-bottom:25px; }
  .collection-detail__overview { display:flex; flex-direction:column; align-items:stretch; gap:18px; margin-bottom:40px; }
  .collection-detail__copy { padding:0; }
  .collection-detail__copy h1 { font-size:43px; margin:8px 0 10px; }
  .collection-detail__copy p { font-size:12px; line-height:1.65; }
  .collection-detail__count { margin:15px 0; }
  .collection-detail__cover { width:100%; max-width:none; height:220px; padding-top:0; }
  .collection-detail__cover img { object-position:center 38%; }
  .collection-catalogue__intro { margin-bottom:18px; }
  .collection-catalogue__intro > span { font-size:10px; }
  .collection-catalogue .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; }
  .collection-catalogue .product-card__details { flex-direction:column; gap:6px; padding-top:9px; }
  .collection-catalogue .product-label strong { font-size:19px; }
  .collection-catalogue .product-card__pricing { text-align:left; }
  .collection-catalogue .product-price { font-size:11px; }
  .collection-catalogue { padding-bottom:45px; }
  .collection-tail { padding:22px 0 45px; align-items:flex-start; flex-direction:column; gap:8px; }
  .product-page { padding-top:101px; }
  .product-page .product-page-top { min-height:58px; flex-wrap:wrap; }
  .product-page__breadcrumb { font-size:10px; }
  .product-dialog-body { width:90%; display:block; }
  .product-page .product-details { padding:25px 0; }
  .product-page .detail-photo { height:480px; max-height:65vh; }
}
@media (max-width:370px) {
  .header-link { font-size:9px; }
  .wordmark img { width:91px; }
  .collection-card__name { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) {
 .collection-card__media img, .collection-catalogue .product-image img { transition:none; }
}

/* ===== APPOINTMENT — refined two-column form ===== */
.appointment-page[hidden] { display:none!important; }
.appointment-page { min-height:100vh; padding:148px 5vw 90px; background:#faf9f6; color:#252421; }
.appointment-page__container { width:min(100%,1160px); margin:0 auto; display:grid; grid-template-columns:minmax(0,.83fr) minmax(0,1fr); gap:clamp(42px,6vw,90px); align-items:start; }
.appointment-page__eyebrow { margin:0 0 18px; font:500 10px/1.5 'DM Sans',sans-serif; letter-spacing:.13em; }
.appointment-page__intro h1 { max-width:500px; margin:0 0 22px; font:400 clamp(44px,5.1vw,72px)/1.08 'Italiana',Georgia,serif; letter-spacing:0; }
.appointment-page__intro>p:not(.appointment-page__eyebrow) { max-width:380px; color:#6d6962; font:400 14px/1.8 'DM Sans',sans-serif; }
.appointment-page__photo { margin:35px 0 0; width:min(100%,370px); height:340px; overflow:hidden; background:#e8e5df; }
.appointment-page__photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 33%; }
.appointment-page__intro .appointment-page__aside { font-size:11px!important; margin-top:18px; }
.appointment-page__form-panel { padding:0; }
.appointment-page__form-panel h2 { font:400 32px/1.2 'Italiana',Georgia,serif; margin:0 0 10px; }
.appointment-page__lead { color:#706c65; margin:0 0 30px; font:400 13px/1.7 'DM Sans',sans-serif; }
.appointment-form { display:grid; gap:18px; }
.appointment-form__row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.appointment-form label:not(.appointment-form__consent) { display:flex; flex-direction:column; gap:8px; font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:0; }
.appointment-form label>span[aria-hidden] { display:inline; color:#8b7163; }
.appointment-form__optional { font:400 11px/1.5 'DM Sans',sans-serif; color:#8a867e; }
.appointment-form input:not([type=checkbox]),.appointment-form select,.appointment-form textarea { display:block; width:100%; min-width:0; border:1px solid #d8d4cd; border-radius:0; background:#fff; color:#24211f; min-height:48px; padding:12px 13px; box-shadow:none; font:400 13px/1.5 'DM Sans',sans-serif; outline-offset:2px; }
.appointment-form textarea { resize:vertical; min-height:100px; }
.appointment-form input:focus-visible,.appointment-form select:focus-visible,.appointment-form textarea:focus-visible { border-color:#55514a; outline:1px solid #55514a; }
.appointment-form input::placeholder,.appointment-form textarea::placeholder { color:#aaa59d; opacity:1; }
.appointment-form__consent { display:flex; flex-direction:row; gap:11px; align-items:flex-start; font:400 11px/1.65 'DM Sans',sans-serif; color:#656158; cursor:pointer; }
.appointment-form__consent input { width:16px; height:16px; flex-shrink:0; accent-color:#252421; margin:2px 0 0; }
.appointment-form__trap { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.appointment-form__submit { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 18px; color:#fff; background:#252421; font:500 12px/1.5 'DM Sans',sans-serif; text-align:left; transition:background .2s; }
.appointment-form__submit:hover { background:#47423a; }
.appointment-form__submit:disabled { opacity:.55; cursor:wait; }
.appointment-form__submit>span { font-size:17px; }
.appointment-form__feedback:empty { display:none; }
.appointment-form__feedback { font:500 12px/1.6 'DM Sans',sans-serif; margin:0; }
.appointment-form__feedback.is-error { color:#a1382b; }
.appointment-form__feedback.is-success { color:#2a6851; }
.appointment-form__note { font:400 11px/1.65 'DM Sans',sans-serif; color:#8a867e; margin:0; }
@media(max-width:780px){
 .appointment-page { padding:124px 5vw 65px; }
 .appointment-page__container { grid-template-columns:1fr; gap:28px; }
 .appointment-page__intro h1 { font-size:46px; margin-bottom:10px; }
 .appointment-page__photo,.appointment-page__aside { display:none; }
 .appointment-page__form-panel h2 { font-size:28px; }
 .appointment-page__lead { margin-bottom:20px; }
}
@media(max-width:480px){
 .appointment-form__row { grid-template-columns:1fr; gap:18px; }
 .appointment-form { gap:18px; }
 .appointment-page__intro h1 { font-size:40px; }
}

/* Keep required indicators and optional labels on the same line as field labels. */
.appointment-form label:not(.appointment-form__consent):not(.appointment-form__trap label) { display:block; }
.appointment-form label:not(.appointment-form__consent) input:not([type=checkbox]),
.appointment-form label:not(.appointment-form__consent) select,
.appointment-form label:not(.appointment-form__consent) textarea { margin-top:8px; }
/* Isolate the new form from legacy .appointment-form rules in styles.css. */
.appointment-page .appointment-form { margin:0; }
.appointment-page .appointment-form label:not(.appointment-form__consent) { display:block; margin:0; font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:0; }
.appointment-page .appointment-form label>span[aria-hidden="true"] { color:#967a6c; }
.appointment-page .appointment-form label>span.appointment-form__optional { color:#88837a; font:400 11px/1.5 'DM Sans',sans-serif; }
.appointment-page .appointment-form label.appointment-form__consent { display:flex; flex-direction:row; align-items:flex-start; gap:11px; margin:0; font:400 11px/1.65 'DM Sans',sans-serif; }
.appointment-page .appointment-form label.appointment-form__consent span { color:#656158; font:400 11px/1.65 'DM Sans',sans-serif; letter-spacing:0; }
.appointment-page .appointment-form label.appointment-form__consent input[type="checkbox"] { display:block; width:16px; height:16px; margin:2px 0 0; padding:0; min-height:16px; border:1px solid #999; border-radius:0; }


/* ===== RESTORE ORIGINAL HEADER / HOMEPAGE SLIDER CONTROLS ===== */
/* The editorial Collection/Product styles above remain untouched. */
.site-header {
  height: 125px;
  padding: 20px 4% 0;
  justify-content: space-between;
}
.site-header .header-left,
.site-header .header-right {
  min-width: 33.3%;
  gap: 34px;
}
.site-header .header-right { justify-content: flex-end; }
.site-header .header-link {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
  padding: 12px 0;
}
.site-header .nav-dropdown-menu a,
.site-header .nav-dropdown-menu button {
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-header .wordmark img {
  width: clamp(130px, 13vw, 172px);
  max-height: 44px;
}
.site-header .currency-btn {
  font-size: 10px;
  letter-spacing: .1em;
}
.hero-navigation {
  position: absolute;
  z-index: 10;
  inset: auto 4.5% 33px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  pointer-events: none;
}
.hero-navigation__arrow {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.68);
  background: rgba(25,25,25,.12);
  border-radius: 50%;
  color: #fff;
  font: 400 21px/1 Arial, sans-serif;
  transition: background .2s, border-color .2s;
  pointer-events: auto;
}
.hero-navigation__arrow:hover,
.hero-navigation__arrow:focus-visible { background: rgba(25,25,25,.50); border-color: #fff; }
.hero-navigation__center { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hero-navigation__counter {
  font: 500 10px/1.3 'DM Sans', Arial, sans-serif;
  letter-spacing: .20em;
  text-shadow: 0 1px 6px rgba(0,0,0,.3);
}
.hero-navigation__dots { display: flex; gap: 13px; }
.hero-navigation__dot {
  position: relative;
  display: block;
  padding: 0;
  width: 28px;
  height: 12px;
  border: 0;
  background: transparent;
  pointer-events: auto;
}
.hero-navigation__dot::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;
  height: 2px;
  background: rgba(255,255,255,.45);
  transition: background .2s;
}
.hero-navigation__dot.is-active::after,
.hero-navigation__dot:hover::after { background: #fff; }
.hero-navigation__dot:focus-visible,
.hero-navigation__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 760px) {
  .site-header { height: 75px; padding: 0 4%; }
  .site-header .header-left,
  .site-header .header-right { min-width: 0; }
  .site-header .header-left { gap: 12px; }
  .site-header .header-link { font-size: 9px; letter-spacing: .07em; }
  .site-header .wordmark img { width: clamp(92px, 25vw, 112px); max-height: 37px; }
  .site-header .currency-btn { font-size: 9px; }
  .hero-navigation { inset: auto 5% 23px; }
  .hero-navigation__arrow { width: 40px; height: 40px; }
  .hero-navigation__dot { width: 20px; }
}
@media (max-width: 390px) {
  .site-header .header-left { gap: 7px; }
  .site-header .header-link { font-size: 8px; letter-spacing: .04em; }
  .site-header .wordmark img { width: 88px; }
  .site-header .currency-btn { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-navigation__arrow, .hero-navigation__dot::after { transition: none; }
}
