/* Desktop layout shared by the home page and all jewellery collections. */
@media (min-width: 900px) {
  html { scroll-padding-top: 140px; }
  body .restored-header {
    display: grid !important;
    grid-template-columns: 1fr 250px 1fr !important;
    grid-template-rows: 76px 42px !important;
    height: 118px !important;
    min-height: 118px !important;
    padding: 0 max(28px, calc((100vw - 1440px) / 2)) !important;
    gap: 0 24px !important;
  }
  body .restored-header .brand {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    transform: none !important;
    width: 240px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  body .restored-header .header-nav {
    display: flex !important;
    flex-direction: row !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    align-self: stretch !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(28px, 4vw, 64px) !important;
    width: 100% !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    border-top: 1px solid #302a2514;
    padding: 0 !important;
  }
  body .restored-header .site-search {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: min(100%, 230px) !important;
    margin: 0 !important;
    transform: none !important;
  }
  body .site-search input { font-size: 12px !important; }
  body .restored-header .header-actions {
    position: static !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    transform: none !important;
  }
  body .header-actions .header-rdv { position: static !important; font-size: 11px !important; }
  body .mobile-menu-button, body .mobile-search-button { display: none !important; }
  body .clean-sale { height: clamp(360px, 30vw, 490px) !important; min-height: 360px !important; }
  body .clean-sale h1 { font-size: clamp(64px, 6.4vw, 108px) !important; }
  body .clean-sale .eyebrow { font-size: 12px !important; line-height: 1.8 !important; }
  body .hero { width: 100% !important; max-width: 1600px !important; margin-inline: auto !important; }
  body .products { max-width: 1440px; margin-inline: auto; padding: 55px 40px !important; }
  body .products .product-grid { gap: 26px !important; }
  body .products .product-card { flex: 0 0 calc((100% - 78px) / 4) !important; width: calc((100% - 78px) / 4) !important; }
  body .product-card h3 { font-size: 13px !important; line-height: 1.6 !important; }
  body .product-cta { font-size: 10px !important; }
  body .catalogue { max-width: 1440px; padding: 48px 40px 100px; }
  body .catalogue-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
  body .home-section { max-width: 1440px; margin-inline: auto; }
  body .clean-story { padding-block: 75px; }
  body .clean-story p { font-size: 15px !important; line-height: 1.9 !important; }
  body .assurances-bottom { max-width: 1360px; margin-inline: auto; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  body .catalogue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body .restored-header { grid-template-columns: 1fr 220px 1fr !important; gap: 0 18px !important; }
  body .restored-header .brand { width: 210px !important; }
}
/* Use the same opening film on phones and desktop screens. */
@media (min-width: 651px) {
  body .clean-sale {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #efede6 !important;
  }
  body .clean-sale > :not(.sale-banner-video) { display: none !important; }
  body .clean-sale > .sale-banner-video {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 908 / 512 !important;
    max-height: 76vh;
    object-fit: contain !important;
    position: static !important;
    filter: none !important;
  }
}
/* Compact opening view: both films and the three offers fit together. */
@media (min-width: 900px) {
  html { scroll-padding-top: 96px; }
  body .restored-header {
    grid-template-rows: 54px 34px !important;
    height: 88px !important;
    min-height: 88px !important;
  }
  body .restored-header .brand { width: 205px !important; }
  body .clean-sale,
  body .hero {
    width: min(100%, 1080px) !important;
    max-width: 1080px !important;
    margin-inline: auto !important;
  }
  body .clean-sale > .sale-banner-video {
    height: clamp(220px, 39vh, 380px) !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
  body .hero {
    height: clamp(210px, 30vh, 290px) !important;
    min-height: 0 !important;
  }
  body .hero .media { height: 100% !important; min-height: 0 !important; aspect-ratio: auto !important; }
  body .hero .discount-band span { font-size: clamp(30px, 3.2vw, 43px) !important; }
  body .hero .discount-band small { font-size: 9px !important; }
}
/* Fill the compact desktop banner without side margins. */
@media (min-width: 900px) {
  body .clean-sale > .sale-banner-video { object-fit: cover !important; object-position: center center !important; }
}
/* Reference prices in fir green across cards, banners and product dialogs. */
html body .reference-price,
html body .reference-price *,
html body .product-price-before,
html body .product-price-before *,
html body .reference-price-label,
html body del { color: #1c513e !important; }
.editorial-page { padding-top: 22px; }
.editorial-breadcrumb { max-width: 1320px; margin: 16px auto 0; padding: 0 5%; font: 11px/1.8 Arial,sans-serif; color: #777064; }
.editorial-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 60px; margin-top:40px; text-align:left; }
.editorial-values article { border-top:1px solid #aa080d30; padding-top:24px; }
.editorial-number { color:#aa080d; font:12px Arial,sans-serif; letter-spacing:2px; }
.editorial-values h3 { color:#aa080d; font:normal 26px/1.3 Georgia,serif; margin:15px 0; }
.editorial-values p,.editorial-accordion p { color:#62594f; font:14px/1.95 Arial,sans-serif; max-width:760px; }
.editorial-accordion { max-width:900px; margin:35px auto 0; text-align:left; }
.editorial-accordion details { border-bottom:1px solid #aa080d30; }
.editorial-accordion summary { cursor:pointer; position:relative; list-style:none; padding:23px 35px 23px 0; font:normal 20px/1.4 Georgia,serif; color:#aa080d; }
.editorial-accordion summary::-webkit-details-marker { display:none; }
.editorial-accordion summary:after { content:'+';position:absolute;right:5px;top:22px; }
.editorial-accordion details[open] summary:after { content:'−'; }
.editorial-accordion p { margin:0 0 25px; }
.experience-editorial { background:#eee8df; text-align:center; }
.maison-editorial >p { max-width:800px; margin:25px auto; font-size:16px; line-height:2; }
.newsletter-editorial { border-block:1px solid #aa080d22; text-align:center; }
.home-section .home-kicker { color:#aa080d; }
@media(max-width:650px) {
 .editorial-values { grid-template-columns:1fr; gap:22px; margin-top:25px; }
 .editorial-values h3 { font-size:23px; }
 .editorial-values p,.editorial-accordion p { font-size:13px; }
 .editorial-accordion summary { font-size:18px; padding-block:20px; }
 .maison-editorial >p { font-size:14px; }
}
.manufacturing-copy { padding:20px; max-width:600px; text-align:left; }
.manufacturing-copy h4 { color:#aa080d; font:11px Arial,sans-serif; letter-spacing:2px; }
.manufacturing-copy p { font:13px/1.8 Arial,sans-serif; color:#62594f; }
/* Keep the green references legible against the burgundy Love film. */


/* Source-site section structure, in the mockup's ivory and burgundy palette. */
body .home-section { border-top:0; padding:76px 6%; }
body .home-section > .home-kicker,
body .home-section > h2 { text-align:center; }
body .home-section > .home-kicker { font:10px/1.6 Arial,sans-serif; letter-spacing:2.5px; margin-bottom:18px; }
body .home-section > h2 { font:normal clamp(30px,3.5vw,48px)/1.2 Georgia,serif; margin:0 0 42px; }
body .original-collections { background:#eee9e1; }
body .original-collections .home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body .original-collections .home-grid > a { position:relative; display:block; overflow:hidden; aspect-ratio:1.6; background:#ded5c9; }
body .original-collections .home-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
body .original-collections .home-grid > a:after { content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#21150c99);pointer-events:none; }
body .original-collections .home-grid h3 { position:absolute;z-index:1;left:30px;bottom:26px;margin:0;color:#fff; font:normal clamp(21px,2.2vw,31px)/1.2 Georgia,serif; }
body .original-collections .home-grid > a:hover img { transform:scale(1.035); }
body .original-advantages { display:grid;grid-template-columns: .85fr 1.15fr; gap:70px;align-items:start; }
.section-heading h2 { font:normal clamp(30px,3.5vw,47px)/1.2 Georgia,serif;margin:22px 0 30px; }
.section-rule { display:block;width:46px;height:1px;background:#aa080d70; }
.original-advantage-list details { border-bottom:1px solid #aa080d25;padding:0 0 20px;margin-bottom:20px; }
.original-advantage-list summary { list-style:none;cursor:pointer;position:relative;display:flex;align-items:center;gap:20px;padding-right:25px;color:#aa080d;font:normal 24px/1.35 Georgia,serif; }
.original-advantage-list summary::-webkit-details-marker { display:none; }
.original-advantage-list summary:after { content:'+';position:absolute;right:0;font:22px Arial; }
.original-advantage-list details[open] summary:after { content:'−'; }
.advantage-check { display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:50%;background:#aa080d;color:#f5efe5;font:23px Arial; }
.original-advantage-list p { font:14px/1.9 Arial,sans-serif;color:#62594f;padding-left:63px; }
body .original-stores { background:#eee9e1; }
.store-layout { display:grid;grid-template-columns:1.35fr 1fr;gap:26px; }
.store-map { width:100%;height:420px;border:1px solid #aa080d25; }
.store-cards { display:grid;grid-template-rows:1fr 1fr;gap:20px; }
.store-cards article { padding:28px;background:#faf7f0;border:1px solid #aa080d30; }
.store-cards h3 { font:normal 28px Georgia,serif;margin:0 0 14px;color:#aa080d; }
.store-cards p { font:13px/1.8 Arial,sans-serif;color:#62594f; }
.store-cards .home-link { font-size:10px;letter-spacing:1px; }
body .original-maison { text-align:center; background:#f7f3ec; }
body .original-maison > p { max-width:850px;margin:0 auto;font:normal 22px/1.9 Georgia,serif;color:#4a4037; }
body .social-band { background:#aa080d;color:#f5efe5;text-align:center; }
body .social-band .home-kicker,body .social-band h2,body .social-band p,body .social-band a { color:#f5efe5!important; }
body .social-band a { display:inline-block;border:1px solid #f5efe580;padding:15px 22px;margin-top:16px;font-size:10px;letter-spacing:1.5px; }
body .home-faq { background:#eee9e1; }
body .home-faq .editorial-accordion { margin-top:0; }
body .newsletter-editorial { background:#aa080d;color:#f5efe5;border:0; }
body .newsletter-editorial .home-kicker,body .newsletter-editorial .home-link { color:#f5efe5; }
body .newsletter-editorial .home-link { display:inline-block;border:1px solid #f5efe590;padding:18px 25px;font-size:10px;letter-spacing:1.5px; }
body .original-reviews .home-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
body .original-reviews blockquote { margin:0;border:1px solid #aa080d35;padding:30px;background:#faf7f0;font:italic 21px/1.7 Georgia,serif;color:#4a4037; }
body .original-reviews blockquote:before { content:'★★★★★';display:block;color:#aa080d;letter-spacing:4px;font:14px Arial;margin-bottom:22px; }
body .original-reviews blockquote p { border-top:1px solid #aa080d25;margin:25px 0 0;padding-top:18px;font:12px/1.6 Arial,sans-serif;color:#aa080d; }
body .home-footer { background:#e8e0d5; }
@media(max-width:650px) {
 body .home-section { padding:44px 20px; }
 body .home-section > h2 { margin-bottom:28px; }
 body .original-collections .home-grid { grid-template-columns:1fr;gap:18px; }
 body .original-collections .home-grid h3 { left:22px;bottom:22px;font-size:25px; }
 body .original-advantages { grid-template-columns:1fr;gap:30px; }
 .original-advantage-list summary { font-size:21px;gap:14px; }
 .original-advantage-list p { padding-left:0;font-size:13px; }
 .store-layout { grid-template-columns:1fr;gap:20px; }
 .store-map { height:260px; }
 .store-cards article { padding:24px; }
 body .original-maison > p { font-size:19px; }
 body .original-reviews .home-grid { grid-template-columns:1fr;gap:16px; }
 body .original-reviews blockquote { font-size:20px;padding:25px; }
}
.original-social-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0; }
body .original-social-grid .instagram-media { background:#f5efe5!important;border:1px solid #aa080d30!important;min-width:0!important;width:100%!important;margin:0!important;min-height:120px; }
body .original-social-grid .instagram-media a { color:#aa080d!important;border:0; }
@media(max-width:650px) { .original-social-grid { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px; }body .original-social-grid .instagram-media { flex:0 0 88%;scroll-snap-align:center; } }
.store-map { z-index:1; }
.boutique-map-pin span { display:grid;place-items:center;width:34px;height:34px;border:2px solid #f5efe5;border-radius:50%;background:#aa080d;color:#fff;font:11px Georgia;box-shadow:0 2px 6px #0004; }
/* Show both addresses without an unavailable third-party map. */
.store-layout { display:block; }
.store-cards { grid-template-columns:1fr 1fr;grid-template-rows:auto; }
@media(max-width:650px) { .store-cards { grid-template-columns:1fr; } }
/* Love prices appear directly on the burgundy background. */
html body .love-offer > div,
html body .love-offer > strong {
 background:transparent!important;
 border:0!important;
 box-shadow:none!important;
 padding:0!important;
 color:#fff!important;
}
html body .love-offer .reference-price,
html body .love-offer .reference-price *,
html body .love-offer > div > span,
html body .love-offer > strong { color:#fff!important; }
html body .future-jewel-banner .love-offer > div > span:not(.reference-price) { color:#fff!important; }
