:root {
  --paper: #faf7f2;
  --ink: #282326;
  --muted: #655e61;
  --rose: #b62050;
  --line: #ded6d0;
  --serif: 'Sorts Mill Goudy', Georgia, serif;
}
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
p { color: var(--muted); font-weight: 400; line-height: 1.85; }
a { color: var(--rose); font-weight: 400; }
a:hover { color: #851436; }
a:focus { color: var(--rose); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--rose) !important; outline-offset: 5px;
}
[hidden] { display: none !important; }
h1, h2, h3 { color: var(--ink); font-family: var(--serif); font-weight: 400; line-height: 1.15; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
hr { border-color: var(--line); }
.mt { margin-top: 72px; }
.mb { margin-bottom: 72px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 99999; padding: 12px 18px; background: white; color: var(--ink); }
.skip-link:focus { top: 12px; }
.navbar-sofia { background: var(--paper); min-height: 88px; border-bottom: 1px solid var(--line); border-radius: 0; }
.navbar-sofia > .container { display: flex; align-items: center; justify-content: space-between; }
.navbar-sofia .navbar-header { flex-shrink: 0; }
.sofia-brand { display: inline-block; font: 34px/1 var(--serif); color: var(--ink); text-transform: none; letter-spacing: -1.3px; padding: 26px 0; }
.sofia-brand:hover, .sofia-brand:focus { color: var(--ink); text-decoration: none; }
.sofia-brand span, .footer .logo span { color: var(--rose); }
.navbar-sofia .navbar-collapse { padding-right: 0; }
.navbar-sofia .navbar-nav { display: flex; align-items: center; gap: 4px; float: none; }
.navbar-sofia li a { font-size: 12px; font-weight: 500; letter-spacing: 1px; padding: 14px 15px; color: var(--ink); }
.navbar-sofia li a:hover, .navbar-sofia li a:focus { background: transparent; color: var(--rose); }
.navbar-sofia .current-menu-item > a { color: var(--rose); text-decoration: underline; text-underline-offset: 7px; }
.navbar-sofia .menu-agenda > a { background: var(--rose); color: white; border-radius: 2px; }
.navbar-sofia .menu-agenda > a:hover, .navbar-sofia .menu-agenda > a:focus { background: #851436; color: white; }
.navbar-sofia .logo-fb a { color: var(--muted) !important; font: 11px/1.4 'Roboto', sans-serif; }
.navbar-sofia .logo-fb a:after { content: none; }
.navbar-sofia .navbar-toggle { width: 48px; height: 44px; margin: 18px 0; border-color: var(--line); }
.navbar-sofia .navbar-toggle .icon-bar { background: var(--ink); margin-left: auto; margin-right: auto; }
.sofia-hero { background: #200b12; color: white; position: relative; overflow: hidden; }
.sofia-hero:not(.swiper-initialized) .swiper-wrapper { display: block; }
.sofia-hero:not(.swiper-initialized) .swiper-slide:not(:first-child) { display: none; }
.sofia-slide { position: relative; min-height: 520px; height: auto; display: flex; align-items: center; background: #200b12; }
.sofia-slide__picture { position: absolute; inset: 0; display: block; }
.sofia-slide__picture:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,4,10,.85), rgba(22,4,10,.28) 42%, transparent 68%); }
.sofia-slide__image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.sofia-slide__content { position: relative; z-index: 1; padding-top: 72px; padding-bottom: 88px; }
.sofia-slide__copy { max-width: 430px; }
.eyebrow { font: 500 11px/1.6 'Roboto', sans-serif; text-transform: uppercase; letter-spacing: 2.5px; }
.sofia-slide .eyebrow { color: #f1b9ca; margin-bottom: 22px; }
.sofia-slide h1 { color: white; font-size: clamp(42px, 4.6vw, 68px); letter-spacing: -1.7px; margin: 0 0 22px; overflow-wrap: anywhere; }
.sofia-slide__description { color: #f4e9ec; font-size: 18px; max-width: 340px; margin-bottom: 28px; white-space: pre-line; }
.button_sofia { background: var(--rose); color: white; display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 48px; padding: 13px 26px; font-size: 14px; border-radius: 2px; line-height: 1.5; text-align: center; max-width: 100%; }
.button_sofia:hover, .button_sofia:focus { background: #851436; color: white; text-decoration: none; }
.button_sofia span { font-size: 19px; }
.sofia-slider-controls { position: absolute; z-index: 2; bottom: 24px; right: max(24px, calc((100% - 1140px) / 2)); display: flex; align-items: center; gap: 18px; }
.sofia-slider-controls button { width: 48px; height: 48px; border: 1px solid #b7a7ae; border-radius: 50%; background: #24131c; color: white; font-size: 22px; }
.sofia-slider-controls button:hover { background: var(--rose); }
.sofia-slider-count { min-width: 44px; text-align: center; font: 14px 'Roboto', sans-serif; color: white; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 52px 0 24px; border-bottom: 1px solid var(--line); }
.section-heading h2 { font-size: 38px; margin: 0; }
.section-heading .eyebrow { color: var(--rose); margin: 0; }
.spectacles { counter-reset: spectacle; }
.spectacles > .row { display: flex; align-items: flex-start; margin-top: 56px; margin-bottom: 56px; counter-increment: spectacle; }
.spectacles > .row > .col-md-4 { flex: 0 0 34%; padding-right: 48px; }
.spectacles > .row > .col-md-8 { flex: 0 0 66%; max-width: 66%; }
.spectacles > .row > .col-md-8:first-child { padding-right: 56px; }
.spectacles > .row > .col-md-4:last-child { padding-right: 15px; padding-left: 32px; }
.spectacles h2 { font-size: clamp(30px, 3vw, 42px); text-transform: none; margin-bottom: 24px; max-width: 680px; }
.spectacles > .row h2:before { content: '0' counter(spectacle) ' /'; display: block; font: 500 12px/1.4 'Roboto', sans-serif; letter-spacing: 2px; color: var(--rose); margin-bottom: 16px; }
.spectacles p { margin-bottom: 18px; }
.spectacles .button_sofia { margin-top: 12px; }
.spectacles > .row img { width: 100%; max-width: 340px; box-shadow: 14px 14px 0 #eee4df; }
.big_image { position: relative; }
.big_image p { text-shadow: 0 2px 15px #000; }
.biographie h2 { font-size: 36px; }
.biographie .row { margin-top: 56px; }
.biographie img { border-radius: 2px; }
.galerie { background: var(--paper); }
.video { background: #ece5df; }
.video iframe { aspect-ratio: 16 / 9; height: auto; }
.home main > .container-fluid:last-child > iframe { aspect-ratio: 16 / 9; height: auto; display: block; }
.agenda { padding-top: 60px; padding-bottom: 60px; }
.agenda > h1 { color: white; font-size: 50px; }
.agenda .eyebrow { color: #ffc6d5; }
.agenda .date { font-size: 19px; }
.agenda h2 { text-transform: none; font-size: 34px; }
.agenda .pink { color: #ffc6d5; }
.agenda .agenda-empty { padding: 32px 0; max-width: 560px; }
.agenda .agenda-empty p { margin: 16px 0 28px; }
.formulaire, .informations { background: #30282e; border-radius: 3px; padding: 36px; }
.formulaire h2, .informations h2 { font: 34px/1.2 var(--serif); text-transform: none; }
.formulaire label, .formulaire p { color: #f7edf1; }
.formulaire label { display: block; font-size: 14px; font-weight: 400; }
.formulaire input:not([type=submit]), .formulaire textarea, .formulaire select { background: #fffaf6; color: var(--ink); border-color: #ddd1d5; border-radius: 2px; margin-top: 7px; min-height: 46px; }
.formulaire textarea { max-height: 180px; }
.formulaire .wpcf7-submit { background: var(--rose) !important; min-height: 48px; padding: 12px 26px !important; float: none !important; border-radius: 2px; }
.formulaire .wpcf7-submit:hover { background: #851436 !important; color: white !important; }
.informations p, .informations p a { color: #eee1e7; overflow-wrap: anywhere; }
.informations .pink { color: #ffc6d5; }
.footer { background: #241f23; color: #c9bdc3; padding: 48px 24px; font-size: 12px; line-height: 1.9; margin: 0; }
.footer > .row { margin: 0; }
.footer .logo { display: inline-block; font: 38px/1.3 var(--serif); color: #fff7f0; margin-bottom: 16px; text-decoration: none; }
.footer a { color: #ffc6d5; }
@media (min-width: 768px) and (max-width: 1199px) {
  .navbar-sofia > .container { width: 100%; padding: 0 24px; }
  .navbar-sofia li a { padding: 14px 10px; font-size: 11px; letter-spacing: .5px; }
  .navbar-sofia .logo-fb { display: none; }
  .sofia-slide__copy { max-width: 42%; }
}
@media (max-width: 767px) {
  .container { padding-left: 24px; padding-right: 24px; }
  .navbar-sofia { min-height: 80px; }
  .navbar-sofia > .container { display: block; padding-left: 24px; padding-right: 24px; }
  .navbar-sofia .navbar-header { margin: 0; display: flex; justify-content: space-between; align-items: center; }
  .sofia-brand { font-size: 30px; padding: 24px 0; }
  .navbar-sofia .navbar-collapse { padding: 0; border-top: 1px solid var(--line); }
  .navbar-sofia .navbar-nav { display: block; margin: 10px 0 20px; }
  .navbar-sofia li a { padding: 15px 12px; min-height: 48px; }
  .navbar-sofia .logo-fb a { min-height: 44px; }
  .sofia-slide { display: block; min-height: 0; }
  .sofia-slide__picture { position: relative; height: 240px; }
  .sofia-slide__picture:after { background: linear-gradient(0deg, #200b12, transparent 45%); }
  .sofia-slide__image { object-position: center; }
  .sofia-slide__content { padding-top: 20px; padding-bottom: 40px; }
  .sofia-slide__copy { max-width: 100%; }
  .sofia-slide h1 { font-size: 44px; letter-spacing: -1px; margin-bottom: 16px; }
  .sofia-slide .eyebrow { font-size: 10px; letter-spacing: 2px; margin-bottom: 12px; }
  .sofia-slide__description { font-size: 16px; margin-bottom: 24px; }
  .sofia-slide.no-image .sofia-slide__content { padding-top: 48px; }
  .sofia-hero:has(.sofia-slider-controls) .sofia-slide__content { padding-bottom: 92px; }
  .sofia-slider-controls { bottom: 20px; right: 24px; }
  .section-heading { padding-top: 36px; gap: 12px; flex-wrap: wrap; }
  .section-heading h2 { font-size: 32px; }
  .section-heading .eyebrow { font-size: 10px; }
  .spectacles > .row { display: flex; flex-direction: column; margin-top: 36px; margin-bottom: 40px; gap: 36px; }
  .spectacles > .row > .col-md-4, .spectacles > .row > .col-md-8 { width: 100%; max-width: 100%; flex-basis: auto; padding: 0 15px !important; }
  .spectacles > .row > .col-md-4 { order: -1; }
  .spectacles > .row img { width: 78%; max-width: 280px; display: block; margin: auto; }
  .spectacles h2 { font-size: 32px; }
  .mt { margin-top: 40px; }
  .mb { margin-bottom: 40px; }
  .biographie .row { margin-top: 36px; }
  .biographie .row > div + div { margin-top: 24px; }
  .big_image.big_big_image { padding-top: 130px; padding-bottom: 130px; }
  .contact .row > div + div { margin-top: 28px; padding: 0; }
  .formulaire, .informations { padding: 26px; }
  .formulaire h2, .informations h2 { font-size: 30px; }
  .agenda { padding-top: 40px; padding-bottom: 24px; }
  .agenda > h1 { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.home-video .text-center { position: relative; z-index: 1; }
.home-video:before { content: ""; position: absolute; inset: 0; background: rgba(25, 8, 16, .3); }
.navbar-sofia > .container:before, .navbar-sofia > .container:after { display: none; }
.text-right-side .sofia-slide__copy { margin-left: auto; }
.text-right-side .sofia-slide__picture:after { background: linear-gradient(270deg, rgba(22,4,10,.85), rgba(22,4,10,.28) 42%, transparent 68%); }
.agenda-background { position: relative; background-color: #201e20; }
.agenda-background:before { content: ""; position: absolute; inset: 0; background: rgba(18, 16, 19, .72); }
.agenda-background > * { position: relative; }
.agenda > .row { border-top: 1px solid #74636b; padding-top: 32px; }
.agenda a:not(.button_sofia) { color: #ffd0dd; }
@media (max-width: 767px) {
  .text-right-side .sofia-slide__picture:after { background: linear-gradient(0deg, #200b12, transparent 45%); }
}

/* Editorial pages: biography and gallery. */
.editorial-hero { padding-top: 64px; padding-bottom: 64px; }
.editorial-hero .eyebrow { color: var(--rose); margin-bottom: 20px; }
.editorial-hero h1 { font-size: clamp(44px, 5vw, 68px); letter-spacing: -1.8px; margin: 0 0 22px; }
.editorial-intro { max-width: 420px; font-size: 18px; margin: 0 0 24px; }
.editorial-link { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; font-size: 14px; color: var(--rose); text-decoration: underline; text-underline-offset: 6px; }
.bio-hero { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 48px; }
.bio-hero__image { margin: 0; overflow: hidden; }
.bio-hero__image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 67% 35%; }
.bio-story { border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.bio-chapter { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); align-items: center; gap: 88px; padding: 64px 0; border-bottom: 1px solid var(--line); }
.bio-chapter__image { margin: 0; text-align: center; }
.bio-chapter__image img { display: inline-block; max-width: 340px; max-height: 510px; width: auto; height: auto; box-shadow: 12px 12px 0 #eee4df; }
.bio-chapter__text { max-width: 630px; }
.bio-chapter__text h2 { font-size: 38px; margin: 0 0 24px; }
.bio-chapter__text p { margin-bottom: 18px; }
.chapter-number { display: block; color: var(--rose); font: 500 12px/1.4 'Roboto', sans-serif; letter-spacing: 2px; margin-bottom: 22px; }
.bio-chapter--reverse { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
.bio-chapter--reverse .bio-chapter__image { order: 2; }
.bio-chapter--text-only { grid-template-columns: 1fr; }
.bio-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding: 48px 0; }
.bio-pair figure { margin: 0; }
.bio-pair img { width: 100%; height: auto; }
.editorial-outro { padding-top: 56px; padding-bottom: 56px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.editorial-outro .eyebrow { color: var(--rose); margin: 0 0 14px; }
.editorial-outro h2 { margin: 0; font-size: 36px; }
.editorial-empty { padding: 48px 0; max-width: 650px; }
.gallery-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.gallery-heading .editorial-intro { max-width: 500px; margin: 0; }
.gallery-index { display: flex; gap: 24px; padding-bottom: 8px; }
.gallery-index a { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); font-size: 14px; border-bottom: 1px solid var(--line); }
.gallery-index span { color: var(--rose); font-size: 12px; }
.gallery-section { padding-bottom: 64px; scroll-margin-top: 24px; }
.sofia-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 260px; grid-auto-flow: dense; gap: 24px; }
.sofia-photo { position: relative; display: block; overflow: hidden; background: #e8e0d9; border-radius: 2px; }
.sofia-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 250ms ease; }
.sofia-photo.photo-tall img { object-position: center 20%; }
.sofia-photo.photo-wide { grid-column: span 2; }
.sofia-photo:hover img { transform: scale(1.035); }
.sofia-photo:focus-visible { outline-offset: 4px; }
.photo-zoom { position: absolute; bottom: 12px; left: 12px; right: 12px; padding: 9px 12px; background: rgba(29,19,25,.92); color: white; display: flex; justify-content: space-between; font-size: 12px; opacity: 0; transition: opacity 180ms ease; }
.sofia-photo:hover .photo-zoom, .sofia-photo:focus .photo-zoom { opacity: 1; }
.gallery-videos { background: #eee7e0; padding-bottom: 56px; scroll-margin-top: 24px; }
.sofia-video { display: grid; grid-template-columns: 1fr 1.5fr; align-items: center; gap: 64px; padding-top: 36px; }
.sofia-video .eyebrow { color: var(--rose); }
.sofia-video h3 { font-size: 36px; margin: 0 0 22px; }
.sofia-video__player { background: #2b1d25; color: white; aspect-ratio: 16 / 9; display: grid; place-items: center; overflow: hidden; }
.sofia-video__player:has(.video-play[hidden]) { display: none; }
.video-play { width: 100%; height: 100%; border: 0; color: #fff7f0; background: transparent; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 22px; font-size: 15px; }
.video-play:hover { background: #402532; }
.video-play__icon { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid #c4a7b4; border-radius: 50%; padding-left: 4px; font-size: 22px; }
.sofia-video__player iframe { border: 0; width: 100%; height: 100%; }
.photo-viewer-open { overflow: hidden; }
.sofia-lightbox { width: min(1080px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); background: #211b20; border: 1px solid #61515a; color: #fff7f0; padding: 20px 28px; border-radius: 4px; }
.sofia-lightbox::backdrop { background: rgba(15,10,13,.92); }
.lightbox-top, .lightbox-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.sofia-lightbox button { color: white; background: transparent; border: 1px solid #a68f9c; border-radius: 3px; min-width: 48px; min-height: 48px; padding: 8px 16px; }
.sofia-lightbox button:hover { background: var(--rose); }
.lightbox-close { display: flex; align-items: center; gap: 18px; }
.lightbox-close span { font-size: 24px; }
.lightbox-counter { font-size: 14px; letter-spacing: 2px; }
.lightbox-figure { height: min(65vh, 650px); margin: 16px 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; }
.lightbox-image { max-width: 100%; max-height: calc(100% - 32px); object-fit: contain; width: auto; height: auto; }
.lightbox-caption { font-size: 14px; text-align: center; }
.lightbox-original { color: #ffd0dd; font-size: 14px; min-height: 44px; display: flex; align-items: center; }
.lightbox-original:hover, .lightbox-original:focus { color: white; }
.lightbox-status { color: #fff7f0; font-size: 14px; margin: 0; }
.lightbox-status:not(:empty) { padding: 12px 0; }
@media (max-width: 1199px) {
 .sofia-photo-grid { grid-auto-rows: 210px; gap: 18px; }
 .bio-chapter { gap: 48px; }
 .bio-chapter__image img { max-width: 100%; }
}
@media (max-width: 991px) {
 .sofia-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 218px; }
 .bio-hero { gap: 24px; }
 .gallery-heading { display: block; }
 .gallery-index { margin-top: 24px; }
 .sofia-video { gap: 32px; }
}
@media (max-width: 767px) {
 .editorial-hero { padding-top: 40px; padding-bottom: 36px; }
 .editorial-hero h1 { font-size: 46px; letter-spacing: -1px; }
 .editorial-intro { font-size: 17px; }
 .bio-hero { display: flex; flex-direction: column; align-items: stretch; gap: 32px; }
 .bio-hero__image img { aspect-ratio: 3 / 2; }
 .bio-chapter, .bio-chapter--reverse { display: flex; flex-direction: column; gap: 32px; padding: 40px 0; }
 .bio-chapter--reverse .bio-chapter__image { order: 0; }
 .bio-chapter__image img { width: auto; max-width: min(100%, 280px); max-height: 420px; }
 .bio-chapter__text h2 { font-size: 32px; }
 .bio-pair { grid-template-columns: 1fr; gap: 24px; }
 .editorial-outro { padding-top: 40px; padding-bottom: 40px; flex-direction: column; align-items: flex-start; }
 .editorial-outro h2 { font-size: 32px; }
 .sofia-video { grid-template-columns: 1fr; gap: 24px; }
 .gallery-videos .section-heading { align-items: flex-start; flex-direction: column; }
 .sofia-lightbox { padding: 16px; }
 .lightbox-figure { height: 54vh; }
 .lightbox-original { font-size: 12px; }
}
@media (max-width: 600px) {
 .sofia-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: calc((100vw - 60px) / 2); gap: 12px; }
 .photo-zoom { left: 6px; right: 6px; bottom: 6px; font-size: 11px; padding: 6px 8px; }
 .gallery-section { padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
 .sofia-photo img, .photo-zoom { transition: none; }
 .sofia-photo:hover img { transform: none; }
}

.editorial-hero:before, .editorial-hero:after, .editorial-outro:before, .editorial-outro:after { display: none; }


/* Contact, social link and reservation refinements. */
.editorial-link, .editorial-link:hover, .editorial-link:focus { text-decoration: none; }
.editorial-link__label { text-decoration: underline; text-underline-offset: 6px; }
.button_sofia, .button_sofia:hover, .button_sofia:focus,
.lightbox-original, .lightbox-original:hover, .lightbox-original:focus { text-decoration: none; }
.lightbox-image { width: 100%; height: calc(100% - 32px); object-fit: contain; }
.navbar-sofia .logo-fb { display: block; }
.navbar-sofia .logo-fb a { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink) !important; }
.navbar-sofia .logo-fb a:hover, .navbar-sofia .logo-fb a:focus { color: var(--rose) !important; border-color: var(--rose); }
.facebook-icon { display: block; flex-shrink: 0; }
.page-template-template-contact .sofia-slide { min-height: 380px; }
.page-template-template-contact .sofia-slide__content { padding-top: 48px; padding-bottom: 48px; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; padding-top: 64px; padding-bottom: 72px; }
.contact-layout:before, .contact-layout:after { display: none; }
.contact-layout .eyebrow { color: var(--rose); margin-bottom: 18px; }
.contact-layout h2 { font-size: 40px; margin: 0 0 24px; }
.contact-details > p:not(.eyebrow) { max-width: 370px; }
.contact-coordinates { margin: 30px 0; }
.contact-coordinates > div { padding: 17px 0; border-top: 1px solid var(--line); }
.contact-coordinates dt { font: 500 11px/1.5 Roboto, sans-serif; text-transform: uppercase; letter-spacing: 1.2px; color: var(--muted); margin-bottom: 8px; }
.contact-coordinates dd { font-size: 20px; line-height: 1.5; overflow-wrap: anywhere; }
.contact-coordinates a { display: inline-block; padding: 5px 0; }
.contact-portrait { margin: 0; }
.contact-portrait img { display: block; width: 100%; max-height: 240px; object-fit: cover; object-position: center 35%; }
.contact-form-panel { align-self: start; background: #fffdf9; border: 1px solid var(--line); padding: 40px; border-radius: 3px; scroll-margin-top: 24px; }
.contact-form-note { font-size: 13px; margin-bottom: 28px; }
.contact-form-panel .contact-field-label { display: block; font-size: 14px; font-weight: 500; color: var(--ink); margin-bottom: 18px; }
.contact-form-panel .wpcf7-form-control-wrap { display: block; margin-top: 9px; }
.contact-form-panel input:not([type=submit]), .contact-form-panel textarea { width: 100%; padding: 12px 14px; min-height: 48px; background: white; border: 1px solid #a69a9f; border-radius: 2px; color: var(--ink); font-size: 16px; font-weight: 400; }
.contact-form-panel textarea { height: 170px; resize: vertical; }
.contact-form-panel input::placeholder, .contact-form-panel textarea::placeholder { color: #756c70; }
.contact-form-panel input[type=submit] { min-height: 48px; padding: 12px 30px; border: 0; border-radius: 2px; background: var(--rose); color: white; font-size: 15px; }
.contact-form-panel input[type=submit]:hover { background: #851436; }
.contact-form-panel .wpcf7-not-valid-tip { color: #ae1c3c; font-size: 13px; }
.phone-booking { margin-top: 24px; }
.phone-booking__buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.phone-booking__call { gap: 10px; padding: 13px 20px; min-height: 48px; }
.phone-booking__call > .phone-booking__number { font-size: 14px; font-weight: 400; line-height: 1.5; }
.phone-booking__call svg { width: 16px; height: 16px; flex-shrink: 0; }
@media (max-width: 991px) { .contact-layout { gap: 32px; } .contact-form-panel { padding: 28px; } }
@media (max-width: 767px) {
 .navbar-sofia .logo-fb { margin: 12px; }
 .contact-layout { grid-template-columns: 1fr; padding-top: 40px; padding-bottom: 40px; gap: 36px; }
 .contact-layout h2 { font-size: 34px; }
 .contact-form-panel { padding: 24px; }
 .contact-portrait img { max-height: 220px; }
 .page-template-template-contact .sofia-slide { min-height: 0; }
 .page-template-template-contact .sofia-slide__content { padding-top: 20px; padding-bottom: 36px; }
 .phone-booking__buttons { flex-direction: column; align-items: flex-start; }
 .phone-booking__call { justify-content: flex-start; }
}
