/* RIMAN Service Cards - Responsive Alignment Styles */

/* Service Cards wrapper - no forced styles */

.riman-service-grid {
  display: grid;
  /* Dynamic columns: now matches actual card count, so 1fr works perfectly */
  grid-template-columns: repeat(var(--riman-columns, 3), 1fr);
  gap: 40px;
  margin: 40px 0;
}

/* Service Cards Container - Extra space for carousel hover effects */
.riman-service-cards-wrap {
  overflow: visible !important; /* Allow carousel cards to extend beyond container */
  padding-top: 60px !important; /* Reasonable padding for icon positioning + hover effects */
  padding-bottom: 30px !important; /* Extra space for hover effects */
}
.riman-service-section-header { text-align:center; margin: 0 0 24px; }
.riman-section-label { display:inline-block; background:#b68c2f; color:#fff; padding:6px 20px; border-radius:20px; font-size:.85rem; font-weight:600; letter-spacing:1px; text-transform:uppercase; }
.riman-service-grid.columns-1 { --riman-columns: 1; }
.riman-service-grid.columns-2 { --riman-columns: 2; }
.riman-service-grid.columns-3 { --riman-columns: 3; }
.riman-service-grid.columns-4 { --riman-columns: 4; }

/* Tablet: WordPress Standard Responsive Verhalten */
@media (min-width: 768px) and (max-width: 1199px) {
  /* Service Cards Grid: Max 2 Spalten auf Tablet, aber dynamisch */
  .riman-service-grid.columns-3,
  .riman-service-grid.columns-4 {
    /* Force max 2 columns on tablet for 3+ column grids */
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 32px;
  }

  .riman-service-grid.columns-1,
  .riman-service-grid.columns-2 {
    /* Keep original column count for 1-2 column grids */
    gap: 32px;
  }

  /* Container: Standard container with padding on tablet */
  .riman-service-cards-wrap.sc-container,
  .riman-service-cards-wrap.sc-container.sc-responsive {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--wp-padding) !important;
    padding-right: var(--wp-padding) !important;
    box-sizing: border-box !important;
  }

  /* Wide: Extends closer to edges with reduced padding */
  .riman-service-cards-wrap.alignwide:not(.sc-container),
  .riman-service-cards-wrap.alignwide.sc-responsive:not(.sc-container) {
    width: 100% !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--wp-padding) / 2) !important;
    margin-right: calc(-1 * var(--wp-padding) / 2) !important;
    padding-left: calc(var(--wp-padding) / 2) !important;
    padding-right: calc(var(--wp-padding) / 2) !important;
    box-sizing: border-box !important;
  }

  /* Full: True full width, breaks out of container */
  .riman-service-cards-wrap.alignfull:not(.sc-container),
  .riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Full width: Cards get internal padding */
  .riman-service-cards-wrap.alignfull:not(.sc-container) .riman-service-grid,
  .riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) .riman-service-grid {
    padding-left: var(--wp-padding) !important;
    padding-right: var(--wp-padding) !important;
  }
}

