/* Original still-life compositions, shared across the firm's pages. */
.signature-scene{position:relative;overflow:hidden;isolation:isolate;min-width:0;pointer-events:none;border-radius:10px}
.signature-scene--phone{background:radial-gradient(ellipse at 80% 15%,#315b4b,#102f26);height:100%}
.signature-scene--method{background:radial-gradient(ellipse at 10% 0,#e5e6dc,#c4cbb8);aspect-ratio:1.12}
.signature-scene--papers{background:linear-gradient(125deg,#eeeadf80,#dcd9ca70);height:190px}
.signature-scene--phone .atelier-phone-scene{inset:0;perspective:800px}
.signature-scene--phone .atelier-phone{width:75px;border-radius:17px;padding:3px;transform:rotate(-11deg) rotateY(-12deg);box-shadow:12px 14px 20px #061b1655}
.signature-scene--phone .atelier-phone__glass{border-width:3px;border-radius:13px}
.signature-scene--phone .atelier-phone__speaker{height:5px;margin-top:4px}
.signature-scene--phone .atelier-phone__name{font-size:6px;margin-top:20%}
.signature-scene--phone .atelier-phone__name small{font-size:4px}
.signature-scene--phone .atelier-phone__line{font-size:4px}
.signature-scene--phone .atelier-phone__keys{gap:7px;margin-top:14%}
.signature-scene--phone .atelier-phone__keys i{width:7px;height:7px}
.signature-scene--phone .atelier-phone__keys i:after{left:1px;right:1px;top:2px}
.signature-scene--phone .atelier-phone__call{width:16px;height:16px;font-size:9px;margin-top:10%}
.signature-scene--method .atelier-boats-scene{inset:0}
.signature-scene--method .atelier-boats-scene__word{font-size:43px}
.signature-scene--papers .atelier-paper-scene{inset:0}
.signature-scene--papers .atelier-paper{width:130px;left:calc(50% - 65px);top:8%;aspect-ratio:.72}
.signature-scene--papers .atelier-paper--front{padding:13px;transform:rotate(-9deg)}
.signature-scene--papers .atelier-paper--back{transform:rotate(11deg) translate(8px,-2px)}
.signature-scene--papers .atelier-paper__top{font-size:5px;gap:6px;line-height:1.5}
.signature-scene--papers .atelier-paper__title{font-size:15px;margin-top:20%;white-space:nowrap}
.signature-scene--papers .atelier-paper__rules{margin-top:12%}
.signature-scene--papers .atelier-paper__foot{font-size:4px;margin-top:14%;position:relative;z-index:1}
.signature-scene--papers .atelier-paper__ghost{left:12px;right:12px;bottom:10px;font:700 15px/1.1 Georgia,serif;color:#e7e2d2;letter-spacing:-.035em;z-index:0}
.signature-scene--papers .atelier-paper__ghost small{font:5px Arial,sans-serif;letter-spacing:.4em;display:block;margin-top:3px}
/* A portfolio of matters and a compact legal journal occupy the existing hero space. */
.signature-hero>.container{position:relative;display:block}
.signature-hero--expertises>.container{min-height:162.95px}
.signature-hero--veille>.container{min-height:158.2px}
.signature-hero .signature-scene{position:absolute;right:0;top:50%;transform:translateY(-50%);width:375px;height:214px}
.signature-hero--veille .signature-scene{height:158px;width:350px}
.signature-hero .expertises-hero__title,.signature-hero .veille-hero__title{position:relative;z-index:2;max-width:calc(100% - 410px)}
.signature-scene--expertise{background:radial-gradient(ellipse at 85% 10%,#315b4a,#153b2e);border-radius:8px}
.signature-orbit{position:absolute;width:230px;height:230px;border:1px solid #c2aa6b35;border-radius:50%;right:-55px;top:-45px}
.signature-orbit:after{content:'';position:absolute;inset:24px;border:1px solid #c2aa6b20;border-radius:50%}
.signature-folder{position:absolute;width:223px;height:165px;background:#f8f4e8;left:57px;top:27px;border-radius:3px;box-shadow:8px 12px 18px #061b1630}
.signature-folder--back{background:#d4d7c3;transform:rotate(9deg) translate(18px,-5px)}
.signature-folder--front{padding:16px 18px;transform:rotate(-7deg)}
.signature-folder__brand{display:flex;align-items:center;gap:8px;font:700 7px/1.45 Georgia,serif;letter-spacing:.05em;color:#173d32}
.signature-folder__brand img{width:23px;height:26px;object-fit:contain}
.signature-folder__brand small{font:5px Arial,sans-serif;letter-spacing:.17em;color:#8a722f}
.signature-folder>strong{display:block;font:400 27px/.98 Georgia,serif;letter-spacing:-.045em;color:#173d32;margin-top:14px}
.signature-folder__tabs{display:flex;gap:4px;flex-wrap:wrap;margin-top:12px}
.signature-folder__tabs>span{font:5px/1 Arial,sans-serif;letter-spacing:.02em;border:1px solid #a47c2a45;padding:4px;color:#6e653d}
.signature-folder__rule{display:block;width:35px;border-top:1px solid #a47c2a;margin-top:9px}
.signature-seal{position:absolute;right:25px;bottom:19px;width:65px;height:65px;background:#d0bc7c;border:4px solid #ded1a1;border-radius:50%;box-shadow:4px 7px 12px #061b1625;transform:rotate(15deg)}
.signature-seal svg{width:100%;height:100%;stroke:#47634a;stroke-width:1}
.signature-scene--veille{background:linear-gradient(135deg,#dddcc9,#eeebdf)}
.signature-journal{position:absolute;width:213px;height:136px;left:56px;top:12px;background:#fbf8ed;box-shadow:6px 9px 16px #5f62462c;border-radius:2px}
.signature-journal--back{transform:rotate(9deg);background:#e6dfc7}
.signature-journal--front{transform:rotate(-5deg);padding:11px 16px;overflow:hidden}
.signature-journal .signature-folder__brand{font-size:5px;gap:7px}.signature-journal .signature-folder__brand img{width:17px;height:19px}
.signature-journal>strong{display:block;font:400 22px/1 Georgia,serif;letter-spacing:-.035em;color:#173d32;margin:8px 0}
.signature-journal__columns{display:flex;gap:10px}.signature-journal__columns i{width:70px;height:19px;background:repeating-linear-gradient(transparent 0 4px,#c9c6b5 4px 5px)}
.signature-journal__foot{position:absolute;bottom:5px;left:16px;font:700 10px/1 Georgia,serif;color:#c3b99166;letter-spacing:.05em}.signature-journal__foot small{font:5px Arial,sans-serif;letter-spacing:.25em}
.signature-lens{position:absolute;right:29px;bottom:5px;width:93px;height:93px;color:#9a7931;transform:rotate(-12deg)}.signature-lens svg{width:100%;height:100%;stroke:currentColor;stroke-width:3}.signature-lens:before{content:'';position:absolute;left:12px;top:12px;width:52px;height:52px;background:#fff9;border-radius:50%;z-index:-1}
/* Cabinet: working method follows the areas of practice, with no numbered cards. */
.cabinet-signature-method{padding:34px 0 55px;scroll-margin-top:90px}
.cabinet-signature-method__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;border-top:1px solid #a47c2a35;padding-top:30px}
.cabinet-signature-method h2{font:400 clamp(30px,3.4vw,43px)/1.12 Georgia,serif;color:#173d32;letter-spacing:-.04em;margin:18px 0 24px;max-width:22ch}
.cabinet-signature-method__steps{display:grid;gap:18px}
.cabinet-signature-method h3{font:400 20px/1.25 Georgia,serif;color:#173d32;margin:0 0 7px}
.cabinet-signature-method p:not(.section-kicker){font-size:14px;line-height:1.7;margin:0}
.cabinet-signature-method .signature-scene{width:100%;max-width:360px;justify-self:end}
/* Contact: readable coordinates, a full-width map, and a single invitation. */
.contact-desk .page-hero{padding-top:42px;padding-bottom:24px}
.contact-desk .page-hero h1{font:400 clamp(44px,5vw,68px)/1.05 Georgia,serif;letter-spacing:-.045em;margin:8px 0 0}
.contact-desk__essentials{padding:0 0 28px}
.contact-desk__essentials-grid{display:grid;grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:24px;align-items:stretch}
.contact-desk__direct{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:18px;border:1px solid #a47c2a35;border-radius:14px;overflow:hidden;background:#faf7efc9;padding:28px 0 28px 28px;align-items:center}
.contact-desk__direct-copy{min-width:0}
.contact-desk__direct .signature-scene{align-self:stretch;margin:-28px 0;height:calc(100% + 56px);border-radius:0}
.contact-desk__direct .section-kicker,.contact-desk__access .section-kicker,.contact-desk__invitation .section-kicker{font-size:11px;letter-spacing:.16em}
.contact-desk__direct h2{font:400 34px/1.08 Georgia,serif;color:#173d32;margin:20px 0 15px}
.contact-desk__direct .contact-link-list{margin:0;gap:0}
.contact-desk__direct .contact-link-row{display:grid;grid-template-columns:max-content 16px;justify-content:start;align-items:center;gap:5px 10px;min-height:0;padding:13px 0}
.contact-desk__direct .contact-link-label{grid-column:1;grid-row:1;font-size:10px;line-height:1.4;letter-spacing:.12em}
.contact-desk__direct .contact-link-value{grid-column:1;grid-row:2;font-size:16px;line-height:1.5;white-space:nowrap}
.contact-desk__direct .contact-link-row>span:last-child{grid-column:2;grid-row:2;font-size:15px}
.contact-desk__access{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;border:1px solid #a47c2a35;border-radius:14px;padding:24px;background:#faf7efc9}
.contact-desk__access>div:first-child{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}
.contact-desk__access .section-kicker{grid-column:1;grid-row:1}
.contact-desk__access address{grid-column:1;grid-row:2;font:400 18px/1.5 Arial,sans-serif;font-style:normal;margin:0}
.contact-desk__access>div>a{grid-column:2;grid-row:1/3;font-size:14px;color:#80601f;padding:10px 0;text-decoration:none;border-bottom:1px solid #a47c2a50}
.contact-desk__access .contact-map{width:100%;height:215px;min-height:215px;border-radius:9px;overflow:hidden;border:1px solid #173d3220}
.contact-desk__access iframe{width:100%;height:100%;border:0}
.contact-desk__booking>.container{border-top:1px solid #a47c2a35;padding-top:26px}
.contact-desk__calendar{border:1px solid #a47c2a40;border-radius:14px;overflow:hidden;scroll-margin-top:90px;background:#faf7efc9}
.contact-desk__calendar>.contact-desk__invitation{list-style:none;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:stretch;color:#173d32}
.contact-desk__invitation-copy{padding:30px 34px}
.contact-desk__invitation h2{font:400 36px/1.08 Georgia,serif;color:#173d32;letter-spacing:-.03em;margin:17px 0 16px;max-width:20ch}
.contact-desk .contact-desk__booking-text{font:16px/1.65 Arial,sans-serif;max-width:47ch;margin:0;text-align:left!important;word-spacing:normal!important;letter-spacing:normal!important;text-wrap:pretty}
.contact-desk__date-action{display:inline-flex;align-items:center;justify-content:center;gap:22px;margin-top:21px;padding:12px 19px;border:1px solid var(--aa-primary-button-bg,var(--color-green));background:var(--aa-primary-button-bg,var(--color-green));color:var(--aa-primary-button-text,var(--color-ivory-2));border-radius:25px;font:600 14px/1.4 Arial,sans-serif;cursor:pointer;min-height:46px;transition:background .2s,color .2s}
.contact-desk__toggle{font:23px/1 Arial,sans-serif;color:inherit;transition:transform .2s}
.contact-desk__date-action:hover,.contact-desk__date-action:focus-visible{background:var(--aa-primary-button-bg-hover,var(--color-gold));border-color:var(--aa-primary-button-bg-hover,var(--color-gold));color:var(--aa-primary-button-text-hover,var(--color-ivory-2))}
.contact-desk__date-action:focus-visible{outline:2px solid #a47c2a;outline-offset:4px}
.contact-desk__date-action[aria-expanded="true"] .contact-desk__toggle{transform:rotate(45deg)}
.contact-desk__invitation>.signature-scene{height:100%;min-height:275px;border-radius:0;background:radial-gradient(ellipse at 70% 20%,#e9e8d9,#dddccd)}
.contact-desk__invitation .atelier-paper{width:160px;left:calc(50% - 80px);top:26px}
.contact-desk__invitation .atelier-paper--front{padding:17px}
.contact-desk__invitation .atelier-paper__top{font-size:7px}
.contact-desk__invitation .atelier-paper__title{font-size:17px;margin-top:20%}
.contact-desk__invitation .atelier-paper__foot{font-size:5px;margin-top:17%}
.contact-desk__invitation .atelier-paper__ghost{left:15px;right:15px;bottom:13px;font-size:17px}
.contact-desk__invitation .atelier-paper__ghost small{font-size:6px}
/* The calendar remains optional and opens below the invitation at full width. */
.contact-desk .appointment-signature{margin:0;padding:0;background:transparent}
.contact-desk .appointment-signature .atelier-meeting__grid{display:block;width:100%;max-width:none;padding:0;border:0}
.contact-desk .appointment{border:0;border-top:1px solid #a47c2a30;border-radius:0;box-shadow:none}
.contact-desk .appointment__brand{display:none}
.contact-desk .appointment__dates,.contact-desk .appointment__request{padding:22px 28px}
.contact-desk .appointment__workspace{grid-template-columns:1fr 1fr}
.contact-desk .appointment .atelier-calendar__days button{min-height:36px;max-height:40px;aspect-ratio:auto;font-size:14px;border-radius:8px}
.contact-desk .appointment .atelier-calendar__days{gap:4px}
.contact-desk .appointment .atelier-calendar__head{margin-bottom:15px}
.contact-desk .appointment .atelier-calendar__head h3{font-size:24px}
.contact-desk .appointment__eyebrow{margin-bottom:12px}
.contact-desk .appointment__ticket{min-height:62px;padding-bottom:13px}
.contact-desk .appointment__ticket-day{font-size:50px;min-width:56px}
.contact-desk .appointment__ticket strong{font-size:20px}
.contact-desk .appointment .appointment__formats{margin-top:15px}
.contact-desk .appointment .appointment__formats label{min-height:60px;padding:9px 4px}
.contact-desk .appointment__format-detail{min-height:20px;margin-bottom:10px}
.contact-desk .appointment__shortcuts{margin-top:14px}
.contact-desk .appointment .atelier-calendar__notice{margin-top:8px}
.contact-desk__practical{padding:28px 0 38px}
.contact-desk__practical>.container{display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid #a47c2a35;padding-top:26px}
.contact-desk__practical h2{font:400 25px/1.2 Georgia,serif;color:#173d32;margin:0 0 12px}
.contact-desk__practical p{font:15px/1.75 Arial,sans-serif;margin:0 0 13px}
.contact-desk__practical a{font-size:13px;color:#80601f}
/* Other page signatures retain their existing geometry. */
.cabinet-rework .cabinet-rework__expertise{padding-bottom:20px}
.cabinet-signature-method{padding-top:12px}
.signature-miniature{position:absolute;inset:0}
@media(max-width:1100px){
 .signature-hero .signature-scene{width:300px}
 .signature-hero .expertises-hero__title,.signature-hero .veille-hero__title{max-width:calc(100% - 330px)}
 .cabinet-signature-method__grid{gap:40px}
 .contact-desk__essentials-grid{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:18px}
 .contact-desk__direct{grid-template-columns:minmax(0,1fr) 70px;gap:12px;padding-left:20px}
 .contact-desk__direct h2{font-size:30px}
 .contact-desk__direct .contact-link-value{font-size:14px}
 .contact-desk__access{padding:20px}
 .contact-desk__access address{font-size:16px}
 .contact-desk__access>div>a{font-size:12px}
 .contact-desk__invitation-copy{padding:28px}
}
@media(max-width:760px){
 .signature-hero>.container{min-height:0}
 .signature-hero .signature-scene{width:110px;height:112px;opacity:1;right:0;top:50%;z-index:0;border-radius:8px}
 .signature-hero .expertises-hero__title,.signature-hero .veille-hero__title{max-width:calc(100% - 125px)}
 .signature-hero .page-title-lines{font-size:34px!important;line-height:1.07!important}
 .signature-hero--veille>.container{min-height:158.2px}
 .signature-scene--expertise .signature-miniature{inset:auto;width:375px;height:214px;top:24px;left:0;transform:scale(.29);transform-origin:top left}
 .signature-scene--veille .signature-miniature{inset:auto;width:350px;height:158px;top:31px;left:0;transform:scale(.315);transform-origin:top left}
 .cabinet-signature-method__grid{grid-template-columns:1fr;gap:25px;padding-top:25px}
 .cabinet-signature-method .signature-scene{justify-self:center;max-width:280px}
 .cabinet-signature-method{padding:20px 0 30px}
 .contact-desk .page-hero{padding-top:30px;padding-bottom:22px}
 .contact-desk__essentials-grid{grid-template-columns:1fr;gap:16px}
 .contact-desk__direct{grid-template-columns:minmax(0,1fr) 80px;padding:23px 0 23px 23px;gap:12px}
 .contact-desk__direct .signature-scene{margin:-23px 0;height:calc(100% + 46px)}
 .contact-desk__direct h2{font-size:31px;margin-top:16px}
 .contact-desk__direct .contact-link-value{font-size:14px}
 .contact-desk__access{padding:20px;gap:16px}
 .contact-desk__access address{font-size:17px}
 .contact-desk__access .contact-map{height:215px;min-height:215px}
 .contact-desk__calendar>.contact-desk__invitation{grid-template-columns:minmax(0,1fr) 110px}
 .contact-desk__invitation-copy{padding:23px 20px}
 .contact-desk__invitation h2{font-size:29px;margin:15px 0}
 .contact-desk .contact-desk__booking-text{font-size:14px;line-height:1.65}
 .contact-desk__date-action{font-size:12px;padding:10px 13px;gap:12px;margin-top:17px;min-height:44px}
 .contact-desk__invitation>.signature-scene{min-height:260px}
 .contact-desk__invitation .atelier-paper{width:95px;left:calc(50% - 48px);top:calc(50% - 66px)}
 .contact-desk__invitation .atelier-paper--front{padding:9px}
 .contact-desk__invitation .atelier-paper__top{font-size:4px}
 .contact-desk__invitation .atelier-paper__title{font-size:10px}
 .contact-desk__invitation .atelier-paper__foot{font-size:4px}
 .contact-desk__invitation .atelier-paper__ghost{font-size:10px;left:8px;right:8px;bottom:8px}
 .contact-desk__invitation .atelier-paper__ghost small{font-size:4px}
 .contact-desk .appointment__workspace{grid-template-columns:1fr}
 .contact-desk .appointment__dates,.contact-desk .appointment__request{padding:20px}
 .contact-desk .appointment .atelier-calendar__days button{min-height:40px;max-height:44px}
 .contact-desk__practical>.container{grid-template-columns:1fr;gap:24px}
 .contact-desk__practical h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.contact-desk__toggle,.contact-desk__date-action{transition:none}}

.contact-desk [data-appointment-panel][hidden]{display:none}

.contact-desk .contact-desk__direct .contact-vcard-action{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;padding:0;border-bottom:0;font:13px/1.5 Arial,sans-serif;color:#80601f;text-decoration:none}
.contact-desk .contact-desk__direct .contact-vcard-action:hover{color:#173d32;text-decoration:underline;text-underline-offset:4px}

/* Use the warm beige of the access card throughout the Contact panels. */
.contact-desk__direct,
.contact-desk__access,
.contact-desk__calendar {
  background: #f1ebde;
}
.cabinet-signature-method__grid {
  display: block;
}
.cabinet-signature-method__steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.cabinet-signature-method__steps article {
  padding: 23px;
  background: rgba(250, 247, 239, .92);
  border: 1px solid #a47c2a35;
  border-radius: 14px;
}
@media (max-width: 760px) {
  .cabinet-signature-method__steps {
    grid-template-columns: 1fr;
  }
}

/* Integrate Booking Calendar without overriding its availability or form logic. */
.contact-desk .appointment--wordpress .appointment__booking {
  padding: clamp(16px, 2.5vw, 30px);
}
.contact-desk .appointment--wordpress .appointment__booking > p {
  margin: 0 0 8px;
  text-align: start !important;
  word-spacing: normal !important;
}
.contact-desk .appointment--wordpress .appointment__booking > p + p {
  font-size: .875rem;
  color: #57574e;
  margin-bottom: 18px;
}
.contact-desk .appointment--wordpress .wpbc_container_booking_form {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #173d32;
}
.contact-desk .appointment--wordpress .wpbc_cal_container {
  max-width: 100%;
}
.contact-desk .appointment--wordpress :is(input:not([type]), input[type="text"], input[type="email"], input[type="tel"], textarea, select) {
  max-width: 100%;
  border-radius: 8px;
  border-color: #c9c1af;
}
.contact-desk .appointment--wordpress :is(input[type="submit"], button[type="submit"], .booking_form .btn-primary) {
  min-height: 44px;
  border-radius: 24px;
  padding-inline: 20px;
  background: #173d32;
  border-color: #173d32;
  color: #faf7ef;
}
.contact-desk .appointment--wordpress :is(input[type="submit"], button[type="submit"], .booking_form .btn-primary):is(:hover,:focus-visible) {
  background: #a47c2a;
  border-color: #a47c2a;
  color: #171812;
}
.contact-desk__booking > .container { border-top: 0; padding-top: 0; }
.contact-booking-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px clamp(16px, 2.5vw, 26px);
  color: #173d32;
}
.contact-booking-header img { flex: none; object-fit: contain; }
.contact-booking-header h2 {
  font: 400 clamp(22px, 2.25vw, 28px)/1.1 Georgia, serif;
  margin: 0 0 4px;
}
.contact-desk .contact-booking-header p {
  margin: 0;
  font: 14px/1.45 Arial, sans-serif;
  text-align: start !important;
  word-spacing: normal !important;
}
.contact-desk .appointment--wordpress .appointment__booking { padding: 14px clamp(16px, 2.5vw, 26px); }

.contact-desk__calendar {
  max-width: 860px;
  margin-inline: auto;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form {
  padding: 0;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form > p {
  min-width: 0;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.4;
  text-align: start !important;
  word-spacing: normal !important;
}
.contact-desk .appointment--wordpress .wpbc_calendar_wraper {
  width: 100%;
  max-width: 320px;
  margin: 0 0 10px;
}
.contact-desk .appointment--wordpress .datepick-inline {
  border: 1px solid #c9c1af;
  border-radius: 10px;
  box-shadow: none;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form .wpdev-form-control-wrap > :is(input, select) {
  width: 100%;
  min-height: 38px;
  font-size: 16px;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form .wpbc_button_primary {
  font-size: 14px;
}

@media (min-width: 761px) {
  .contact-desk .appointment--wordpress .wpbc_bfb_form:has(> .wpbc_calendar_wraper) {
    display: grid;
    grid-template-columns: minmax(260px, 320px) repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 10px 16px;
  }
  .contact-desk .appointment--wordpress .wpbc_bfb_form:has(> .wpbc_calendar_wraper) > p {
    margin: 0;
  }
  .contact-desk .appointment--wordpress .wpbc_bfb_form > p:first-child {
    grid-column: 1 / -1;
  }
  .contact-desk .appointment--wordpress .wpbc_bfb_form > .wpbc_calendar_wraper {
    grid-column: 1;
    grid-row: 2 / span 5;
    margin: 0;
  }
  .contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(select[name^="rangetime"], select[name^="format"], .wpbc_button_primary) {
    grid-column: 2 / -1;
  }
}
.contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(select[name^="rangetime"]) > .wpbc_wrap_select {
  display: block;
  width: 100%;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(.wpbc_button_primary) {
  margin-bottom: 0;
}

.contact-desk .booking-recap {
  display: grid;
  gap: 4px;
  margin: 10px 0 12px;
  padding: 10px 14px;
  border-inline-start: 2px solid #a47c2a;
  border-radius: 0 8px 8px 0;
  background: #f1ebde;
  color: #173d32;
  font-size: 14px;
}
.contact-desk .booking-recap[hidden] { display: none; }
.contact-desk .booking-recap strong {
  color: #765719;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.contact-desk .appointment--wordpress .wpbc_bfb_form .wpdev-form-control-wrap > :is(input:not([type="hidden"]), select) {
  padding: 8px 12px;
  border: 1px solid #c9c1af;
  border-radius: 9px;
  background-color: #fffdf7;
  color: #173d32;
}
.contact-desk .appointment--wordpress select[name^="rangetime"] {
  display: block !important;
  max-width: 170px;
  min-height: 44px;
  margin-top: 4px;
  font-variant-numeric: tabular-nums;
}
.contact-desk .appointment--wordpress select[name^="rangetime"] ~ .wpbc_times_selector {
  display: none;
}

.contact-desk .booking-mode-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 5px;
}
.contact-desk .appointment--wordpress .wpdev-form-control-wrap > select[name^="format"][hidden] {
  display: none !important;
}
.contact-desk .booking-mode-choices > button {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  min-height: 55px;
  padding: 6px 3px;
  border: 1px solid #c9c1af !important;
  border-radius: 9px;
  background: #fffdf7 !important;
  color: #173d32;
  font: 600 13px/1.25 Arial, sans-serif;
  cursor: pointer;
}
.contact-desk .booking-mode-choices svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact-desk .booking-mode-choices > button:hover {
  border-color: #a47c2a !important;
}
.contact-desk .booking-mode-choices > button[aria-pressed="true"] {
  background: #173d32 !important;
  border-color: #173d32 !important;
  color: #fffdf7;
}
.contact-desk .booking-mode-choices > button:focus-visible {
  outline: 2px solid #a47c2a;
  outline-offset: 2px;
}
.contact-desk .booking-mode-choices > button:disabled {
  opacity: .55;
  cursor: default;
}
.contact-desk .appointment--wordpress .wpdev-form-control-wrap:has(> .booking-mode-choices) {
  display: block;
  width: 100%;
}

@media (min-width: 1000px) {
  .contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(select[name^="rangetime"]):has(+ p .booking-mode-choices) {
    grid-column: 2;
  }
  .contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(select[name^="rangetime"]) + p:has(.booking-mode-choices) {
    grid-column: 3;
  }
}

.contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(.booking-recap) > .wpbc_wrap_select {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.contact-desk .wpbc_wrap_select > .booking-recap {
  flex: 1 1 180px;
  margin: 4px 0 0;
}
.contact-desk .booking-confirmation-note {
  margin: 10px 0 0;
  color: #765719;
  font-size: 13px;
  text-align: start !important;
}
@media (max-width: 760px) {
  .contact-desk .wpbc_wrap_select > .booking-recap { flex-basis: 100%; }
}

@media (min-width: 1000px) {
  .contact-desk .appointment--wordpress .wpbc_bfb_form > p:has(.booking-recap) > .wpbc_wrap_select {
    display: grid !important;
    width: 100%;
    max-width: none;
    grid-template-columns: 170px minmax(0, 1fr);
  }
}
