/**
 * ============================================================================
 * AMTLICH CHECKOUT DESIGN - German Government/Justice Portal Style
 * ============================================================================
 *
 * SCOPE: Only applies to checkout/order pages (home, order form, success)
 * LEGAL: Compliant with Button-Losung §312j BGB
 *
 * COLORS:
 *   - Primary (dark blue-gray):  #2F3B4A
 *   - Background (light gray):   #E6EDF3
 *   - White:                     #FFFFFF
 *   - Border:                    #C8D2DC
 *   - Text dark:                 #1F2A33
 *   - Text muted:                #5A6A7A
 *   - Success:                   #28A745
 *   - Warning:                   #D4A700
 *   - Error:                     #B94A48
 *
 * FONTS: System stack (Arial, Helvetica)
 * ============================================================================
 */

/* ============================================================================
   SCOPING: All rules apply only when body has .cld-amtlich class
   ============================================================================ */

/* --- BASE TYPOGRAPHY --- */
body.cld-amtlich {
    font-family: Arial, Helvetica, -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: #1F2A33;
    line-height: 1.45;
}

body.cld-amtlich * {
    font-family: inherit;
}

/* --- FORM CONTAINER --- */
body.cld-amtlich #order-form {
    background: #FFFFFF;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
    margin-top: 12px;
}

/* --- FORM TEXT ELEMENTS (legend/strong) --- */
body.cld-amtlich #order-form legend,
body.cld-amtlich #order-form strong {
    color: #1a1a1a !important;
}

body.cld-amtlich .home-content {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 12px;
}

/* --- SECTION TITLES (Amtlich Style) - Slim/Compact --- */
body.cld-amtlich .title,
body.cld-amtlich .title.subtitle,
body.cld-amtlich .form-wrapper > .title {
    background: #2F3B4A;
    color: #FFFFFF;
    padding: 5px 12px;
    margin: 0;
    border-bottom: 2px solid #1A2530;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2px;
    text-transform: none;
    border-radius: 0;
}

body.cld-amtlich .title strong,
body.cld-amtlich .title.subtitle strong {
    color: #FFFFFF;
    font-weight: 600;
    font-size: 12px;
}

/* --- Anmerkung Section - Closer to Email fields --- */
body.cld-amtlich .form-wrapper + .title {
    margin-top: 2px;
}

/* --- FORM WRAPPER COMPACT SPACING --- */
body.cld-amtlich .form-wrapper {
    padding: 8px 14px 4px 14px;
    background: #FFFFFF;
    margin: 0;
}

body.cld-amtlich .form-wrapper .row,
body.cld-amtlich form.order-form .row,
body.cld-amtlich form.order-form .form-group {
    margin-bottom: 6px !important;
    padding: 0;
}

body.cld-amtlich .form-item {
    margin-bottom: 8px;
    border: 1px solid #E6EDF3;
    background: #FFFFFF;
}

/* --- KUNDENDATEN / RECHNUNGSEMPFÄNGER - Compact Layout (like Gesuchte Firma) --- */
body.cld-amtlich .customer-data {
    padding: 8px 14px 4px 14px;
}

body.cld-amtlich .customer-data .row {
    margin-bottom: 6px !important;
}

/* --- FIX: PLZ / Ort should be full-width like other inputs --- */
body.cld-amtlich .plz-ort,
body.cld-amtlich .plz-ort-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

/* Force PLZ + Ort to behave like normal full inputs */
body.cld-amtlich input[name="plz"],
body.cld-amtlich input[name="ort"],
body.cld-amtlich input[name="postal_code"],
body.cld-amtlich input[name="city"] {
    width: 100% !important;
    height: 44px;
    box-sizing: border-box;
}

/* =====================================
   Compact spacing between section headers
   (Bestellung ↔ Gesuchte Firma)
===================================== */

/* Reduce margin after "Bestellung :" title */
body.cld-amtlich .item > .title {
    margin-bottom: 2px !important;
}

/* Reduce spacing for description text (p.desc) */
body.cld-amtlich .item > p.desc,
body.cld-amtlich p.desc {
    margin: 2px 0 4px 0 !important;
    padding: 4px 10px !important;
    line-height: 1.3;
    font-size: 11px;
}

/* Reduce margin on form-item (Gesuchte Firma container) */
body.cld-amtlich .form-item {
    margin-top: 2px !important;
    margin-bottom: 6px !important;
}