/* Mobile: WordPress Standard Responsive Verhalten */
@media (max-width: 767px) {
  /* Service Cards Grid: Single column auf Mobile (alle Grids) */
  .riman-service-grid {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }

  /* Container: Standard container with padding on mobile */
  .riman-service-cards-wrap.sc-container,
  .riman-service-cards-wrap.sc-container.sc-responsive {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--wp-padding) !important;
    padding-right: var(--wp-padding) !important;
    box-sizing: border-box !important;
  }

  /* Wide: Extends closer to edges with reduced padding */
  .riman-service-cards-wrap.alignwide:not(.sc-container),
  .riman-service-cards-wrap.alignwide.sc-responsive:not(.sc-container) {
    width: 100% !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--wp-padding) / 2) !important;
    margin-right: calc(-1 * var(--wp-padding) / 2) !important;
    padding-left: calc(var(--wp-padding) / 2) !important;
    padding-right: calc(var(--wp-padding) / 2) !important;
    box-sizing: border-box !important;
  }

  /* Full: True full width, breaks out of container */
  .riman-service-cards-wrap.alignfull:not(.sc-container),
  .riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Full width: Cards get internal padding */
  .riman-service-cards-wrap.alignfull:not(.sc-container) .riman-service-grid,
  .riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) .riman-service-grid {
    padding-left: var(--wp-padding) !important;
    padding-right: var(--wp-padding) !important;
  }

  /* Mobile: Disable problematic hover effects that cause layout shifts */
  .riman-service-card:hover {
    /* Disable translateY that causes border thinning on mobile */
    transform: none !important;
    /* Keep subtle shadow effect for feedback */
    box-shadow: 0 8px 16px rgba(182, 140, 47, 0.08), 0 4px 8px rgba(0,0,0,0.04) !important;
  }

  /* Mobile: Reduce icon scaling to prevent overflow */
  .riman-service-card:hover .riman-card-icon {
    /* Disable scaling on mobile to prevent layout issues */
    transform: translateX(-50%) scale(1) !important;
    /* Keep subtle shadow enhancement */
    box-shadow: 0 4px 16px rgba(182, 140, 47, 0.35) !important;
  }

  /* Mobile: Responsive media container - scale height with image */
  .riman-card-media {
    /* Reduce height to match 16:9-ish aspect ratio for mobile screens */
    height: 220px !important;
    overflow: hidden !important;
  }

  .riman-card-media img,
  .riman-card-media video {
    /* Better object positioning for mobile without scaling artifacts */
    object-fit: cover !important;
    object-position: center center !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* Mobile: Position icon completely below the image */
  .riman-service-card .riman-card-icon {
    /* Icon below image - middle value: 220px media height + 45px gap = 265px */
    top: 265px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(-50%) !important;
    z-index: 5 !important;
  }

  .riman-service-card .riman-card-category {
    /* Category below icon: 265px + 40px (half icon) + 18px spacing = 323px */
    top: 323px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 4 !important;
  }

  /* Mobile: Reduced content padding to keep content position */
  .riman-service-card .riman-card-content {
    /* Less padding to compensate for lower icon/category position */
    padding-top: 115px !important;
  }
}

