/*
Theme Name: Galerie16 V4
Theme URI: https://www.galerie16.com/
Author: Galerie16
Description: Thème sur mesure pour Galerie16, studio photo à Montbron.
Version: 4.39.38
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: galerie16
*/

:root {
  --g16-cinnabar: #f0462f;
  --g16-indigo: #213164;
  --g16-bronze: #a58b52;
  --g16-gray: #dad1c6;
  --g16-blue: #aecacd;
  --g16-ink: #171717;
  --g16-paper: #faf9f7;
  --g16-white: #fff;
  --g16-muted: #696661;
  --g16-border: rgba(23, 23, 23, .13);
  --g16-radius: 1.1rem;
  --g16-shadow: 0 24px 60px rgba(24, 22, 19, .12);
  --g16-wrap: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--g16-ink);
  background: var(--g16-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--g16-cinnabar);
  outline-offset: 4px;
}
.wrap { width: var(--g16-wrap); margin-inline: auto; }
.skip-link {
  position: fixed; z-index: 9999; left: 1rem; top: -10rem;
  padding: .75rem 1rem; color: #fff; background: var(--g16-indigo);
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: fixed; z-index: 1000; inset: 0 0 auto;
  color: #fff;
  background: linear-gradient(to bottom, rgba(0,0,0,.68), transparent);
  transition: background .25s, box-shadow .25s, color .25s;
}
.site-header.is-scrolled,
.site-header.header-solid {
  color: var(--g16-ink); background: rgba(250,249,247,.96);
  box-shadow: 0 1px 0 var(--g16-border);
  backdrop-filter: blur(15px);
}
.header-inner {
  min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem;
}
.brand { display: inline-flex; align-items: center; gap: .8rem; font-weight: 800; }
.custom-logo { width: auto; max-height: 58px; }
.brand-fallback { display: inline-flex; align-items: center; gap: .7rem; letter-spacing: -.04em; }
.brand-mark {
  width: 2.5rem; aspect-ratio: 1; display: grid; place-items: center;
  border: 3px solid currentColor; border-radius: 50%; color: var(--g16-cinnabar);
  font-size: .85rem; letter-spacing: -.08em;
}
.brand-name { font-size: clamp(1.25rem, 2vw, 1.75rem); }
.brand-name span { color: var(--g16-cinnabar); }
.main-nav ul { display: flex; align-items: center; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.main-nav a { font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.main-nav a:hover, .main-nav .current-menu-item > a { color: var(--g16-cinnabar); }
.menu-toggle {
  display: none; padding: .6rem; color: inherit; border: 0; background: transparent; cursor: pointer;
}
.menu-toggle span { display: block; width: 26px; height: 2px; margin: 5px; background: currentColor; }

.hero {
  position: relative; min-height: 92svh; display: grid; align-items: end;
  color: #fff; background: #343434 center/cover no-repeat;
  isolation: isolate;
}
.hero::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.73) 0%, rgba(0,0,0,.36) 48%, rgba(0,0,0,.08) 78%),
              linear-gradient(0deg, rgba(0,0,0,.46), transparent 55%);
}
.hero-content { width: var(--g16-wrap); margin-inline: auto; padding: 170px 0 11vh; }
.eyebrow {
  margin: 0 0 1rem; color: var(--g16-cinnabar); font-size: .8rem; font-weight: 900;
  letter-spacing: .18em; text-transform: uppercase;
}
.section-dark .eyebrow { color: var(--g16-blue); }
.hero h1 {
  max-width: 820px; margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.3rem, 8vw, 7.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .88;
}
.hero h1 em { display: block; color: var(--g16-cinnabar); font-style: normal; }
.hero-copy { max-width: 680px; margin: 1.7rem 0 0; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button {
  display: inline-flex; min-height: 50px; align-items: center; justify-content: center;
  padding: .8rem 1.25rem; border: 1px solid transparent; border-radius: 999px;
  color: #fff; background: var(--g16-cinnabar); font-size: .78rem; font-weight: 850;
  letter-spacing: .08em; text-transform: uppercase; transition: transform .2s, background .2s;
}
.button:hover { transform: translateY(-2px); background: #d83924; }
.button-outline { border-color: rgba(255,255,255,.58); background: rgba(0,0,0,.18); }
.button-outline:hover { background: #fff; color: var(--g16-ink); }
.button-dark { background: var(--g16-indigo); }
.button-dark:hover { background: #16234c; }

.section { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.section-compact { padding: clamp(3rem, 6vw, 5rem) 0; }
section[id] { scroll-margin-top: 102px; }
body.admin-bar section[id] { scroll-margin-top: 134px; }
.section-white { background: #fff; }
.section-dark { color: #fff; background: var(--g16-indigo); }
.section-tint { background: color-mix(in srgb, var(--g16-blue) 20%, #fff); }
.section-head { max-width: 760px; margin-bottom: 3rem; }
.section-head.centered { margin-inline: auto; text-align: center; }
.section h2, .page-hero h1 {
  margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.04;
}
.section-intro { margin: 1rem 0 0; color: var(--g16-muted); font-size: 1.12rem; }
.section-dark .section-intro { color: rgba(255,255,255,.72); }

.manifesto { display: grid; grid-template-columns: .65fr 1.35fr; gap: 4rem; align-items: start; }
.manifesto blockquote {
  margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 4.7vw, 4.5rem); line-height: 1.08; letter-spacing: -.035em;
}
.manifesto blockquote strong { color: var(--g16-cinnabar); font-weight: 400; }
.manifesto-copy { max-width: 480px; padding-top: .5rem; }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.service-grid-seven { grid-template-columns: repeat(12, 1fr); }
.service-grid-seven .service-card { grid-column: span 4; }
.service-grid-seven .service-card:nth-child(n+4) { grid-column: span 3; }
.service-grid-eight, .service-grid-nine { grid-template-columns: repeat(3, 1fr); }
.service-card {
  position: relative; min-height: 270px; display: flex; flex-direction: column;
  padding: 1.7rem; overflow: hidden; border: 1px solid var(--g16-border); border-radius: var(--g16-radius);
  background: #fff; transition: transform .25s, box-shadow .25s, border-color .25s;
}
.service-card:hover { transform: translateY(-5px); border-color: var(--g16-bronze); box-shadow: var(--g16-shadow); }
.service-number { color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900; letter-spacing: .13em; }
.service-card h3 { margin: auto 0 .45rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.7rem; line-height: 1.1; }
.service-card p { margin: 0; color: var(--g16-muted); font-size: .93rem; }
.service-card.featured { color: #fff; background: var(--g16-indigo); }
.service-card.featured p { color: rgba(255,255,255,.72); }
.service-link {
  display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem;
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 850;
  letter-spacing: .07em; text-transform: uppercase;
}
.service-card.featured .service-link { color: var(--g16-blue); }
.service-link::after { content: "→"; transition: transform .2s; }
.service-link:hover::after { transform: translateX(4px); }
.express-block {
  display: grid; grid-template-columns: .8fr 1.7fr; gap: 2rem; align-items: start;
  margin-top: 1.2rem; padding: 2rem; border-radius: var(--g16-radius);
  color: #fff; background: var(--g16-indigo);
}
.express-heading h3 {
  max-width: 420px; margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 400; line-height: 1.1;
}
.express-block .eyebrow { color: var(--g16-blue); }
.express-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem 1rem; }
.express-card { padding-left: 1rem; border-left: 2px solid var(--g16-bronze); }
.express-card h4 { margin: 0 0 .45rem; font-size: 1rem; }
.express-card p { margin: 0; color: rgba(255,255,255,.7); font-size: .88rem; }

.studio-technique-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.studio-technique-card {
  overflow: hidden; border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--g16-radius); background: rgba(255,255,255,.06);
}
.studio-technique-card img {
  display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
}
.studio-technique-card > div { padding: clamp(1.4rem, 3vw, 2rem); }
.studio-technique-card .eyebrow { color: var(--g16-blue); }
.studio-technique-card h3 {
  margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 400; line-height: 1.08;
}
.studio-technique-card p:not(.eyebrow) { margin: .8rem 0 0; color: rgba(255,255,255,.7); }

.work-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.work-card {
  position: relative; min-height: 360px; display: flex; align-items: end; overflow: hidden;
  border-radius: var(--g16-radius); background: #282828 center/cover;
}
.work-card:first-child { grid-column: 1 / -1; min-height: 610px; }
.work-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.work-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(0,0,0,.77), transparent 65%); }
.work-card-content { position: relative; z-index: 2; padding: 1.7rem; color: #fff; }
.work-card h3 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.work-card p { margin: .45rem 0 0; color: rgba(255,255,255,.75); }
.work-card { color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.work-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); pointer-events: none; }
.work-card:hover, .work-card:focus-visible { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(0,0,0,.18); }
.work-card:focus-visible { outline: 3px solid var(--g16-red); outline-offset: 4px; }
.work-card-button { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1rem; padding: .68rem .95rem; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; color: #fff; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: rgba(0,0,0,.14); backdrop-filter: blur(5px); transition: background .2s ease, border-color .2s ease; }
.work-card:hover .work-card-button, .work-card:focus-visible .work-card-button { background: var(--g16-red); border-color: var(--g16-red); }
.work-placeholder {
  position: absolute; inset: 0; display: grid; place-items: center;
  color: rgba(255,255,255,.22); font-family: Georgia, serif; font-size: 6rem;
}

.curtis-grid {
  display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 6vw, 6rem); align-items: center;
}
.curtis-image {
  position: relative; min-height: 620px; overflow: hidden; border-radius: var(--g16-radius);
  background: #2a2927 center/cover no-repeat; box-shadow: var(--g16-shadow);
}
.curtis-image::after {
  content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.18); border-radius: inherit;
}
.curtis-placeholder {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 2rem;
  color: rgba(255,255,255,.4); font-family: Georgia, serif; font-size: 2rem; text-align: center;
}
.curtis-copy h2 { margin-bottom: 1.4rem; }
.curtis-copy p:not(.eyebrow) { color: rgba(255,255,255,.74); }
.curtis-meta {
  margin: 2rem 0; padding: 1.2rem 0; border-block: 1px solid rgba(255,255,255,.18);
  color: var(--g16-blue); font-size: .8rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase;
}

.benefit-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem; }
.benefit { padding-top: 1.25rem; border-top: 3px solid var(--g16-bronze); }
.benefit h3 { margin: 0 0 .5rem; font-size: 1rem; }
.benefit p { margin: 0; color: rgba(255,255,255,.68); font-size: .9rem; }

.pricing-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; align-items: start; }
.pricing-panel {
  padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius); background: #fff;
}
.pricing-panel-wide { grid-column: 1 / -1; }
.pricing-panel-dark { color: #fff; background: var(--g16-indigo); }
.pricing-heading { margin-bottom: 1.4rem; }
.pricing-heading .eyebrow { margin-bottom: .55rem; }
.pricing-heading h3 {
  margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 400; line-height: 1.08;
}
.pricing-heading > p:not(.eyebrow) { margin: .65rem 0 0; color: var(--g16-muted); font-size: .92rem; }
.pricing-panel-dark .pricing-heading > p:not(.eyebrow),
.pricing-panel-dark .tariff-note { color: rgba(255,255,255,.68); }
.pricing-panel-dark .eyebrow { color: var(--g16-blue); }
.tariff-list { margin: 0; }
.tariff-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem;
  align-items: baseline; margin: 0; padding: .72rem 0; border-top: 1px solid var(--g16-border);
}
.pricing-panel-dark .tariff-row { border-color: rgba(255,255,255,.17); }
.tariff-row dt { font-size: .94rem; }
.tariff-row dd { margin: 0; color: var(--g16-cinnabar); font-weight: 850; text-align: right; }
.pricing-panel-dark .tariff-row dd { color: #fff; }
.pricing-panel-scan { border-top: 4px solid var(--g16-indigo); }
.tariff-subheading {
  margin: 1.6rem 0 .6rem; color: var(--g16-indigo); font-size: .76rem;
  font-weight: 900; letter-spacing: .11em; text-transform: uppercase;
}
.tariff-note-strong {
  padding: .9rem 1rem; border-left: 3px solid var(--g16-cinnabar);
  color: var(--g16-ink); background: #f4f0eb;
}
.on-site-assurance {
  margin: 1rem 0 0; padding: 1rem; border-radius: .8rem;
  color: var(--g16-ink); background: color-mix(in srgb, var(--g16-blue) 32%, #fff);
  font-size: .88rem; line-height: 1.5;
}
.on-site-assurance strong { display: block; color: var(--g16-indigo); }
.print-technology {
  display: grid; gap: .2rem; margin-top: 1.2rem; padding: 1rem;
  border: 1px solid rgba(255,255,255,.18); border-radius: .8rem;
  background: rgba(255,255,255,.07);
}
.print-technology strong { color: var(--g16-blue); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.print-technology span { color: rgba(255,255,255,.82); font-size: .86rem; line-height: 1.45; }
.pricing-panel:not(.pricing-panel-dark) .print-technology,
.print-price-card .print-technology {
  border-color: var(--g16-border); background: #f4f0eb;
}
.pricing-panel:not(.pricing-panel-dark) .print-technology strong,
.print-price-card .print-technology strong { color: var(--g16-cinnabar); }
.pricing-panel:not(.pricing-panel-dark) .print-technology span,
.print-price-card .print-technology span { color: var(--g16-ink); }
.tariff-note { margin: 1rem 0 0; color: var(--g16-muted); font-size: .82rem; }
.reproduction-pricing { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 5vw, 5rem); }
.reproduction-pricing .pricing-heading { margin-bottom: 0; }
.price-note { margin: 2rem 0 0; color: var(--g16-muted); text-align: center; }

.contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 4rem; align-items: start; }
.contact-list { display: grid; gap: 1.3rem; margin-top: 2rem; }
.contact-item { display: grid; grid-template-columns: 110px 1fr; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.contact-item strong { color: var(--g16-blue); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-panel { padding: 2rem; border-radius: var(--g16-radius); color: var(--g16-ink); background: #fff; }
.contact-panel h3 { margin-top: 0; font-family: Georgia, serif; font-size: 1.8rem; }
.contact-panel .button { width: 100%; margin-top: .6rem; }

.site-footer { padding: 3rem 0; color: #fff; background: #121a35; }
.footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-meta { color: rgba(255,255,255,.56); font-size: .84rem; text-align: right; }
.footer-tax { margin: .2rem 0; color: rgba(255,255,255,.72); }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem .5rem; }
.footer-meta a:hover { color: var(--g16-cinnabar); }

.page-hero { padding: 180px 0 80px; background: var(--g16-gray); }
.service-page-hero {
  position: relative; min-height: 78svh; display: grid; align-items: end;
  color: #fff; background: #343434 center/cover no-repeat; isolation: isolate;
}
.service-page-hero::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.22) 72%),
              linear-gradient(0deg, rgba(0,0,0,.52), transparent 60%);
}
.service-page-hero-content { padding: 180px 0 10vh; }
.service-page-hero h1 {
  max-width: 880px; margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.3rem, 8vw, 7.3rem); font-weight: 400;
  letter-spacing: -.055em; line-height: .92;
}
.service-page-hero-copy { max-width: 720px; margin: 1.4rem 0 0; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.restoration-intro, .digitization-intro {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.restoration-intro h2, .digitization-intro h2 { max-width: 720px; }
.restoration-price, .digitization-price {
  padding: 2rem; border-left: 4px solid var(--g16-cinnabar);
  border-radius: 0 var(--g16-radius) var(--g16-radius) 0; background: #f2eeea;
}
.restoration-price strong, .digitization-price strong {
  display: block; color: var(--g16-cinnabar); font-size: clamp(2rem, 4vw, 3.4rem);
}
.restoration-price p, .digitization-price p { margin: .5rem 0 0; color: var(--g16-muted); }
.restoration-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.restoration-capability {
  min-height: 210px; padding: 1.6rem; border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius); background: #fff;
}
.restoration-capability span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900; letter-spacing: .12em;
}
.restoration-capability h3 {
  margin: 2.8rem 0 .5rem; font-family: Georgia, serif; font-size: 1.5rem;
}
.restoration-capability p { margin: 0; color: var(--g16-muted); font-size: .9rem; }
.comparison-wrap {
  --comparison-position: 50%; width: min(900px, 100%); margin-inline: auto;
}
.comparison-frame {
  position: relative; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: var(--g16-radius); background: #171717; box-shadow: var(--g16-shadow);
  cursor: ew-resize; touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
.comparison-frame > img, .comparison-after img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; object-position: center; pointer-events: none;
}
.comparison-after {
  position: absolute; inset: 0;
  clip-path: inset(0 0 0 var(--comparison-position));
}
.comparison-divider {
  position: absolute; z-index: 3; top: 0; bottom: 0; left: var(--comparison-position);
  width: 3px; background: #fff; transform: translateX(-50%); pointer-events: none;
}
.comparison-divider::after {
  content: "↔"; position: absolute; top: 50%; left: 50%; display: grid;
  width: 54px; height: 54px; place-items: center; border-radius: 50%;
  color: var(--g16-ink); background: #fff; font-size: 1.3rem; font-weight: 800;
  transform: translate(-50%, -50%); box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
.comparison-label {
  position: absolute; z-index: 4; top: 1rem; padding: .45rem .7rem;
  border-radius: 999px; color: #fff; background: rgba(0,0,0,.62);
  font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase;
}
.comparison-label-before { left: 1rem; }
.comparison-label-after { right: 1rem; }
.comparison-placeholder {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 2rem;
  color: rgba(255,255,255,.52); font-family: Georgia, serif;
  font-size: 1.5rem; text-align: center;
}
.comparison-control { display: block; width: min(700px, 100%); margin: 1.4rem auto 0; color: rgba(255,255,255,.72); text-align: center; }
.comparison-control span { display: block; margin-bottom: .6rem; font-size: .82rem; }
.comparison-control input {
  width: 100%; min-height: 44px; margin: 0; accent-color: var(--g16-cinnabar); cursor: ew-resize;
}
.comparison-control input::-webkit-slider-thumb { width: 32px; height: 32px; }
.comparison-control input::-moz-range-thumb { width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--g16-cinnabar); }
.restoration-delivery-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.restoration-delivery-grid article {
  min-height: 300px; display: flex; flex-direction: column; padding: 1.8rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.restoration-delivery-grid article > span {
  color: var(--g16-cinnabar); font-size: .74rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase;
}
.restoration-delivery-grid h3 { margin: auto 0 .55rem; font-family: Georgia, serif; font-size: 1.6rem; }
.restoration-delivery-grid strong { color: var(--g16-indigo); }
.restoration-delivery-grid p { color: var(--g16-muted); font-size: .9rem; }
.restoration-delivery-grid a { margin-top: auto; color: var(--g16-cinnabar); font-weight: 800; }
.process-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; counter-reset: restoration-step;
}
.process-step {
  padding-top: 1.2rem; border-top: 3px solid var(--g16-cinnabar); counter-increment: restoration-step;
}
.process-step::before {
  content: "0" counter(restoration-step); color: var(--g16-cinnabar);
  font-size: .76rem; font-weight: 900; letter-spacing: .13em;
}
.process-step h3 { margin: 1.7rem 0 .5rem; font-family: Georgia, serif; font-size: 1.45rem; }
.process-step p { margin: 0; color: var(--g16-muted); font-size: .9rem; }
.restoration-cta, .service-cta {
  display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center;
  padding: clamp(2rem, 5vw, 4rem); border-radius: var(--g16-radius);
  color: #fff; background: var(--g16-indigo);
}
.restoration-cta h2, .service-cta h2 { font-size: clamp(2.2rem, 5vw, 4rem); }
.restoration-cta p, .service-cta p { max-width: 680px; margin: 1rem 0 0; color: rgba(255,255,255,.7); }
.support-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.support-card {
  min-height: 245px; display: flex; flex-direction: column; padding: 1.6rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.support-card span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900; letter-spacing: .12em;
}
.support-card h3 { margin: auto 0 .55rem; font-family: Georgia, serif; font-size: 1.55rem; }
.support-card p { margin: 0; color: var(--g16-muted); font-size: .9rem; }
.equipment-layout {
  display: grid; grid-template-columns: .75fr 1.25fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.equipment-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.equipment-card {
  min-height: 285px; display: flex; flex-direction: column; padding: 1.8rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #f4f1ed;
}
.equipment-card > span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900;
  letter-spacing: .12em; text-transform: uppercase;
}
.equipment-card h3 { margin: auto 0 .3rem; font-family: Georgia, serif; font-size: 1.55rem; }
.equipment-card strong { color: var(--g16-indigo); font-size: .88rem; }
.equipment-card p { margin: .8rem 0 0; color: var(--g16-muted); font-size: .9rem; }
.scan-levels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.scan-level {
  min-height: 270px; display: flex; flex-direction: column; padding: 1.6rem;
  border: 1px solid rgba(255,255,255,.18); border-radius: var(--g16-radius);
  background: rgba(255,255,255,.07);
}
.scan-level h3 { margin: 0; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.scan-level strong { margin: auto 0 .7rem; color: var(--g16-blue); font-size: 1.25rem; }
.scan-level p { margin: 0; color: rgba(255,255,255,.68); font-size: .9rem; }
.scan-restoration-callout {
  display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 6vw, 6rem); align-items: center;
}
.scan-restoration-callout aside {
  padding: 2rem; border-radius: var(--g16-radius); color: #fff; background: var(--g16-indigo);
}
.scan-restoration-callout aside span {
  display: block; color: var(--g16-blue); font-size: .76rem; font-weight: 900;
  letter-spacing: .11em; text-transform: uppercase;
}
.scan-restoration-callout aside strong { display: block; margin-top: .6rem; font-size: 2.2rem; }
.scan-restoration-callout aside p { margin: .5rem 0 1.4rem; color: rgba(255,255,255,.7); }
.on-site-banner {
  display: grid; grid-template-columns: .9fr 1.1fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.on-site-banner h2 { max-width: 650px; }
.on-site-banner > div:last-child {
  padding-left: 1.5rem; border-left: 3px solid var(--g16-cinnabar);
}
.on-site-banner > div:last-child p { margin: 0; color: rgba(255,255,255,.76); }
.on-site-banner > div:last-child p + p { margin-top: 1rem; }
.prints-intro {
  display: grid; grid-template-columns: .8fr 1.2fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: center;
}
.print-choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.print-choice {
  min-height: 300px; display: flex; flex-direction: column; padding: 1.8rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #f4f1ed;
}
.print-choice > span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900; letter-spacing: .12em;
}
.print-choice h3 { margin: auto 0 .7rem; font-family: Georgia, serif; font-size: 1.7rem; }
.print-choice p { margin: 0; color: var(--g16-muted); font-size: .92rem; }
.print-choice-dark { color: #fff; background: var(--g16-indigo); }
.print-choice-dark > span { color: var(--g16-blue); }
.print-choice-dark p { color: rgba(255,255,255,.7); }
.print-price-layout {
  display: grid; grid-template-columns: 1.1fr .9fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.check-list { display: grid; gap: .75rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 1.65rem; color: var(--g16-muted); }
.check-list li::before {
  content: "✓"; position: absolute; left: 0; color: var(--g16-cinnabar); font-weight: 900;
}
.print-price-card {
  padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: var(--g16-radius);
  background: #fff; box-shadow: var(--g16-shadow);
}
.format-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.format-guide-card {
  min-height: 220px; display: flex; flex-direction: column; padding: 1.6rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.format-guide-card strong { color: var(--g16-cinnabar); font-family: Georgia, serif; font-size: 1.65rem; }
.format-guide-card p { margin: auto 0 .6rem; color: var(--g16-ink); }
.format-guide-card small { color: var(--g16-muted); font-size: .82rem; }
.format-guide-note { max-width: 800px; margin: 1.5rem 0 0; color: var(--g16-muted); font-size: .88rem; }
.ratio-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ratio-guide-card {
  min-height: 440px; display: flex; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid rgba(255,255,255,.16); border-radius: var(--g16-radius);
  background: rgba(255,255,255,.06);
}
.ratio-paper {
  height: 150px; display: grid; place-items: center; margin-bottom: 1.7rem;
  overflow: hidden; border-radius: .25rem; background: #fff;
}
.ratio-image { display: block; background: linear-gradient(135deg, #6f7e84, #202c4e 65%, #f0462f); }
.ratio-image-4-3 { height: 100%; aspect-ratio: 4 / 3; }
.ratio-image-16-9 { width: 100%; aspect-ratio: 16 / 9; }
.ratio-label { color: var(--g16-blue); font-size: .74rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.ratio-guide-card h3 {
  margin: auto 0 .7rem; font-family: Georgia, "Times New Roman", serif;
  font-size: 1.65rem; font-weight: 400; line-height: 1.12;
}
.ratio-guide-card p { margin: 0; color: rgba(255,255,255,.7); font-size: .9rem; }
.ratio-choice {
  height: 150px; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-bottom: 1.7rem;
}
.ratio-choice span {
  display: grid; place-items: center; padding: .7rem; border: 8px solid #fff;
  color: #fff; background: linear-gradient(135deg, #6f7e84, #202c4e 65%, #f0462f);
  font-size: .7rem; font-weight: 800; text-align: center; text-transform: uppercase;
}
.ratio-choice span:last-child { border-width: 0; }
.ratio-note { max-width: 850px; margin: 1.5rem 0 0; color: rgba(255,255,255,.62); font-size: .84rem; }
.enlargement-layout {
  display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: center;
}
.enlargement-visual { margin: 0; }
.enlargement-visual img {
  display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover;
  border-radius: var(--g16-radius); box-shadow: var(--g16-shadow);
}
.enlargement-visual figcaption { margin-top: .8rem; color: var(--g16-muted); font-size: .8rem; }
.service-caution {
  margin: 1.5rem 0; padding: 1rem 1.1rem; border-left: 3px solid var(--g16-cinnabar);
  color: var(--g16-muted); background: #f4f0eb; font-size: .9rem;
}
.fineart-layout {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.fineart-layout h2 { max-width: 760px; }
.print-technology-large { max-width: 650px; margin-top: 2rem; padding: 1.3rem; }
.fineart-price-card {
  padding: clamp(1.6rem, 4vw, 2.6rem); border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--g16-radius); background: rgba(255,255,255,.07);
}
.fineart-price-card .eyebrow { color: var(--g16-blue); }
.fineart-price-card .tariff-subheading { color: var(--g16-blue); }
.fineart-price-card .tariff-row { border-color: rgba(255,255,255,.17); }
.fineart-price-card .tariff-row dd { color: #fff; }
.fineart-price-card > p { margin: 1rem 0 0; color: rgba(255,255,255,.68); font-size: .84rem; }
.paper-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.paper-card {
  min-height: 230px; display: flex; flex-direction: column; justify-content: end;
  padding: 1.8rem; border: 1px solid var(--g16-border); border-radius: var(--g16-radius);
  background: linear-gradient(145deg, #fff, #f1ece6);
}
.paper-card h3 { margin: 0 0 .65rem; font-family: Georgia, serif; font-size: 1.55rem; }
.paper-card p { margin: 0; color: var(--g16-muted); font-size: .9rem; }
.framing-layout {
  display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.framing-layout .button { margin-top: 1rem; }
.framing-options { display: grid; gap: 1rem; }
.framing-options article {
  display: grid; grid-template-columns: 48px 1fr; column-gap: 1rem; padding: 1.4rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.framing-options span { grid-row: span 2; color: var(--g16-cinnabar); font-size: .74rem; font-weight: 900; letter-spacing: .1em; }
.framing-options h3 { margin: 0 0 .35rem; font-family: Georgia, serif; font-size: 1.45rem; }
.framing-options p { margin: 0; color: var(--g16-muted); font-size: .9rem; }
.identity-hero:not([style*="background-image"]) {
  background: linear-gradient(135deg, #12192f, var(--g16-indigo));
}
.identity-intro {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: start;
}
.identity-intro h2 { max-width: 720px; }
.identity-price {
  padding: 2rem; border-left: 4px solid var(--g16-cinnabar);
  border-radius: 0 var(--g16-radius) var(--g16-radius) 0; background: #f2eeea;
}
.identity-price strong {
  display: block; color: var(--g16-cinnabar); font-size: clamp(2rem, 4vw, 3.4rem);
}
.identity-price p { margin: .5rem 0 0; color: var(--g16-muted); }
.identity-sheet-layout {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center;
}
.identity-sheet-example { margin: 0; }
.identity-sheet-example > img,
.identity-sheet-mockup {
  width: 100%; aspect-ratio: 3 / 2; padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(23,23,23,.1); border-radius: .45rem; background: #f8f7f4;
  box-shadow: 0 24px 55px rgba(24,22,19,.18); object-fit: cover;
}
.identity-sheet-mockup { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.5rem, 1.4vw, 1rem); }
.identity-photo-placeholder {
  position: relative; width: min(100%, 86px); aspect-ratio: 35 / 45;
  align-self: center; justify-self: center; overflow: hidden; border-radius: .2rem;
  background: linear-gradient(180deg, #d8dde1, #bac2c7); border: 1px solid rgba(23,23,23,.08);
}
.identity-photo-placeholder::before {
  content: ""; position: absolute; left: 50%; top: 24%; width: 28%; aspect-ratio: 1;
  border-radius: 50%; background: #777f84; transform: translateX(-50%);
}
.identity-photo-placeholder::after {
  content: ""; position: absolute; left: 50%; bottom: -8%; width: 62%; height: 51%;
  border-radius: 50% 50% 0 0; background: #777f84; transform: translateX(-50%);
}
.identity-sheet-example figcaption { margin-top: 1rem; color: var(--g16-muted); font-size: .82rem; text-align: center; }
.identity-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.identity-option {
  min-height: 360px; display: flex; flex-direction: column; padding: clamp(1.8rem, 4vw, 3rem);
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.identity-option[id] { scroll-margin-top: 118px; }
.identity-option > span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900; letter-spacing: .12em;
}
.identity-option h2 { margin: auto 0 .5rem; font-size: clamp(2.2rem, 4vw, 3.4rem); }
.identity-option strong { color: var(--g16-cinnabar); font-size: 1.3rem; }
.identity-option p { margin: .8rem 0 0; color: var(--g16-muted); }
.identity-option small { display: block; margin-top: 1rem; color: var(--g16-muted); line-height: 1.55; }
.identity-option-home { color: #fff; background: var(--g16-indigo); }
.identity-option-home > span { color: var(--g16-blue); }
.identity-option-home strong { color: #fff; }
.identity-option-home p, .identity-option-home small { color: rgba(255,255,255,.7); }
.home-service-layout {
  display: grid; grid-template-columns: 1.2fr .8fr;
  gap: clamp(2rem, 7vw, 7rem); align-items: center;
}
.home-service-price {
  padding: 2rem; border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--g16-radius); background: rgba(255,255,255,.07);
}
.home-service-price > span {
  color: var(--g16-blue); font-size: .76rem; font-weight: 900;
  letter-spacing: .12em; text-transform: uppercase;
}
.home-service-price strong { display: block; margin-top: .4rem; font-size: 3rem; }
.home-service-price p { margin: .7rem 0 1.5rem; color: rgba(255,255,255,.7); }
.enlargement-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  grid-template-areas:
    "visual heading"
    "visual copy";
  column-gap: clamp(2rem, 7vw, 7rem);
  row-gap: 1rem;
  align-items: center;
}
.enlargement-heading { grid-area: heading; align-self: end; }
.enlargement-heading h2 { margin-bottom: 0; }
.enlargement-visual { grid-area: visual; }
.enlargement-copy { grid-area: copy; align-self: start; }

.professional-portrait-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  grid-template-areas:
    "visual heading"
    "visual copy";
  column-gap: clamp(2rem, 7vw, 7rem);
  row-gap: 1rem;
  align-items: center;
}
.professional-portrait-heading { grid-area: heading; align-self: end; }
.professional-portrait-heading h2 { max-width: 720px; margin-bottom: 0; }
.professional-portrait-visual { grid-area: visual; }
.professional-portrait-copy { grid-area: copy; align-self: start; }
.professional-portrait-visual {
  position: relative; min-height: 650px; display: grid; place-items: center; margin: 0;
  overflow: hidden; border-radius: var(--g16-radius);
  color: #fff; background: linear-gradient(145deg, #29365f, #121827);
  box-shadow: var(--g16-shadow); background-position: center; background-size: cover;
}
.professional-portrait-visual.has-image::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.5), transparent 48%);
}
.professional-portrait-visual figcaption {
  position: absolute; z-index: 1; right: 1.2rem; bottom: 1.1rem; left: 1.2rem;
  color: rgba(255,255,255,.76); font-size: .8rem;
}
.portrait-placeholder {
  position: relative; width: min(48%, 220px); aspect-ratio: 3 / 4;
  overflow: hidden; border-radius: 45% 45% .8rem .8rem;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));
}
.portrait-placeholder::before {
  content: ""; position: absolute; left: 50%; top: 13%; width: 38%; aspect-ratio: 1;
  border-radius: 50%; background: rgba(255,255,255,.42); transform: translateX(-50%);
}
.portrait-placeholder::after {
  content: ""; position: absolute; left: 50%; bottom: -5%; width: 88%; height: 62%;
  border-radius: 50% 50% 0 0; background: rgba(255,255,255,.42); transform: translateX(-50%);
}
.professional-portrait-copy h2 { max-width: 720px; }
.portrait-offers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 2rem; }
.portrait-offer {
  min-height: 330px; display: flex; flex-direction: column; padding: 1.6rem;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
}
.portrait-offer > span {
  color: var(--g16-cinnabar); font-size: .76rem; font-weight: 900;
  letter-spacing: .1em; text-transform: uppercase;
}
.portrait-offer strong {
  display: block; margin: auto 0 .5rem; color: var(--g16-cinnabar);
  font-family: Georgia, "Times New Roman", serif; font-size: 2.8rem; font-weight: 400;
}
.portrait-offer p { margin: 0; color: var(--g16-ink); font-size: .92rem; }
.portrait-offer small { display: block; margin-top: .8rem; color: var(--g16-muted); line-height: 1.5; }
.portrait-offer-dark { color: #fff; background: var(--g16-indigo); }
.portrait-offer-dark > span { color: var(--g16-blue); }
.portrait-offer-dark strong { color: #fff; }
.portrait-offer-dark p { color: #fff; }
.portrait-offer-dark small { color: rgba(255,255,255,.68); }
.portrait-extra { margin: 1.2rem 0 1.5rem; color: var(--g16-muted); font-size: .88rem; }
.portrait-extra strong { color: var(--g16-ink); }

.shop-hero:not([style*="background-image"]) {
  background:
    linear-gradient(115deg, rgba(5,11,32,.15), rgba(5,11,32,.45)),
    radial-gradient(circle at 72% 28%, rgba(174,202,205,.38), transparent 24%),
    linear-gradient(135deg, #11182c, var(--g16-indigo));
}
.shop-intro {
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(2.5rem, 6vw, 6rem); align-items: end; margin-bottom: 3.5rem;
}
.shop-intro h2 { max-width: none; }
.shop-universe-title {
  display: flex; flex-wrap: wrap; align-items: baseline;
  column-gap: .38em; row-gap: .14em;
  font-size: clamp(2.65rem, 4.35vw, 4.15rem) !important;
  line-height: 1.03 !important;
}
.shop-universe-title span { white-space: nowrap; }
.shop-universe-title i {
  color: var(--g16-cinnabar); font-style: normal; font-size: .72em;
  transform: translateY(-.06em);
}
.shop-collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.shop-collection-card {
  position: relative; min-height: 480px; display: flex; flex-direction: column; justify-content: space-between;
  padding: 1.7rem; overflow: hidden; border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius); color: #fff; background: var(--g16-indigo) center/cover;
  isolation: isolate; transition: transform .25s, box-shadow .25s;
}
.shop-collection-card:nth-child(2) { background-color: #293846; }
.shop-collection-card:nth-child(3) { background-color: #55372d; }
.shop-collection-card::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.82), rgba(0,0,0,.04) 75%);
}
.shop-collection-card:hover, .shop-collection-card.is-active { transform: translateY(-5px); box-shadow: var(--g16-shadow); }
.shop-collection-card.is-active { outline: 3px solid var(--g16-cinnabar); outline-offset: -3px; }
.shop-collection-number { font-size: .76rem; font-weight: 900; letter-spacing: .14em; }
.shop-collection-card h3 {
  margin: 0; font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; line-height: 1;
}
.shop-collection-card p { margin: .8rem 0 0; color: rgba(255,255,255,.75); font-size: .9rem; }
.shop-collection-card small {
  display: block; margin-top: 1.2rem; color: var(--g16-blue);
  font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.shop-collection-card.has-preview-image::before {
  background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.52) 42%, rgba(0,0,0,.10) 78%);
}
.shop-collection-cta {
  display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.15rem;
  font-size: .78rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase;
  color: #fff;
}
.shop-collection-card:hover .shop-collection-cta span { transform: translateX(4px); }
.shop-collection-cta span { transition: transform .2s ease; }
.shop-catalogue-head {
  display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 1.6rem;
}
.shop-catalogue-head h2 { font-size: clamp(2.4rem, 5vw, 4.2rem); }
.shop-catalogue-head p { margin: .6rem 0 0; color: var(--g16-muted); }
.shop-tools { width: min(100%, 440px); display: grid; gap: .7rem; }
.shop-search { width: 100%; display: flex; }
.shop-search input[type="search"] {
  min-width: 0; flex: 1; padding: .85rem 1rem; border: 1px solid var(--g16-border);
  border-radius: 999px 0 0 999px; background: #fff; font: inherit; font-size: .9rem;
}
.shop-search button {
  padding: .85rem 1.1rem; border: 0; border-radius: 0 999px 999px 0;
  color: #fff; background: var(--g16-indigo); font-weight: 800; cursor: pointer;
}
.shop-cart-link {
  justify-self: end; color: var(--g16-indigo); font-size: .8rem; font-weight: 850;
  letter-spacing: .06em; text-transform: uppercase;
}
.shop-cart-link span {
  display: inline-grid; min-width: 1.6rem; height: 1.6rem; place-items: center; margin-left: .35rem;
  border-radius: 50%; color: #fff; background: var(--g16-cinnabar); font-size: .72rem;
}
.shop-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2.5rem; }
.shop-filters a {
  padding: .55rem .9rem; border: 1px solid var(--g16-border); border-radius: 999px;
  color: var(--g16-muted); background: rgba(255,255,255,.58); font-size: .78rem; font-weight: 750;
}
.shop-filters a:hover, .shop-filters a.is-active { color: #fff; border-color: var(--g16-indigo); background: var(--g16-indigo); }
.shop-tribe-filter {
  margin: -1.25rem 0 2.5rem; padding: 1.1rem 1.2rem; border-left: 4px solid var(--g16-cinnabar);
  border-radius: 0 var(--g16-radius) var(--g16-radius) 0; background: rgba(255,255,255,.72);
}
.shop-tribe-filter strong {
  display: block; margin-bottom: .7rem; color: var(--g16-indigo); font-size: .76rem;
  font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
}
.shop-tribe-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.shop-tribe-links a {
  padding: .45rem .75rem; border: 1px solid var(--g16-border); border-radius: 999px;
  color: var(--g16-muted); background: #fff; font-size: .76rem; font-weight: 750;
}
.shop-tribe-links a:hover, .shop-tribe-links a.is-active { color: #fff; border-color: var(--g16-cinnabar); background: var(--g16-cinnabar); }
.shop-empty-state {
  max-width: 850px; padding: clamp(2rem, 5vw, 4rem); border-radius: var(--g16-radius);
  background: #fff; box-shadow: var(--g16-shadow);
}
.shop-empty-state > span { color: var(--g16-cinnabar); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.shop-empty-state h3 { margin: .7rem 0; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.05; }
.shop-empty-state p { max-width: 660px; color: var(--g16-muted); }
.shop-order-guide .section-head { margin-bottom: 2.5rem; }
.shop-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.shop-guide-grid article {
  min-height: 260px; display: flex; flex-direction: column; padding: 1.7rem;
  border: 1px solid rgba(255,255,255,.16); border-radius: var(--g16-radius); background: rgba(255,255,255,.06);
}
.shop-guide-grid span { color: var(--g16-blue); font-size: .76rem; font-weight: 900; letter-spacing: .12em; }
.shop-guide-grid h3 { margin: auto 0 .6rem; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.shop-guide-grid p { margin: 0; color: rgba(255,255,255,.68); font-size: .9rem; }
.shop-quality-note { margin: 1.5rem 0 0; color: rgba(255,255,255,.7); font-size: .88rem; }
.shop-quality-note strong { color: #fff; }
.shop-cta { color: #fff; background: var(--g16-indigo); }
.home-shop-callout {
  display: grid; grid-template-columns: 1.2fr auto; gap: 2rem; align-items: center;
  padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius); background: #f4f1ed;
}
.home-shop-callout h2 { max-width: 820px; }

/* WooCommerce catalogue, product, cart and checkout */
.woocommerce-shell { padding-top: 10rem; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 2rem; color: var(--g16-muted); font-size: .82rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--g16-cinnabar); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 2rem; }
.woocommerce .woocommerce-ordering select,
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  padding: .75rem; border: 1px solid var(--g16-border); border-radius: .45rem; background: #fff; font: inherit;
}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto; float: none; margin: 0; padding: 0 0 1.4rem; overflow: hidden;
  border: 1px solid var(--g16-border); border-radius: var(--g16-radius); background: #fff;
  transition: transform .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--g16-shadow); }
.woocommerce ul.products li.product a img {
  width: 100%; margin: 0 0 1rem; padding: .65rem; aspect-ratio: 4 / 5;
  object-fit: contain; background: #f2efea;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 1.2rem; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.15; }
.woocommerce ul.products li.product .price { padding: 0 1.2rem; color: var(--g16-cinnabar); font-weight: 850; }
.woocommerce ul.products li.product .button { margin: .8rem 1.2rem 0; }

/* Galerie16 V4.33.3 — catalogue desktop : cartes larges et lisibles */
.g16-product-catalogue .woocommerce ul.products.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.2vw, 2rem) !important;
}
.g16-product-catalogue .woocommerce ul.products.columns-3 li.product,
.g16-product-catalogue .woocommerce-page ul.products.columns-3 li.product {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}
.g16-product-catalogue .woocommerce ul.products li.product a img {
  width: 100% !important;
  min-height: 320px;
  aspect-ratio: 4 / 5;
  object-fit: contain;
}
.g16-product-catalogue .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: clamp(1.35rem, 1.7vw, 1.7rem);
}
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: .35rem .7rem; border-radius: 999px; background: var(--g16-cinnabar); line-height: 1.4; }
.woocommerce nav.woocommerce-pagination { margin-top: 2rem; }
.woocommerce nav.woocommerce-pagination ul { overflow: hidden; border: 1px solid var(--g16-border); border-radius: 999px; }
.woocommerce nav.woocommerce-pagination ul li { border-right-color: var(--g16-border); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; padding: .7rem; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--g16-indigo); }
.woocommerce div.product,
.woocommerce-page div.product {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
  width: 100%;
  max-width: none;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce-page div.product div.images,
.woocommerce-page div.product div.summary {
  float: none;
  width: auto;
  margin: 0;
}
.woocommerce div.product .summary,
.woocommerce-page div.product .summary {
  min-width: 0;
}
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce-page div.product .woocommerce-product-details__short-description {
  font-size: 1.02rem;
  line-height: 1.75;
}
.woocommerce div.product .g16-product-introduction,
.woocommerce-page div.product .g16-product-introduction {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: clamp(1rem, 3vw, 2.5rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  border-left: 4px solid var(--g16-cinnabar);
  border-radius: 0 var(--g16-radius) var(--g16-radius) 0;
  background: #f4f0eb;
  font-size: 1.05rem;
  line-height: 1.8;
}
.woocommerce div.product .g16-product-introduction h2,
.woocommerce-page div.product .g16-product-introduction h2 {
  margin: 0 0 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 400;
  line-height: 1.05;
}
.woocommerce div.product .g16-product-introduction > *:not(.eyebrow),
.woocommerce-page div.product .g16-product-introduction > *:not(.eyebrow) {
  max-width: 82ch;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs,
.woocommerce div.product .wc-tabs-wrapper,
.woocommerce-page div.product .wc-tabs-wrapper {
  grid-column: 1 / -1;
  clear: both;
  float: none;
  width: 100%;
  max-width: none;
  margin-top: clamp(1rem, 3vw, 2.5rem);
}
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce-page div.product .woocommerce-Tabs-panel,
.woocommerce #tab-description,
.woocommerce-page #tab-description {
  display: block;
  float: none;
  clear: both;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius);
  background: #fff;
  line-height: 1.75;
}
.woocommerce div.product .woocommerce-tabs .panel > *,
.woocommerce-page div.product .woocommerce-tabs .panel > *,
.woocommerce #tab-description > *,
.woocommerce-page #tab-description > * {
  width: 100%;
  max-width: 82ch;
}
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce-page div.product .woocommerce-tabs .panel h2,
.woocommerce-page div.product .woocommerce-tabs .panel h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.15;
}
.woocommerce div.product div.images img { border-radius: var(--g16-radius); }
.woocommerce div.product .product_title { font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--g16-cinnabar); font-size: 1.5rem; font-weight: 850; }
.woocommerce div.product form.cart .variations label { color: var(--g16-indigo); }
.woocommerce div.product form.cart .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  color: #fff; background: var(--g16-cinnabar); border-radius: 999px;
}
.woocommerce div.product form.cart .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: #fff; background: #d83924; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--g16-indigo); background: #f3f1ed; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--g16-indigo); }
.woocommerce table.shop_table { border-color: var(--g16-border); border-radius: var(--g16-radius); }
.woocommerce-checkout #payment { background: #f2eeea; }
.entry-content { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: 5rem 0; }
.entry-content > * { max-width: 100%; }
.entry-content a { color: var(--g16-cinnabar); text-decoration: underline; }
.entry-content h2, .entry-content h3 { font-family: Georgia, serif; line-height: 1.15; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 980px) {
  .menu-toggle { display: block; }
  .main-nav {
    position: absolute; inset: 86px 0 auto; display: none; padding: 1.2rem 20px 1.6rem;
    color: var(--g16-ink); background: var(--g16-paper); box-shadow: 0 18px 30px rgba(0,0,0,.12);
  }
  .main-nav.is-open { display: block; }
  .main-nav ul { align-items: stretch; flex-direction: column; gap: 0; }
  .main-nav a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--g16-border); }
  .manifesto, .contact-grid, .restoration-intro, .digitization-intro,
  .prints-intro, .print-price-layout, .fineart-layout, .framing-layout,
  .equipment-layout, .identity-intro, .identity-sheet-layout, .home-service-layout,
  .enlargement-layout, .on-site-banner,
  .shop-intro, .home-shop-callout { grid-template-columns: 1fr; gap: 2rem; }
  .professional-portrait-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "visual"
      "copy";
    gap: 2rem;
  }
  .enlargement-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "visual"
      "copy";
    gap: 1.5rem;
  }
  .shop-universe-title { column-gap: .28em; row-gap: .1em; font-size: clamp(2.45rem, 11vw, 3.5rem) !important; }
  .on-site-banner > div:last-child { padding-left: 0; padding-top: 1.5rem; border-left: 0; border-top: 3px solid var(--g16-cinnabar); }
  .curtis-grid { grid-template-columns: 1fr; }
  .curtis-image { min-height: 520px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-grid-seven .service-card,
  .service-grid-seven .service-card:nth-child(n+4),
  .service-grid-eight .service-card, .service-grid-nine .service-card { grid-column: auto; }
  .express-block { grid-template-columns: 1fr; }
  .benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .reproduction-pricing { grid-template-columns: 1fr; gap: 1rem; }
  .restoration-capabilities, .restoration-delivery-grid, .support-grid, .scan-levels,
  .paper-grid, .format-guide-grid, .ratio-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .restoration-cta, .service-cta, .scan-restoration-callout { grid-template-columns: 1fr; }
  .shop-collection-grid, .shop-guide-grid, .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .shop-catalogue-head { align-items: stretch; flex-direction: column; }
  .shop-tools, .shop-search { width: 100%; }
  .woocommerce div.product,
  .woocommerce-page div.product {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce-page div.product .woocommerce-tabs,
  .woocommerce div.product .wc-tabs-wrapper,
  .woocommerce-page div.product .wc-tabs-wrapper {
    grid-column: auto;
  }
}
@media (max-width: 700px) {
  :root { --g16-wrap: min(100% - 28px, 1180px); }
  body.admin-bar .site-header { top: 46px; }
  .header-inner { min-height: 72px; }
  .main-nav { top: 72px; }
  .custom-logo { max-height: 48px; }
  .hero { min-height: 88svh; }
  .hero-content { padding-bottom: 8vh; }
  .hero::before { background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.05) 85%); }
  .hero h1 { font-size: clamp(3.1rem, 18vw, 5.7rem); }
  .hero-copy { max-width: 35ch; }
  .hero-actions .button { width: 100%; }
  .section { padding: 4.5rem 0; }
  section[id] { scroll-margin-top: 84px; }
  body.admin-bar section[id] { scroll-margin-top: 130px; }
  .manifesto { gap: 1.5rem; }
  .service-grid, .work-grid, .pricing-grid, .studio-technique-grid { grid-template-columns: 1fr; }
  .pricing-panel-wide { grid-column: auto; }
  .express-block { padding: 1.5rem; }
  .express-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 220px; }
  .work-card, .work-card:first-child { grid-column: auto; min-height: 420px; }
  .curtis-image { min-height: 460px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .contact-item { grid-template-columns: 1fr; gap: .2rem; }
  .footer-grid { align-items: flex-start; flex-direction: column; }
  .footer-meta { text-align: left; }
  .footer-legal { justify-content: flex-start; }
  .comparison-frame { min-height: 0; aspect-ratio: 4 / 3; border-radius: .75rem; }
  .comparison-divider::after { width: 48px; height: 48px; }
  .restoration-capabilities, .support-grid, .scan-levels, .process-grid,
  .restoration-delivery-grid, .paper-grid, .format-guide-grid, .print-choice-grid,
  .equipment-grid, .identity-options, .ratio-guide-grid { grid-template-columns: 1fr; }
  .portrait-offers, .shop-collection-grid, .shop-guide-grid, .woocommerce ul.products { grid-template-columns: 1fr; }
  .professional-portrait-visual { min-height: 520px; }
  .shop-collection-card { min-height: 400px; }
  .shop-search { display: grid; grid-template-columns: 1fr; gap: .55rem; }
  .shop-search input[type="search"], .shop-search button { border-radius: 999px; }
  .ratio-guide-card { min-height: 390px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}


/* Galerie16 V4.33.11 — panier éditorial et workflow calibré */
.g16-cart-hero {
  min-height: clamp(360px, 50vw, 620px);
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: var(--g16-radius);
  background: linear-gradient(135deg, #111827, var(--g16-indigo));
  background-position: center;
  background-size: cover;
  color: #fff;
}
.g16-cart-hero-inner {
  width: min(720px, 100%);
  padding: clamp(2rem, 6vw, 5rem);
}
.g16-cart-hero .eyebrow { color: #ff5a3c; }
.g16-cart-hero h1 {
  margin: .45rem 0 1rem;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 6vw, 5.2rem);
  font-weight: 400;
  line-height: .98;
}
.g16-cart-hero p:not(.eyebrow) {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.65;
}
.g16-cart-quality {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
  padding: clamp(1.6rem, 4vw, 3.2rem);
  border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius);
  background: #f4f1ed;
}
.g16-cart-quality h2 {
  margin: .4rem 0 1rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 400;
  line-height: 1.05;
}
.g16-cart-quality-copy > p:last-child { margin-bottom: 0; color: var(--g16-muted); line-height: 1.75; }
.g16-cart-quality-points { display: grid; gap: .75rem; align-content: center; }
.g16-cart-quality-points span {
  position: relative;
  padding: .9rem 1rem .9rem 2.3rem;
  border-radius: .7rem;
  background: #fff;
  font-size: .92rem;
  font-weight: 750;
}
.g16-cart-quality-points span::before {
  content: "✓";
  position: absolute;
  left: .9rem;
  color: var(--g16-cinnabar);
  font-weight: 900;
}
.woocommerce-cart .entry-content {
  width: min(1180px, calc(100% - 40px));
  padding-top: 7.5rem;
}
@media (max-width: 760px) {
  .g16-cart-quality { grid-template-columns: 1fr; }
  .g16-cart-hero { min-height: 420px; }
  .g16-cart-hero-inner { padding: 2rem 1.4rem; }
}


/* V4.33.13 — Cartes visuelles Numérisation */
.support-grid-visual{align-items:stretch}
.support-card-visual{padding:0!important;overflow:hidden;text-decoration:none;color:inherit;display:flex!important;flex-direction:column;min-height:100%;transition:transform .22s ease,box-shadow .22s ease}
.support-card-visual:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(18,24,30,.10)}
.support-card-media{height:205px;background-size:cover;background-position:center;flex:0 0 auto}
.support-card-media-empty{background:linear-gradient(135deg,#e7e4de,#d4d0c8);position:relative}
.support-card-media-empty:after{content:"Image à sélectionner";position:absolute;inset:0;display:grid;place-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#777}
.support-card-body{padding:24px 22px 22px;display:flex;flex-direction:column;flex:1}
.support-card-body>span{color:#f04432;font-weight:800;font-size:13px}
.support-card-body h3{margin:24px 0 10px}
.support-card-body p{margin:0 0 22px;flex:1}
.support-discover{display:flex;align-items:center;justify-content:space-between;border:1px solid #f04432;border-radius:9px;padding:12px 15px;color:#f04432;font-size:13px;text-transform:none}
.support-discover b{font-size:20px;font-weight:400;line-height:1}
.support-detail{scroll-margin-top:110px;padding:34px;border:1px solid rgba(20,20,20,.09);border-radius:16px;background:#fff}
.support-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.support-detail h2{font-size:clamp(27px,3vw,42px);margin:8px 0 14px}
.support-detail p:last-child{color:#686868;line-height:1.65}
@media(max-width:900px){.support-details-grid{grid-template-columns:1fr}.support-card-media{height:230px}}


/* V4.33.14 — Univers détaillé Négatifs */
.support-detail-featured{
    grid-column:1 / -1;
    padding:0;
    overflow:hidden;
    border:0;
    background:#f3f5f4;
}
.negative-universe{
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    min-height:620px;
}
.negative-universe-media{
    min-height:620px;
    background-size:cover;
    background-position:center;
}
.negative-universe-content{
    padding:clamp(42px,5vw,76px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.negative-universe-content h2{
    font-size:clamp(42px,4.8vw,68px);
    line-height:.98;
    margin:12px 0 24px;
}
.negative-lead{
    font-size:17px;
    line-height:1.65;
    color:#5f6261;
    max-width:650px;
}
.negative-features{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:26px 0 28px;
}
.negative-features span{
    padding:9px 12px;
    border:1px solid rgba(20,20,20,.14);
    border-radius:999px;
    background:#fff;
    font-size:12px;
    font-weight:700;
}
.negative-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:30px;
}
.negative-quality{
    padding:22px 24px;
    background:#fff;
    border-left:4px solid #f04432;
    border-radius:0 12px 12px 0;
}
.negative-quality strong{
    display:block;
    font-family:Georgia,serif;
    font-size:22px;
    margin-bottom:7px;
}
.negative-quality p{
    margin:0;
    color:#666;
    line-height:1.55;
}
@media(max-width:900px){
    .negative-universe{grid-template-columns:1fr;min-height:0}
    .negative-universe-media{min-height:360px}
    .negative-universe-content{padding:36px 25px 42px}
}


/* V4.33.15 — correction univers Numérisation */
.support-details-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}
.support-detail-featured{
    grid-column:1 / -1 !important;
    width:100%;
    max-width:none;
}
.support-detail-featured .negative-universe{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr) !important;
    min-height:610px;
}
.support-detail-featured .negative-universe-media{
    display:block !important;
    width:100%;
    min-height:610px;
    background-size:cover !important;
    background-position:center center !important;
}
.support-detail-featured .negative-universe-content{
    display:flex !important;
    flex-direction:column;
    justify-content:center;
    padding:54px 48px;
}
.support-detail-featured .negative-features{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.support-detail-featured .negative-features span{
    display:block;
    padding:11px 13px;
    background:#fff;
    border:1px solid rgba(20,20,20,.12);
    border-radius:999px;
    line-height:1.25;
}
.support-detail-featured .negative-quality{
    display:block;
    margin-top:2px;
    padding:20px 22px;
    background:#fff;
    border-left:4px solid #f04432;
    border-radius:0 12px 12px 0;
}
@media(max-width:900px){
    .support-details-grid{grid-template-columns:1fr}
    .support-detail-featured .negative-universe{
        grid-template-columns:1fr !important;
        min-height:0;
    }
    .support-detail-featured .negative-universe-media{
        min-height:360px;
    }
    .support-detail-featured .negative-universe-content{
        padding:36px 25px 42px;
    }
}
@media(max-width:520px){
    .support-detail-featured .negative-features{grid-template-columns:1fr}
}


/* V4.33.16 — bloc Négatifs plus compact */
.support-detail-featured .negative-universe{
    min-height:410px !important;
    grid-template-columns:minmax(0,1fr) minmax(420px,.92fr) !important;
}
.support-detail-featured .negative-universe-media{
    min-height:410px !important;
    max-height:410px !important;
}
.support-detail-featured .negative-universe-content{
    padding:30px 38px !important;
}
.support-detail-featured .negative-universe-content h2{
    font-size:clamp(36px,3.7vw,54px) !important;
    margin:8px 0 16px !important;
}
.support-detail-featured .negative-lead{
    font-size:15px !important;
    line-height:1.5 !important;
}
.support-detail-featured .negative-features{
    margin:18px 0 18px !important;
    gap:8px !important;
}
.support-detail-featured .negative-features span{
    padding:8px 11px !important;
    font-size:11px !important;
}
.support-detail-featured .negative-actions{
    margin-bottom:18px !important;
}
.support-detail-featured .negative-quality{
    padding:16px 18px !important;
}
.support-detail-featured .negative-quality strong{
    font-size:18px !important;
}
.support-detail-featured .negative-quality p{
    font-size:13px !important;
    line-height:1.45 !important;
}
@media(max-width:900px){
    .support-detail-featured .negative-universe{
        min-height:0 !important;
        grid-template-columns:1fr !important;
    }
    .support-detail-featured .negative-universe-media{
        min-height:280px !important;
        max-height:280px !important;
    }
    .support-detail-featured .negative-universe-content{
        padding:28px 24px 34px !important;
    }
}


/* V4.33.17 — univers Négatifs encore plus compact */
.support-detail-featured .negative-universe{
    min-height:340px !important;
    grid-template-columns:minmax(0,.94fr) minmax(430px,1.06fr) !important;
}
.support-detail-featured .negative-universe-media{
    min-height:340px !important;
    max-height:340px !important;
}
.support-detail-featured .negative-universe-content{
    padding:24px 30px !important;
}
.support-detail-featured .negative-universe-content h2{
    font-size:clamp(32px,3.2vw,46px) !important;
    line-height:1 !important;
    margin:6px 0 12px !important;
}
.support-detail-featured .negative-lead{
    font-size:13px !important;
    line-height:1.45 !important;
}
.support-detail-featured .negative-features{
    margin:13px 0 13px !important;
}
.support-detail-featured .negative-features span{
    padding:6px 9px !important;
    font-size:10px !important;
}
.support-detail-featured .negative-actions{
    margin-bottom:12px !important;
}
.support-detail-featured .negative-quality{
    padding:12px 15px !important;
}
.support-detail-featured .negative-quality strong{
    font-size:16px !important;
    margin-bottom:4px !important;
}
.support-detail-featured .negative-quality p{
    font-size:11px !important;
    line-height:1.4 !important;
}
@media(max-width:900px){
    .support-detail-featured .negative-universe{grid-template-columns:1fr !important}
    .support-detail-featured .negative-universe-media{
        min-height:240px !important;
        max-height:240px !important;
    }
}


/* V4.33.18 — réduction réelle du bloc complet Négatifs */
.support-detail-featured{
    min-height:0 !important;
}
.support-detail-featured .negative-universe{
    min-height:0 !important;
    height:auto !important;
    grid-template-columns:42% 58% !important;
    align-items:stretch !important;
}
.support-detail-featured .negative-universe-media{
    min-height:300px !important;
    max-height:none !important;
    height:auto !important;
    align-self:stretch !important;
    background-size:cover !important;
    background-position:center !important;
}
.support-detail-featured .negative-universe-content{
    min-height:300px !important;
    height:auto !important;
    padding:20px 24px !important;
    justify-content:center !important;
}
.support-detail-featured .negative-universe-content h2{
    font-size:clamp(29px,2.7vw,40px) !important;
    margin:4px 0 9px !important;
}
.support-detail-featured .negative-lead{
    font-size:12px !important;
    line-height:1.4 !important;
    margin:0 !important;
}
.support-detail-featured .negative-features{
    margin:10px 0 !important;
    gap:6px !important;
}
.support-detail-featured .negative-features span{
    padding:5px 8px !important;
    font-size:9px !important;
}
.support-detail-featured .negative-actions{
    margin:0 0 9px !important;
    gap:8px !important;
}
.support-detail-featured .negative-actions .button{
    padding:10px 15px !important;
    font-size:10px !important;
}
.support-detail-featured .negative-quality{
    margin:0 !important;
    padding:9px 12px !important;
}
.support-detail-featured .negative-quality strong{
    font-size:15px !important;
    margin-bottom:2px !important;
}
.support-detail-featured .negative-quality p{
    font-size:10px !important;
    line-height:1.3 !important;
}
@media(max-width:900px){
    .support-detail-featured .negative-universe{
        grid-template-columns:1fr !important;
    }
    .support-detail-featured .negative-universe-media{
        min-height:220px !important;
        height:220px !important;
    }
    .support-detail-featured .negative-universe-content{
        min-height:0 !important;
        padding:24px !important;
    }
}


/* V4.33.19 — lisibilité du bloc Négatifs + lien Tarifs corrigé */
.support-detail-featured .negative-universe-content{
    padding:22px 26px !important;
}
.support-detail-featured .negative-universe-content h2{
    font-size:clamp(32px,3vw,43px) !important;
    line-height:1.02 !important;
    margin:5px 0 11px !important;
}
.support-detail-featured .negative-lead{
    font-size:14px !important;
    line-height:1.48 !important;
}
.support-detail-featured .negative-features{
    margin:11px 0 !important;
    gap:7px !important;
}
.support-detail-featured .negative-features span{
    padding:6px 9px !important;
    font-size:10.5px !important;
}
.support-detail-featured .negative-actions .button{
    padding:10px 15px !important;
    font-size:10.5px !important;
}
.support-detail-featured .negative-quality{
    padding:11px 13px !important;
}
.support-detail-featured .negative-quality strong{
    font-size:17px !important;
}
.support-detail-featured .negative-quality p{
    font-size:12px !important;
    line-height:1.38 !important;
}


/* V4.33.20 — ancre de navigation Tarifs */
#tarifs,
.g16-anchor-target{
    scroll-margin-top:110px;
}

/* V4.33.22b — ancres stables des grandes sections */
#services,#identite,#tirages,#creations,#restauration,#numerisation,
#boutique,#realisations,#tarifs,#contact,.g16-section-anchor{scroll-margin-top:110px;}
.g16-section-anchor{display:block;height:0;overflow:hidden;}

/* V4.33.23 — accès direct aux tarifs de numérisation */
#tarifs-numerisation{
    scroll-margin-top:110px;
}


/* V4.33.26 — Page L'Image autrement */
.image-autrement-page{background:#fff}
.image-autrement-hero{padding:112px 0 72px;background:#f3f5f4}
.image-autrement-hero-grid{
    display:grid;
    grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
    gap:0;
    overflow:hidden;
    border-radius:20px;
    background:#fff;
    box-shadow:0 20px 55px rgba(22,28,30,.08);
}
.image-autrement-hero-media{
    min-height:650px;
    background-size:cover;
    background-position:center;
}
.image-autrement-hero-empty{
    background:linear-gradient(145deg,#efe7da,#d7c2a3);
}
.image-autrement-hero-copy{
    padding:clamp(46px,6vw,88px);
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.image-autrement-hero-copy h1{
    font-size:clamp(54px,6.7vw,94px);
    line-height:.92;
    margin:10px 0 28px;
}
.image-autrement-lead{
    font-size:20px;
    line-height:1.52;
    color:#313433;
    max-width:720px;
}
.image-autrement-hero-copy>p:not(.eyebrow):not(.image-autrement-lead){
    color:#676b69;
    line-height:1.65;
    max-width:720px;
}
.image-autrement-pillars{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:38px;
}
.image-autrement-pillars article{
    padding:30px;
    border:1px solid rgba(20,20,20,.09);
    border-radius:16px;
    background:#fff;
}
.image-autrement-pillars span{
    display:block;
    color:#f04432;
    font-weight:800;
    font-size:12px;
    letter-spacing:.08em;
    margin-bottom:36px;
}
.image-autrement-pillars h3{
    font-size:28px;
    line-height:1.04;
    margin:0 0 14px;
}
.image-autrement-pillars p{
    margin:0;
    color:#6a6d6c;
    line-height:1.58;
}
.image-autrement-catalogue-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
}
.image-autrement-products ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media(max-width:980px){
    .image-autrement-hero-grid{grid-template-columns:1fr}
    .image-autrement-hero-media{min-height:560px;background-position:center 35%}
    .image-autrement-pillars{grid-template-columns:1fr}
}
@media(max-width:640px){
    .image-autrement-hero{padding:110px 0 40px}
    .image-autrement-hero-grid{border-radius:14px}
    .image-autrement-hero-media{min-height:430px}
    .image-autrement-hero-copy{padding:34px 24px 40px}
    .image-autrement-hero-copy h1{font-size:clamp(48px,17vw,70px)}
    .image-autrement-catalogue-head{display:block}
    .image-autrement-catalogue-head .button{margin-top:18px}
}


/* V4.33.28 — Réalisations : 4 univers équilibrés */
#realisations .section-head{
    max-width:860px;
    margin-bottom:34px;
}
#realisations .section-head h2{
    max-width:760px;
}
#realisations .work-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
#realisations .work-card,
#realisations .work-card:first-child{
    grid-column:auto;
    min-height:390px;
}
#realisations .work-card::before{
    background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.34) 48%,rgba(0,0,0,.06) 78%);
}
#realisations .work-card-content{
    padding:28px;
    max-width:92%;
}
#realisations .work-card h3{
    font-size:clamp(28px,3vw,40px);
    line-height:1;
}
#realisations .work-card p{
    max-width:520px;
    font-size:14px;
    line-height:1.52;
}
#realisations .work-card-button{
    margin-top:14px;
}
@media(max-width:760px){
    #realisations .work-grid{grid-template-columns:1fr}
    #realisations .work-card,
    #realisations .work-card:first-child{min-height:330px}
}