/* Tighter spacing between title and form-wrapper */
body.cld-amtlich .title + .form-wrapper {
    margin-top: 0;
}

body.cld-amtlich .form-wrapper + .form-wrapper {
    margin-top: 2px;
}

/* Reduce spacing inside .items container */
body.cld-amtlich .items {
    gap: 8px !important;
}

body.cld-amtlich .items > .item {
    padding: 0;
}

/* --- LABELS --- */
body.cld-amtlich .form-wrapper label,
body.cld-amtlich .row label {
    font-size: 12px;
    font-weight: 600;
    color: #2F3B4A;
    margin-bottom: 2px;
    display: block;
}

/* --- INPUT FIELDS (Government Form Style) --- */
body.cld-amtlich input[type="text"],
body.cld-amtlich input[type="email"],
body.cld-amtlich input[type="tel"],
body.cld-amtlich input[type="number"],
body.cld-amtlich input[type="password"],
body.cld-amtlich select,
body.cld-amtlich textarea {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    padding: 6px 8px;
    border: 1px solid #C8D2DC;
    border-radius: 1px;
    background: #FFFFFF;
    color: #1F2A33;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
}

body.cld-amtlich input[type="text"]:focus,
body.cld-amtlich input[type="email"]:focus,
body.cld-amtlich input[type="tel"]:focus,
body.cld-amtlich select:focus,
body.cld-amtlich textarea:focus {
    border-color: #2F3B4A;
    outline: none;
    box-shadow: 0 0 0 2px rgba(47, 59, 74, 0.1);
}

body.cld-amtlich textarea {
    min-height: 60px;
    resize: vertical;
}

/* --- ERROR STATES --- */
body.cld-amtlich input.error,
body.cld-amtlich select.error,
body.cld-amtlich .has-error input,
body.cld-amtlich .has-error select {
    border-color: #B94A48 !important;
    background: #FFF5F5;
}

body.cld-amtlich .error-message,
body.cld-amtlich .message.error-message {
    background: #FFF5F5;
    border: 1px solid #B94A48;
    border-left-width: 4px;
    padding: 10px 14px;
    margin: 8px 0;
    font-size: 12px;
    color: #8B3A38;
}

/* --- CHECKBOXES (Document Selection) --- */
body.cld-amtlich .checkbox,
body.cld-amtlich .checkbox.product-item {
    padding: 4px 0;
    margin: 0;
    border-bottom: 1px solid #E6EDF3;
}

body.cld-amtlich .checkbox:last-child {
    border-bottom: none;
}

body.cld-amtlich .checkbox label {
    font-size: 12px;
    font-weight: 500;
    color: #2F3B4A;
}

body.cld-amtlich .checkbox strong {
    font-size: 12px;
    color: #1F2A33;
    font-weight: 700;
}

body.cld-amtlich input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: #2F3B4A;
}

/* --- DELIVERY OPTIONS --- */
body.cld-amtlich .form-wrapper .checkbox div:first-child {
    flex: 1;
}

body.cld-amtlich .form-wrapper .checkbox div:last-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* --- PAYMENT METHOD --- */
body.cld-amtlich .payment {
    background: #F4F6F8;
    border: 1px solid #E6EDF3;
    padding: 10px 14px;
    margin: 8px 0;
}

body.cld-amtlich .payment .row {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.cld-amtlich .payment input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: #2F3B4A;
}

body.cld-amtlich .payment label {
    font-size: 13px;
    font-weight: 500;
    color: #2F3B4A;
    margin: 0;
}

/* --- SUMMARY BOX (Order Total) --- */
body.cld-amtlich .summary-box {
    background: #E6EDF3;
    border: 2px solid #2F3B4A;
    border-radius: 2px;
    padding: 12px 14px;
    margin-top: 12px;
}

body.cld-amtlich .summary-title {
    font-size: 14px;
    font-weight: 700;
    color: #2F3B4A;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #C8D2DC;
}

body.cld-amtlich .summary-row {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    font-size: 12px;
    color: #5A6A7A;
}

body.cld-amtlich .summary-row.total {
    font-size: 14px;
    font-weight: 700;
    color: #2F3B4A;
    border-top: 1px solid #C8D2DC;
    padding-top: 8px;
    margin-top: 6px;
}

body.cld-amtlich .summary-note {
    font-size: 11px;
    color: #5A6A7A;
    margin-top: 8px;
    padding-top: 6px;
    border-top: 1px dashed #C8D2DC;
}

