/* Aurora-Abschlussdesign für alle Vermittlungs-Unterseiten */

body:not(.page-index) main {
  overflow:hidden;
  background:
    radial-gradient(circle at 5% 18%,rgba(29,214,197,.09),transparent 24rem),
    radial-gradient(circle at 95% 78%,rgba(123,108,246,.08),transparent 28rem),
    #f1f6f7;
}

body:not(.page-index) .page-hero {
  isolation:isolate;
  min-height:470px;
  padding-top:168px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

body:not(.page-index) .page-hero::after {
  content:'';
  position:absolute;
  z-index:-1;
  width:390px;
  height:390px;
  right:-85px;
  bottom:-230px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:41% 59% 63% 37% / 52% 39% 61% 48%;
  box-shadow:inset 0 0 80px rgba(29,214,197,.08);
  transform:rotate(18deg);
}

body:not(.page-index) .page-hero .container::before {
  content:'';
  position:absolute;
  width:120px;
  height:5px;
  left:50%;
  bottom:-72px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--aurora-cyan),var(--aurora-violet));
  transform:translateX(-50%);
}

body:not(.page-index) .section { background-color:transparent!important; }

/* Vermietungs-Shop */
.page-shop main > .section { background:linear-gradient(145deg,#eaf2f4,#fafcfc)!important; }
.page-shop .shop-category-section {
  margin-bottom:58px;
  padding:clamp(24px,4vw,42px);
  border:1px solid rgba(7,29,53,.07);
  border-radius:30px;
  background:rgba(255,255,255,.74);
  box-shadow:0 20px 55px rgba(7,29,53,.08);
  backdrop-filter:blur(14px);
}
.page-shop .shop-section-title { font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.045em; }
.page-shop .product-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-flow:dense; gap:20px; }
.page-shop .product-card { grid-column:span 4; border-radius:25px 25px 58px 25px!important; }
.page-shop .product-card:nth-child(1),.page-shop .product-card:nth-child(5) { grid-column:span 6; }
.page-shop .product-image { min-height:230px; }
.page-shop .product-badge { border-radius:999px; box-shadow:0 6px 18px rgba(7,29,53,.12); }
.page-shop .product-footer { border-top:1px solid rgba(7,29,53,.06); }
.page-shop .btn-book { border-radius:12px; background:linear-gradient(135deg,var(--green),var(--aurora-cyan)); color:#071d35; }
.page-shop .cart-hint { border-radius:20px!important; }

/* Vermietungsanfrage */
.page-anfrage main > .section {
  background:
    linear-gradient(rgba(29,214,197,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,214,197,.045) 1px,transparent 1px),
    #edf4f6!important;
  background-size:48px 48px!important;
}
.page-anfrage .anfrage-layout { gap:26px!important; align-items:start; }
.page-anfrage .anfrage-card {
  padding:clamp(30px,5vw,56px)!important;
  border-radius:32px 32px 88px 32px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,248,248,.94))!important;
  box-shadow:0 28px 75px rgba(7,29,53,.14)!important;
}
.page-anfrage .info-sidebar { position:sticky; top:135px; }
.page-anfrage .info-box {
  overflow:hidden;
  border-radius:28px 28px 70px 28px!important;
  background:radial-gradient(circle at 85% 0,rgba(29,214,197,.2),transparent 42%),linear-gradient(145deg,#061b30,#0a4d70)!important;
}
.page-anfrage .info-box-item { padding:15px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(255,255,255,.05); }
.page-anfrage .service-option,.page-anfrage .radio-option { border-radius:17px!important; background:rgba(255,255,255,.82)!important; }
.page-anfrage .service-option-icon { border-radius:14px; background:linear-gradient(145deg,rgba(29,214,197,.13),rgba(123,108,246,.09)); }
.page-anfrage .submit-btn { border-radius:15px!important; background:linear-gradient(135deg,#a8e94a,#4fd3a2)!important; color:#071d35!important; box-shadow:0 14px 30px rgba(73,180,107,.25); }

/* Rechtliches */
body:is(.page-impressum,.page-datenschutz) main > .section { background:linear-gradient(145deg,#eaf2f4,#f9fbfc)!important; }
body:is(.page-impressum,.page-datenschutz) main > .section > .container > div:first-child {
  position:relative;
  max-width:920px;
  margin:auto;
  padding:clamp(34px,6vw,72px)!important;
  border:1px solid rgba(7,29,53,.08)!important;
  border-radius:34px 34px 95px 34px!important;
  background:linear-gradient(145deg,#fff,#f2f7f8)!important;
  box-shadow:0 28px 75px rgba(7,29,53,.12)!important;
}
body:is(.page-impressum,.page-datenschutz) main > .section > .container > div:first-child::before {
  content:'';
  position:absolute;
  width:135px;
  height:135px;
  right:-40px;
  top:-40px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(29,214,197,.18),rgba(123,108,246,.14));
}

@media (max-width:1100px) {
  .page-shop .product-card,.page-shop .product-card:nth-child(1),.page-shop .product-card:nth-child(5) { grid-column:span 6; }
}

@media (max-width:768px) {
  body:not(.page-index) .page-hero { min-height:405px; padding-top:145px; }
  body:not(.page-index) .page-hero .container::before { bottom:-58px; }
  .page-shop .product-grid { grid-template-columns:1fr; }
  .page-shop .product-card,.page-shop .product-card:nth-child(1),.page-shop .product-card:nth-child(5) { grid-column:span 1; }
  .page-shop .shop-category-section { padding:20px; border-radius:23px; }
  .page-anfrage .info-sidebar { position:static; }
  .page-anfrage .anfrage-card { border-radius:25px 25px 62px 25px!important; }
}

@media (max-width:480px) {
  body:not(.page-index) .page-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
  body:is(.page-impressum,.page-datenschutz) main > .section > .container > div:first-child { padding:28px 20px!important; border-radius:25px 25px 58px 25px!important; }
}

/* V3 – CHROMATIC DEPTH für Vermietungs-Unterseiten */
@media screen {
  body:not(.page-index) main {
    background:radial-gradient(circle at 5% 18%,rgba(29,214,197,.2),transparent 25rem),radial-gradient(circle at 95% 78%,rgba(123,108,246,.2),transparent 29rem),#bcd9df;
  }
  body:not(.page-index) main > .section {
    background:radial-gradient(circle at 92% 10%,rgba(123,108,246,.2),transparent 27rem),linear-gradient(145deg,#b9dfe0,#d7d2ef) !important;
  }
  .page-shop main > .section { background:radial-gradient(circle at 8% 14%,rgba(29,214,197,.23),transparent 25rem),linear-gradient(145deg,#badde1,#d8e1d2) !important; }
  .page-shop .shop-category-section { border-color:rgba(7,29,53,.1); background:linear-gradient(145deg,rgba(207,239,232,.9),rgba(211,216,241,.88)); box-shadow:0 25px 65px rgba(7,32,53,.15); }
  .page-shop .product-card { background:linear-gradient(145deg,#ddf1eb,#d9dcf2) !important; }
.page-shop .product-card:nth-child(even) { background:linear-gradient(145deg,#eadcf2,#d0e7e4) !important; }
.page-shop .product-footer { background:rgba(201,225,226,.72); }

  .page-anfrage main > .section {
    background:linear-gradient(rgba(7,77,98,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(7,77,98,.07) 1px,transparent 1px),linear-gradient(145deg,#b9dcdf,#d2d5ef) !important;
    background-size:48px 48px !important;
  }
  .page-anfrage .anfrage-card { background:linear-gradient(145deg,#dcf2ec,#d9def2) !important; }
  .page-anfrage .service-option,.page-anfrage .radio-option { background:rgba(221,241,238,.86) !important; }

  body:is(.page-impressum,.page-datenschutz) main > .section { background:linear-gradient(145deg,#b9dcdf,#d4d1ed) !important; }
  body:is(.page-impressum,.page-datenschutz) main > .section > .container > div:first-child { background:linear-gradient(145deg,#dff3ee,#d9def1) !important; }
  .form-group input,.form-group select,.form-group textarea { border-color:rgba(7,64,80,.14); background:rgba(234,246,244,.84); }
}

/* V6 – kompakte, gleichmäßig lesbare Shopkarten */
.page-shop .product-grid {
  gap:18px;
  align-items:start;
}
.page-shop .product-card,
.page-shop .product-card:nth-child(1),
.page-shop .product-card:nth-child(5) {
  grid-column:span 4;
  align-self:start;
  width:100%;
  border-radius:22px 22px 42px 22px !important;
}
.page-shop .product-image {
  height:168px !important;
  min-height:168px !important;
}
.page-shop .product-body {
  flex:0 0 auto;
  padding:18px 18px 14px;
}
.page-shop .product-category { margin-bottom:5px; }
.page-shop .product-name {
  display:-webkit-box;
  overflow:hidden;
  margin-bottom:7px;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.page-shop .product-desc {
  display:-webkit-box;
  overflow:hidden;
  flex:0 0 auto;
  margin-bottom:11px;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.page-shop .product-card.is-desc-expanded .product-desc {
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
}
.page-shop .product-desc-toggle {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:6px;
  margin:-3px 0 10px;
  padding:3px 0;
  border:0;
  background:transparent;
  color:#075579;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
  cursor:pointer;
}
.page-shop .product-desc-toggle:hover { color:#06335a; }
.page-shop .product-desc-toggle:focus-visible {
  border-radius:5px;
  outline:3px solid rgba(29,214,197,.42);
  outline-offset:3px;
}
.page-shop .product-desc-toggle[hidden] { display:none !important; }
.page-shop .product-specs { gap:5px; margin-bottom:8px; }
.page-shop .product-spec { padding:4px 8px; line-height:1.25; }
.page-shop .product-spec-more {
  color:#064a58;
  background:rgba(29,214,197,.2);
  font-weight:800;
}
.page-shop .product-footer { padding:13px 18px; }

@media (max-width:1100px) {
  .page-shop .product-card,
  .page-shop .product-card:nth-child(1),
  .page-shop .product-card:nth-child(5) { grid-column:span 6; }
}

@media (max-width:768px) {
  .page-shop .product-card,
  .page-shop .product-card:nth-child(1),
  .page-shop .product-card:nth-child(5) { grid-column:span 1; }
  .page-shop .product-image { height:150px !important; min-height:150px !important; }
  .page-shop .product-body { padding:16px 16px 12px; }
  .page-shop .product-footer { padding:12px 16px; }
}

/* V4 – lesbare Unterseitenkontraste */
@media screen {
  body:not(.page-index) main > .section p,
  body:not(.page-index) main > .section li { color:#344f60; }
  body:not(.page-index) main > .section small { color:#456173; }
  body:not(.page-index) main > .section h2,
  body:not(.page-index) main > .section h3,
  body:not(.page-index) main > .section h4 { color:#09243a; }
  .page-anfrage .info-box h2,
  .page-anfrage .info-box h3,
  .page-anfrage .info-box h4 { color:#fff !important; }
  .page-anfrage .info-box p,
  .page-anfrage .info-box li,
  .page-anfrage .info-box span { color:rgba(255,255,255,.82) !important; }
  .form-group label { color:#17384b; font-weight:750; }
  .page-shop .product-card p { color:#3a5667; }
  .page-shop .product-card h3 { color:#09243a; }
}

/* V5 – abschließender Lesbarkeits-Pass */
@media screen {
  .page-shop .cart-hint h3 { color:#fff !important; }
  .page-shop .cart-hint p { color:rgba(255,255,255,.9) !important; }
  .page-anfrage .price-row .pr-price { color:#315f12 !important; font-weight:800; }
  .page-anfrage .avail-note { color:#075579 !important; font-weight:550; }
  body:is(.page-impressum,.page-datenschutz) main > .section a {
    color:#075579 !important;
    font-weight:650;
    text-decoration-thickness:1.5px;
    text-underline-offset:2px;
  }
}
