/*

Theme Name: Kadence Child

Template: kadence

Version: 1.0

*/


/* 1. CUSTOM FONTS */


@font-face {

  font-family: 'ArcaneNine';

  src: url('/wp-content/uploads/2026/03/Arcane-Nine.woff2') format('woff2'),

       url('/wp-content/uploads/2026/03/Arcane-Nine.woff') format('woff');

  font-weight: normal;

  font-style: normal;

  font-display: swap;

}


@font-face {

  font-family: 'Cherolina';

  src: url('/wp-content/uploads/2026/03/Cherolina.woff2') format('woff2'),

       url('/wp-content/uploads/2026/03/Cherolina.woff') format('woff');

  font-weight: normal;

  font-style: normal;

  font-display: swap;

}


/* 2. DESIGN TOKENS */


:root {


  /* Text */

  --rd-text-dark: rgb(28, 38, 56);

  --rd-text-body: rgb(31, 36, 48);

  --rd-text-muted: rgb(97, 105, 119);


  /* Accent */

  --rd-accent: rgb(183, 154, 103);

  --rd-accent-dark: rgb(44, 75, 103);


  /* Lines */

  --rd-line-soft: rgba(31, 36, 48, 0.08);

  --rd-line: rgba(31, 36, 48, 0.10);

  --rd-line-strong: rgba(31, 36, 48, 0.12);


  /* Surfaces */

  --rd-surface-sticky: rgba(239, 237, 232, 0.80);

  --rd-surface-button: rgba(239, 237, 232, 0.85);


  /* Shadows */

  --rd-shadow-soft: 0 4px 12px rgba(0, 0, 0, 0.04);

  --rd-shadow-medium: 0 8px 22px rgba(0, 0, 0, 0.10);

  --rd-shadow-video: 0 20px 50px rgba(25, 32, 45, 0.10);


  /* Fonts */

  --rd-font-display: "Cormorant Garamond", serif;

  --rd-font-ui: "Poppins", sans-serif;

  --rd-font-brand: "ArcaneNine", serif;


  /* Type Scale */

  --rd-text-sm: clamp(12px, 1vw, 14px);

  --rd-text-md: clamp(16px, 1.2vw, 18px);

  --rd-text-lg: clamp(18px, 1.4vw, 21px);


  /* Navigation */

  --rd-nav-size: clamp(18px, 1.5vw, 20px);

  --rd-nav-letter-spacing: 0.08em;


  /* Layout */

  --rd-bar-height: 46px;

}


/* 3. GLOBAL */


html {

  overflow-y: scroll;

  scrollbar-gutter: stable;

}


body {

  color: var(--rd-text-body);

  font-family: var(--rd-font-ui);

}


/* 4. TYPOGRAPHY */


/* 4.1 Base Headings */


h1,

h2,

h3 {

  margin: 0;

  color: var(--rd-text-dark);

  font-family: var(--rd-font-display);

  font-weight: 500;

  line-height: 1.02;

}


/* 4.2 H1 */


h1 {

  font-size: clamp(42px, 7vw, 76px);

  letter-spacing: -0.02em;

}


/* 4.3 H2 */


.section-title {

  font-size: clamp(34px, 5vw, 58px) !important;

  letter-spacing: -0.01em !important;

  line-height: 1.02 !important;

}


.section-title-sm {

  font-size: clamp(28px, 3.2vw, 38px) !important;

  letter-spacing: -0.01em !important;

  line-height: 1.04 !important;

  font-weight: 700 !important;

}


/* 4.4 H3 */


h3 {

  font-size: clamp(24px, 3vw, 34px);

  letter-spacing: -0.01em;

}


/* 4.5 Typography Utilities */


.section-eyebrow {

  margin: 0 !important;

  color: var(--rd-accent-dark);

  font-family: var(--rd-font-ui) !important;

  font-size: 12px !important;

  font-weight: 400 !important;

  line-height: 1 !important;

  letter-spacing: 0.22em !important;

  text-transform: uppercase !important;

}


.hero-kicker {

  margin: 0;

  color: var(--rd-accent-dark);

  font-family: var(--rd-font-ui) !important;

  font-size: 16px !important;

  font-weight: 400 !important;

  line-height: 1.5 !important;

  letter-spacing: 0 !important;

}


.service-lead {

  margin: 0;

  max-width: 58ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: clamp(15px, 1.3vw, 16px) !important;

  font-weight: 400 !important;

  line-height: 1.5 !important;

}


.service-lead-r {

  margin: 0;

  max-width: 64ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: clamp(13px, 1.3vw, 14px) !important;

  font-weight: 200 !important;

  line-height: 1.5 !important;

}


.service-title {

  margin: 0;

  color: var(--rd-text-dark);

  font-family: var(--rd-font-display) !important;

  font-size: 32px !important;

  font-weight: 600 !important;

  line-height: 1.15 !important;

}


.service-title-home {

  margin: 0 !important;

  color: var(--rd-text-dark);

  font-family: var(--rd-font-display) !important;

  font-size: 32px !important;

  font-weight: 600 !important;

  line-height: 1.15 !important;

}


.service-text {

  margin: 0;

  max-width: 58ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: clamp(15px, 1.3vw, 18px) !important;

  font-weight: 400 !important;

  line-height: 1.7 !important;

}


.fineprint {

  margin: 0;

  max-width: 64ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 400 !important;

  line-height: 1.6 !important;

}


.service-list-item {

  margin: 0;

  color: var(--rd-text-body);

  font-family: var(--rd-font-ui) !important;

  font-size: 15px !important;

  font-weight: 400 !important;

  line-height: 1.5 !important;

}


.price-title {

  margin: 0;

  color: var(--rd-text-dark);

  font-family: var(--rd-font-display) !important;

  font-size: 26px !important;

  font-weight: 500 !important;

  line-height: 1.15 !important;

  letter-spacing: normal !important;

}


.price-value {

  margin: 0;

  color: var(--rd-accent);

  font-family: var(--rd-font-ui) !important;

  font-size: 16px !important;

  font-weight: 400 !important;

  line-height: 1.4 !important;

}


.price-value-lg {

  margin: 0;

  color: var(--rd-accent);

  font-family: var(--rd-font-ui) !important;

  font-size: var(--rd-text-lg) !important;

  font-weight: 500 !important;

  line-height: 1.4 !important;

}