/* --- SECURITY CHECK SECTION (reCAPTCHA) --- */
body.cld-amtlich .cld-security-section {
    margin: 12px 0;
    padding: 12px 14px;
    background: #F4F6F8;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
}

body.cld-amtlich .cld-security-title {
    font-size: 13px;
    font-weight: 700;
    color: #2F3B4A;
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #C8D2DC;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.cld-amtlich .cld-security-title::before {
    content: "\1F512";
    font-size: 14px;
}

body.cld-amtlich #recaptcha_here {
    margin: 0;
    padding: 0;
}

body.cld-amtlich .g-recaptcha {
    transform-origin: left top;
}

/* --- AGB CHECKBOX LINE --- */
body.cld-amtlich .agb-line,
body.cld-amtlich .cld-agb-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    background: #FFFBF0;
    border: 1px solid #E6D9A8;
    border-radius: 2px;
    margin: 10px 0;
    font-size: 12px;
    color: #5A4A00;
    line-height: 1.4;
}

body.cld-amtlich .agb-line input[type="checkbox"],
body.cld-amtlich .cld-agb-row input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 2px;
}

body.cld-amtlich .agb-line a,
body.cld-amtlich .cld-agb-row a {
    color: #1F4E79;
    text-decoration: underline;
    font-weight: 600;
}

body.cld-amtlich .agb-line a:hover,
body.cld-amtlich .cld-agb-row a:hover {
    color: #2F3B4A;
}

/* --- SUBMIT BUTTON (Button-Losung Compliant) --- */
body.cld-amtlich .order-btn,
body.cld-amtlich .cld-submit-btn,
body.cld-amtlich button[type="submit"],
body.cld-amtlich #bestellen_btn {
    display: block;
    width: 100%;
    padding: 14px 24px;
    background: #2F3B4A;
    border: 2px solid #1A2530;
    color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-align: center;
    cursor: pointer;
    border-radius: 2px;
    transition: all 0.2s ease;
    margin-top: 10px;
}

body.cld-amtlich .order-btn:hover,
body.cld-amtlich .cld-submit-btn:hover,
body.cld-amtlich button[type="submit"]:hover,
body.cld-amtlich #bestellen_btn:hover {
    background: #1A2530;
    border-color: #0F1820;
}

body.cld-amtlich .order-btn:disabled,
body.cld-amtlich .cld-submit-btn:disabled,
body.cld-amtlich #bestellen_btn:disabled {
    background: #8A9BAC;
    border-color: #6A7B8C;
    cursor: not-allowed;
    opacity: 0.7;
}

/* --- CHECKOUT INLINE SECTION --- */
body.cld-amtlich .checkout-inline {
    padding: 12px 14px;
    background: #F4F6F8;
    border: 1px solid #E6EDF3;
    margin-top: 12px;
}

/* --- JUMBOTRON (Info Box) --- */
body.cld-amtlich article.jumbotron {
    background: #E6EDF3;
    border: 1px solid #C8D2DC;
    border-left: 4px solid #2F3B4A;
    padding: 14px 18px;
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.5;
    color: #2F3B4A;
}

body.cld-amtlich article.jumbotron p {
    margin: 6px 0;
}

body.cld-amtlich article.jumbotron strong {
    color: #1F2A33;
    font-weight: 700;
}

body.cld-amtlich article.jumbotron ul {
    margin: 8px 0;
    padding-left: 20px;
}

body.cld-amtlich article.jumbotron li {
    margin: 3px 0;
    font-size: 12px;
}

body.cld-amtlich .mehr-link {
    font-size: 12px;
    color: #1F4E79;
    text-decoration: none;
    font-weight: 600;
}

body.cld-amtlich .mehr-link:hover {
    text-decoration: underline;
}

/* --- ITEMS LAYOUT (Two Column) --- */
body.cld-amtlich .items {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body.cld-amtlich .items > .item {
    flex: 1;
    min-width: 280px;
}

body.cld-amtlich .items > .item:first-child {
    flex: 1.2;
}

/* --- ADD COMPANY BUTTON --- */
body.cld-amtlich .top {
    background: #E6EDF3;
    padding: 8px 14px;
    border-bottom: 1px solid #C8D2DC;
}

body.cld-amtlich .top a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #2F3B4A;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
}

body.cld-amtlich .top a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #2F3B4A;
    color: #FFFFFF;
    border-radius: 2px;
    font-size: 14px;
    font-weight: 700;
}

body.cld-amtlich .top a:hover {
    color: #1A2530;
}