/* V4.33.29 — Pourquoi Galerie16 */
.why-g16 .section-head{max-width:880px;margin-bottom:40px}
.why-g16 .section-head h2{max-width:820px}
.why-g16 .section-intro{max-width:760px;color:rgba(255,255,255,.76)}
.why-g16 .benefit-grid{gap:14px}
.why-g16 .benefit{
    position:relative;
    min-height:190px;
    padding:28px 26px 26px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.055);
}
.why-g16 .benefit-number{
    display:block;
    margin-bottom:24px;
    color:#fff;
    opacity:.52;
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
}
.why-g16 .benefit h3{font-size:21px;line-height:1.12;margin-bottom:10px}
.why-g16 .benefit p{color:rgba(255,255,255,.76);line-height:1.55}
@media(max-width:760px){
    .why-g16 .benefit{min-height:auto;padding:24px 22px}
    .why-g16 .benefit-number{margin-bottom:18px}
}


/* V4.33.30 — Pourquoi Galerie16 : grille 3 x 2 */
.why-g16 .benefit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.why-g16 .benefit{
    width:auto;
    min-width:0;
    min-height:205px;
}
@media (max-width:980px){
    .why-g16 .benefit-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:620px){
    .why-g16 .benefit-grid{
        grid-template-columns:1fr;
    }
    .why-g16 .benefit{
        min-height:auto;
    }
}