.price-meta {

  margin: 0;

  max-width: 42ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 400 !important;

  line-height: 1.5 !important;

}


.about-editorial-lead {

  margin: 20px 0 0 0 !important;

  max-width: 75ch;

  color: var(--rd-text-muted);

  font-family: var(--rd-font-ui) !important;

  font-size: clamp(15px, 1.3vw, 16px) !important;

  font-weight: 400 !important;

  line-height: 1.7 !important;

}


.emotions {

  text-align: center;

  letter-spacing: 0.22em;

  font-weight: 100;

}


/* 4.6 Typography Spacing */


.section-eyebrow + h1,

.section-eyebrow + h2,

.section-eyebrow + h3,

.section-eyebrow + .section-title-sm {

  margin-top: 20px !important;

}


.section-eyebrow + .section-title {

  margin-top: 30px !important;

}


.service-title + .service-text {

  margin-top: 0 !important;

}


.home-service-block .scroll-video-shadow + .service-title-home {

  margin-top: 20px !important;

}


.home-service-block .service-title-home + .service-text {

  margin-top: 15px !important;

}


.signature-service-item {

  margin-bottom: 30px !important;

}


.signature-service-item:has(+ .service-lead-r) {

  margin-bottom: 5px !important;

}


/* 5. HERO */


/* 5.1 Home */


.home h1.hero-title {

  font-size: clamp(48px, 7vw, 76px);

  max-width: clamp(18ch, 80vw, 25ch) !important;

  margin: 0 auto !important;

  text-align: center !important;

  white-space: normal !important;

  text-wrap: normal !important;

  letter-spacing: -0.02em;

}


/* 5.2 Services */


.page-id-21 h1.hero-title {

  font-size: clamp(48px, 5vw, 58px);

  max-width: clamp(11ch, 80vw, 40ch) !important;

  margin: 0 auto !important;

  text-align: center !important;

  white-space: normal !important;

  text-wrap: balance;

  letter-spacing: -0.01em;

}


/* 5.3 About */


.page-id-1329 h1.hero-title {

  font-size: clamp(48px, 5vw, 58px);

  max-width: clamp(11ch, 90vw, 30ch) !important;

  margin: 0 auto !important;

  text-align: center !important;

  white-space: normal !important;

  text-wrap: balance;

  letter-spacing: -0.01em;

}


/* 5.4 Stories */

.page-id-1693 h1.hero-title {
  font-size: clamp(48px, 5vw, 58px);
  max-width: clamp(11ch, 90vw, 30ch) !important;
  margin: 0 auto !important;
  text-align: center !important;
  white-space: normal !important;
  text-wrap: balance;
  letter-spacing: -0.01em;
}

/* 5.5 Kicker */


.hero-kicker {

  max-width: 64ch;

  margin-left: auto !important;

  margin-right: auto !important;

}


/* 5.6 Spacing */


.section-eyebrow + .hero-title,

.section-eyebrow + h1.hero-title {

  margin-top: 20px !important;

}


.hero-title + .hero-kicker {

  margin-top: 26px !important;

}


.hero-kicker + .wp-block-kadence-advancedbtn,

.hero-kicker + .wp-block-kadence-buttons,

.hero-kicker + .wp-block-buttons,

.hero-kicker + .kt-btn-wrap {

  margin-top: 34px !important;

}

@media (max-width: 767px) {

  .section-eyebrow {
    margin-bottom: 15px !important;
  }

}


/* 6. HEADER NAVIGATION */


/* 6.1 Base */


.header-navigation a,

#primary-menu li a {

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 400 !important;

  letter-spacing: 0.04em !important;

  text-transform: none !important;

  color: var(--rd-text-dark) !important;

}


/* 6.2 Brand Typography */


#primary-menu li a {

  position: relative;

  padding-bottom: 8px;

  font-family: var(--rd-font-brand) !important;

  font-size: var(--rd-nav-size) !important;

  letter-spacing: var(--rd-nav-letter-spacing);

  text-transform: uppercase;

  text-decoration: none !important;

  transition: color 0.3s ease, opacity 0.3s ease;

}


#primary-menu li a:hover {

  opacity: 0.7;

}


/* 6.3 Underline */


#primary-menu li a::after {

  content: "";

  position: absolute;

  left: 50%;

  bottom: 0;

  width: 0%;

  height: 1px;

  background: rgba(0, 0, 0, 0.15);

  transform: translateX(-50%);

  transition: width 0.4s ease;

}


#primary-menu li a:hover::after {

  width: 80%;

}


#primary-menu .current-menu-item a::after {

  width: 100%;

}


/* 6.4 Desktop Home Item */


@media (min-width: 1025px) {

  .main-navigation .menu-item-home {

    display: none;

  }

}


/* 7. HEADER BEHAVIOUR */


/* 7.1 Desktop */


#main-header .site-main-header-wrap,

#main-header .site-main-header-wrap .site-header-row-container-inner,

#main-header .site-main-header-wrap .site-container {

  transition: background 1s ease, border-color 1s ease, backdrop-filter 1s ease !important;

}


#main-header .site-main-header-wrap:not(.item-is-stuck) {

  background: transparent !important;

  border-bottom: none !important;

  backdrop-filter: blur(0px) !important;

}


#main-header .site-main-header-wrap:not(.item-is-stuck) .site-header-row-container-inner,

#main-header .site-main-header-wrap:not(.item-is-stuck) .site-container {

  background: transparent !important;

}


#main-header .site-main-header-wrap.item-is-stuck {

  background: var(--rd-surface-sticky) !important;

  border-bottom: none !important;

  backdrop-filter: blur(10px) !important;

}


#main-header .site-main-header-wrap.item-is-stuck .site-header-row-container-inner,

#main-header .site-main-header-wrap.item-is-stuck .site-container {

  background: transparent !important;

}


/* 7.2 Mobile */


#mobile-header .site-main-header-wrap,

#mobile-header .site-main-header-wrap .site-header-row-container-inner,

#mobile-header .site-main-header-wrap .site-container {

  transition: background 1s ease, border-color 1s ease, backdrop-filter 1s ease !important;

}