/* Responsive width overrides driven by meta box selections */
@media (min-width: 768px) and (max-width: 1199px) {
  .riman-service-cards-wrap.sc-responsive.sc-tablet-wide,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-tablet-wide,
  .riman-service-cards-wrap.sc-responsive.sc-tablet-wide.alignwide {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: calc(var(--wp-padding, 30px) / 2) !important;
    padding-right: calc(var(--wp-padding, 30px) / 2) !important;
    box-sizing: border-box !important;
  }

  .riman-service-cards-wrap.sc-responsive.sc-tablet-full,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-tablet-full,
  .riman-service-cards-wrap.sc-responsive.sc-tablet-full.alignwide,
  .riman-service-cards-wrap.sc-responsive.sc-tablet-full.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .riman-service-cards-wrap.sc-responsive.sc-tablet-custom,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-tablet-custom,
  .riman-service-cards-wrap.sc-responsive.sc-tablet-custom.alignwide,
  .riman-service-cards-wrap.sc-responsive.sc-tablet-custom.alignfull {
    width: var(--sc-tablet-custom-width, 100%) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  .riman-service-cards-wrap.sc-responsive.sc-mobile-wide,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-mobile-wide,
  .riman-service-cards-wrap.sc-responsive.sc-mobile-wide.alignwide {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: calc(var(--wp-padding, 30px) / 2) !important;
    padding-right: calc(var(--wp-padding, 30px) / 2) !important;
    box-sizing: border-box !important;
  }

  .riman-service-cards-wrap.sc-responsive.sc-mobile-full,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-mobile-full,
  .riman-service-cards-wrap.sc-responsive.sc-mobile-full.alignwide,
  .riman-service-cards-wrap.sc-responsive.sc-mobile-full.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .riman-service-cards-wrap.sc-responsive.sc-mobile-custom,
  .riman-service-cards-wrap.sc-container.sc-responsive.sc-mobile-custom,
  .riman-service-cards-wrap.sc-responsive.sc-mobile-custom.alignwide,
  .riman-service-cards-wrap.sc-responsive.sc-mobile-custom.alignfull {
    width: var(--sc-mobile-custom-width, 100%) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 1200px) {
  .riman-service-cards-wrap.sc-desktop-wide {
    width: 100% !important;
    max-width: var(--local-wide-size) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: calc(var(--wp-padding, 30px) / 2) !important;
    padding-right: calc(var(--wp-padding, 30px) / 2) !important;
    box-sizing: border-box !important;
  }

  /* Desktop: Clean grid behavior with dynamic columns */

  .riman-service-cards-wrap.sc-desktop-full {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .riman-service-cards-wrap.sc-responsive.sc-desktop-custom {
    width: var(--sc-desktop-custom-width, 100%) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}


/* Ensure CSS variables are available in all template contexts */
.riman-service-cards-wrap {
  /* Use WordPress Global Styles layout values from Site Editor - WORDPRESS STANDARD */
  --local-content-size: var(--wp--style--global--content-size, 1140px);
  --local-wide-size: var(--wp--style--global--wide-size, 1170px);
  /* WordPress standard padding system */
  --wp-padding: clamp(30px, 5vw, 50px);
}

.riman-service-cards-wrap.sc-overlap {
  position: relative;
  z-index: 5;
}

.riman-service-card {
  background: #fff;
  border: none;
  border-radius: 0;
  padding: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
  min-height: 480px;
  transition: all 0.4s ease;
  cursor: pointer;
  text-decoration: none;
}

/* Dashed border inside card */
.riman-service-card::after {
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  border: 1px dashed rgba(182, 140, 47, 0.4);
  border-radius: 0;
  pointer-events: none;
  z-index: 1;
}






/* White overlay behind curved image */
.riman-service-card::before {
  display: none;
  content: '';
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  height: 180px;
  background: #fff;
  z-index: 2;
  pointer-events: none;
}
.riman-service-card.shape-ellipse::before { display: block; }




.riman-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 32px rgba(182, 140, 47, 0.12), 0 8px 16px rgba(0,0,0,0.08);
}
.riman-service-card:hover::after {
  border-color: rgba(182,140,47,0.6);
}

.riman-card-media { height: 280px; overflow: hidden; position: relative; background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%); z-index: 2; display:block; width: 100%; }
.riman-card-media--has-video { background: none; }
.riman-card-media img,
.riman-card-media video,
.riman-card-media .riman-card-media--placeholder { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.riman-card-media img,
.riman-card-media .riman-card-media--placeholder { z-index: 1; transition: opacity 0.2s ease; }
/* Grid Layout Consistency - Force equal column widths regardless of content */
.riman-service-grid .riman-service-card {
  width: 100%;
  min-width: 0;
  max-width: none;
  contain: layout style;
}

/* Video Elements - Ensure identical behavior to images */
.riman-card-media video {
  z-index: 2;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s ease;
  /* Critical: Force consistent dimensions */
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.riman-card-media video.is-active { opacity: 1; }

/* Prevent videos from affecting grid calculations */
.riman-card-media--has-video,
.riman-service-card.riman-card-has-video {
  contain: size layout style !important;
}
.riman-service-card.riman-card-has-video .riman-card-media::after {
  content: '\25B6';
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.85);
  color: #fff;
  font-size: 22px;
  line-height: 48px;
  text-align: center;
  font-family: inherit; /* Use global WordPress font */
  opacity: 0;
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
  z-index: 3;
}
.riman-service-card.riman-card-video-ended .riman-card-media::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.riman-card-media.shape-ellipse {
  clip-path: ellipse(100% 85% at 50% 0%);
  -webkit-clip-path: ellipse(100% 85% at 50% 0%);
}
.riman-card-media.shape-wave {
  overflow: hidden;
  /* RIMAN-Welle tiefer - oben Bild sichtbar, unten weggeschnitten */
  clip-path: polygon(0% 0%, 100% 0%, 100% 94.4%, 95.9% 93.1%, 92.1% 91.9%, 88.3% 90.8%, 84.6% 89.9%, 80.9% 89.1%, 77.3% 88.4%, 73.7% 87.9%, 70.2% 87.4%, 66.7% 87.1%, 63.3% 87.0%, 59.9% 86.9%, 56.6% 87.0%, 53.3% 87.2%, 50.1% 87.5%, 46.9% 88.0%, 43.8% 88.6%, 40.7% 89.3%, 37.7% 90.1%, 34.7% 91.1%, 31.8% 92.2%, 29.7% 92.9%, 27.7% 93.6%, 25.8% 94.3%, 23.9% 94.9%, 22.0% 95.4%, 20.2% 95.9%, 18.5% 96.4%, 16.7% 96.8%, 15.1% 97.1%, 13.5% 97.4%, 11.9% 97.7%, 10.4% 97.8%, 8.9% 98.0%, 7.5% 98.1%, 6.1% 98.1%, 4.8% 98.1%, 3.5% 98.0%, 2.3% 97.9%, 1.1% 97.7%, 0% 97.5%);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 94.4%, 95.9% 93.1%, 92.1% 91.9%, 88.3% 90.8%, 84.6% 89.9%, 80.9% 89.1%, 77.3% 88.4%, 73.7% 87.9%, 70.2% 87.4%, 66.7% 87.1%, 63.3% 87.0%, 59.9% 86.9%, 56.6% 87.0%, 53.3% 87.2%, 50.1% 87.5%, 46.9% 88.0%, 43.8% 88.6%, 40.7% 89.3%, 37.7% 90.1%, 34.7% 91.1%, 31.8% 92.2%, 29.7% 92.9%, 27.7% 93.6%, 25.8% 94.3%, 23.9% 94.9%, 22.0% 95.4%, 20.2% 95.9%, 18.5% 96.4%, 16.7% 96.8%, 15.1% 97.1%, 13.5% 97.4%, 11.9% 97.7%, 10.4% 97.8%, 8.9% 98.0%, 7.5% 98.1%, 6.1% 98.1%, 4.8% 98.1%, 3.5% 98.0%, 2.3% 97.9%, 1.1% 97.7%, 0% 97.5%);
}
.riman-card-media.shape-wave img {
  position: absolute;
  inset: 0;
  z-index: 1;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: center;
}
.riman-card-media.shape-wave::after { display:none; }
/* Bei Wave mit clip-path brauchen wir kein separates SVG mehr */
.riman-service-card.shape-wave .riman-card-wave { display: none; }
.riman-card-wave svg { width:100%; height:100%; display:block; }
.riman-card-media.shape-none { clip-path: none; -webkit-clip-path: none; }
.riman-card-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.riman-card-media--placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#f5f5f5,#eaeaea); }
.riman-card-icon { position:absolute; top:207px; left:50%; transform:translateX(-50%); width:80px; height:80px; border-radius:50%; background: linear-gradient(135deg, #B68C2F 0%, #D4A644 100%); display:flex; align-items:center; justify-content:center; box-shadow: 0 4px 16px rgba(182, 140, 47, 0.3); transition: all 0.3s ease; z-index:5; border:4px solid #fff; color:#fff; }
.riman-card-icon i { font-size: 40px; line-height: 1; color: #fff; display: block; }
.riman-service-card:hover .riman-card-icon { transform: translateX(-50%) scale(1.1); box-shadow: 0 6px 20px rgba(182, 140, 47, 0.4); }
.riman-card-category { position:absolute; top:305px; left:50%; transform:translateX(-50%); font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#B68C2F; background:transparent; padding:4px 8px; z-index:4; white-space:nowrap; }
.riman-card-content { padding: 50px 30px 20px; text-align: center; display:flex; flex-direction:column; align-items:center; }

/* Content Offset - Verschiebt Inhalt ab Icon nach unten */
.riman-service-card[style*="--riman-content-offset"] .riman-card-icon {
  top: calc(207px + var(--riman-content-offset, 0px));
}
.riman-service-card[style*="--riman-content-offset"] .riman-card-category {
  top: calc(305px + var(--riman-content-offset, 0px));
}
.riman-service-card[style*="--riman-content-offset"] .riman-card-content {
  padding-top: calc(50px + var(--riman-content-offset, 0px));
}

/* Dynamische Ableitung der Icon-Position relativ zur Wellenkante */
.riman-service-card.shape-wave { --riman-icon-top: calc(var(--riman-wave-overlay-top, 220px) + (var(--riman-wave-height, 160px) * 0.52) + var(--riman-wave-gap, 24px)); }
/* Service Cards titles now use WordPress global h3 styles (.wp-block-heading) */
/* Service Cards titles use WordPress global styles - no custom hover effects */
.riman-card-description {
  /* Slightly smaller text for better card layout */
  font-size: 0.9em; /* 90% of parent font size */
  margin: 0;
  line-height: 1.6;
  word-break: normal;
  overflow-wrap: anywhere;
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

/* Rich text formatting within descriptions */
.riman-card-description p {
  margin: 0 0 1em 0;
}

.riman-card-description p:last-child {
  margin-bottom: 0;
}

.riman-card-description ul,
.riman-card-description ol {
  margin: 0 0 1em 0;
  padding-left: 1.5em;
}

.riman-card-description li {
  margin-bottom: 0.5em;
}

.riman-card-description li:last-child {
  margin-bottom: 0;
}

.riman-card-description strong,
.riman-card-description b {
  font-weight: 600;
}

.riman-card-description em,
.riman-card-description i {
  font-style: italic;
}

/* CTA: Mehr erfahren */
.riman-card-cta {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 16px;
  border: 1px solid #B68C2F;
  color: #B68C2F;
  background: transparent;
  border-radius: 0;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
}
.riman-service-card:hover .riman-card-cta {
  background: #B68C2F;
  color: #fff;
}
.riman-card-description.align-center-justify { text-align: justify; text-justify: inter-word; text-align-last: center; -moz-text-align-last: center; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
.riman-card-description.align-justify { text-align: justify; text-justify: inter-word; text-align-last: left; -moz-text-align-last: left; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
.riman-card-description.align-left { text-align: left; text-align-last: left; -moz-text-align-last: left; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }
.riman-card-description.align-center { text-align: center; text-align-last: center; -moz-text-align-last: center; hyphens: auto; -webkit-hyphens: auto; -ms-hyphens: auto; }

/* Links im Service-Card-Anchor nicht unterstreichen */
.riman-service-card,
.riman-service-card:link,
.riman-service-card:visited,
.riman-service-card:hover,
.riman-service-card:focus,
.riman-service-card:active {
  text-decoration: none;
}
.riman-service-card .riman-card-description {
  text-decoration: none;
}


/* WordPress Standard: Container und Wide Verhalten auf Desktop */
@media (min-width: 1200px) {
  /* Standard Container - WordPress-konform */
  .riman-service-cards-wrap:not(.alignfull):not(.alignwide):not(.sc-responsive) {
    width: 100%;
    max-width: var(--local-content-size);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--wp-padding);
    padding-right: var(--wp-padding);
    box-sizing: border-box;
  }

  /* Wide Container - WordPress-konform */
  .riman-service-cards-wrap.alignwide:not(.sc-responsive) {
    width: 100%;
    max-width: var(--local-wide-size);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--wp-padding);
    padding-right: var(--wp-padding);
    box-sizing: border-box;
  }
}

/* Enforce alignfull breakout for NON-responsive Service Cards wrapper */
.wp-block-riman-service-cards.alignfull:not(.sc-responsive),
.riman-service-cards-wrap.alignfull:not(.sc-responsive) {
  box-sizing: border-box;
  width: calc(100vw - (100vw - 100%));
  max-width: calc(100vw - (100vw - 100%));
  margin-left: calc(50% - 50vw + (100vw - 100%)/2);
  margin-right: calc(50% - 50vw + (100vw - 100%)/2);
}

/* Base responsive override: Inline styles take precedence when sc-responsive is active */
.riman-service-cards-wrap.sc-responsive {
  /* Prepare for device-specific inline styles */
  width: auto;
  max-width: none;
}

/* Container Alignment: Standard container width from Global Styles - HIGHEST PRIORITY */
.riman-service-cards-wrap.sc-container,
.riman-service-cards-wrap.sc-container.sc-responsive {
  width: 100% !important;
  max-width: var(--local-content-size) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--wp-padding) !important;
  padding-right: var(--wp-padding) !important;
  box-sizing: border-box !important;
}

/* Wide Alignment: Desktop gets wide size, responsive behavior on smaller screens */
@media (min-width: 1200px) {
  .riman-service-cards-wrap.alignwide:not(.sc-container),
  .riman-service-cards-wrap.alignwide.sc-responsive:not(.sc-container) {
    width: 100% !important;
    max-width: var(--local-wide-size) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--wp-padding) !important;
    padding-right: var(--wp-padding) !important;
    box-sizing: border-box !important;
  }
}

/* Full Alignment: Full viewport width on all screens */
.riman-service-cards-wrap.alignfull:not(.sc-container),
.riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Full width: Cards inside get padding for content */
.riman-service-cards-wrap.alignfull:not(.sc-container) .riman-service-grid,
.riman-service-cards-wrap.alignfull.sc-responsive:not(.sc-container) .riman-service-grid {
  padding-left: var(--wp-padding) !important;
  padding-right: var(--wp-padding) !important;
}

/* WordPress Standard: Responsive Settings nur für custom responsive Einstellungen */
@media (min-width: 1200px) {
  .riman-service-cards-wrap.sc-responsive.alignwide {
    width: var(--local-wide-size) !important;
    max-width: calc(100vw - 2 * var(--wp-padding)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .riman-service-cards-wrap.sc-responsive.alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}

/* RIMAN Service Cards - "Mehr erfahren" Button - Flexbox Layout */
.riman-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* WordPress Button Alignment */
.riman-card-button {
  margin-top: auto;
  padding-top: 20px;
}

/* RIMAN Service Cards - Subtle Button Styling */
.riman-card-button .wp-block-button__link {
  /* Override global styles with subtle RIMAN design */
  background: transparent !important;
  color: #B68C2F !important;
  border: none !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  position: relative !important;
  width: 100%;
  text-align: center;
  justify-content: center;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.2s ease !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  min-width: fit-content !important;
}

/* Arrow icon */
.riman-card-button .wp-block-button__link::after {
  content: '→';
  font-size: 16px;
  line-height: 1;
  margin-left: 4px;
  transition: transform 0.2s ease;
}

/* Hover effects */
.riman-card-button .wp-block-button__link:hover {
  background: rgba(182, 140, 47, 0.05) !important;
  color: #9e7a28 !important;
  transform: translateX(2px) !important;
}

.riman-card-button .wp-block-button__link:hover::after {
  transform: translateX(4px);
}

/* Make service cards with buttons still look clickable */
.riman-service-card[data-href] {
  cursor: pointer;
}