/* V4.33.31 — Contact / fin de page */
.contact-final-head{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:clamp(30px,7vw,90px);
    align-items:end;
    margin-bottom:42px;
}
.contact-final-head h2{
    max-width:800px;
    margin-bottom:0;
}
.contact-final-head .section-intro{
    margin:0;
    color:rgba(255,255,255,.74);
}
.contact-final-grid{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    gap:18px;
    align-items:stretch;
}
.contact-final-info{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.contact-detail-card,
.contact-action-card{
    border:1px solid rgba(255,255,255,.14);
    border-radius:18px;
    background:rgba(255,255,255,.055);
}
.contact-detail-card{
    padding:22px 24px;
}
.contact-detail-card>span{
    display:block;
    margin-bottom:14px;
    color:rgba(255,255,255,.48);
    font-size:10px;
    font-weight:850;
    letter-spacing:.14em;
}
.contact-detail-card strong{
    display:block;
    margin-bottom:6px;
    font-size:19px;
}
.contact-detail-card p{
    margin:0 0 8px;
    color:rgba(255,255,255,.76);
    line-height:1.5;
}
.contact-detail-card a{
    display:block;
    width:max-content;
    max-width:100%;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}
.contact-detail-card a:hover{text-decoration:underline}
.contact-detail-card .contact-big-link{
    margin:6px 0 4px;
    font-family:Georgia,serif;
    font-size:25px;
    font-weight:400;
}
.contact-action-card{
    padding:clamp(30px,4vw,48px);
    background:#fff;
    color:#161616;
}
.contact-action-card .eyebrow{color:var(--g16-red)}
.contact-action-card h3{
    max-width:580px;
    margin:8px 0 15px;
    font-family:Georgia,serif;
    font-size:clamp(32px,3.7vw,50px);
    line-height:1;
    font-weight:400;
}
.contact-action-card>p:not(.eyebrow){
    max-width:620px;
    color:#666;
    line-height:1.58;
}
.contact-action-list{
    display:grid;
    gap:10px;
    margin:28px 0 30px;
}
.contact-action-list>div{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:12px;
    align-items:start;
    padding-top:10px;
    border-top:1px solid rgba(0,0,0,.10);
}
.contact-action-list span{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    background:#f1f2f1;
    font-size:11px;
    font-weight:800;
}
.contact-action-list p{
    margin:3px 0 0;
    color:#505352;
    line-height:1.45;
}
.contact-action-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.contact-action-card .button-outline{
    color:#161616;
    border-color:rgba(0,0,0,.28);
}
@media(max-width:920px){
    .contact-final-head,
    .contact-final-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:620px){
    .contact-final-head{margin-bottom:28px}
    .contact-detail-card{padding:20px}
    .contact-action-card{padding:28px 22px 32px}
    .contact-action-buttons{display:grid}
}


/* V4.33.35 — prix : symbole euro insécable + bloc domicile responsive */
.home-service-price strong {
  white-space: nowrap;
  font-size: clamp(2.15rem, 2.8vw, 2.65rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
}
@media (max-width: 700px) {
  .home-service-price {
    padding: 1.5rem;
  }
  .home-service-price strong {
    font-size: clamp(2rem, 9vw, 2.35rem);
  }
}
@media (max-width: 380px) {
  .home-service-price strong {
    font-size: 1.9rem;
  }
}

/* V4.33.36 — menu mobile : tous les liens restent accessibles */
@media (max-width: 980px) {
  .main-nav {
    max-height: calc(100dvh - 86px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(1.6rem, env(safe-area-inset-bottom));
  }
  .main-nav ul {
    width: 100%;
  }
}

/* V4.33.37 — Boutique WooCommerce responsive
   Corrige la règle desktop .columns-3 !important qui restait active sur mobile. */
@media (max-width: 980px) {
  .g16-product-catalogue .woocommerce ul.products.columns-3,
  .g16-product-catalogue .woocommerce-page ul.products.columns-3,
  .image-autrement-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .g16-product-catalogue .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .g16-product-catalogue .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.25rem;
  }

  .g16-product-catalogue .woocommerce ul.products li.product a img,
  .g16-product-catalogue .woocommerce-page ul.products li.product a img {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .g16-product-catalogue .woocommerce ul.products.columns-3,
  .g16-product-catalogue .woocommerce-page ul.products.columns-3,
  .image-autrement-products ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem !important;
  }

  .g16-product-catalogue .woocommerce ul.products li.product,
  .g16-product-catalogue .woocommerce-page ul.products li.product,
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .g16-product-catalogue .woocommerce ul.products li.product a img,
  .g16-product-catalogue .woocommerce-page ul.products li.product a img,
  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    padding: .75rem;
  }

  .g16-product-catalogue .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .g16-product-catalogue .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1.1rem;
    line-height: 1.35;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button {
    display: inline-flex;
    width: auto;
    max-width: calc(100% - 2rem);
    margin: .9rem 1rem 0;
    padding: .8rem 1.05rem;
    white-space: normal;
    text-align: center;
    line-height: 1.15;
  }

  .woocommerce .woocommerce-ordering,
  .woocommerce-page .woocommerce-ordering {
    width: 100%;
    float: none;
  }

  .woocommerce .woocommerce-ordering select,
  .woocommerce-page .woocommerce-ordering select {
    width: 100%;
    max-width: 100%;
  }
}

/* V4.33.38 — Boutique / catégories WooCommerce : cartes desktop pleine largeur */
@media (min-width: 981px) {
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(1.25rem, 2vw, 2rem) !important;
  }

  body.woocommerce-shop ul.products li.product,
  body.post-type-archive-product ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product,
  body.woocommerce-shop.columns-3 ul.products li.product,
  body.post-type-archive-product.columns-3 ul.products li.product,
  body.tax-product_cat.columns-3 ul.products li.product,
  body.tax-product_tag.columns-3 ul.products li.product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
  }

  body.woocommerce-shop ul.products li.product a img,
  body.post-type-archive-product ul.products li.product a img,
  body.tax-product_cat ul.products li.product a img,
  body.tax-product_tag ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    min-height: 300px;
    aspect-ratio: 4 / 5;
    object-fit: contain;
  }

  body.woocommerce-shop ul.products li.product .button,
  body.post-type-archive-product ul.products li.product .button,
  body.tax-product_cat ul.products li.product .button,
  body.tax-product_tag ul.products li.product .button {
    max-width: calc(100% - 2.4rem);
    white-space: normal;
    text-align: center;
  }
}