#mobile-header .site-main-header-wrap:not(.item-is-stuck) {

  background: transparent !important;

  border-bottom: none !important;

  backdrop-filter: blur(0px) !important;

}


#mobile-header .site-main-header-wrap:not(.item-is-stuck) .site-header-row-container-inner,

#mobile-header .site-main-header-wrap:not(.item-is-stuck) .site-container {

  background: transparent !important;

}


#mobile-header .site-main-header-wrap.item-is-stuck,

#mobile-header .site-main-header-wrap.item-is-fixed.item-is-stuck {

  background: var(--rd-surface-sticky) !important;

  border-bottom: none !important;

  backdrop-filter: blur(10px) !important;

}


#mobile-header .site-main-header-wrap.item-is-stuck .site-header-row-container-inner,

#mobile-header .site-main-header-wrap.item-is-stuck .site-container,

#mobile-header .site-main-header-wrap.item-is-fixed.item-is-stuck .site-header-row-container-inner,

#mobile-header .site-main-header-wrap.item-is-fixed.item-is-stuck .site-container {

  background: transparent !important;

}


/* 8. BUTTONS */


/* 8.1 Header CTA */


.header-button {

  display: inline-block !important;

  padding: 16px 30px !important;

  border-radius: 999px !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 500 !important;

  letter-spacing: 0.01em !important;

  color: rgb(40, 40, 40) !important;

  background: var(--rd-surface-button) !important;

  border: 1px solid rgba(0, 0, 0, 0.06) !important;

  box-shadow: var(--rd-shadow-soft);

  transition: all 0.4s ease !important;

}


.header-button:hover {

  background: rgb(252, 249, 245) !important;

  color: rgb(20, 20, 20) !important;

  border-color: rgba(0, 0, 0, 0.08) !important;

  box-shadow: var(--rd-shadow-medium);

}


#main-header .site-main-header-wrap.item-is-stuck .header-button {

  background: rgba(255, 255, 255, 0.55) !important;

  border: 1px solid rgba(0, 0, 0, 0.06) !important;

  color: rgb(30, 30, 30) !important;

  box-shadow: var(--rd-shadow-soft);

}


#main-header .site-main-header-wrap.item-is-stuck .header-button:hover {

  background: rgb(252, 249, 245) !important;

  color: rgb(20, 20, 20) !important;

  box-shadow: var(--rd-shadow-medium);

}


/* 8.2 Kadence */


.kb-button.kt-button:not(.header-button) {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  padding: 14px 28px !important;

  min-height: 52px !important;

  border-radius: 999px !important;


  background: rgb(40, 74, 119) !important;

  border: 1px solid rgb(32, 58, 92) !important;


  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;

  transition: all 0.35s ease !important;

}


.kb-button.kt-button:not(.header-button) .kt-btn-inner-text {

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 500 !important;

  letter-spacing: 0.01em !important;

  color: white !important;

}


.kb-button.kt-button:not(.header-button):hover {

  background: rgb(28, 50, 78) !important;

  border-color: rgb(28, 50, 78) !important;


  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08) !important;

  transform: translateY(-1px) !important;

}


.kb-button.kt-button:not(.header-button):focus-visible {

  outline: none !important;


  box-shadow:

    0 8px 22px rgba(0, 0, 0, 0.10),

    0 0 0 3px rgba(32, 58, 92, 0.10) !important;

}


.kb-button.kt-button:not(.header-button):active {

  transform: translateY(0) !important;

  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;

}


/* 8.3 WordPress Core */


.wp-block-button .wp-block-button__link {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  padding: 14px 28px !important;

  min-height: 52px !important;

  border-radius: 999px !important;


  background: rgb(40, 74, 119) !important;

  border: 1px solid rgb(32, 58, 92) !important;


  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;


  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 500 !important;

  letter-spacing: 0.01em !important;


  color: white !important;

  text-decoration: none !important;


  transition: all 0.35s ease !important;

}


.wp-block-button .wp-block-button__link:hover {

  background: rgb(28, 50, 78) !important;

  border-color: rgb(28, 50, 78) !important;


  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08) !important;

  transform: translateY(-1px) !important;

}


.wp-block-button .wp-block-button__link:focus-visible {

  outline: none !important;


  box-shadow:

    0 8px 22px rgba(0, 0, 0, 0.10),

    0 0 0 3px rgba(32, 58, 92, 0.10) !important;

}


.wp-block-button .wp-block-button__link:active {

  transform: translateY(0) !important;

  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;

}


/* 8.4 Secondary */


.wp-block-button.button-secondary .wp-block-button__link {

  background: transparent !important;

  border: 1px solid rgba(0, 0, 0, 0.08) !important;

  box-shadow: none !important;

  color: var(--rd-text-dark) !important;

}


.wp-block-button.button-secondary .wp-block-button__link:hover {

  background: rgb(255, 255, 255) !important;

  border-color: rgba(0, 0, 0, 0.10) !important;

}


.wp-block-buttons.is-content-justification-center {

  gap: 30px;

}


/* 8.5 Instagram Button */


.instagram-button .wp-block-button__link {

  display: inline-flex !important;

  align-items: center !important;

  gap: 10px !important;

}


.instagram-button .wp-block-button__link::before {

  content: "";

  display: block;

  width: 28px;

  height: 28px;

  flex: 0 0 28px;

  background: url('/wp-content/uploads/2026/03/Instagram_simple.png') center / contain no-repeat;

}





/* =========================================================
   8.6 HOME CTA — CLASSIC BLUE LIGHT
   ========================================================= */

/* Base */

