/* Shared public-site design. Scoped independently of the ERP and customer portal. */
body.rns-public.rns-friendly {
    --rns-ink: #24364b;
    --rns-muted: #526579;
    --rns-line: #dce5ee;
    --rns-blue: #1263c4;
    --rns-soft: #eef5fc;
    --rns-shadow: 0 8px 28px rgb(35 58 84 / 5%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    color: var(--rns-ink);
    background: #f8fafc;
    color-scheme: light;
}
body.rns-friendly :where(h1,h2,h3,h4,h5,h6) {
    font-family: inherit;
    font-weight: 600 !important;
    letter-spacing: -.025em !important;
    line-height: 1.25 !important;
    overflow-wrap: break-word;
}
body.rns-friendly :where(h1,.h1,.rns-home-hero h1,.device-repair-hero h1,.rns-locator-search h1) {
    font-size: clamp(2rem,3.4vw,3rem) !important;
    line-height: 1.16 !important;
}
body.rns-friendly :where(h2,.h2,.rns-tw-heading) {font-size: clamp(1.5rem,2.3vw,2.1rem) !important;}
body.rns-friendly :where(h3,.h3) {font-size: clamp(1.125rem,1.5vw,1.3rem) !important;}
body.rns-friendly :where(p,li,address) {line-height: 1.7;}
body.rns-friendly :where(strong,b) {font-weight: 600;}
body.rns-friendly :where(button,input,select,textarea) {font-family: inherit;}
body.rns-friendly :where(a,button,input,select,textarea,summary):focus-visible {
    outline: 3px solid #397dd2;
    outline-offset: 4px;
}
body.rns-friendly :where(a,button,summary) {-webkit-tap-highlight-color: rgb(18 99 196 / 12%);}
body.rns-friendly :where(#repair-selector,#marken,#public-main,[id^="booking"]) {scroll-margin-top: 160px;}
body.rns-friendly .rns-skip-link {
    position: fixed;left: 16px;top: -100px;z-index: 100000;
    padding: 12px 20px;background: #fff;color: #0758b1;border: 2px solid #1263c4;border-radius: 12px;
}
body.rns-friendly .rns-skip-link:focus {top: 12px;}

/* Navigation: readable labels, existing icons and familiar destinations. */
body.rns-friendly .rns-public-header {background: #fff;box-shadow: 0 3px 18px rgb(35 58 84 / 4%);}
body.rns-friendly .rns-public-header__top {min-height: 78px;}
body.rns-friendly .rns-public-header__menu-row {background: #fff;border-color: #e7edf4;}
body.rns-friendly :where(.rns-public-device-trigger,.rns-public-header__nav a,.rns-public-header__login,.rns-public-header__store) {
    font-weight: 600;font-size: 14px;line-height: 1.4;letter-spacing: 0;
}
body.rns-friendly .rns-public-device-trigger {min-height: 48px;border-radius: 12px;color: #34485e;}
body.rns-friendly .rns-public-device-trigger__icon {color: var(--rns-blue);}
body.rns-friendly [data-dd="tablet"] .rns-public-device-trigger__icon {color: #137e73;}
body.rns-friendly [data-dd="computer"] .rns-public-device-trigger__icon {color: #7557be;}
body.rns-friendly [data-dd="watch"] .rns-public-device-trigger__icon {color: #a66a19;}
body.rns-friendly :where(.rns-public-header__login,.rns-public-header__store,.rns-public-header__mobile-pin,.rns-public-header__toggle) {
    box-shadow: none;border-color: var(--rns-line);border-radius: 12px;
}
body.rns-friendly :where(.rns-public-header__cta,.rns-design-primary) {
    display: inline-flex;align-items: center;justify-content: center;gap: 12px;
    min-height: 48px;padding: 12px 22px;border: 1px solid var(--rns-blue);border-radius: 12px;
    background: var(--rns-blue);color: #fff;text-decoration: none;box-shadow: none;
    font-size: 15px;font-weight: 600;line-height: 1.4;
}
body.rns-friendly :where(.rns-public-header__cta,.rns-design-primary):hover {background: #0c54aa;color: #fff;transform: none;}
body.rns-friendly .rns-public-header__lang a {min-width: 36px;min-height: 36px;font-weight: 600;}
body.rns-friendly .rns-public-mega {border: 1px solid var(--rns-line);border-radius: 18px;box-shadow: 0 18px 48px rgb(35 58 84 / 12%);}
body.rns-friendly :where(.rns-public-mega__title,.rns-public-mega__all,.rns-public-location-menu__link strong) {font-weight: 600;}
body.rns-friendly .rns-public-mega__link {font-size: 14px;line-height: 1.5;font-weight: 400;min-height: 36px;padding-top: 8px;padding-bottom: 8px;color: #435970;}
body.rns-friendly :where(.rns-public-mega__link,.rns-public-device-trigger):hover {background: var(--rns-soft);color: #0c54aa;}
body.rns-friendly :where(.rns-public-header__mobile a,.rns-public-header__mobile summary) {font-weight: 600;line-height: 1.5;}

/* Homepage: a compact introduction and a calm sequence of distinct sections. */
body.rns-friendly .rns-home-hero {
    padding: clamp(24px,4vw,44px);margin-top: 24px;border-radius: 28px;
    background: linear-gradient(135deg,#fff 20%,#f0f6fc);border-color: var(--rns-line);box-shadow: var(--rns-shadow);
}
body.rns-friendly .rns-home-hero__inner {gap: 32px;}
body.rns-friendly .rns-home-hero h1 {max-width: 17ch;margin: 0;}
body.rns-friendly .rns-home-hero__lead {max-width: 46ch;margin: 20px 0 24px;color: var(--rns-muted);font-weight: 400;}
body.rns-friendly .rns-home-hero__figure {height: clamp(260px,25vw,340px);aspect-ratio: auto;border-radius: 24px;box-shadow: var(--rns-shadow);}
body.rns-friendly .rns-home-hero__figure picture {display: block;height: 100%;}
body.rns-friendly .rns-home-hero__figure img {width: 100%;height: 100%;max-height: none;object-fit: cover;}
body.rns-friendly .rns-hero-floating-card {border-radius: 14px;box-shadow: 0 4px 18px rgb(35 58 84 / 8%);}
body.rns-friendly .rns-selector {box-shadow: none;border-radius: 22px;}
body.rns-friendly .rns-selector h2 {font-size: clamp(1.4rem,2.2vw,1.85rem) !important;}
body.rns-friendly .rns-home-device-card__content strong {font-size: 17px !important;font-weight: 600 !important;line-height: 1.4 !important;}
body.rns-friendly :where(.rns-home-process__card,.rns-blog-card,.rns-home-device-areas-grid>a) {border-radius: 20px;box-shadow: var(--rns-shadow);border-color: var(--rns-line);}
body.rns-friendly .rns-home-device-areas-grid strong {font-size: 21px;font-weight: 600;}
body.rns-friendly :where(.rns-tw-section,.rns-home-process) {margin-top: clamp(40px,5vw,64px);margin-bottom: clamp(40px,5vw,64px);}
body.rns-friendly :where(.rns-home-status,.rns-home-claims,.rns-home-final-cta,.rns-portal-highlight) {
    border: 1px solid #d9e7f3;border-radius: 24px;background: #edf5fc;color: var(--rns-ink);box-shadow: none;
}
body.rns-friendly :where(.rns-home-status,.rns-home-claims,.rns-home-final-cta,.rns-portal-highlight) :where(h2,h3) {color: var(--rns-ink);}
body.rns-friendly :where(.rns-home-status,.rns-home-claims,.rns-home-final-cta,.rns-portal-highlight) p {color: #435d76;}
body.rns-friendly .rns-portal-highlight__card {background: #fff;border: 1px solid #d9e5f0;border-radius: 16px;min-height: 0;}
body.rns-friendly .rns-portal-highlight__card span {background: #e8f2ff;color: #1263c4;font-weight: 600;}
body.rns-friendly .rns-portal-highlight__button {background: var(--rns-blue);color: #fff;border-radius: 12px;font-weight: 600;}
body.rns-friendly .rns-portal-highlight__button:hover {background: #0c54aa;color: #fff;}
body.rns-friendly .rns-faq summary {font-weight: 600;line-height: 1.6;padding: 18px 20px;}
body.rns-friendly .rns-faq details {border-color: var(--rns-line);border-radius: 16px;box-shadow: none;}
body.rns-friendly .rns-faq details[open]>summary {color: #0c54aa;background: #f2f7fc;}

/* Product, repair and editorial pages share the same card and heading scale. */
body.rns-friendly :where(.device-repair-hero,.device-repair-block,.device-repair-cta) {border-color: var(--rns-line);border-radius: 24px;box-shadow: var(--rns-shadow);}
body.rns-friendly .device-repair-hero {background: #edf5fc;}
body.rns-friendly .device-repair-hero__visual img {border-radius: 18px !important;}
body.rns-friendly :where(.device-repair-brand-card,.device-repair-service-card,.device-repair-laptop-card,.rns-shop-card,.rns-shop-service,.rns-checkout-summary) {
    background: #fff;border-color: var(--rns-line);border-radius: 18px;box-shadow: var(--rns-shadow);
}
body.rns-friendly .device-repair-brand-card {min-height: 150px;}
body.rns-friendly .device-repair-brand-card:hover {transform: translateY(-2px);box-shadow: 0 8px 24px rgb(35 58 84 / 9%);}
body.rns-friendly .device-repair-brand-card__index {background: #edf5fc;font-weight: 600;}
body.rns-friendly :where(.device-repair-brand-card,.device-repair-service-card,.rns-shop-card,.rns-blog-card,.rns-article-aside,.rns-location-card) :where(h2,h3) {font-size: 20px !important;line-height: 1.4 !important;}
body.rns-friendly :where(.rns-blog-card,.rns-shop-card) h2 a {font-size: inherit;line-height: inherit;}
body.rns-friendly :where(.rns-blog-hero,.rns-article-head) {padding-top: 56px;padding-bottom: 56px;background: #edf5fc;}
body.rns-friendly :where(.rns-blog-card,.rns-shop-card) p {color: var(--rns-muted);}
body.rns-friendly .rns-article-body {font-size: 17px;line-height: 1.8;}
body.rns-friendly .rns-article-body p {font-size: inherit;line-height: inherit;}
body.rns-friendly .rns-blog-filters a {font-weight: 600;}
body.rns-friendly .rns-blog-filters a.is-active {background: var(--rns-blue);border-color: var(--rns-blue);color: #fff;}
body.rns-friendly :where(.rns-shop-btn,.btn,.rns-booking-submit,.device-repair-btn-secondary) {border-radius: 12px;min-height: 44px;font-weight: 600;line-height: 1.5;box-shadow: none;}

body.rns-friendly .btn-primary {background: var(--rns-blue);border-color: var(--rns-blue);color: #fff;}
body.rns-friendly .btn-primary:hover,body.rns-friendly .btn-primary:focus {background: #0c54aa;border-color: #0c54aa;color: #fff;}
body.rns-friendly :where(.rns-booking-choice>span,.rns-booking-fields label>span,.rns-booking-device__head p,.device-repair-pills li,.rns-hero-floating-card strong) {font-weight: 600;}
body.rns-friendly .rns-booking-choice:has(input:checked) {box-shadow: 0 0 0 1px var(--rns-blue);}

/* Inputs stay bright, readable and large enough for touch without changing radios or file inputs. */
body.rns-friendly .site-main :where(input[type=text],input[type=email],input[type=tel],input[type=search],input[type=password],input[type=number],input[type=date],select,textarea) {
    background-color: #fff;color: #24364b;border: 1px solid #bdcddd;border-radius: 10px;
    font-size: 16px;line-height: 1.5;font-weight: 400;min-height: 46px;
}
body.rns-friendly .site-main :where(input,textarea)::placeholder {color: #62758a;opacity: 1;}
body.rns-friendly .site-main :where(input,select,textarea):disabled {background-color: #f0f4f8;color: #5b6c7e;}
body.rns-friendly .site-main :where(input[type=checkbox],input[type=radio]) {accent-color: var(--rns-blue);}
body.rns-friendly .site-main :where(input,select,textarea)[aria-invalid=true],
body.rns-friendly .site-main :where(input,select,textarea).is-invalid {border-color: #be3939;}
body.rns-friendly :where(.rns-booking-card,.rns-booking-item) {border-radius: 22px;border-color: var(--rns-line);box-shadow: var(--rns-shadow);}
body.rns-friendly .rns-booking-step h1 {font-size: clamp(1.65rem,2.5vw,2.25rem) !important;}
body.rns-friendly .rns-booking-step h2 {font-size: clamp(1.4rem,2vw,1.85rem) !important;}
body.rns-friendly :where(.rns-booking-fields label,.rns-booking-item__head p) {font-weight: 600;}
body.rns-friendly .rns-booking-test {padding-top: 40px;}
body.rns-friendly :where(.rns-booking-device,.rns-booking-choice) {border-radius: 16px;}
body.rns-friendly .rns-locator-search h1 {max-width: 22ch;}
body.rns-friendly :where(.rns-location-card,.rns-locator-search,.rns-location-detail-card) {border-radius: 22px;box-shadow: var(--rns-shadow);}

/* A bright footer with a clear hierarchy and comfortable link targets. */
body.rns-friendly .rns-public-footer {background: #eef3f8;border-top: 1px solid #dce5ee;color: #43586e;padding-top: 56px;}
body.rns-friendly .rns-public-footer :where(h2,h3) {font-size: 16px !important;color: #24364b;letter-spacing: 0 !important;}
body.rns-friendly .rns-public-footer :where(p,a,span) {color: #43586e;font-weight: 400;}
body.rns-friendly .rns-public-footer__col a {font-size: 14px;line-height: 1.5;padding: 6px 0;}
body.rns-friendly .rns-public-footer__col a+a {margin-top: 2px;}
body.rns-friendly .rns-public-footer a:hover {color: #0758b1;text-decoration: underline;text-underline-offset: 4px;}
body.rns-friendly .rns-public-footer__bottom {border-color: #d3dfeb;line-height: 1.65;}
body.rns-friendly .rns-public-footer__brand img {background: transparent;padding: 0;border-radius: 0;}
body.rns-friendly .rns-whatsapp-float {box-shadow: 0 6px 20px rgb(25 111 72 / 16%);}

@media(max-width:1100px) {
    body.rns-friendly .rns-public-header__top {min-height: 72px;}
    body.rns-friendly .rns-public-footer__inner {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
    body.rns-friendly :where(h1,.h1,.rns-home-hero h1,.device-repair-hero h1,.rns-locator-search h1) {font-size: clamp(1.85rem,7.8vw,2.25rem) !important;}
    body.rns-friendly :where(h2,.h2,.rns-tw-heading) {font-size: 1.5rem !important;}
    body.rns-friendly .rns-home-hero {width: calc(100% - 24px);padding: 20px;margin-top: 16px;border-radius: 22px;}
    body.rns-friendly .rns-home-hero__inner {gap: 24px;}
    body.rns-friendly .rns-home-hero__lead {margin: 16px 0 20px;font-size: 16px !important;}
    body.rns-friendly .rns-home-hero__start {width: 100%;}
    body.rns-friendly .rns-home-device-card__content strong {font-size: 15px !important;}
    body.rns-friendly :where(.rns-booking-card,.rns-booking-item) {padding: 18px;border-radius: 18px;}
    body.rns-friendly .rns-booking-test {padding-top: 20px;}
    body.rns-friendly .rns-public-footer__inner {gap: 24px 18px;}
    body.rns-friendly .rns-public-footer__brand {grid-column: 1/-1;}
    body.rns-friendly :where(#repair-selector,#marken,#public-main,[id^="booking"]) {scroll-margin-top: 88px;}
    body.rns-friendly .rns-whatsapp-float {min-height: 48px;padding: 6px;border-radius: 50%;right: 12px;bottom: 12px;}
    body.rns-friendly .rns-whatsapp-float__text {display: none;}
    body.rns-friendly .rns-whatsapp-float__icon {width: 36px;height: 36px;}
}
@media(prefers-reduced-motion:reduce) {
    body.rns-friendly *,body.rns-friendly *::before,body.rns-friendly *::after {scroll-behavior: auto !important;animation: none !important;transition: none !important;}
    body.rns-friendly .rns-animate {opacity: 1 !important;transform: none !important;}
}