/* --- DESCRIPTION TEXT --- */
body.cld-amtlich p.desc {
    font-size: 11px;
    color: #5A6A7A;
    margin: 6px 0;
    padding: 8px 14px;
    background: #FFFBF0;
    border: 1px solid #E6D9A8;
    line-height: 1.4;
}

/* --- REVIEW SLIDER (Compact) --- */
body.cld-amtlich .review-slider {
    margin: 20px 0;
    padding: 14px;
    background: #F4F6F8;
    border: 1px solid #C8D2DC;
}

body.cld-amtlich .review-slider h3 {
    font-size: 14px;
    font-weight: 700;
    color: #2F3B4A;
    margin: 0 0 12px 0;
}

/* --- FLAGS SECTION (Informational, visually separate from form) --- */
body.cld-amtlich .flags {
    margin: 40px 0 20px 0;
    padding: 16px 20px;
    background: #F4F6F8;
    border: none;
    border-top: 1px solid #C8D2DC;
    opacity: 0.85;
}

body.cld-amtlich .flags h3 {
    font-size: 12px;
    font-weight: 600;
    color: #5A6A7A;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

body.cld-amtlich .flags .links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
}

body.cld-amtlich .flags .links a img {
    height: 20px;
    width: auto;
    border: 1px solid #C8D2DC;
    opacity: 0.8;
    transition: opacity 0.2s, transform 0.2s;
}

body.cld-amtlich .flags .links a:hover img {
    opacity: 1;
    transform: scale(1.1);
}

/* --- MOBILE RESPONSIVE --- */
@media (max-width: 768px) {
    body.cld-amtlich .items {
        flex-direction: column;
    }

    body.cld-amtlich .items > .item {
        min-width: 100%;
    }

    body.cld-amtlich .title,
    body.cld-amtlich .title.subtitle {
        padding: 6px 10px;
        font-size: 12px;
    }

    body.cld-amtlich .form-wrapper {
        padding: 8px 10px;
    }

    body.cld-amtlich input[type="text"],
    body.cld-amtlich select,
    body.cld-amtlich textarea {
        font-size: 16px; /* Prevent zoom on iOS */
        padding: 8px 10px;
    }

    body.cld-amtlich .order-btn,
    body.cld-amtlich .cld-submit-btn {
        padding: 12px 16px;
        font-size: 13px;
    }

    body.cld-amtlich .summary-box {
        padding: 10px 12px;
    }

    body.cld-amtlich article.jumbotron {
        padding: 10px 12px;
        font-size: 12px;
    }
}

/* ============================================================================
   SUCCESS PAGE STYLES
   ============================================================================ */

body.cld-amtlich .success-wrap {
    max-width: 720px;
    margin: 20px auto;
    padding: 0 12px;
}

body.cld-amtlich .success-card {
    background: #FFFFFF;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
    padding: 20px;
    margin-bottom: 12px;
}

body.cld-amtlich .success-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}

body.cld-amtlich .success-icon {
    width: 44px;
    height: 44px;
    background: #28A745;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: bold;
    flex-shrink: 0;
}

body.cld-amtlich .success-header h2 {
    font-size: 18px;
    font-weight: 700;
    color: #1F2A33;
    margin: 0 0 4px 0;
}

body.cld-amtlich .success-header p {
    font-size: 13px;
    color: #5A6A7A;
    margin: 0;
}

body.cld-amtlich .success-meta {
    background: #E6EDF3;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
    padding: 12px 14px;
    margin-bottom: 16px;
}

body.cld-amtlich .meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid #C8D2DC;
}

body.cld-amtlich .meta-row:last-child {
    border-bottom: none;
}

body.cld-amtlich .meta-label {
    font-size: 12px;
    color: #5A6A7A;
}

body.cld-amtlich .meta-value {
    font-size: 13px;
    font-weight: 700;
    color: #1F2A33;
}

body.cld-amtlich .success-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

body.cld-amtlich .success-actions .btn-primary {
    display: inline-block;
    padding: 10px 20px;
    background: #2F3B4A;
    border: 1px solid #1A2530;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    border-radius: 2px;
    transition: background 0.2s;
}

body.cld-amtlich .success-actions .btn-primary:hover {
    background: #1A2530;
}

body.cld-amtlich .success-actions .btn-secondary {
    display: inline-block;
    padding: 10px 20px;
    background: #E6EDF3;
    border: 1px solid #C8D2DC;
    color: #1F2A33;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    border-radius: 2px;
    transition: background 0.2s;
}