.home .btn-ornament.kb-button.kt-button,
.home .btn-ornament .kb-button.kt-button {
  min-height: 50px !important;
  padding: 13px 30px !important;

  border: 1px solid transparent !important;
  border-radius: 999px !important;

  background:
    linear-gradient(
      135deg,
      #42658f 0%,
      #2d507e 55%,
      #365b88 100%
    ) padding-box,
    linear-gradient(
      115deg,
      #52739c,
      #294d7a,
      #6685aa
    ) border-box !important;

  box-shadow:
    0 3px 12px rgba(30, 48, 76, 0.07) !important;

  transition:
    background 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* Text */

.home .btn-ornament.kb-button.kt-button .kt-btn-inner-text,
.home .btn-ornament .kb-button.kt-button .kt-btn-inner-text {
  color: #ffffff !important;
  font-family: var(--rd-font-ui) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

/* Hover */

.home .btn-ornament.kb-button.kt-button:hover,
.home .btn-ornament .kb-button.kt-button:hover {
  background:
    linear-gradient(
      135deg,
      #3c5e88 0%,
      #294a76 55%,
      #315580 100%
    ) padding-box,
    linear-gradient(
      115deg,
      #52739c,
      #294d7a,
      #6685aa
    ) border-box !important;

  box-shadow:
    0 4px 14px rgba(30, 48, 76, 0.09) !important;

  transform: none !important;
  filter: none !important;
}

/* Mobile */

@media (max-width: 767px) {
  .home .btn-ornament.kb-button.kt-button,
  .home .btn-ornament .kb-button.kt-button {
    min-height: 48px !important;
    padding: 12px 25px !important;
  }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .home .btn-ornament.kb-button.kt-button,
  .home .btn-ornament .kb-button.kt-button {
    transition: none !important;
  }
}





/* 9. MEDIA */


/* 9.1 Scroll Video */


.scroll-video-shadow {

  border-radius: 18px;

  box-shadow: var(--rd-shadow-video);

}


.scroll-video-wrap {

  height: 460px;

  border-radius: 18px;

  overflow: hidden;

  position: relative;

}


.scroll-video {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition: transform 0.2s ease-out;

  will-change: transform;

}


/* 9.1.1 Beauty */


.scroll-video.vid-1 {

  object-position: 50% 0%;

}


/* 9.1.2 Events */


.scroll-video.vid-2 {

  object-position: 50% 25%;

}


/* 9.1.3 Photography */


.scroll-video.vid-3 {

  object-position: 50% 15%;

}


/* 9.1.4 Tablet */


@media (max-width: 1024px) {

  .scroll-video-wrap {

    height: 400px;

    border-radius: 18px;

  }

}


/* 9.1.5 Mobile */


@media (max-width: 767px) {

  .scroll-video-shadow {

    border-radius: 20px;

    box-shadow: 0 12px 28px rgba(25, 32, 45, 0.10);

  }


  .scroll-video-wrap {

    height: auto;

    aspect-ratio: 4 / 3;

    border-radius: 20px;

  }


  .scroll-video.vid-1 {

    object-position: 50% 25%;

  }


  .scroll-video.vid-2 {

    object-position: 50% 35%;

  }


  .scroll-video.vid-3 {

    object-position: 50% 20%;

  }

}


/* 9.2 Signature Images */


.signature-service-image {

  width: 100% !important;

  aspect-ratio: 2 / 3 !important;

  overflow: visible !important;

  line-height: 0 !important;

}


.signature-service-image figure,

.signature-service-image picture,

.signature-service-image .kb-image-wrap {

  margin: 0 !important;

  width: 100% !important;

  height: 100% !important;

  display: block !important;

  overflow: visible !important;

}


.signature-service-image img {

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

  object-position: center center !important;

}


@media (max-width: 767px) {

.signature-service-image {

  aspect-ratio: 4 / 3 !important;

}


  .signature-service-image-1 img {

    object-position: 50% 8% !important;

  }


  .signature-service-image-2 img {

    object-position: 50% 15% !important;

  }


  .signature-service-image-3 img {

    object-position: 50% 30% !important;

  }


  .signature-service-image-4 img {

    object-position: 50% 70% !important;

  }


  .signature-service-image-5 img {

    object-position: 50% 40% !important;

  }


  .signature-service-image-6 img {

    object-position: 50% 50% !important;

  }

}


/* 9.3 About Images */


.about-image {

  width: 100% !important;

  overflow: visible !important;

  line-height: 0 !important;

}


.about-image figure,

.about-image picture,

.about-image .kb-image-wrap {

  margin: 0 !important;

  width: 100% !important;

  height: 100% !important;

  display: block !important;

  overflow: visible !important;

  background: transparent !important;

}


.about-image img {

  display: block !important;

  width: 100% !important;

  height: 100% !important;

  object-fit: cover !important;

  object-position: 50% 50% !important;

  border-radius: 18px !important;

  box-shadow: var(--rd-shadow-video) !important;

}


/* 9.3.1 Mobile */


@media (max-width: 767px) {

  .about-image {

    aspect-ratio: 4 / 3 !important;

  }


  .about-image-1 img {

    object-position: 50% 20% !important;

  }


  .about-image-2 img {

    object-position: 50% 20% !important;

  }


  .about-image-3 img {

    object-position: 50% 25% !important;

  }


  .about-image-4 img {

    object-position: 50% 50% !important;

  }

}


/* 10. DIVIDERS & LINKS */


/* 10.1 Section Divider */


.section-divider {

  position: relative;

}


.section-divider::before,

.section-divider::after {

  content: "";

  position: absolute;

  left: 0;

  width: 100%;

  height: 1px;

  background: var(--rd-line);

}


.section-divider::before {

  top: 0;

}


.section-divider::after {

  bottom: 0;

}


/* 10.2 Underline Links */


.hls-underline a {

  position: relative;

  text-decoration: none !important;

}


.hls-underline a::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -4px;

  width: 100%;

  height: 1px;

  background: currentColor;

  opacity: 0.6;

  transition: opacity 0.3s ease;

}


.hls-underline a:hover::after {

  opacity: 1;

}


/* 10.3 Back to Top */


.back-to-top {

  margin-top: 24px;

  font-size: 11px;

  letter-spacing: 0.14em;

  text-transform: uppercase;

  color: var(--rd-text-muted);

  opacity: 0.7;

}


.back-to-top a {

  text-decoration: none !important;

}


.back-to-top a::after {

  display: none !important;

}


.back-to-top:hover {

  opacity: 1;

}


/* 11. ITEM COMPONENTS */


/* 11.1 About Values */


.about-value-item {

  margin: 0 !important;

  padding: 16px 0 !important;

  border-bottom: 1px solid var(--rd-line-soft) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 15px !important;

  line-height: 1.5 !important;

  font-weight: 400 !important;

  color: var(--rd-text-body) !important;

}


.about-value-item:first-of-type {

  border-top: 1px solid var(--rd-line-soft) !important;

}


.about-value-item > .wp-block-group__inner-container {

  padding: 0 !important;

}


.about-value-item h3,

.about-value-item h4,

.about-value-item h5,

.about-value-item p {

  margin: 0 !important;

  padding: 0 !important;

}


/* 11.2 Service Prices */


.service-price-item {

  margin: 0 !important;

  padding: 16px 0 !important;

  border-bottom: 1px solid var(--rd-line-strong) !important;

}


.service-price-item:first-of-type {

  border-top: 1px solid var(--rd-line-strong) !important;

}


.service-price-item > .wp-block-group__inner-container {

  padding: 0 !important;

}


.service-price-item h3,

.service-price-item h4,

.service-price-item h5,

.service-price-item p {

  margin: 0 !important;

}


.service-price-item .price-value {

  margin-top: 10px !important;

  margin-bottom: 10px !important;

}


.service-price-item .service-lead {

  margin-top: 10px !important;

  margin-bottom: 5px !important;

}


/* 12. LEGAL PAGES */


/* 12.1 Header */


.rominella-legal {

  padding-top: clamp(72px, 8vw, 112px) !important;

  padding-bottom: clamp(52px, 6vw, 76px) !important;

}


.legal-eyebrow {

  margin: 0 !important;

  color: var(--rd-accent-dark) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 11px !important;

  font-weight: 400 !important;

  line-height: 1 !important;

  letter-spacing: 0.24em !important;

  text-transform: uppercase !important;

}


.legal-title {

  margin: 28px 0 0 0 !important;

  color: var(--rd-text-dark) !important;

  font-family: var(--rd-font-display) !important;

  font-size: clamp(52px, 6vw, 76px) !important;

  font-weight: 500 !important;

  line-height: 0.98 !important;

  letter-spacing: -0.025em !important;

}


.legal-intro {

  margin: 28px 0 0 0 !important;

  max-width: 58ch;

  color: var(--rd-text-muted) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: clamp(14px, 1.2vw, 16px) !important;

  font-weight: 400 !important;

  line-height: 1.75 !important;

}


/* 12.2 Sections */


.legal-section > .kt-row-column-wrap {

  padding-top: clamp(34px, 4vw, 48px) !important;

  padding-bottom: clamp(34px, 4vw, 48px) !important;

  border-top: 1px solid var(--rd-line-soft) !important;

}


.legal-number {

  margin: 0 0 10px 0 !important;

  color: var(--rd-accent-dark) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 9px !important;

  font-weight: 500 !important;

  line-height: 1 !important;

  letter-spacing: 0.16em !important;

}


.legal-section-title {

  margin: 0 !important;

  padding: 0 !important;

  color: var(--rd-text-dark) !important;

  font-family: var(--rd-font-display) !important;

  font-size: clamp(18px, 1.7vw, 22px) !important;

  font-weight: 600 !important;

  line-height: 1.25 !important;

  letter-spacing: -0.01em !important;

}


.legal-section-content {

  color: var(--rd-text-muted) !important;

  font-family: var(--rd-font-ui) !important;

}


.legal-section-numbered .legal-section-content {

  padding-top: 19px !important;

}


.legal-section-content p {

  margin-top: 0 !important;

  margin-bottom: 18px !important;

  color: var(--rd-text-muted) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  font-weight: 400 !important;

  line-height: 1.8 !important;

}


.legal-section-content p:last-child {

  margin-bottom: 0 !important;

}


.legal-section-content strong {

  color: var(--rd-text-dark) !important;

  font-weight: 500 !important;

}


.legal-section-content a {

  color: var(--rd-accent-dark) !important;

  text-decoration: underline !important;

  text-decoration-thickness: 1px !important;

  text-underline-offset: 4px !important;

  text-decoration-color: rgba(44, 75, 103, 0.35) !important;

}


/* 12.3 Date */


.legal-date {

  margin: 26px 0 clamp(76px, 9vw, 120px) 0 !important;

  color: var(--rd-text-muted) !important;

  font-family: var(--rd-font-ui) !important;

  font-size: 11px !important;

  font-weight: 400 !important;

  line-height: 1.5 !important;

  letter-spacing: 0.04em !important;

}


/* 12.4 Mobile */


@media (max-width: 767px) {

  .rominella-legal {

    padding-top: 52px !important;

    padding-bottom: 44px !important;

  }


  .legal-eyebrow {

    font-size: 9px !important;

    letter-spacing: 0.20em !important;

  }


  .legal-title {

    margin-top: 22px !important;

    font-size: clamp(26px, 14vw, 40px) !important;

  }


  .legal-intro {

    margin-top: 22px !important;

    max-width: 34ch;

    font-size: 14px !important;

    line-height: 1.7 !important;

  }


  .legal-section > .kt-row-column-wrap {

    row-gap: 20px !important;

    padding-top: 30px !important;

    padding-bottom: 32px !important;

  }


  .legal-section-numbered .legal-section-content {

    padding-top: 0 !important;

  }


  .legal-number {

    margin-bottom: 8px !important;

    font-size: 8px !important;

  }


  .legal-section-title {

    font-size: 19px !important;

  }


  .legal-section-content p {

    font-size: 14px !important;

    line-height: 1.75 !important;

  }


  .legal-date {

    margin-top: 22px !important;

    margin-bottom: 80px !important;

    font-size: 10px !important;

  }

}


/* 13. STICKY SEGMENT NAV */


/* 13.1 Reset */


.sticky-segment-nav .kt-row-column-wrap,

.sticky-segment-nav .wp-block-kadence-column,

.sticky-segment-nav .kt-inside-inner-col {

  margin: 0 !important;

  padding: 0 !important;

  width: 100% !important;

  max-width: none !important;

  min-height: var(--rd-bar-height) !important;

}


.sticky-segment-nav .wp-block-buttons,

.sticky-segment-nav .wp-block-button,

.sticky-segment-nav .wp-block-button__link {

  margin: 0 !important;

  padding: 0 !important;

}


.kb-row-layout-wrap,

.kt-row-column-wrap,

.wp-block-kadence-column,

.kt-inside-inner-col,

.entry-content,

.site-main,

.content-area {

  overflow: visible !important;

}


/* 13.2 Container */


.sticky-segment-nav {

  position: sticky !important;

  top: 0;

  z-index: 40 !important;

  min-height: var(--rd-bar-height) !important;

  background: rgba(255, 255, 255, 0.9) !important;

  border-bottom: 1px solid rgba(0, 0, 0, 0.05);

  backdrop-filter: blur(10px);

}


/* 13.3 Layout */


.sticky-segment-nav .wp-block-buttons {

  position: relative;

  display: flex !important;

  justify-content: center !important;

  align-items: center !important;

  flex-wrap: nowrap !important;

  gap: 68px !important;

  height: var(--rd-bar-height) !important;

  min-height: var(--rd-bar-height) !important;

  width: fit-content !important;

  max-width: none !important;

  margin-left: auto !important;

  margin-right: auto !important;

}


/* 13.4 Button Wrapper */


.sticky-segment-nav .wp-block-button {

  display: flex;

  align-items: center;

  height: var(--rd-bar-height) !important;

  min-height: var(--rd-bar-height) !important;

}


/* 13.5 Links */


.sticky-segment-nav .wp-block-button .wp-block-button__link.wp-element-button {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;


  background: transparent !important;

  border: none !important;

  border-radius: 0 !important;

  box-shadow: none !important;


  padding: 0 !important;

  margin: 0 !important;


  color: rgba(0, 0, 0, 0.45) !important;


  font-family: var(--rd-font-ui) !important;

  font-size: 12px !important;

  font-weight: 500 !important;

  line-height: 1 !important;

  letter-spacing: 0.18em !important;

  text-transform: uppercase !important;

  text-decoration: none !important;


  white-space: nowrap;

  transition: none !important;

}


/* 13.6 Hover */


.sticky-segment-nav .wp-block-button .wp-block-button__link.wp-element-button:hover {

  color: rgba(0, 0, 0, 0.45) !important;

  background: transparent !important;

}


/* 13.7 Active */


.sticky-segment-nav .wp-block-button .wp-block-button__link.wp-element-button.is-current {

  color: var(--rd-accent-dark) !important;

}


/* 13.8 Progress */


.sticky-segment-nav .segment-progress-indicator {

  position: absolute;

  left: 0;

  top: 50%;

  width: 0;

  height: 100%;

  transform: translateY(-50%);

  pointer-events: none;

  z-index: 2;

  transition: left 0.12s ease-out, width 0.12s ease-out;

}


/* 13.9 Lines */


.sticky-segment-nav .segment-progress-indicator .segment-line {

  position: absolute;

  left: 0;

  width: 100%;

  height: 1px;

  background: rgba(0, 0, 0, 0.12);

}


.sticky-segment-nav .segment-progress-indicator .segment-line.is-top {

  display: none !important;

}


.sticky-segment-nav .segment-progress-indicator .segment-line.is-bottom {

  top: calc(50% + 10px);

}


/* 13.10 Mobile */

@media (max-width: 767px) {

  .sticky-segment-nav .wp-block-buttons {
    display: flex !important;
    gap: clamp(14px, 4vw, 22px) !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    padding: 0 8px !important;
    margin: 0 auto !important;

    overflow: visible !important;
  }

  .sticky-segment-nav .wp-block-button {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .sticky-segment-nav .wp-block-button .wp-block-button__link.wp-element-button {
    font-size: clamp(10px, 2.1vw, 10px) !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
  }

  .sticky-segment-nav .segment-progress-indicator .segment-line.is-top {
    display: none !important;
  }

  .sticky-segment-nav .segment-progress-indicator .segment-line.is-bottom {
    top: calc(50% + 8px);
  }

}

/* Über Romina – Kategorien auf Mobile breiter verteilen */

@media (max-width: 767px) {

  .page-id-1329 .sticky-segment-nav .wp-block-buttons {
    gap: clamp(18px, 6vw, 28px) !important;
  }

}


/* Über Romina – CTA Mobile zentrieren */

@media (max-width: 767px) {
  .rd-about-button {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
}


/* 14. MOBILE ORDER */


@media (max-width: 767px) {

  .service-row-reverse {

    display: flex !important;

    flex-direction: column !important;

  }


  .service-row-reverse .service-image-col {

    order: 1 !important;

  }


  .service-row-reverse .service-text-col {

    order: 2 !important;

  }

}


/* 15. RESPONSIVE TYPOGRAPHY */


@media (max-width: 1024px) {

  h2 {

    font-size: clamp(32px, 4.8vw, 52px);

  }


  .price-title,

  .service-price-item .price-title,

  .service-price-item h3 {

    font-size: 22px !important;

  }

}


@media (max-width: 767px) {

  .home h1.hero-title {

    font-size: 48px !important;

    max-width: 16ch !important;

    text-wrap: normal !important;

  }


  .page-id-21 h1.hero-title,
  .page-id-1329 h1.hero-title,
  .page-id-1693 h1.hero-title {
    font-size: 48px !important;
    max-width: 16ch !important;
    margin: 0 auto !important;
    text-align: center !important;
    white-space: normal !important;
    text-wrap: normal !important;
  }


  h2 {

    font-size: clamp(30px, 8vw, 42px);

  }


  .service-lead {

    font-size: 16px !important;

  }


  .section-eyebrow {

    font-size: 12px !important;

  }


  .hero-kicker {

    font-size: 15px !important;

  }


}


/* 16. INSTAGRAM PANEL */


.rd-instagram-panel {

  margin-top: 40px;

}


.rd-instagram-panel__main {

  display: grid;

  grid-template-columns: 72px 1fr auto;

  align-items: center;

  gap: 24px;

  padding: 24px 26px;

  text-decoration: none;

  color: inherit;

  background: rgba(255, 255, 255, 0.35);

  border: 1px solid rgba(30, 30, 30, 0.08);

  border-radius: 20px;

  transition:

    transform 0.3s ease,

    box-shadow 0.3s ease,

    border-color 0.3s ease;

}


.rd-instagram-panel__main:hover {

  transform: translateY(-1px);

  border-color: rgba(30, 30, 30, 0.14);

  box-shadow: 0 14px 34px rgba(20, 20, 20, 0.08);

}


.rd-instagram-panel__left {

  width: 72px;

  height: 72px;

  border-radius: 18px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: rgba(30, 30, 30, 0.03);

  border: 1px solid rgba(30, 30, 30, 0.06);

}


.rd-instagram-panel__left img {

  width: 72px;

  height: 72px;

  display: block;

}


.rd-instagram-panel__title {

  margin: 0;

  font-family: var(--rd-font-display) !important;

  font-size: 34px !important;

  line-height: 1.05 !important;

  font-weight: 500 !important;

  color: var(--rd-text-dark) !important;

}


.rd-instagram-panel__text {

  margin: 10px 0 0 0;

  max-width: 42ch;

  font-family: var(--rd-font-ui) !important;

  font-size: 14px !important;

  line-height: 1.65 !important;

  color: var(--rd-text-muted) !important;

}


@media (max-width: 767px) {

  .rd-instagram-panel__main {

    grid-template-columns: 1fr;

    gap: 18px;

    padding: 22px;

  }


  .rd-instagram-panel__right span {

    padding: 0;

    background: transparent;

    border-radius: 0;

  }

}


/* 17. EMOTION BANNER */


.rd-emotion-banner {

  width: 100%;

  height: var(--rd-bar-height);

  min-height: var(--rd-bar-height);

  padding: 0;


  display: flex;

  align-items: center;


  background: rgba(255, 255, 255, 0.9);

  border-bottom: 1px solid rgba(0, 0, 0, 0.05);


  box-sizing: border-box;

}


.rd-emotion-banner__inner {

  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: nowrap;


  gap: 18px;


  width: 100%;

  height: 100%;


  margin: 0;

  padding: 0 24px;


  box-sizing: border-box;

}


.rd-emotion-banner__inner span {

  font-family: var(--rd-font-ui);

  font-size: clamp(12px, 1vw, 14px);

  font-weight: 300;

  line-height: 1;

  letter-spacing: 0.20em;

  color: rgba(31, 36, 48, 0.58);

  white-space: nowrap;

}


.rd-emotion-banner__inner i {

  display: block;

  width: 3px;

  height: 3px;

  flex: 0 0 3px;

  border-radius: 50%;

  background: rgba(183, 154, 103, 0.45);

}


/* 18. WOOCOMMERCE HEADER */


body.post-type-archive-product.non-transparent-header #masthead,

body.woocommerce-shop.non-transparent-header #masthead,

body.post-type-archive-product.non-transparent-header #main-header,

body.woocommerce-shop.non-transparent-header #main-header,

body.post-type-archive-product.non-transparent-header .site-header-wrap,

body.woocommerce-shop.non-transparent-header .site-header-wrap,

body.post-type-archive-product.non-transparent-header .site-header-inner-wrap,

body.woocommerce-shop.non-transparent-header .site-header-inner-wrap,

body.post-type-archive-product.non-transparent-header .site-header-upper-wrap,

body.woocommerce-shop.non-transparent-header .site-header-upper-wrap,

body.post-type-archive-product.non-transparent-header .site-header-upper-inner-wrap,

body.woocommerce-shop.non-transparent-header .site-header-upper-inner-wrap,

body.post-type-archive-product.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck),

body.woocommerce-shop.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck),

body.post-type-archive-product.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck) .site-header-row-container-inner,

