/* Component: infoblatt — A4 flyer for a Leitung / Direktion (print only).
 *
 * Off by default. body.rc-print-infoblatt (set by infoblatt.js for the print
 * dialog, or for the ?infoblatt=1 preview) hides everything that neither
 * contains the flyer nor sits inside it, neutralises the ancestors' boxes and
 * shows the sheet: 794 × 1123 px = A4 at 96 dpi. Colours are forced into the
 * print (print-color-adjust), otherwise browsers drop the green panels.
 * px only, brand tokens only. */

.rc-ib { display: none; }

body.rc-print-infoblatt *:not(:has(.rc-ib)):not(.rc-ib):not(.rc-ib *) { display: none !important; }
/* The body itself too: the header CSS reserves padding-top:84px !important for the fixed bar
   (and 68px bottom on phones); without this the sheet slides down and spills onto a 2nd page. */
body.rc-print-infoblatt { margin: 0 !important; padding: 0 !important; min-height: 0 !important; background: var(--robbo-white) !important; }
body.rc-print-infoblatt :has(.rc-ib) {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: var(--robbo-white) !important;
    max-width: none !important;
    min-height: 0 !important;
    position: static !important;
    transform: none !important;
}
body.rc-print-infoblatt .rc-ib { display: block !important; background: var(--robbo-grey-light); padding: 24px 0 48px; }
body.rc-print-infoblatt .rc-ib,
body.rc-print-infoblatt .rc-ib * { -webkit-print-color-adjust: exact; print-color-adjust: exact; box-sizing: border-box; }

/* --- Preview toolbar (screen only) ---------------------------------- */
.rc-ib-toolbar { display: flex; justify-content: center; gap: 10px; margin: 0 auto 18px; }
.rc-ib-tbtn {
    font-family: 'ProximaNova', 'Proxima Nova', 'Noto Sans', sans-serif;
    font-size: var(--robbo-fs-base);
    font-weight: 700;
    text-transform: none;
    letter-spacing: normal;
    padding: 10px 20px;
    border-radius: 999px;
    border: 2px solid var(--robbo-green);
    background: var(--robbo-white);
    color: var(--robbo-green-dark);
    cursor: pointer;
}
.rc-ib-tbtn-primary { background: var(--robbo-green); color: var(--robbo-white); }

/* --- Sheet ------------------------------------------------------------ */
.rc-ib-sheet {
    width: 794px;
    max-width: 100%;
    min-height: 1123px;
    margin: 0 auto;
    padding: 34px 40px 30px;
    background: var(--robbo-white);
    box-shadow: 0 10px 40px color-mix(in srgb, var(--robbo-coal) 18%, transparent);
    color: var(--robbo-coal);
    font-family: 'ProximaNova', 'Proxima Nova', 'Noto Sans', sans-serif;
    font-size: var(--robbo-fs-md);
    line-height: 1.45;
    display: flex;
    flex-direction: column;
}

.rc-ib-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.rc-ib-logo { display: block; height: 30px; width: auto; }
.rc-ib-web { font-size: var(--robbo-fs-md); font-weight: 700; color: var(--robbo-green-dark); }

.rc-ib-hero {
    display: flex;
    align-items: stretch;
    background: var(--robbo-green);
    border-radius: 24px;
    overflow: hidden;
    min-height: 250px;
}
.rc-ib-hero-copy { flex: 1 1 0; min-width: 0; padding: 28px 26px 26px 30px; color: var(--robbo-white); }
.rc-ib-eyebrow {
    display: inline-block;
    font-size: var(--robbo-fs-badge);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: color-mix(in srgb, var(--robbo-white) 22%, transparent);
    border-radius: 999px;
    padding: 6px 12px;
    margin-bottom: 14px;
}
.rc-ib .rc-ib-title {
    font-family: 'Plakkaat', 'ProximaNova', 'Proxima Nova', 'Noto Sans', sans-serif;
    font-size: 40px;
    font-weight: 400;
    line-height: 1.02;
    text-transform: uppercase;
    color: var(--robbo-white);
    margin: 0 0 14px;
}
.rc-ib-lead { font-size: var(--robbo-fs-base); line-height: 1.45; margin: 0; color: var(--robbo-white); }
.rc-ib-photo { flex: 0 0 290px; position: relative; }
.rc-ib-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.rc-ib-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.rc-ib-fact {
    background: color-mix(in srgb, var(--robbo-green) 10%, var(--robbo-white));
    border: 1px solid color-mix(in srgb, var(--robbo-green) 28%, var(--robbo-white));
    border-radius: 18px;
    padding: 14px 16px;
    text-align: center;
}
.rc-ib-fact-num { display: block; font-size: 30px; font-weight: 800; line-height: 1.1; color: var(--robbo-green-dark); }
.rc-ib-fact-lbl { display: block; font-size: var(--robbo-fs-md); font-weight: 600; margin-top: 4px; color: var(--robbo-coal); }

.rc-ib-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 18px; }
.rc-ib .rc-ib-col-t {
    font-family: 'ProximaNova', 'Proxima Nova', 'Noto Sans', sans-serif;
    font-size: 19px;
    font-weight: 800;
    color: var(--robbo-coal);
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--robbo-green);
}
.rc-ib .rc-ib-list { list-style: none !important; margin: 0; padding: 0; display: grid; gap: 8px; }
.rc-ib .rc-ib-list li { display: flex !important; gap: 8px; align-items: flex-start; font-size: var(--robbo-fs-md); line-height: 1.4; margin: 0; }
.rc-ib-check {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--robbo-green);
    color: var(--robbo-white);
    margin-top: 0;
}
.rc-ib-check svg { width: 14px; height: 14px; }

.rc-ib-cta {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 24px;
    background: var(--robbo-coal);
    color: var(--robbo-white);
    border-radius: 24px;
    padding: 22px 26px;
}
.rc-ib-cta-copy { flex: 1 1 0; min-width: 0; }
.rc-ib-cta p { margin: 0; }
.rc-ib-cta-t { font-size: 24px; font-weight: 800; line-height: 1.2; margin-bottom: 6px !important; }
.rc-ib-cta-x { font-size: var(--robbo-fs-md); line-height: 1.4; margin-bottom: 10px !important; color: color-mix(in srgb, var(--robbo-white) 85%, var(--robbo-coal)); }
.rc-ib-cta-url { font-size: 20px; font-weight: 800; color: var(--robbo-green); overflow-wrap: anywhere; }
.rc-ib-cta-tel { font-size: var(--robbo-fs-base); font-weight: 700; margin-top: 4px !important; }
.rc-ib-qr { flex: 0 0 142px; width: 142px; height: 142px; background: var(--robbo-white); border-radius: 16px; padding: 10px; }
.rc-ib-qr svg { display: block; width: 122px; height: 122px; }

.rc-ib-foot { margin: 12px 0 0; text-align: center; font-size: var(--robbo-fs-legal); color: var(--robbo-grey); }

@media print {
    @page { size: A4; margin: 0; }
    body.rc-print-infoblatt .rc-ib { background: var(--robbo-white); padding: 0; }
    .rc-ib-toolbar { display: none !important; }
    .rc-ib-sheet { box-shadow: none; width: 794px; height: 1123px; min-height: 0; overflow: hidden; }
}