body.cld-amtlich .success-actions .btn-secondary:hover {
    background: #D4DEE8;
}

body.cld-amtlich .info-card {
    background: #FFFFFF;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
    padding: 16px 20px;
}

body.cld-amtlich .info-card h3 {
    font-size: 14px;
    font-weight: 700;
    color: #2F3B4A;
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #E6EDF3;
}

body.cld-amtlich .info-card ul {
    margin: 0;
    padding-left: 18px;
    color: #2F3B4A;
    font-size: 12px;
    line-height: 1.5;
}

body.cld-amtlich .info-card ul li {
    margin: 6px 0;
}

body.cld-amtlich .info-card ul li a {
    color: #1F4E79;
    text-decoration: underline;
}

body.cld-amtlich .info-note {
    margin-top: 12px;
    padding: 10px 12px;
    background: #FFFBF0;
    border: 1px solid #E6D9A8;
    border-radius: 2px;
    font-size: 11px;
    color: #5A4A00;
    line-height: 1.4;
}

/* ============================================================================
   PRINT STYLES
   ============================================================================ */

/* --- RULES SECTION (AGB + Submit) --- */
/* Clean container grouping AGB checkbox and submit button */
body.cld-amtlich .rules {
    background: #E6EDF3;
    border: 2px solid #2F3B4A;
    border-radius: 2px;
    padding: 20px 24px;
    margin: 16px 0 0 0;
    text-align: center;
}

/* Hide stray <br> elements in rules */
body.cld-amtlich .rules > br {
    display: none;
}

body.cld-amtlich .rules .chkbx {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    padding: 14px 18px;
    background: #FFFBF0;
    border: 1px solid #E6D9A8;
    border-radius: 2px;
    margin-bottom: 16px;
    text-align: left;
}

body.cld-amtlich .rules .chkbx input[type="checkbox"] {
    flex-shrink: 0;
    margin-top: 2px;
    width: 18px;
    height: 18px;
    accent-color: #2F3B4A;
}

body.cld-amtlich .rules .chkbx strong {
    font-size: 13px;
    font-weight: 600;
    color: #5A4A00;
    line-height: 1.4;
}

body.cld-amtlich .rules .chkbx a {
    color: #1F4E79;
    text-decoration: underline;
    font-weight: 700;
}

body.cld-amtlich .rules .chkbx a:hover {
    color: #2F3B4A;
}

/* Hide informational text blocks in rules section */
/* "Sobald Ihre Bestellung..." and "Alle Handelsregister Bestellungen..." */
body.cld-amtlich .rules > div[style*="margin"] {
    display: none !important;
}

/* Center submit button */
body.cld-amtlich .rules #bestellen_btn {
    display: block;
    width: auto;
    min-width: 280px;
    max-width: 400px;
    margin: 0 auto;
    padding: 16px 32px;
}

/* --- FORM TOP HEADER --- */
body.cld-amtlich .form-wrapper > .top {
    background: #2F3B4A;
    padding: 14px 18px;
    border-bottom: 2px solid #1A2530;
}

body.cld-amtlich .form-wrapper > .top h2 {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
}

body.cld-amtlich .form-wrapper > .top p {
    color: #C8D2DC;
    font-size: 12px;
    margin-bottom: 10px;
}

body.cld-amtlich .form-wrapper > .top a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    color: #2F3B4A;
    padding: 6px 12px;
    border: 1px solid #C8D2DC;
    border-radius: 2px;
    font-size: 12px;
    font-weight: 600;
    margin-top: 8px;
    text-decoration: none;
    transition: background 0.2s;
}

body.cld-amtlich .form-wrapper > .top a:hover {
    background: #E6EDF3;
}

body.cld-amtlich .form-wrapper > .top a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #2F3B4A;
    color: #FFFFFF;
    border-radius: 2px;
    font-size: 16px;
    font-weight: 700;
}

/* --- ORDER TOTAL STYLING --- */
body.cld-amtlich .total {
    background: #E6EDF3;
    border: 2px solid #2F3B4A;
    padding: 14px 16px;
    margin-top: 12px;
    text-align: right;
}

body.cld-amtlich .total strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #1F2A33;
    margin-bottom: 4px;
}

body.cld-amtlich .total span {
    font-size: 11px;
    color: #5A6A7A;
}

