/* Current-site polish. Header, H1s and the approved wedding intro are preserved. */
body.cba-polished main { --cba-copy:#625e60; --cba-section-space:64px; --cba-gutter:60px; }
body.cba-polished main h2.elementor-heading-title {
  font-family:"Josefin Sans",sans-serif; font-size:36px!important; font-weight:300!important;
  line-height:1.3!important; letter-spacing:3.2px!important;
}
body.cba-polished main h3.elementor-image-box-title,
body.cba-polished main .elementor-icon-box-title,
body.cba-polished main .elementor-icon-box-title h3 {
  font-family:Varta,sans-serif; font-size:21px!important; font-weight:400!important;
  line-height:1.4!important; letter-spacing:1.5px!important;
}
body.cba-polished main .elementor-widget-text-editor:not(.cba-keep-copy),
body.cba-polished main .elementor-widget-text-editor:not(.cba-keep-copy) :is(p,li),
body.cba-polished main .elementor-image-box-description,
body.cba-polished main .elementor-icon-box-description {
  font-family:Varta,sans-serif; font-size:18px!important; font-weight:400!important;
  line-height:1.75!important; color:var(--cba-copy);
}
body.cba-polished main .elementor .cba-polish-section {
  --padding-top:var(--cba-section-space); --padding-bottom:var(--cba-section-space);
  --padding-left:var(--cba-gutter); --padding-right:var(--cba-gutter);
}
body.cba-polished main .elementor .cba-polish-gutters { --padding-left:var(--cba-gutter); --padding-right:var(--cba-gutter); }
body.cba-polished main .cba-gallery-section { --padding-top:0px; --padding-bottom:32px; }
body.cba-polished main .cba-process .elementor-icon-box-title { margin-bottom:8px!important; text-transform:none!important; letter-spacing:.8px!important; }
body.cba-polished main .cba-process .elementor-icon-box-wrapper { align-items:flex-start; }
body.cba-polished main .cba-process .elementor-icon-box-description { margin-bottom:0; }
body.cba-polished main .elementor .cba-service-row { align-items:stretch; gap:32px; }
body.cba-polished main .elementor .cba-service-card { min-height:620px; --width:calc(50% - 16px); align-items:center; justify-content:center; }
body.cba-polished main .elementor .cba-service-card > .e-con {
  width:min(420px,calc(100% - 48px)); max-width:calc(100% - 48px); min-height:310px;
  --padding-top:30px; --padding-bottom:30px; --padding-left:28px; --padding-right:28px;
  display:flex; flex-direction:column; justify-content:flex-start; align-items:center; background:rgba(255,255,255,.95);
}
body.cba-polished main .elementor .cba-service-card h2.elementor-heading-title { font-size:25px!important; letter-spacing:2.2px!important; font-weight:400!important; }
body.cba-polished main .elementor .cba-service-card .elementor-widget-text-editor { flex:1; }
body.cba-polished main .elementor .cba-service-card .elementor-widget-button { margin-top:auto; }
body.cba-polished main .elementor .cba-feature-rows { gap:48px; }
body.cba-polished main .elementor .cba-feature-row { --min-height:460px; align-items:stretch; }
body.cba-polished main .elementor .cba-feature-row > .e-con { --min-height:460px; }
body.cba-polished main .elementor .cba-feature-copy { justify-content:center; --padding-top:32px; --padding-bottom:32px; --padding-left:32px; --padding-right:32px; }
body.cba-polished main .elementor .cba-feature-copy h2.elementor-heading-title { font-size:27px!important; letter-spacing:2px!important; }
body.cba-polished main .elementor .cba-feature-photo { background-position:center 35%!important; }
body.cba-polished main .cba-gallery-caption { font-weight:400; color:var(--cba-copy); line-height:1.65; }
body.cba-polished main .cba-testimonial-quote {
  margin:0; padding:0; border:0; font-family:Varta,sans-serif!important; font-size:21px!important;
  font-weight:400!important; line-height:1.7!important; letter-spacing:0!important;
  color:var(--cba-copy)!important; text-transform:none!important; font-style:normal;
}
body.cba-polished main .cba-testimonial-quote p { font:inherit; margin:0 0 1em; }
body.cba-polished main .cba-testimonial-author { display:block; margin-top:20px; font-family:Varta,sans-serif; font-size:16px; font-weight:400; line-height:1.6; letter-spacing:1px; font-style:normal; color:#727171; }
body.cba-polished main .wpr-testimonial-content,
body.cba-polished main .wpr-testimonial-content p { font-family:Varta,sans-serif!important; font-size:19px!important; font-weight:400!important; line-height:1.7!important; letter-spacing:0!important; }
body.cba-polished main .elementor .cba-about-copy { text-align:left; }
body.cba-polished main .elementor .cba-about-copy h2 { margin:0 0 20px; }
body.cba-polished main .elementor .cba-about-copy p { margin-bottom:1.1em; }
body.cba-polished main .cba-classes-note { max-width:760px; margin:0 auto; text-align:center; }
body.cba-polished main .cba-classes-note h2 { margin:0 0 18px; }
body.cba-polished main .cba-polish-actions { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 24px; margin:24px 0 0; }
body.cba-polished main .elementor a.elementor-button,
body.cba-polished main a.cba-polish-button {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding:13px 24px; font-family:Varta,sans-serif; font-size:17px!important; font-weight:400!important;
  line-height:1.3; letter-spacing:.3px; text-transform:none; text-decoration:none;
  background:#b3476b; color:#fff; border:0;
}
body.cba-polished main a.cba-polish-button:hover { background:#963454; color:white; }
body.cba-polished main .cba-polish-actions > a:not(.cba-polish-button) { min-height:44px; display:inline-flex; align-items:center; color:#b3476b; text-underline-offset:4px; }
body.cba-polished main form[data-migration-form] label {
  display:block; margin-bottom:8px; font-family:Varta,sans-serif; font-size:17px!important;
  font-weight:400!important; line-height:1.5; letter-spacing:0!important; text-transform:none!important; color:var(--cba-copy)!important;
}
body.cba-polished main form[data-migration-form] .uacf7-row { margin-bottom:18px; }
body.cba-polished main form[data-migration-form] :is(input:not([type=hidden]):not([type=submit]),select,textarea) {
  min-height:48px; padding:11px 12px; font-family:Varta,sans-serif; font-size:18px!important;
  font-weight:400!important; line-height:1.4; color:#514b4e!important; background:white;
  border:1px solid #c28c9e!important; border-radius:0;
}
body.cba-polished main form[data-migration-form] textarea { min-height:180px; }
body.cba-polished main form[data-migration-form] input[type=submit] {
  min-height:48px; padding:13px 26px; font-family:Varta,sans-serif; font-size:17px!important;
  font-weight:400!important; line-height:1.3; letter-spacing:.3px; text-transform:none; border:0!important;
}
body.cba-polished main .cba-required, body.cba-polished main .cba-optional { font-size:.88em; font-weight:400; color:#727171; }
body.cba-polished main .migration-privacy-link a,
body.cba-polished main .cba-form-fallback a { display:inline-flex; align-items:center; min-height:44px; overflow-wrap:anywhere; }
body.cba-polished main :is(input,select,textarea,a,button,[role=button]):focus-visible { outline:2px solid #963454; outline-offset:3px; }
body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button {
  display:flex; align-items:center; justify-content:center; width:48px!important; height:48px!important;
  min-width:48px; min-height:48px; padding:0!important; border:0; border-radius:50%;
  color:#963454!important; background:rgba(255,255,255,.94); box-shadow:0 2px 9px rgba(62,40,48,.13);
  font-size:18px!important; cursor:pointer;
}
body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button:hover { background:white; }
body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button svg { width:12px!important; height:18px!important; fill:currentColor!important; }
body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button-prev { left:12px!important; }
body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button-next { right:12px!important; }
body.cba-polished main .migration-privacy-page { font-size:18px; font-weight:400; color:var(--cba-copy); line-height:1.75; }
@media(max-width:1200px) {
 body.cba-polished main { --cba-section-space:48px; --cba-gutter:40px; }
 body.cba-polished main h2.elementor-heading-title { font-size:32px!important; letter-spacing:2.8px!important; }
 body.cba-polished main .elementor .cba-service-card { min-height:560px; }
 body.cba-polished main .elementor .cba-feature-copy { --padding-left:24px; --padding-right:24px; }
}
@media(max-width:880px) {
 body.cba-polished main .elementor .cba-service-row { flex-direction:column; }
 body.cba-polished main .elementor .cba-service-card { --width:100%; width:100%; min-height:520px; }
}
@media(max-width:767px) {
 body.cba-polished main { --cba-section-space:36px; --cba-gutter:20px; }
 body.cba-polished main h2.elementor-heading-title { font-size:26px!important; letter-spacing:2px!important; }
 body.cba-polished main .elementor-widget-text-editor:not(.cba-keep-copy),
 body.cba-polished main .elementor-widget-text-editor:not(.cba-keep-copy) :is(p,li),
 body.cba-polished main .elementor-image-box-description,
 body.cba-polished main .elementor-icon-box-description { font-size:17px!important; line-height:1.7!important; }
 body.cba-polished main .elementor .cba-feature-rows { gap:32px; }
 body.cba-polished main .elementor .cba-feature-row, body.cba-polished main .elementor .cba-feature-row > .e-con { --min-height:initial; }
 body.cba-polished main .elementor .cba-feature-photo { --min-height:360px!important; }
 body.cba-polished main .elementor .cba-feature-copy { --padding-top:28px; --padding-bottom:28px; --padding-left:0px; --padding-right:0px; }
 body.cba-polished main .elementor .cba-feature-copy h2.elementor-heading-title { font-size:24px!important; letter-spacing:1.5px!important; }
 body.cba-polished main .elementor .cba-service-card > .e-con { width:calc(100% - 32px); max-width:calc(100% - 32px); --padding-left:20px; --padding-right:20px; min-height:300px; }
 body.cba-polished main .elementor .cba-service-card h2.elementor-heading-title { font-size:23px!important; letter-spacing:1.5px!important; }
 body.cba-polished main .cba-testimonial-quote { font-size:19px!important; line-height:1.65!important; }
 body.cba-polished main form[data-migration-form] label { font-size:16px!important; }
 body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button { width:44px!important; height:44px!important; min-width:44px; min-height:44px; }
 body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button-prev { left:8px!important; }
 body.cba-polished main .elementor-image-carousel-wrapper .elementor-swiper-button-next { right:8px!important; }
}
@media(prefers-reduced-motion:reduce) {
 body.cba-polished main .elementor-image-carousel-wrapper .swiper-wrapper { transition-duration:0s!important; }
}

body.cba-polished main .elementor .cba-polish-intro { --padding-top:20px; --padding-bottom:48px; --padding-left:var(--cba-gutter); --padding-right:var(--cba-gutter); }
body.cba-polished main .elementor .cba-polish-section + .cba-polish-section, body.cba-polished main .elementor .cba-polish-intro + .cba-polish-section { --padding-top:0px; }
body.cba-polished main .elementor .cba-gallery-section + .cba-polish-section { --padding-top:32px; }
body.cba-polished main .cba-editorial-section.cba-polish-section { padding:var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left); }
body.cba-polished main .cba-flavours .elementor-image-box-img { width:160px!important; max-width:100%; margin-inline:auto!important; }
body.cba-polished main .cba-flavours .elementor-image-box-img img { width:100%; height:auto; }

body.cba-polished main .cba-polish-heading { color:#b3476b; }
@media(max-width:767px) {
 body.cba-polished main .elementor.elementor-2210 h2.elementor-heading-title { font-size:22px!important; letter-spacing:1.5px!important; }
}
@media(max-width:359px) {
 body.cba-polished main .elementor.elementor-2210 h2.elementor-heading-title { font-size:20px!important; letter-spacing:1.2px!important; }
}
