/* Visual design for place pages; category pages retain their existing styling. Content and SEO remain in ort.php. */
body.se360-ort-page {background:#f6f7f2 !important;color:#1c3028;}
body.se360-ort-page .wrap {max-width:1240px;padding:24px 28px 64px;}
body.se360-ort-page .section,
body.se360-ort-page .info-card {background:#fff !important;border:1px solid #e0e7dd !important;border-radius:20px !important;box-shadow:none !important;padding:28px;margin-top:22px;}
body.se360-ort-page .wrap > .section:first-child {background:#fff !important;border:1px solid #dbe6d9 !important;border-radius:26px !important;box-shadow:0 10px 40px #213c2410 !important;padding:32px;}
body.se360-ort-page .section:first-of-type::before {background:none !important;pointer-events:none;}
body.se360-ort-page .breadcrumb {margin:0 0 28px;padding:0 0 18px;border-bottom:1px solid #e7ece5;font-size:13px;color:#586c5f;}
body.se360-ort-page .hero-video {float:right;width:35%;margin:0 0 24px 32px;max-height:340px;object-fit:contain;border:1px solid #e3e8df !important;border-radius:18px;box-shadow:none !important;background:#f3f6ef;}
body.se360-ort-page .badge {padding:6px 10px;margin:0 4px 8px 0;border-radius:7px;font-size:11px;font-weight:700;line-height:1.5;box-shadow:none !important;background:#edf5e9 !important;border:1px solid #e1ecdc !important;color:#365d32 !important;}
body.se360-ort-page .badge-blue {background:#f0f3f7 !important;color:#435770 !important;border-color:#e3e8ef !important;}
body.se360-ort-page h1 {font-size:clamp(34px,4.4vw,56px);line-height:1.07;letter-spacing:-.045em !important;color:#193b2d !important;margin:18px 0 20px;font-weight:800 !important;}
body.se360-ort-page .accent {color:#437b36 !important;}
body.se360-ort-page .lead {font-size:17px;line-height:1.7;font-weight:400;margin-bottom:14px;}
body.se360-ort-page .section-intro {font-size:15px;line-height:1.75;font-weight:400;}
body.se360-ort-page .lead,
body.se360-ort-page .section-intro {color:#526359 !important;}
body.se360-ort-page .hero-action-row {clear:both;display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px;}
body.se360-ort-page .btn,
body.se360-ort-page .web-app-cta,
body.se360-ort-page .app-store-cta,
body.se360-ort-page .play-store-cta {min-height:46px;padding:12px 16px;border-radius:10px !important;font-size:13px;font-weight:700;box-shadow:none !important;line-height:1.4;}
body.se360-ort-page .btn-primary {background:#285c38 !important;color:#fff !important;border:1px solid #285c38 !important;}
body.se360-ort-page .btn-secondary,
body.se360-ort-page .web-app-cta {background:#f4f7f1 !important;color:#28543a !important;border:1px solid #dbe5d6 !important;}
body.se360-ort-page .app-store-cta,
body.se360-ort-page .play-store-cta {background:#25362d !important;color:#fff !important;border:1px solid #25362d !important;}
body.se360-ort-page .local-proof-strip {clear:both;gap:8px;margin:0 0 28px;padding-bottom:22px;border-bottom:1px solid #e5ebe1;}
body.se360-ort-page .local-proof-strip span {background:transparent !important;border:0 !important;box-shadow:none !important;color:#536c57;padding:4px 10px 4px 0;font-size:12px;font-weight:500;}
body.se360-ort-page #betriebe {scroll-margin-top:24px;}
body.se360-ort-page .shop-grid {clear:both;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important;margin-top:0;}
body.se360-ort-page .shop-item {border:1px solid #dce6d8 !important;border-radius:16px !important;background:#fff !important;box-shadow:none !important;transition:border-color .15s,box-shadow .15s;}
body.se360-ort-page .shop-item:hover {border-color:#7eaa73 !important;box-shadow:0 5px 18px #25482910 !important;transform:none !important;}
body.se360-ort-page .shop-link {grid-template-columns:86px minmax(0,1fr) !important;gap:18px !important;min-height:158px !important;padding:22px !important;}
body.se360-ort-page .shop-logo {width:86px !important;height:86px !important;padding:7px !important;border-radius:13px !important;border-color:#e7ebe4 !important;}
body.se360-ort-page .shop-name {font-size:18px !important;font-weight:750 !important;line-height:1.3 !important;color:#243c2a !important;}
body.se360-ort-page .shop-sub {font-size:13px !important;line-height:1.6 !important;font-weight:400 !important;color:#61705e !important;overflow:visible !important;white-space:normal !important;}
body.se360-ort-page h2 {font-size:26px;line-height:1.25;color:#243d2b !important;}
body.se360-ort-page .section-kicker {background:#eef5e8;color:#406b34;border:0;border-radius:6px;font-size:12px;padding:6px 9px;}
body.se360-ort-page .keyword-grid {gap:8px;}
body.se360-ort-page .keyword-badge,
body.se360-ort-page .category-chip-grid .keyword-badge {min-height:40px;padding:9px 13px !important;border:1px solid #e0e7da !important;background:#f8faf5 !important;border-radius:9px !important;box-shadow:none !important;font-size:13px;font-weight:500 !important;color:#3f573b !important;}
body.se360-ort-page .category-chip-grid .keyword-badge strong {background:#e8f1e1;color:#4c7939;}
body.se360-ort-page .local-order-benefits div {background:#f7faf3;border:1px solid #e0e8d9;border-radius:12px;box-shadow:none;}
body.se360-ort-page .local-order-benefits div::before {background:#4b7b38;}
body.se360-ort-page .info-card h3 {font-size:19px;}
body.se360-ort-page .partner-lead-cta {background:#254e35 !important;border-radius:20px;box-shadow:none;padding:32px;}
body.se360-ort-page .partner-lead-cta h2 {color:#fff !important;font-size:30px;}
body.se360-ort-page .partner-lead-cta .section-intro {color:#e2eddf !important;}
body.se360-ort-page .list {padding-left:20px;}
body.se360-ort-page .list li {padding:12px 0;border-bottom:1px solid #e8ece4;line-height:1.65;}
body.se360-ort-page a:focus-visible {outline:3px solid #446fbd;outline-offset:4px;}
@media(max-width:760px) {
 body.se360-ort-page .wrap {padding:12px 14px 48px;}
 body.se360-ort-page .section,body.se360-ort-page .info-card {padding:22px;margin-top:16px;border-radius:16px !important;}
 body.se360-ort-page .wrap > .section:first-child {padding:22px;border-radius:20px !important;}
 body.se360-ort-page .hero-video {float:none;width:100%;max-height:170px;margin:0 0 20px;}
 body.se360-ort-page .breadcrumb {margin-bottom:18px;}
 body.se360-ort-page h1 {font-size:36px;line-height:1.1;margin-top:14px;}
 body.se360-ort-page .lead {font-size:15px;}
 body.se360-ort-page .section-intro {font-size:14px;}
 body.se360-ort-page .shop-grid {grid-template-columns:1fr !important;}
 body.se360-ort-page .hero-action-row > a:first-child {flex-basis:100%;}
 body.se360-ort-page .hero-action-row > a {flex:1 1 auto;justify-content:center;}
 body.se360-ort-page .shop-link {grid-template-columns:66px minmax(0,1fr) !important;gap:13px !important;padding:16px !important;min-height:140px !important;}
 body.se360-ort-page .shop-logo {width:66px !important;height:66px !important;}
 body.se360-ort-page .shop-name {font-size:17px !important;}
 body.se360-ort-page .category-chip-grid .keyword-badge {width:auto;max-width:100%;}
 body.se360-ort-page h2 {font-size:23px;}
 body.se360-ort-page .partner-lead-cta {padding:24px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 body.se360-ort-page .shop-item {transition:none;}
}
/* Override the older shared layer's forced media dimensions. */
body.se360-ort-page .hero-video {width:35% !important;height:auto !important;max-height:340px !important;margin:0 0 24px 32px !important;}
body.se360-ort-page .breadcrumb {display:flex;box-shadow:none !important;border:0 !important;border-bottom:1px solid #e7ece5 !important;border-radius:0 !important;background:transparent !important;}
@media(max-width:760px) {body.se360-ort-page .hero-video {width:100% !important;max-height:170px !important;margin:0 0 20px !important;}}
@media(max-width:760px) {
 body.se360-ort-page .badge {display:inline-flex !important;width:auto !important;max-width:100%;text-align:left;justify-content:flex-start;}
 body.se360-ort-page .hero-video {max-height:140px !important;}
}
@media(max-width:760px) {
 body.se360-ort-page .hero-action-row {display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;gap:8px !important;}
 body.se360-ort-page .hero-action-row > a {width:auto !important;flex:1 1 calc(50% - 8px) !important;padding:11px 8px;font-size:12px;min-width:0;}
 body.se360-ort-page .hero-action-row > a:first-child {flex-basis:100% !important;}
 body.se360-ort-page .local-proof-strip span {width:auto !important;min-height:24px;justify-content:flex-start;font-size:11px;}
}