/* --- VORKASSE INFO BOX --- */
body.cld-amtlich #vorkasse {
    background: #E6EDF3 !important;
    border: 1px solid #C8D2DC !important;
    border-left: 4px solid #2F3B4A !important;
    padding: 14px !important;
    margin: 12px 0 !important;
    font-size: 12px;
    line-height: 1.6;
}

body.cld-amtlich #vorkasse strong {
    color: #2F3B4A;
    font-weight: 700;
}

/* --- CREDITCARD BOX --- */
body.cld-amtlich #creditcard {
    background: #F4F6F8 !important;
    border: 1px solid #C8D2DC !important;
    padding: 14px !important;
    margin: 12px 0 !important;
}

/* --- COUNTRY TOOLTIP / ENDBEGLAUBIGUNG INFO --- */
/* Hide entire Endbeglaubigung/BVA info block on HOME only */
/* Country selection dropdown (select#orderCountry) remains visible and functional */
body.cld-amtlich .counteris_tooltip_holder {
    display: none !important;
}

/* Hide Endbeglaubigung (69€) from document list on HOME only */
/* Document ID 15 = Endbeglaubigung (EN) */
body.cld-amtlich .checkbox.product-item:has(#form-1-document-15) {
    display: none !important;
}

body.cld-amtlich .country_red_text {
    font-size: 11px !important;
    color: #B94A48 !important;
    font-weight: 600;
}

body.cld-amtlich .counteris_tooltip {
    background: #FFF5F5;
    border: 1px solid #E6C8C8;
    padding: 10px 14px;
    margin-top: 8px;
    font-size: 11px;
}

body.cld-amtlich .counteris_tooltip ul {
    padding-left: 20px;
    margin: 0;
}

body.cld-amtlich .counteris_tooltip li {
    margin: 3px 0;
    color: #5A6A7A;
}

/* ============================================================================
   C1: HINWEIS NOTICE CARD (below order form)
   Neutral/official style - no strong colors
   ============================================================================ */
body.cld-amtlich .home-notice-card {
    background: #F8F9FA;
    border: 1px solid #C8D2DC;
    border-left: 3px solid #5A6A7A;
    margin: 24px 0 20px 0;
    padding: 0;
}

body.cld-amtlich .home-notice-card__title {
    background: #E6EDF3;
    color: #2F3B4A;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    margin: 0;
    border-bottom: 1px solid #C8D2DC;
}

body.cld-amtlich .home-notice-card__content {
    padding: 14px 16px;
}

body.cld-amtlich .home-notice-card__content p {
    font-size: 12px;
    color: #1F2A33;
    line-height: 1.5;
    margin: 0 0 10px 0;
}

body.cld-amtlich .home-notice-card__content p:last-child {
    margin-bottom: 0;
}

/* ============================================================================
   C4: WEITERE INFORMATIONEN (Collapsible details/summary)
   Closed by default
   ============================================================================ */
body.cld-amtlich .home-details {
    background: #FFFFFF;
    border: 1px solid #C8D2DC;
    margin: 20px 0 24px 0;
}

body.cld-amtlich .home-details__summary {
    background: #E6EDF3;
    color: #2F3B4A;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 14px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

body.cld-amtlich .home-details__summary::-webkit-details-marker {
    display: none;
}

body.cld-amtlich .home-details__summary::before {
    content: "+ ";
    font-weight: 700;
    margin-right: 6px;
}

body.cld-amtlich .home-details[open] .home-details__summary::before {
    content: "− ";
}

body.cld-amtlich .home-details__summary:hover {
    background: #D9E4ED;
}

body.cld-amtlich .home-details__content {
    padding: 14px 16px;
    border-top: 1px solid #C8D2DC;
}

body.cld-amtlich .home-details__content p {
    font-size: 12px;
    color: #1F2A33;
    line-height: 1.5;
    margin: 0 0 10px 0;
}

body.cld-amtlich .home-details__content p:last-child {
    margin-bottom: 0;
}

@media print {
    body.cld-amtlich .order-btn,
    body.cld-amtlich .cld-submit-btn,
    body.cld-amtlich .top,
    body.cld-amtlich .review-slider,
    body.cld-amtlich .flags,
    body.cld-amtlich #recaptcha_here {
        display: none !important;
    }

    body.cld-amtlich .title,
    body.cld-amtlich .title.subtitle {
        background: #F0F0F0 !important;
        color: #000000 !important;
        border-color: #000000 !important;
        -webkit-print-color-adjust: exact;
    }
}