/* V4.34.2 — navigation regroupée et plus lisible */
@media (min-width: 961px) {
  .main-nav > ul { gap: 1.05rem; }
  .main-nav li { position: relative; }
  .main-nav .menu-item-has-children > a::after { content: " ▾"; font-size: .72em; }
  .main-nav .sub-menu {
    display: none; position: absolute; z-index: 9999; top: calc(100% + 14px); left: -18px;
    min-width: 250px; padding: .65rem; gap: 0; background: #fff; border: 1px solid var(--g16-border);
    border-radius: 14px; box-shadow: 0 16px 42px rgba(0,0,0,.13);
  }
  .main-nav .sub-menu::before { content:""; position:absolute; left:0; right:0; top:-16px; height:16px; }
  .main-nav li:hover > .sub-menu, .main-nav li:focus-within > .sub-menu { display: block; }
  .main-nav .sub-menu li { width: 100%; }
  .main-nav .sub-menu a { display:block; padding:.72rem .8rem; letter-spacing:.02em; text-transform:none; white-space:normal; border-radius:9px; }
  .main-nav .sub-menu a:hover { background:#f7f3ef; }
  .main-nav .g16-menu-shop > a { color: var(--g16-cinnabar); }
  .main-nav .g16-menu-cart > a { padding:.52rem .8rem; border:1px solid var(--g16-border); border-radius:999px; }
}
@media (max-width: 960px) {
  .main-nav .sub-menu { display:block; position:static; padding:0 0 0 1rem; box-shadow:none; border:0; }
  .main-nav .sub-menu a { font-size:.76rem; text-transform:none; letter-spacing:.02em; }
}

/* V4.34.3 : navigation desktop compacte */
@media (min-width:1000px){.g16-primary-menu>li>a{white-space:nowrap;font-size:12px!important}.g16-primary-menu{gap:clamp(10px,1.25vw,22px)!important}}


/* V4.34.5 — Produits recommandés : cartes lisibles sur desktop */
@media (min-width: 900px) {
  .single-product .related.products,
  .single-product .upsells.products {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
  }

  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 28px !important;
  }

  .single-product .related.products ul.products li.product,
  .single-product .upsells.products ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    min-width: 0 !important;
  }

  .single-product .related.products ul.products li.product img,
  .single-product .upsells.products ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: cover;
  }

  .single-product .related.products ul.products li.product .woocommerce-loop-product__title,
  .single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(22px, 1.5vw, 28px) !important;
    line-height: 1.08 !important;
    margin-top: 16px !important;
  }

  .single-product .related.products ul.products li.product .price,
  .single-product .upsells.products ul.products li.product .price {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  .single-product .related.products ul.products li.product .button,
  .single-product .upsells.products ul.products li.product .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 190px;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1 !important;
    padding: 14px 20px !important;
  }

  .single-product .related.products > h2,
  .single-product .upsells.products > h2 {
    max-width: 780px;
    font-size: clamp(44px, 4vw, 68px) !important;
    line-height: .98 !important;
    margin-bottom: 30px !important;
  }
}