body.woocommerce-shop.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck) .site-header-row-container-inner,

body.post-type-archive-product.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck) .site-container,

body.woocommerce-shop.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck) .site-container {

  background: transparent !important;

}


body.post-type-archive-product.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck),

body.woocommerce-shop.non-transparent-header #main-header .site-main-header-wrap:not(.item-is-stuck) {

  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;

  backdrop-filter: blur(0px) !important;

}


body.post-type-archive-product.non-transparent-header #main-header .site-main-header-wrap.item-is-stuck,

body.woocommerce-shop.non-transparent-header #main-header .site-main-header-wrap.item-is-stuck {

  background: var(--rd-surface-sticky) !important;

  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;

  backdrop-filter: blur(10px) !important;

}


/* =========================================================

   CONTACT PANEL BACKGROUND

   ========================================================= */


.rominella-contact-panel {

  position: relative;

}


/* Sichtbare Kadence-Fläche */


.rominella-contact-panel > .kt-inside-inner-col {

  position: relative;

  overflow: hidden;

  isolation: isolate;

}


/* Dezentes vollflächiges Schwarzweiss-Foto */


.rominella-contact-panel > .kt-inside-inner-col::before {

  content: "";

  position: absolute;

  inset: 0;


  z-index: 0;

  pointer-events: none;


  background-image:

    url('/wp-content/uploads/2026/10/rd-contact-background.webp');


  background-repeat: no-repeat;

  background-size: cover;


  /* Passender Bildausschnitt */

  background-position: center 12%;


  /* Sehr dezenter Hintergrund */

  opacity: 0.2 !important;


  filter:

    grayscale(100%)

    contrast(0.82)

    brightness(1.08);

}


/* Inhalt bleibt sauber über dem Foto */


.rominella-contact-panel > .kt-inside-inner-col > * {

  position: relative;

  z-index: 1;

}


/* Mobile */


@media (max-width: 767px) {


  .rominella-contact-panel > .kt-inside-inner-col::before {

    background-position: center 15%;

    opacity: 0.2 !important;

  }


}

/* =========================================================
   TERMIN BUCHEN — PAGE BACKGROUND
   ========================================================= */

.page-id-456 {
  --booking-bg-x: 50%;
  --booking-bg-y: 40%;

  position: relative;
  /* background: #000 !important; */
  background: #fff !important;
}


/* Background layer */

.page-id-456::before {
  content: "";
  position: fixed;
  inset: 0;

  z-index: -2;
  pointer-events: none;

  background-image:
    url('/wp-content/uploads/2026/10/rd-contact-background-1.webp');

  background-repeat: no-repeat;
  background-size: cover;

  background-position:
    var(--booking-bg-x)
    var(--booking-bg-y);

  filter:
    grayscale(100%)
    contrast(0.92)
    brightness(0.98);

  opacity: 0.5;
}


/* Kadence / WordPress surfaces transparent */

.page-id-456 .site,
.page-id-456 .site-main,
.page-id-456 .content-area,
.page-id-456 .entry-content {
  background: transparent !important;
}