@media (min-width: 600px) and (max-width: 899px) {
  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* V4.35.4 — Carte d’art : papier Fine Art générique */
.g16-fixed-fine-art-value{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 14px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  font-weight:600;
}


/* V4.35.6 — Carte d’art : pas de choix de papier, affichage Fine Art fixe */
.g16-fixed-fine-art-value{
  align-items:center;
  min-height:48px;
  width:100%;
  box-sizing:border-box;
  padding:0 14px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  font-weight:600;
}


/* V4.35.7 — valeur fixe Papier pour Carte d’art */
.g16-fine-art-fixed-v4357{
  display:none;
  align-items:center;
  min-height:48px;
  width:100%;
  box-sizing:border-box;
  padding:0 14px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  font-weight:600;
}
select[data-g16-hidden-card="1"]{
  display:none !important;
}


/* V4.35.8 — Carte d’art : Papier Fine Art sélectionné réellement */
.g16-fine-art-fixed-v4358{
  display:none;
  align-items:center;
  min-height:48px;
  width:100%;
  box-sizing:border-box;
  padding:0 14px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  font-weight:600;
}
select[data-g16-card-paper="1"]{
  display:none !important;
}


/* V4.37.3 — logo image dans le pied de page */
.footer-brand-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.footer-logo-image{
  display:block;
  width:auto;
  height:auto;
  max-width:190px;
  max-height:58px;
  object-fit:contain;
}
@media(max-width:767px){
  .footer-logo-image{
    max-width:160px;
    max-height:50px;
  }
}


/* V4.37.6 — images moins recadrées */

.shop-collection-card.has-preview-image::before{
  background:
    linear-gradient(
      to top,
      rgba(10,10,10,.86) 0%,
      rgba(10,10,10,.62) 34%,
      rgba(10,10,10,.18) 66%,
      rgba(10,10,10,.06) 100%
    ) !important;
}

/* Grilles WooCommerce : montrer davantage de l'œuvre,
   notamment pour les portraits verticaux et les compositions cadrées serrées. */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.g16-product-catalogue ul.products li.product a img{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f3f0ea;
  padding: 10px;
  box-sizing: border-box;
}

/* Évite qu'un parent recoupe malgré l'image en contain. */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link,
.g16-product-catalogue ul.products li.product .woocommerce-loop-product__link{
  overflow: visible !important;
}

/* Produit individuel : conserver l'œuvre entière autant que possible. */
.single-product div.product div.images img,
.single-product .woocommerce-product-gallery__image img{
  object-fit: contain !important;
  object-position: center center !important;
}

/* Mobile : un peu moins de marge autour des images. */
@media(max-width:767px){
  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img,
  .g16-product-catalogue ul.products li.product a img{
    padding: 6px;
  }
}


/* Cartes Boutique — visuel en vraie couche <img>, plein cadre, sans débordement.
 * (Nettoyage V4.37.10 : consolide en un seul bloc les correctifs successifs
 * V4.37.7 et V4.37.8, devenus inertes depuis que la V4.37.9 a remplacé le
 * background-image CSS par une balise <img> dédiée — même rendu, code plus
 * lisible.) */
.shop-collection-card{
  position: relative;
  overflow: hidden !important;
  isolation: isolate;
  clip-path: none !important;
  contain: layout paint;
  background-image: none !important;
}

.shop-collection-card::before,
.shop-collection-card::after,
.shop-collection-card > *{
  max-width: 100%;
}

/* Empêche tout reliquat visuel d'un contenu enfant de dépasser sous le bord arrondi. */
.shop-collection-grid{
  overflow: visible;
}

.shop-collection-media{
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.shop-collection-media img{
  display: block;
  width: 100%;
  height: 100%;
  max-width: none !important;
  object-fit: cover;
  object-position: center center;
  border-radius: inherit;
  transform: translateZ(0);
}

/* Un cadrage légèrement remonté pour les visuels verticaux des deux premières cartes. */
.shop-collection-card:nth-child(1) .shop-collection-media img,
.shop-collection-card:nth-child(2) .shop-collection-media img{
  object-position: center 42%;
}

.shop-collection-card:nth-child(3) .shop-collection-media img{
  object-position: center center;
}

.shop-collection-card::before{
  z-index: -1;
  border-radius: inherit;
}

.shop-collection-number,
.shop-collection-content{
  position: relative;
  z-index: 1;
}

/* V4.37.9 — produits recommandés sur toute la largeur de la fiche produit */
.single-product div.product > .related.products,
.single-product div.product > .upsells.products,
.woocommerce-page.single-product div.product > .related.products,
.woocommerce-page.single-product div.product > .upsells.products{
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: clamp(3rem, 7vw, 6rem) auto 0 !important;
  clear: both !important;
}

@media (min-width: 900px){
  .single-product div.product > .related.products ul.products,
  .single-product div.product > .upsells.products ul.products{
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
  }

  .single-product div.product > .related.products ul.products li.product,
  .single-product div.product > .upsells.products ul.products li.product{
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .single-product div.product > .related.products ul.products li.product a img,
  .single-product div.product > .upsells.products ul.products li.product a img{
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: contain !important;
    padding: 12px !important;
    background: #f3f0ea !important;
  }

  .single-product div.product > .related.products ul.products li.product .woocommerce-loop-product__title,
  .single-product div.product > .upsells.products ul.products li.product .woocommerce-loop-product__title{
    font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
    line-height: 1.12 !important;
    padding-inline: 1.2rem !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .single-product div.product > .related.products ul.products li.product .button,
  .single-product div.product > .upsells.products ul.products li.product .button{
    min-width: 0 !important;
    max-width: calc(100% - 2.4rem) !important;
    width: auto !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
}

@media (max-width: 899px){
  .single-product div.product > .related.products,
  .single-product div.product > .upsells.products{
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


/* V4.38.0 — page Tarifs */
.g16-tariffs-hero{
  padding: clamp(112px, 12vw, 158px) 0 clamp(44px, 6vw, 76px);
  background: #fff;
}
.g16-tariffs-hero h1{
  max-width: 850px;
  margin: .12em 0 .22em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.6rem, 8vw, 7.5rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.045em;
}
.g16-tariffs-lead{
  max-width: 760px;
  margin: 0;
  color: #625e57;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.55;
}
.g16-price-highlights{
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 42px;
}
.g16-price-highlight{
  display: grid;
  gap: 4px;
  min-height: 155px;
  padding: 22px;
  border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius);
  color: inherit;
  background: #f6f3ed;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.g16-price-highlight:hover{
  transform: translateY(-3px);
  box-shadow: var(--g16-shadow);
}
.g16-price-highlight span{
  font-weight: 750;
}
.g16-price-highlight strong{
  align-self: end;
  color: var(--g16-cinnabar);
  font-family: Georgia, serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1;
}
.g16-price-highlight small{
  color: #716b62;
}
.g16-tariffs-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}
.g16-tariffs-nav a{
  padding: 9px 14px;
  border: 1px solid var(--g16-border);
  border-radius: 999px;
  color: #171717;
  background: #fff;
  font-size: .85rem;
  font-weight: 750;
  text-decoration: none;
}
.g16-tariffs-nav a:hover{
  border-color: var(--g16-cinnabar);
  color: var(--g16-cinnabar);
}
.g16-tariffs-section-head{
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr);
  gap: clamp(28px,5vw,70px);
  align-items: end;
  margin-bottom: 32px;
}
.g16-tariffs-section-head h2{
  margin: .1em 0 0;
  max-width: 720px;
  font-family: Georgia, serif;
  font-size: clamp(2.7rem,5vw,5rem);
  font-weight: 400;
  line-height: .98;
}
.g16-tariffs-section-head > p{
  margin: 0;
  color: #6d675f;
  line-height: 1.6;
}
.g16-tariffs-two{
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.g16-tariff-card{
  padding: clamp(24px,3.5vw,42px);
  border: 1px solid var(--g16-border);
  border-radius: var(--g16-radius);
  background: #fff;
}
.g16-tariff-card h2,
.g16-tariff-card h3{
  margin: .12em 0 .45em;
  font-family: Georgia, serif;
  font-weight: 400;
}
.g16-tariff-card h2{font-size: clamp(2rem,3.2vw,3.2rem);line-height:1;}
.g16-tariff-card h3{font-size: clamp(1.75rem,2.7vw,2.7rem);line-height:1.05;}
.g16-tariff-card h3 small{font-size:.48em;font-family:inherit}
.g16-tariff-card p{line-height:1.58}
.g16-tariff-card-dark{
  color: #fff;
  background: var(--g16-indigo);
  border-color: transparent;
}
.g16-tariff-card-dark .eyebrow,
.g16-tariff-card-dark .service-link{color:#fff}
.g16-tariff-card-dark .tariff-row{border-color:rgba(255,255,255,.17)}
.g16-tariff-card-dark .tariff-row dd{color:#fff}
.g16-tariff-card-dark p{color:rgba(255,255,255,.75)}
.g16-tariff-card-dark .tariff-subheading{color:var(--g16-blue)}
.g16-tariffs-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.g16-starting-price{
  margin:22px 0 18px;
  color:var(--g16-cinnabar);
  font-family:Georgia,serif;
  font-size:clamp(2.1rem,3vw,3rem);
  line-height:1;
}
.g16-tariff-small{
  color:#70695f;
  font-size:.9rem;
}
.g16-paper-explainer{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:40px;
  margin-top:18px;
  padding:clamp(24px,4vw,42px);
  border-radius:var(--g16-radius);
  color:#fff;
  background:#111d39;
}
.g16-paper-explainer h3{
  margin:.12em 0 0;
  font-family:Georgia,serif;
  font-size:clamp(2rem,3vw,3.2rem);
  font-weight:400;
  line-height:1;
}
.g16-paper-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}
.g16-paper-columns p{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.6;
}
.g16-paper-columns strong{color:#fff}
.g16-tariffs-cta-section{
  padding:clamp(58px,8vw,100px) 0;
  color:#fff;
  background:var(--g16-indigo);
}
.g16-tariffs-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:40px;
  align-items:end;
}
.g16-tariffs-cta-inner h2{
  max-width:780px;
  margin:.1em 0 .3em;
  font-family:Georgia,serif;
  font-size:clamp(2.7rem,5vw,5rem);
  font-weight:400;
  line-height:.98;
}
.g16-tariffs-cta-inner p:not(.eyebrow){
  max-width:680px;
  color:rgba(255,255,255,.75);
}
.g16-home-tariffs-cta{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

@media(max-width:900px){
  .g16-price-highlights,
  .g16-tariffs-two,
  .g16-tariffs-service-grid,
  .g16-paper-explainer,
  .g16-tariffs-cta-inner,
  .g16-tariffs-section-head{
    grid-template-columns:1fr;
  }
  .g16-paper-columns{grid-template-columns:1fr}
}
@media(max-width:600px){
  .g16-tariffs-hero{padding-top:110px}
  .g16-price-highlights{grid-template-columns:1fr}
  .g16-price-highlight{min-height:120px}
  .g16-tariff-card{padding:22px 18px}
  .g16-tariffs-nav{gap:7px}
  .g16-tariffs-nav a{font-size:.79rem}
}

/* V4.38.1 */
.g16-panorama-block,.g16-custom-work-card{margin-top:18px;padding:clamp(24px,4vw,42px);border:1px solid var(--g16-border);border-radius:var(--g16-radius);background:#fff}.g16-panorama-block h3,.g16-custom-work-card h3{margin:.1em 0 .35em;font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1}.g16-panorama-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.g16-panorama-options>div{display:grid;gap:6px;padding:20px;border-radius:calc(var(--g16-radius) - 4px);background:#f4f0e9}.g16-panorama-options strong{font-family:Georgia,serif;font-size:clamp(1.45rem,2vw,2rem);font-weight:400}.g16-panorama-options span{color:#6e675e;font-size:.9rem}.g16-a3-gift{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:18px;padding:22px 26px;border-radius:var(--g16-radius);background:#f2e6dc}.g16-a3-gift>div{display:grid;gap:4px}.g16-custom-work-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr) auto;gap:30px;align-items:center}.g16-custom-work-card p{margin:0;line-height:1.6}.g16-custom-work-card>strong{color:var(--g16-cinnabar);white-space:nowrap}@media(max-width:800px){.g16-panorama-options,.g16-custom-work-card{grid-template-columns:1fr}.g16-a3-gift{align-items:flex-start;flex-direction:column}}


/* V4.38.2 — panoramique avec visuel + offre A3 visible */
.g16-panorama-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(28px,5vw,70px);
  align-items:center;
}
.g16-panorama-visual{
  min-height:320px;
  aspect-ratio: 16 / 7;
  overflow:hidden;
  border-radius:var(--g16-radius);
  background:#eee9e1;
  box-shadow:var(--g16-shadow);
}
.g16-panorama-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.g16-panorama-placeholder{
  display:flex;
  height:100%;
  min-height:320px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:30px;
  text-align:center;
  color:#70695f;
  border:1px dashed #bdb5aa;
}
.g16-panorama-placeholder span{
  font-family:Georgia,serif;
  font-size:1.6rem;
  color:#31302d;
}
.g16-a3-gift-premium{
  margin:22px 0 18px;
  border:1px solid rgba(194,66,45,.22);
  box-shadow:0 10px 28px rgba(194,66,45,.08);
}
.g16-gift-badge{
  display:inline-flex;
  width:max-content;
  margin-bottom:4px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--g16-cinnabar);
  color:#fff !important;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.g16-a3-gift-premium strong{
  font-size:1.12rem;
  line-height:1.3;
}
@media(max-width:900px){
  .g16-panorama-layout{grid-template-columns:1fr}
  .g16-panorama-visual{min-height:220px}
}


/* V4.38.5 — panoramique pleine largeur + formats cm / pouces */
.g16-panorama-layout{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:clamp(24px,4vw,42px) !important;
  align-items:start !important;
}

.g16-panorama-copy{
  width:100%;
}

.g16-panorama-copy .section-head{
  max-width:none;
}

.g16-panorama-visual{
  width:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  overflow:hidden;
  border-radius:var(--g16-radius);
  background:#eee9e1;
  box-shadow:var(--g16-shadow);
}

.g16-panorama-visual img{
  display:block;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

.g16-panorama-placeholder{
  min-height:300px;
}

.g16-panorama-options{
  max-width:760px;
}

@media(max-width:800px){
  .g16-panorama-options{
    max-width:none;
  }
  .g16-panorama-placeholder{
    min-height:200px;
  }
}

/* V4.38.8 — ordre panoramique : titre > image > formats */
.g16-panorama-details{
  width:100%;
}
.g16-panorama-details .price-note{
  margin-top:24px;
}

/* V4.38.8 — introduction des formats panoramiques */
.g16-panorama-format-head{margin:2.1rem 0 1.15rem;text-align:left;max-width:760px}
.g16-panorama-format-head h2{margin:0 0 .55rem;font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.08}
.g16-panorama-format-head p{margin:0;color:var(--muted,#666);font-size:1rem;line-height:1.6}
@media(max-width:700px){.g16-panorama-format-head{margin-top:1.5rem}.g16-panorama-format-head h2{font-size:1.8rem}}


/* V4.38.8 — L’Image autrement : comparaisons original / création */
.image-autrement-comparisons{display:grid;gap:2rem}.image-autrement-comparison{border-top:1px solid rgba(0,0,0,.12);padding-top:1.5rem}.image-autrement-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.image-autrement-pair figure{margin:0;position:relative;background:#f3f0ea;border-radius:18px;overflow:hidden}.image-autrement-pair figure span{position:absolute;z-index:2;top:14px;left:14px;background:rgba(255,255,255,.92);padding:.45rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.image-autrement-pair img{display:block;width:100%;height:auto;object-fit:contain}.image-autrement-comparison>p{margin:.8rem 0 0;color:var(--muted,#666)}.image-autrement-comparison-empty{padding:1rem 1.2rem;background:#f3f0ea;border-radius:12px;color:#666}@media(max-width:700px){.image-autrement-pair{grid-template-columns:1fr}}


/* V4.38.9 — création finale mise en avant dans L’Image autrement */
.image-autrement-pair-featured{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(240px,1fr) !important;
  gap:clamp(18px,2.6vw,34px) !important;
  align-items:start;
}
.image-autrement-pair-featured figure{
  margin:0;
  min-width:0;
}
.image-autrement-pair-featured figure span{
  display:block;
  margin-bottom:10px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.image-autrement-pair-featured img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:var(--g16-radius);
}
.image-autrement-creation{
  grid-column:1;
}
.image-autrement-original{
  grid-column:2;
}
@media(max-width:800px){
  .image-autrement-pair-featured{
    grid-template-columns:1fr !important;
  }
  .image-autrement-creation,
  .image-autrement-original{
    grid-column:1;
  }
}

/* V4.39.0 — œuvres affichées dans leur ratio naturel, sans case imposée */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.g16-product-catalogue ul.products li.product a img,
body.woocommerce-shop ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.tax-product_tag ul.products li.product a img,
.single-product .related.products ul.products li.product img,
.single-product .upsells.products ul.products li.product img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:0 !important;
  background:transparent !important;
}

/* Les cartes produits suivent la hauteur réelle de l'œuvre. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.g16-product-catalogue ul.products li.product {
  align-self:start;
}

/* Les onglets techniques WooCommerce ne doivent jamais réapparaître visuellement. */
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper {
  display:none !important;
}

/* Trois formats de rouleaux panoramiques. */
.g16-panorama-options {
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:980px;
}
@media(max-width:800px){
  .g16-panorama-options{grid-template-columns:1fr;max-width:none}
  .g16-panorama-visual{display:block;width:100%;min-height:0!important;aspect-ratio:auto!important}
  .g16-panorama-visual img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
}


/* V4.39.1 — aucune hauteur imposée aux liens-images du catalogue. */
.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce-page ul.products li.product .woocommerce-loop-product__link,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__link,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__link {
  height:auto !important;
  min-height:0 !important;
}

/* V4.39.12 — identity page simplification */
.identity-options-single { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.portrait-offers-single { grid-template-columns: minmax(0, 1fr); }
.portrait-offers-single .portrait-offer { max-width: 620px; }


/* V4.39.15 — harmonisation mobile : titre → visuel → contenu, rythme plus compact */
@media (max-width: 980px) {
  /* Réduit l'effet de flottement général des sections */
  .section { padding: 3.4rem 0; }
  .section-compact { padding: 2.6rem 0; }
  .section-head { margin-bottom: 1.65rem; }
  .section-intro { margin-top: .75rem; }
  .check-list { margin-top: 1.25rem; }

  /* Grilles éditoriales : espaces plus réguliers */
  .restoration-intro,
  .digitization-intro,
  .equipment-layout,
  .prints-intro,
  .print-price-layout,
  .fineart-layout,
  .framing-layout,
  .identity-intro,
  .identity-sheet-layout,
  .home-service-layout,
  .enlargement-layout,
  .professional-portrait-layout,
  .shop-intro,
  .home-shop-callout,
  .image-autrement-hero-grid {
    gap: 1.5rem;
  }

  /* Lorsqu'un visuel précède le titre dans le HTML, on remet le titre avant sur mobile */
  .curtis-grid { display:flex; flex-direction:column; align-items:stretch; gap:1.5rem; }
  .curtis-grid > .curtis-copy { order:1; }
  .curtis-grid > .curtis-image { order:2; }

  .image-autrement-hero-grid { display:flex; flex-direction:column; }
  .image-autrement-hero-copy { order:1; }
  .image-autrement-hero-media { order:2; }

  /* Les visuels ne doivent plus sembler isolés dans de grands espaces */
  .professional-portrait-visual,
  .curtis-image,
  .image-autrement-hero-media,
  .enlargement-visual,
  .identity-sheet-example,
  .g16-panorama-visual {
    margin-top:.25rem;
    margin-bottom:.25rem;
  }
}

@media (max-width: 700px) {
  .section { padding: 2.9rem 0; }
  .section-compact { padding: 2.25rem 0; }

  .section-head { margin-bottom: 1.35rem; }
  .section-head h2,
  .professional-portrait-heading h2 { margin-bottom: .65rem; }

  .professional-portrait-layout,
  .restoration-intro,
  .digitization-intro,
  .equipment-layout,
  .prints-intro,
  .print-price-layout,
  .fineart-layout,
  .framing-layout,
  .identity-intro,
  .identity-sheet-layout,
  .home-service-layout,
  .enlargement-layout,
  .shop-intro,
  .image-autrement-hero-grid {
    gap: 1.25rem;
  }

  .professional-portrait-visual { min-height: 430px; }
  .curtis-image { min-height: 390px; }
  .image-autrement-hero-media { min-height: 360px; }

  /* Les cartes et encarts restent proches du texte qui les introduit */
  .identity-price,
  .restoration-price,
  .digitization-price,
  .print-price-card,
  .fineart-price-card,
  .home-service-price,
  .portrait-offers,
  .framing-options,
  .print-choice-grid,
  .equipment-grid {
    margin-top: .35rem;
  }

  /* Boutons : éviter les grands vides avant/après */
  .button { margin-top: .25rem; }
}

/* V4.39.17 — visuel configurable pour les tirages sur papier premium */
.premium-print-visual {
  margin: 1.35rem 0 1.25rem;
}
.premium-print-visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}
.premium-print-visual figcaption {
  margin-top: .55rem;
  font-size: .82rem;
  line-height: 1.45;
  color: var(--muted);
}
@media (max-width: 700px) {
  .premium-print-visual {
    margin: 1rem 0 1.1rem;
  }
  .premium-print-visual img {
    border-radius: 14px;
  }
}

/* V4.39.19 — fichiers de numérisation et distinction restauration papier */
.scan-file-choice {
  margin-top: 1.5rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
}
.scan-file-choice strong { display:block; margin-bottom:.35rem; }
.scan-file-choice p { margin:0; max-width:850px; }
.scan-vs-paper { display:grid; gap:1rem; margin-top:1.25rem; }
.scan-vs-paper > div { padding:1rem 0; border-top:1px solid var(--line); }
.scan-vs-paper strong { display:block; margin-bottom:.35rem; }
.scan-vs-paper p { margin:0; }
@media (max-width:700px) {
  .scan-file-choice { margin-top:1rem; padding:1rem; }
  .restoration-compare { gap:1.25rem; }
}


/* V4.39.20 — Boutique mobile : conserver l'image complète des trois univers */
@media (max-width: 700px) {
  .shop-collection-card,
  .shop-collection-card.has-preview-image {
    min-height: 0;
    padding: 0;
    display: block;
    overflow: hidden;
    background: var(--g16-indigo);
  }

  .shop-collection-card.has-preview-image::before {
    display: none;
  }

  .shop-collection-media {
    position: relative;
    inset: auto;
    z-index: 0;
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: var(--g16-radius) var(--g16-radius) 0 0;
    background: #ece8df;
  }

  .shop-collection-media img,
  .shop-collection-card:nth-child(1) .shop-collection-media img,
  .shop-collection-card:nth-child(2) .shop-collection-media img,
  .shop-collection-card:nth-child(3) .shop-collection-media img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100% !important;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
  }

  .shop-collection-number {
    position: absolute;
    z-index: 2;
    top: 1rem;
    left: 1rem;
    padding: .4rem .55rem;
    border-radius: 999px;
    color: #fff;
    background: rgba(17,24,39,.68);
    backdrop-filter: blur(4px);
  }

  .shop-collection-content {
    position: relative;
    z-index: 1;
    padding: 1.35rem 1.4rem 1.5rem;
    color: #fff;
    background: var(--g16-indigo);
  }

  .shop-collection-card:nth-child(2) .shop-collection-content {
    background: #293846;
  }

  .shop-collection-card:nth-child(3) .shop-collection-content {
    background: #55372d;
  }

  .shop-collection-card h3 {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }

  .shop-collection-card p {
    color: rgba(255,255,255,.82);
  }
}

/* V4.39.21 — trois niveaux de numérisation */
.scan-levels-definitions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 980px) {
  .scan-levels-definitions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .scan-levels-definitions {
    grid-template-columns: 1fr;
    gap: .85rem;
  }
}


/* V4.39.22 — fiches produits : plus d'espace pour les œuvres paysage */
@media (min-width: 981px) {
  .single-product div.product.g16-product-landscape,
  .woocommerce-page.single-product div.product.g16-product-landscape {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .single-product div.product.g16-product-panoramic,
  .woocommerce-page.single-product div.product.g16-product-panoramic {
    grid-template-columns: minmax(0, 1.32fr) minmax(360px, .68fr);
    gap: clamp(1.8rem, 3.5vw, 3.5rem);
  }

  .single-product div.product.g16-product-landscape div.images,
  .single-product div.product.g16-product-panoramic div.images,
  .woocommerce-page.single-product div.product.g16-product-landscape div.images,
  .woocommerce-page.single-product div.product.g16-product-panoramic div.images {
    width: 100% !important;
    max-width: none !important;
  }

  .single-product div.product.g16-product-landscape .woocommerce-product-gallery__wrapper,
  .single-product div.product.g16-product-panoramic .woocommerce-product-gallery__wrapper,
  .woocommerce-page.single-product div.product.g16-product-landscape .woocommerce-product-gallery__wrapper,
  .woocommerce-page.single-product div.product.g16-product-panoramic .woocommerce-product-gallery__wrapper {
    width: 100%;
  }

  .single-product div.product.g16-product-landscape .woocommerce-product-gallery__image img,
  .single-product div.product.g16-product-panoramic .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product.g16-product-landscape .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product.g16-product-panoramic .woocommerce-product-gallery__image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
  }
}

/* Mobile : toutes les œuvres utilisent la largeur disponible sans recadrage. */
@media (max-width: 980px) {
  .single-product div.product .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* V4.39.23 — fiches paysage/panoramique : titre au-dessus, image vraiment mise en valeur */
@media (min-width: 981px) {
  .single-product div.product.g16-product-landscape,
  .woocommerce-page.single-product div.product.g16-product-landscape,
  .single-product div.product.g16-product-panoramic,
  .woocommerce-page.single-product div.product.g16-product-panoramic {
    grid-template-areas:
      "wide-title wide-title"
      "gallery summary"
      "intro intro"
      "tabs tabs";
    align-items: start;
  }

  .single-product div.product.g16-product-landscape,
  .woocommerce-page.single-product div.product.g16-product-landscape {
    grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  }

  .single-product div.product.g16-product-panoramic,
  .woocommerce-page.single-product div.product.g16-product-panoramic {
    grid-template-columns: minmax(0, 1.5fr) minmax(320px, .5fr);
  }

  .single-product div.product.g16-product-landscape .g16-wide-product-title,
  .single-product div.product.g16-product-panoramic .g16-wide-product-title,
  .woocommerce-page.single-product div.product.g16-product-landscape .g16-wide-product-title,
  .woocommerce-page.single-product div.product.g16-product-panoramic .g16-wide-product-title {
    grid-area: wide-title;
    width: 100%;
    margin: 0 0 clamp(.5rem, 1vw, 1rem);
  }

  .g16-wide-product-title .product_title {
    margin: 0;
    max-width: 1100px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 5.5vw, 5.6rem);
    line-height: .98;
    font-weight: 400;
  }

  .single-product div.product.g16-product-landscape div.images,
  .single-product div.product.g16-product-panoramic div.images,
  .woocommerce-page.single-product div.product.g16-product-landscape div.images,
  .woocommerce-page.single-product div.product.g16-product-panoramic div.images {
    grid-area: gallery;
  }

  .single-product div.product.g16-product-landscape div.summary,
  .single-product div.product.g16-product-panoramic div.summary,
  .woocommerce-page.single-product div.product.g16-product-landscape div.summary,
  .woocommerce-page.single-product div.product.g16-product-panoramic div.summary {
    grid-area: summary;
  }

  .single-product div.product.g16-product-landscape .summary .product_title,
  .single-product div.product.g16-product-panoramic .summary .product_title,
  .woocommerce-page.single-product div.product.g16-product-landscape .summary .product_title,
  .woocommerce-page.single-product div.product.g16-product-panoramic .summary .product_title {
    display: none;
  }

  .single-product div.product.g16-product-landscape .woocommerce-product-gallery__image img,
  .single-product div.product.g16-product-panoramic .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product.g16-product-landscape .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product.g16-product-panoramic .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
  }
}

/* Sur mobile, le titre WooCommerce natif reste utilisé : pas de doublon. */
@media (max-width: 980px) {
  .g16-wide-product-title {
    display: none !important;
  }
}


/* V4.39.26 — fiche produit stable :
   titre pleine largeur, puis image à gauche et achat à droite. */
@media (min-width: 981px) {
  .single-product div.product,
  .woocommerce-page.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr) !important;
    gap: clamp(1.6rem, 4vw, 4rem) !important;
    align-items: start !important;
  }

  .single-product div.product > h1.product_title,
  .woocommerce-page.single-product div.product > h1.product_title {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 0 .4rem !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(2.35rem, 4.3vw, 4.5rem) !important;
    line-height: .98 !important;
    font-weight: 400 !important;
  }

  .single-product div.product > div.images,
  .woocommerce-page.single-product div.product > div.images {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .single-product div.product > div.summary,
  .woocommerce-page.single-product div.product > div.summary {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .single-product div.product.g16-product-landscape,
  .woocommerce-page.single-product div.product.g16-product-landscape {
    grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr) !important;
  }

  .single-product div.product.g16-product-panoramic,
  .woocommerce-page.single-product div.product.g16-product-panoramic {
    grid-template-columns: minmax(0, 1.38fr) minmax(330px, .62fr) !important;
  }

  .single-product div.product .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
  }
}

/* Mobile : titre, image, achat. */
@media (max-width: 980px) {
  .single-product div.product,
  .woocommerce-page.single-product div.product {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.2rem !important;
  }

  .single-product div.product > h1.product_title,
  .woocommerce-page.single-product div.product > h1.product_title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: clamp(2.35rem, 11vw, 4rem) !important;
    line-height: 1 !important;
  }

  .single-product div.product > div.images,
  .woocommerce-page.single-product div.product > div.images {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .single-product div.product > div.summary,
  .woocommerce-page.single-product div.product > div.summary {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .single-product div.product .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* Blocs situés après la zone produit restent sur toute la largeur. */
.single-product div.product > .g16-product-introduction,
.woocommerce-page.single-product div.product > .g16-product-introduction,
.single-product div.product > .woocommerce-tabs,
.woocommerce-page.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.woocommerce-page.single-product div.product > .related,
.single-product div.product > .upsells,
.woocommerce-page.single-product div.product > .upsells {
  grid-column: 1 / -1 !important;
}


/* V4.39.29 — mobile : titre toujours au-dessus de la photographie */
@media (max-width: 980px) {
  .single-product div.product,
  .woocommerce-page.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "g16title"
      "g16gallery"
      "g16summary" !important;
  }
  .single-product div.product > h1.product_title,
  .woocommerce-page.single-product div.product > h1.product_title {
    grid-area: g16title !important; grid-row: auto !important; grid-column: 1 !important;
    order: -30 !important; width: 100% !important; margin: 0 0 .75rem !important;
  }
  .single-product div.product > div.images,
  .woocommerce-page.single-product div.product > div.images {
    grid-area: g16gallery !important; grid-row: auto !important; grid-column: 1 !important; order: -20 !important;
  }
  .single-product div.product > div.summary,
  .woocommerce-page.single-product div.product > div.summary {
    grid-area: g16summary !important; grid-row: auto !important; grid-column: 1 !important; order: -10 !important;
  }
}


/* V4.39.30 — correction robuste mobile fiches produits
   Ordre forcé : titre → image → achat */
@media (max-width: 980px) {
  .single-product div.product,
  .woocommerce-page.single-product div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.2rem !important;
  }

  .single-product div.product > h1.product_title,
  .woocommerce-page.single-product div.product > h1.product_title {
    order: 1 !important;
    width: 100% !important;
    margin: 0 0 .6rem !important;
    font-size: clamp(2.2rem, 10vw, 3.7rem) !important;
    line-height: 1 !important;
  }

  .single-product div.product > div.images,
  .woocommerce-page.single-product div.product > div.images {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .single-product div.product > div.summary,
  .woocommerce-page.single-product div.product > div.summary {
    order: 3 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .single-product div.product > .g16-product-introduction,
  .woocommerce-page.single-product div.product > .g16-product-introduction,
  .single-product div.product > .woocommerce-tabs,
  .woocommerce-page.single-product div.product > .woocommerce-tabs,
  .single-product div.product > .related,
  .woocommerce-page.single-product div.product > .related,
  .single-product div.product > .upsells,
  .woocommerce-page.single-product div.product > .upsells {
    order: 4 !important;
    width: 100% !important;
  }

  .single-product div.product .woocommerce-product-gallery__image img,
  .woocommerce-page.single-product div.product .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }
}


/* V4.39.31 — catalogue mobile : titre au-dessus de l'image
   Ordre des cartes : titre → image → prix → bouton */
@media (max-width: 767px) {
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .g16-product-catalogue ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__link,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__link,
  .g16-product-catalogue ul.products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  .g16-product-catalogue ul.products li.product .woocommerce-loop-product__title {
    order: 1 !important;
    padding: 1rem 1rem .75rem !important;
    margin: 0 !important;
    font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
    line-height: 1.08 !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__link img,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__link img,
  .g16-product-catalogue ul.products li.product .woocommerce-loop-product__link img {
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f2efea !important;
  }

  .woocommerce ul.products li.product .price,
  .woocommerce-page ul.products li.product .price,
  .g16-product-catalogue ul.products li.product .price {
    order: 3 !important;
    padding: .85rem 1rem 0 !important;
    margin: 0 !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .g16-product-catalogue ul.products li.product .button {
    order: 4 !important;
    margin: .85rem 1rem 1rem !important;
  }
}


/* --- Fil d'Ariane (RankMath breadcrumbs) --- */
.g16-breadcrumbs { margin: 0 0 1rem; }
.g16-breadcrumbs .rank-math-breadcrumb,
.g16-breadcrumbs .rank-math-breadcrumb p {
  margin: 0; padding: 0; font-size: .78rem; letter-spacing: .01em; opacity: .72;
}
.g16-breadcrumbs a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: currentColor; }
.g16-breadcrumbs a:hover { opacity: .85; }
.g16-breadcrumbs .separator { margin: 0 .5em; opacity: .55; }
.g16-breadcrumbs .last { opacity: .95; }


/* --- Item de menu actif --- */
.g16-primary-menu > li > a.is-current,
.g16-primary-menu > li.is-current > a {
  color: var(--g16-cinnabar);
  font-weight: 700;
}
.g16-primary-menu .sub-menu a.is-current { color: var(--g16-cinnabar); font-weight: 700; }


/* --- Plan du site en pied de page --- */
.footer-grid { flex-wrap: wrap; }
.footer-sitemap {
  display: flex; flex-wrap: wrap; gap: .5rem 1.3rem;
  flex: 1 1 320px;
  font-size: .84rem; color: rgba(255,255,255,.56);
}
.footer-sitemap a { color: inherit; }
.footer-sitemap a:hover { color: var(--g16-cinnabar); }
@media (max-width: 700px) {
   .footer-sitemap { order: 2; gap: 0.4rem 1rem; flex-basis: auto; }
  .footer-meta { order: 3; }
}


/* --- Recherche du site --- */
.search-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .6rem; margin-left: -.2rem; color: inherit; border: 0; background: transparent; cursor: pointer;
}
.site-search {
  position: absolute; top: 86px; right: 20px; left: 20px; max-width: 440px; margin-left: auto;
  display: none; z-index: 1001;
  background: var(--g16-paper); border-radius: 16px; box-shadow: 0 18px 34px rgba(0,0,0,.16);
  padding: .7rem;
}
.site-search.is-open { display: block; }
.site-search-form { display: flex; align-items: center; gap: .5rem; }
.site-search-input {
  flex: 1; min-width: 0; border: 1px solid rgba(0,0,0,.14); border-radius: 999px; padding: .65rem 1.1rem;
  font: inherit; font-size: .95rem; background: #fff; color: var(--g16-ink);
}
.site-search-input:focus { outline: 2px solid var(--g16-cinnabar); outline-offset: 2px; }
.site-search-submit {
  flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 999px; border: 0; cursor: pointer;
  color: #fff; background: var(--g16-cinnabar);
}
.site-search-submit:hover { opacity: .9; }
@media (max-width: 480px) {
  .site-search { right: 12px; left: 12px; max-width: none; }
}


/* --- Résultats de recherche --- */
.g16-search-results { display: flex; flex-direction: column; gap: 1.4rem; }
.g16-search-result {
  padding: 1.4rem 0; border-bottom: 1px solid var(--g16-border, rgba(0,0,0,.1));
}
.g16-search-result h2 { margin: 0 0 .3rem; font-size: 1.4rem; }
.g16-search-result h2 a { color: inherit; }
.g16-search-result h2 a:hover { color: var(--g16-cinnabar); }
.g16-search-result-price { margin: 0 0 .4rem; color: var(--g16-cinnabar); font-weight: 600; }