/* Mobile crop can be controlled separately */

@media (max-width: 767px) {

  .page-id-456 {
    --booking-bg-x: 50%;
    --booking-bg-y: 5%;
  }

}



/* =========================================================
   BOOKING PAGE — HEADER
   ========================================================= */

.booking-page-nav {
  position: relative;
  z-index: 20;
  width: 100%;
  background: transparent !important;
}


/* Row-Inhalt sauber ausrichten */

.booking-page-nav > .kt-row-column-wrap {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  width: 100% !important;
}


/* Linke und rechte Kadence-Section */

.booking-page-nav .wp-block-kadence-column {
  min-width: 0;
}


/* =========================================================
   LOGO
   ========================================================= */

.booking-page-logo {
  margin: 0 !important;
  padding: 0 !important;
}

.booking-page-logo figure,
.booking-page-logo picture,
.booking-page-logo .kb-image-wrap {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.booking-page-logo img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 200px !important;
  margin: 0 !important;
}


/* =========================================================
   RIGHT SIDE / BACK BUTTON
   ========================================================= */

.booking-page-nav .wp-block-buttons,
.booking-page-nav .kt-btn-wrap {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  margin: 0 !important;
}


/* Secondary Button bewusst ruhig halten */

.booking-page-nav .button-secondary .wp-block-button__link,
.booking-page-nav .button-secondary .kb-button {
  white-space: nowrap !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .booking-page-nav > .kt-row-column-wrap {
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
  }

  .booking-page-logo img {
    max-width: 135px !important;
  }

  .booking-page-nav .wp-block-buttons,
  .booking-page-nav .kt-btn-wrap {
    justify-content: flex-end !important;
  }

  .booking-page-nav .button-secondary .wp-block-button__link,
  .booking-page-nav .button-secondary .kb-button {
    font-size: 11px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    min-height: 44px !important;
  }

}


/* =========================================================
   BOOKING PAGE — BACK BUTTON
   ========================================================= */

.booking-page-nav .booking-back-button .wp-block-button__link,
.booking-page-nav .booking-back-button .kb-button {
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;

  color: var(--rd-text-dark) !important;

  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.05) !important;

  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease !important;
}

.booking-page-nav .booking-back-button .wp-block-button__link:hover,
.booking-page-nav .booking-back-button .kb-button:hover {
  background: rgba(255, 255, 255, 0.5) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;

  box-shadow:
    0 6px 18px rgba(0, 0, 0, 0.08) !important;

  transform: none !important;
}


/* =========================================================
   COOKIE CONSENT — DATENSCHUTZ
   Datenschutzerklärung muss ohne blockierenden Backdrop
   lesbar bleiben.
   ========================================================= */

.rominella-privacy-page .seopress-user-consent-backdrop {
  display: none !important;
}

.rominella-privacy-page .seopress-user-consent {
  top: auto !important;
  bottom: 20px !important;
  transform: translateX(-50%) !important;
}

/* =========================================================
   COOKIE CONSENT — PREFERENCES LINK
   SEOPress floating edit button hidden.
   Preferences remain accessible through footer link.
   ========================================================= */

.seopress-edit-choice {
  display: none !important;
}



/* =========================================================
   ROMINELLA — CONTACT DETAILS
   ========================================================= */

.rominella-contact-panel .rominella-contact-details {
  position: relative;
  width: 100% !important;
  max-width: 900px !important;
  margin: 20px auto 0 !important;
  padding: 20px 0 0 !important;
}


/* Divider */

.rominella-contact-panel .rominella-contact-details::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 650px;
  max-width: 90vw;
  height: 1px;
  background: rgba(38, 50, 68, 0.25);
}


/* Layout */

.rominella-contact-panel
.rominella-contact-details > .kt-row-column-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 32px !important;
}

.rominella-contact-panel
.rominella-contact-details > .kt-row-column-wrap > .wp-block-kadence-column {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
}

/* Contact items */

.rominella-contact-panel .rominella-contact-email,
.rominella-contact-panel .rominella-contact-phone,
.rominella-contact-panel .rominella-contact-address {
  width: auto;
  min-width: 0;
}

.rominella-contact-panel .rominella-contact-email::before,
.rominella-contact-panel .rominella-contact-phone::before,
.rominella-contact-panel .rominella-contact-address::before {
  content: none !important;
}

/* Typography */

.rominella-contact-panel .rominella-contact-email p,
.rominella-contact-panel .rominella-contact-phone p,
.rominella-contact-panel .rominella-contact-address p {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 !important;
  font-size: 16px;
  line-height: 1.5;
  white-space: nowrap;
}

/* Icons */

.rominella-contact-panel .rominella-contact-email p::before,
.rominella-contact-panel .rominella-contact-phone p::before,
.rominella-contact-panel .rominella-contact-address p::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Email */

.rominella-contact-panel .rominella-contact-email p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23263244' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

/* Phone */

.rominella-contact-panel .rominella-contact-phone p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23263244' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.96.35 1.91.68 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.25a2 2 0 0 1 2.11-.45c.9.33 1.85.56 2.81.68A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* Address */

.rominella-contact-panel .rominella-contact-address p::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23263244' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

/* Links */

.rominella-contact-panel .rominella-contact-details a,
.rominella-contact-panel .rominella-contact-details a:visited,
.rominella-contact-panel .rominella-contact-details a:hover,
.rominella-contact-panel .rominella-contact-details a:focus {
  color: inherit;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.rominella-contact-panel .rominella-contact-details a:hover {
  opacity: 0.65;
}

/* Mobile */

@media (max-width: 767px) {

  .rominella-contact-panel .rominella-contact-details {
    max-width: 90% !important;
    margin-top: 18px !important;
    padding-top: 18px !important;
  }

  .rominella-contact-panel
  .rominella-contact-details > .kt-row-column-wrap {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .rominella-contact-panel .rominella-contact-email p,
  .rominella-contact-panel .rominella-contact-phone p,
  .rominella-contact-panel .rominella-contact-address p {
    font-size: 15px;
    white-space: normal;
    text-align: center;
  }

}


/* Contact divider — Mobile */

@media (max-width: 767px) {
  .rominella-contact-panel .rominella-contact-details::before {
    width: 100%;
    max-width: 100%;
  }
}



