/* ==========================================================================
   YORKHOST 2026 — Cart 2019 Wizard Redesign
   Refonte visuelle complète, scope: .orderpage-cart_2019wizard
   ========================================================================== */

:root {
    --yh-purple: #763BD4;
    --yh-purple-dark: #5B2FA8;
    --yh-purple-light: #F3EBFD;
    --yh-purple-soft: #F8F3FE;
    --yh-purple-border: #D4BCF2;
    --yh-text: #1a1a1a;
    --yh-text-muted: #6b6b6b;
    --yh-text-soft: #888;
    --yh-border: #ececec;
    --yh-border-soft: #f4f4f5;
    --yh-bg: #fafafa;
    --yh-success: #2DC76B;
    --yh-success-bg: #E1F5EE;
    --yh-success-text: #0F6E56;
    --yh-danger: #D9252E;
    --yh-danger-bg: #FCEBEB;
    --yh-danger-text: #791F1F;
    --yh-warning: #F6BB42;
    --yh-warning-bg: #FAEEDA;
    --yh-warning-text: #854F0B;
    --yh-info-bg: #E6F1FB;
    --yh-info-text: #0C447C;
    --yh-radius: 8px;
    --yh-radius-lg: 10px;
    --yh-radius-pill: 999px;
    --yh-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.03);
    --yh-shadow: 0 2px 8px rgba(118, 59, 212, 0.06);
    --yh-shadow-lg: 0 8px 24px rgba(118, 59, 212, 0.10);
    --yh-shadow-purple: 0 4px 12px rgba(118, 59, 212, 0.18);
}

.orderpage-cart_2019wizard,
.orderpage.orderpage-cart_2019wizard {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--yh-text);
    padding: 24px 0;
}

/* ==========================================================================
   Wizard header (step progress)
   ========================================================================== */

.orderpage-cart_2019wizard .wizard-header-icons {
    margin-bottom: 32px !important;
}

.orderpage-cart_2019wizard .step-boxes {
    background: #fff;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius-lg) !important;
    box-shadow: var(--yh-shadow-sm) !important;
    padding: 6px !important;
    display: flex !important;
    width: 100%;
    max-width: 720px;
    overflow: visible !important;
    gap: 4px;
}

.orderpage-cart_2019wizard .step-boxes a,
.orderpage-cart_2019wizard .step-boxes > .d-flex {
    text-decoration: none;
}

.orderpage-cart_2019wizard .step-box {
    border: none !important;
    border-radius: var(--yh-radius) !important;
    padding: 14px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--yh-text-soft) !important;
    background: transparent;
    transition: all 0.15s ease;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
}

.orderpage-cart_2019wizard .step-box .material-icons {
    font-size: 18px !important;
    margin: 0 !important;
}

.orderpage-cart_2019wizard .step-box.text-primary,
.orderpage-cart_2019wizard .step-box.active {
    background: var(--yh-purple-light) !important;
    color: var(--yh-purple) !important;
    border: none !important;
}

.orderpage-cart_2019wizard .step-box.text-success,
.orderpage-cart_2019wizard .step-box.success {
    color: var(--yh-success-text) !important;
    background: var(--yh-success-bg) !important;
    border: none !important;
}

.orderpage-cart_2019wizard .step-box.text-success:hover {
    opacity: 0.85;
}

.orderpage-cart_2019wizard .step-box.text-muted {
    color: var(--yh-text-soft) !important;
    background: transparent;
    border: none !important;
}

.orderpage-cart_2019wizard .step-box.step-box-arrow:after { display: none !important; }
.orderpage-cart_2019wizard .step-box.step-box-arrow { border-right: none !important; }

@media (max-width: 768px) {
    .orderpage-cart_2019wizard .step-boxes { flex-direction: column !important; max-width: none; }
    .orderpage-cart_2019wizard .step-boxes a,
    .orderpage-cart_2019wizard .step-boxes .wizard-order-summary-domain { width: 100% !important; }
}

/* ==========================================================================
   Cards (replace .card.shadow)
   ========================================================================== */

.orderpage-cart_2019wizard .card,
.orderpage-cart_2019wizard .card.shadow {
    background: #fff !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius-lg) !important;
    box-shadow: var(--yh-shadow-sm) !important;
    margin-bottom: 18px;
    overflow: hidden;
}

.orderpage-cart_2019wizard .card.shadow.p-4 {
    padding: 22px !important;
}

.orderpage-cart_2019wizard .card-header {
    background: transparent !important;
    border-bottom: 1px solid var(--yh-border) !important;
    padding: 16px 22px !important;
}

.orderpage-cart_2019wizard .card-body { padding: 0; }
.orderpage-cart_2019wizard .card-body.p-0 { padding: 0 !important; }

.orderpage-cart_2019wizard h1, .orderpage-cart_2019wizard h2, .orderpage-cart_2019wizard h3,
.orderpage-cart_2019wizard h4, .orderpage-cart_2019wizard h5 {
    color: var(--yh-text);
    font-weight: 500;
}

.orderpage-cart_2019wizard h3.text-primary,
.orderpage-cart_2019wizard h3.mb-4.text-primary {
    color: var(--yh-text) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    padding-bottom: 14px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid var(--yh-border) !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

.orderpage-cart_2019wizard h3.text-primary::before {
    content: '';
    width: 4px;
    height: 18px;
    background: var(--yh-purple);
    border-radius: 2px;
    flex-shrink: 0;
}

/* ==========================================================================
   Forms — selects, inputs, checkboxes, radios
   ========================================================================== */

.orderpage-cart_2019wizard .form-control,
.orderpage-cart_2019wizard input.form-control,
.orderpage-cart_2019wizard select.form-control,
.orderpage-cart_2019wizard textarea.form-control {
    border: 1px solid var(--yh-border) !important;
    border-radius: 8px !important;
    padding: 9px 13px !important;
    font-size: 13px !important;
    color: var(--yh-text) !important;
    background-color: #fff !important;
    transition: all 0.15s ease;
    height: auto !important;
    min-height: 38px;
    box-shadow: none !important;
}

.orderpage-cart_2019wizard .form-control:focus,
.orderpage-cart_2019wizard input.form-control:focus,
.orderpage-cart_2019wizard select.form-control:focus,
.orderpage-cart_2019wizard textarea.form-control:focus {
    border-color: var(--yh-purple) !important;
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.12) !important;
    outline: none !important;
}

/* Catch-all for inputs/textareas/selects without .form-control class
   (HostBill custom_field elements, .styled, ssh_key_textarea, etc.)
   Exclusions: .slider-value-indicator (72px), checkboxes/radios (custom styled separately) */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="text"]:not(.slider-value-indicator),
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="number"]:not(.slider-value-indicator),
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="email"],
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="password"],
.orderpage-cart_2019wizard .form-group.cart-form.cart-item textarea,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item select,
.orderpage-cart_2019wizard textarea.styled,
.orderpage-cart_2019wizard textarea.custom_field,
.orderpage-cart_2019wizard input.styled[type="text"]:not(.slider-value-indicator),
.orderpage-cart_2019wizard input.styled[type="number"]:not(.slider-value-indicator),
.orderpage-cart_2019wizard input.custom_field[type="text"]:not(.slider-value-indicator),
.orderpage-cart_2019wizard input.custom_field[type="number"]:not(.slider-value-indicator) {
    width: 100% !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: 8px !important;
    padding: 9px 13px !important;
    font-size: 13px !important;
    color: var(--yh-text) !important;
    background-color: #fff !important;
    transition: all 0.15s ease;
    box-shadow: none !important;
    font-family: inherit;
    line-height: 1.5;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="text"]:not(.slider-value-indicator):focus,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="number"]:not(.slider-value-indicator):focus,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="email"]:focus,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item input[type="password"]:focus,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item textarea:focus,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item select:focus,
.orderpage-cart_2019wizard textarea.styled:focus,
.orderpage-cart_2019wizard textarea.custom_field:focus,
.orderpage-cart_2019wizard input.styled[type="text"]:not(.slider-value-indicator):focus,
.orderpage-cart_2019wizard input.styled[type="number"]:not(.slider-value-indicator):focus,
.orderpage-cart_2019wizard input.custom_field[type="text"]:not(.slider-value-indicator):focus,
.orderpage-cart_2019wizard input.custom_field[type="number"]:not(.slider-value-indicator):focus {
    border-color: var(--yh-purple) !important;
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.12) !important;
    outline: none !important;
}

/* Textareas — taller default + monospace for SSH keys */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item textarea,
.orderpage-cart_2019wizard textarea.styled,
.orderpage-cart_2019wizard textarea.custom_field {
    min-height: 100px !important;
    resize: vertical;
}

.orderpage-cart_2019wizard textarea.ssh_key_textarea,
.orderpage-cart_2019wizard textarea[name*="ssh"],
.orderpage-cart_2019wizard textarea[id*="ssh"] {
    font-family: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Monaco, Consolas, monospace !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    min-height: 130px !important;
}

/* Select catch-all (for selects without .form-control like Protection DDoS) */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 34px !important;
}

.orderpage-cart_2019wizard select.form-control,
.orderpage-cart_2019wizard select.form-control-sm {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 12px !important;
    padding-right: 34px !important;
}

.orderpage-cart_2019wizard .form-control-sm,
.orderpage-cart_2019wizard select.form-control-sm,
.orderpage-cart_2019wizard input.form-control-sm {
    padding: 6px 11px !important;
    font-size: 12px !important;
    min-height: 32px;
    border-radius: 7px !important;
}

/* Input groups */
.orderpage-cart_2019wizard .input-group { border-radius: 8px; overflow: hidden; }
.orderpage-cart_2019wizard .input-group-text {
    background: var(--yh-purple-soft) !important;
    border: 1px solid var(--yh-border) !important;
    color: var(--yh-text-muted) !important;
    font-size: 13px !important;
    padding: 9px 13px !important;
}
.orderpage-cart_2019wizard .input-group .form-control { border-radius: 0 !important; }
.orderpage-cart_2019wizard .input-group > :first-child { border-top-left-radius: 8px !important; border-bottom-left-radius: 8px !important; }
.orderpage-cart_2019wizard .input-group > :last-child { border-top-right-radius: 8px !important; border-bottom-right-radius: 8px !important; }

/* Labels */
.orderpage-cart_2019wizard label,
.orderpage-cart_2019wizard .form-check-label {
    font-size: 13px;
    color: var(--yh-text);
    font-weight: 500;
    margin-bottom: 6px;
}
.orderpage-cart_2019wizard label.font-weight-bold { font-weight: 600 !important; }

/* Definition lists used for config rows */
.orderpage-cart_2019wizard dl.row { margin-bottom: 14px; align-items: center; }
.orderpage-cart_2019wizard dl.row dt {
    font-weight: 500 !important;
    color: var(--yh-text);
    font-size: 13px;
    padding-right: 12px;
}
.orderpage-cart_2019wizard dl.row dd { font-size: 13px; color: var(--yh-text); margin-bottom: 0; }

/* Form descriptions */
.orderpage-cart_2019wizard small.d-block,
.orderpage-cart_2019wizard .text-small {
    font-size: 12px;
    color: var(--yh-text-soft);
    margin-top: 4px;
}

/* Custom field rows — flat style inside parent card */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item {
    background: transparent;
    border: none !important;
    border-bottom: 1px solid var(--yh-border-soft) !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    margin: 0 !important;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item:last-of-type {
    border-bottom: none !important;
    padding-bottom: 4px !important;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item:first-of-type {
    padding-top: 4px !important;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item label.font-weight-bold {
    font-size: 13px !important;
    color: var(--yh-text) !important;
    margin-bottom: 2px !important;
    font-weight: 600 !important;
    display: block;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item small.d-block {
    margin-bottom: 10px;
    color: var(--yh-text-soft);
    font-size: 12px;
    line-height: 1.45;
}

/* Checkboxes inside cart-item (e.g. Backup, addons) */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item .form-check {
    align-items: flex-start;
    margin: 0;
    padding: 6px 0;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item .form-check label {
    font-weight: 500 !important;
    font-size: 13px;
    line-height: 1.5;
    color: var(--yh-text);
}

/* ==========================================================================
   jQuery UI slider (HostBill .slider-group)
   Override aggressive inline styles via attribute selectors + !important
   ========================================================================== */

.orderpage-cart_2019wizard .slider-group {
    display: flex !important;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin-top: 6px;
    flex-wrap: nowrap;
}

.orderpage-cart_2019wizard .slider-group .slides[id^="custom_slider"],
.orderpage-cart_2019wizard .slider-group > .slides {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    flex: 1 !important;
    min-width: 0;
}

.orderpage-cart_2019wizard .slider-group input,
.orderpage-cart_2019wizard input.slider-value-indicator {
    width: 72px !important;
    min-width: 72px !important;
    flex-shrink: 0 !important;
    text-align: center;
    padding: 8px 10px !important;
    font-size: 13px !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    background: #fff !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: 8px !important;
    color: var(--yh-text) !important;
    height: auto !important;
    min-height: 36px !important;
    box-shadow: none !important;
}

.orderpage-cart_2019wizard input.slider-value-indicator:focus {
    border-color: var(--yh-purple) !important;
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.12) !important;
    outline: none !important;
}

/* The slider track itself (jQuery UI .ui-slider) */
.orderpage-cart_2019wizard .ui-slider,
.orderpage-cart_2019wizard .ui-slider.ui-widget,
.orderpage-cart_2019wizard .ui-slider.ui-widget-content,
.orderpage-cart_2019wizard .ui-slider-horizontal {
    background: var(--yh-border) !important;
    background-color: var(--yh-border) !important;
    border: none !important;
    height: 6px !important;
    border-radius: 999px !important;
    position: relative;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
}

.orderpage-cart_2019wizard .ui-slider .ui-slider-range,
.orderpage-cart_2019wizard .ui-slider-horizontal .ui-slider-range {
    background: var(--yh-purple) !important;
    background-color: var(--yh-purple) !important;
    border: none !important;
    border-radius: 999px !important;
    height: 100% !important;
    top: 0 !important;
    bottom: 0 !important;
}

/* Handle: 18px circle, vertically centered on the track via top:50% + translate.
   Defeat any jQuery UI default top/margin that misaligns it. */
.orderpage-cart_2019wizard .ui-slider .ui-slider-handle,
.orderpage-cart_2019wizard .ui-slider-horizontal .ui-slider-handle {
    width: 18px !important;
    height: 18px !important;
    box-sizing: border-box !important;
    border-radius: 50% !important;
    background: var(--yh-purple) !important;
    background-color: var(--yh-purple) !important;
    background-image: none !important;
    border: 2px solid #fff !important;
    box-shadow: 0 2px 6px rgba(118, 59, 212, 0.35), 0 0 0 1px rgba(118, 59, 212, 0.25) !important;
    top: 50% !important;
    margin-top: 0 !important;
    margin-left: -9px !important;
    transform: translateY(-50%) !important;
    cursor: grab;
    outline: none !important;
    transition: box-shadow 0.15s ease, background 0.15s ease;
    display: block !important;
}

.orderpage-cart_2019wizard .ui-slider .ui-slider-handle:hover,
.orderpage-cart_2019wizard .ui-slider .ui-slider-handle.ui-state-hover,
.orderpage-cart_2019wizard .ui-slider .ui-slider-handle.ui-state-focus,
.orderpage-cart_2019wizard .ui-slider .ui-slider-handle.ui-state-active {
    transform: translateY(-50%) scale(1.15) !important;
    cursor: grabbing;
    background: var(--yh-purple) !important;
    box-shadow: 0 4px 12px rgba(118, 59, 212, 0.45), 0 0 0 4px rgba(118, 59, 212, 0.15) !important;
}

/* Hide jQuery UI default sl/sr drop shadows */
.orderpage-cart_2019wizard .slider-group .sl,
.orderpage-cart_2019wizard .slider-group .sr { display: none !important; }

/* Slider pips (steps labels) if shown */
.orderpage-cart_2019wizard .ui-slider-pips .ui-slider-label {
    color: var(--yh-text-soft);
    font-size: 11px;
}
.orderpage-cart_2019wizard .ui-slider-pips .ui-slider-pip-selected .ui-slider-label {
    color: var(--yh-purple);
    font-weight: 600;
}

/* ==========================================================================
   Checkboxes & Radios (custom styled)
   ========================================================================== */

.orderpage-cart_2019wizard .form-group.cart-form.cart-item .form-check,
.orderpage-cart_2019wizard .form-check {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    margin: 4px 0;
    cursor: pointer;
    min-height: 0;
}

.orderpage-cart_2019wizard .form-check input[type="checkbox"],
.orderpage-cart_2019wizard .form-check input[type="radio"],
.orderpage-cart_2019wizard input[type="checkbox"]:not(.term-checkbox):not(.tos-checkbox),
.orderpage-cart_2019wizard input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
    border: 1.5px solid #d0d0d8 !important;
    background: #fff !important;
    background-image: none !important;
    cursor: pointer;
    transition: all 0.15s ease;
    position: relative;
    vertical-align: middle;
    box-shadow: none !important;
    accent-color: var(--yh-purple);
    color: inherit;
    font: inherit;
    line-height: 1;
    overflow: hidden;
    text-indent: -9999px; /* hide any default ::after content */
}

/* Kill any pseudo-element that might draw a second visual */
.orderpage-cart_2019wizard input[type="checkbox"]::before,
.orderpage-cart_2019wizard input[type="checkbox"]::after,
.orderpage-cart_2019wizard input[type="radio"]::before,
.orderpage-cart_2019wizard input[type="radio"]::after {
    content: none !important;
    display: none !important;
}

.orderpage-cart_2019wizard .form-check input[type="checkbox"],
.orderpage-cart_2019wizard input[type="checkbox"]:not(.term-checkbox):not(.tos-checkbox) {
    border-radius: 5px !important;
}

.orderpage-cart_2019wizard .form-check input[type="radio"],
.orderpage-cart_2019wizard input[type="radio"] {
    border-radius: 50% !important;
}

.orderpage-cart_2019wizard .form-check input[type="checkbox"]:hover,
.orderpage-cart_2019wizard .form-check input[type="radio"]:hover,
.orderpage-cart_2019wizard input[type="checkbox"]:hover,
.orderpage-cart_2019wizard input[type="radio"]:hover {
    border-color: var(--yh-purple-border) !important;
}

.orderpage-cart_2019wizard .form-check input[type="checkbox"]:checked,
.orderpage-cart_2019wizard input[type="checkbox"]:checked:not(.term-checkbox):not(.tos-checkbox) {
    background: var(--yh-purple) !important;
    border-color: var(--yh-purple) !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M3.5 8.5l3 3 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px !important;
}

.orderpage-cart_2019wizard .form-check input[type="radio"]:checked,
.orderpage-cart_2019wizard input[type="radio"]:checked {
    border: 5px solid var(--yh-purple) !important;
    background: #fff !important;
}

.orderpage-cart_2019wizard .form-check input[type="checkbox"]:focus,
.orderpage-cart_2019wizard .form-check input[type="radio"]:focus,
.orderpage-cart_2019wizard input[type="checkbox"]:focus,
.orderpage-cart_2019wizard input[type="radio"]:focus {
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.15) !important;
    outline: none !important;
}

.orderpage-cart_2019wizard .form-check label {
    margin: 0 !important;
    cursor: pointer;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--yh-text);
    flex: 1;
}

/* Backup-style pattern : label.d-block + input[checkbox] + <span> inline.
   Make the checkbox and span sit on the same line, vertically centered. */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item > label.font-weight-bold.d-block + input[type="checkbox"] {
    vertical-align: middle;
    margin-right: 10px !important;
    margin-top: 4px !important;
}

.orderpage-cart_2019wizard .form-group.cart-form.cart-item > label.font-weight-bold.d-block + input[type="checkbox"] + span {
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.5;
    color: var(--yh-text);
}

/* Remove the trailing <br> spacing inside cart-item */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item > br { display: none; }

/* Make the .row inside cart-item flow nicely */
.orderpage-cart_2019wizard .form-group.cart-form.cart-item .row {
    align-items: center;
    margin: 0;
}

/* (checkboxes/radios styling consolidated above — duplicate block removed) */

/* ==========================================================================
   Buttons
   ========================================================================== */

.orderpage-cart_2019wizard .btn {
    border-radius: 9px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 9px 18px !important;
    transition: all 0.15s ease !important;
    box-shadow: none !important;
    line-height: 1.4;
    border: 1px solid transparent;
}

.orderpage-cart_2019wizard .btn-lg {
    padding: 13px 22px !important;
    font-size: 14px !important;
    border-radius: 11px !important;
}

.orderpage-cart_2019wizard .btn-sm,
.orderpage-cart_2019wizard .btn.btn-sm {
    padding: 6px 12px !important;
    font-size: 12px !important;
    border-radius: 7px !important;
}

.orderpage-cart_2019wizard .btn-primary,
.orderpage-cart_2019wizard .btn.btn-primary {
    background: var(--yh-purple) !important;
    border-color: var(--yh-purple) !important;
    color: #fff !important;
}
.orderpage-cart_2019wizard .btn-primary:hover {
    background: var(--yh-purple-dark) !important;
    border-color: var(--yh-purple-dark) !important;
    transform: translateY(-1px);
    box-shadow: var(--yh-shadow) !important;
}

.orderpage-cart_2019wizard .btn-outline-primary {
    background: transparent !important;
    border: 1.5px solid var(--yh-purple) !important;
    color: var(--yh-purple) !important;
}
.orderpage-cart_2019wizard .btn-outline-primary:hover {
    background: var(--yh-purple) !important;
    color: #fff !important;
}

.orderpage-cart_2019wizard .btn-outline-light {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    color: #fff !important;
}
.orderpage-cart_2019wizard .btn-outline-light:hover,
.orderpage-cart_2019wizard .btn-outline-light.active {
    background: #fff !important;
    color: var(--yh-purple) !important;
    border-color: #fff !important;
}

.orderpage-cart_2019wizard .btn-outline-danger {
    background: transparent !important;
    border: 1.5px solid var(--yh-danger) !important;
    color: var(--yh-danger) !important;
}
.orderpage-cart_2019wizard .btn-outline-danger:hover {
    background: var(--yh-danger) !important;
    color: #fff !important;
}

.orderpage-cart_2019wizard .btn-outline-dark {
    background: transparent !important;
    border: 1.5px solid var(--yh-border) !important;
    color: var(--yh-text-muted) !important;
}

.orderpage-cart_2019wizard .btn-success {
    background: var(--yh-success) !important;
    border-color: var(--yh-success) !important;
    color: #fff !important;
}
.orderpage-cart_2019wizard .btn-outline-success {
    background: transparent !important;
    border: 1.5px solid var(--yh-success) !important;
    color: var(--yh-success-text) !important;
}
.orderpage-cart_2019wizard .btn-outline-success:hover {
    background: var(--yh-success) !important;
    color: #fff !important;
}

.orderpage-cart_2019wizard .btn-default {
    background: #fff !important;
    border: 1.5px solid var(--yh-border) !important;
    color: var(--yh-text) !important;
}
.orderpage-cart_2019wizard .btn-default:hover {
    background: var(--yh-border-soft) !important;
    border-color: var(--yh-text-soft) !important;
}

.orderpage-cart_2019wizard .btn-rounded { border-radius: 100px !important; }

.orderpage-cart_2019wizard .btn .material-icons {
    vertical-align: middle;
    margin-right: 4px;
    font-size: 16px;
}

/* Button group toggle (radios as buttons) */
.orderpage-cart_2019wizard .btn-group-toggle {
    display: inline-flex;
    gap: 6px;
    flex-wrap: wrap;
}

.orderpage-cart_2019wizard .btn-group-toggle .btn { margin: 0 !important; }

/* ==========================================================================
   Cart 0 — product carousel
   ========================================================================== */

.orderpage-cart_2019wizard .cart-carousel {
    padding: 8px !important;
    background: transparent;
}

.orderpage-cart_2019wizard .cart-carousel:before,
.orderpage-cart_2019wizard .cart-carousel:after {
    background: linear-gradient(to right, #fafafa 0, #fafafa 60%, rgba(255, 255, 255, 0) 100%) !important;
}

.orderpage-cart_2019wizard .cart-carousel:after {
    background: linear-gradient(to left, #fafafa 0, #fafafa 60%, rgba(255, 255, 255, 0) 100%) !important;
}

.orderpage-cart_2019wizard .cart-carousel .card {
    background: #fff !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius-lg) !important;
    box-shadow: var(--yh-shadow-sm) !important;
    overflow: hidden !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    margin: 0 12px;
    padding-top: 0 !important;
}

.orderpage-cart_2019wizard .cart-carousel .card:hover {
    transform: translateY(-3px);
    box-shadow: var(--yh-shadow-lg) !important;
    border-color: var(--yh-purple-border) !important;
}

/* Override the inline-styled wrapper div (height:200px) that contains .card-wave */
.orderpage-cart_2019wizard .cart-carousel .card > div:first-child[style] {
    height: 130px !important;
    border-radius: var(--yh-radius-lg) var(--yh-radius-lg) 0 0 !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-wave {
    transform: none !important;
    width: 100% !important;
    left: 0 !important;
    top: 0 !important;
    height: 130px !important;
    background: linear-gradient(135deg, var(--yh-purple) 0%, #6b5fd6 100%);
    overflow: hidden !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-wave svg { display: none; }

/* Make sure card-top sits inside the purple area without overflowing */
.orderpage-cart_2019wizard .cart-carousel .card-top {
    height: 130px;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    padding: 16px 24px !important;
    margin: 0 !important;
}

/* Card body : opaque white background + z-index above the absolute wrapper
   to cover any leftover purple bleed-through */
.orderpage-cart_2019wizard .cart-carousel .card > .card-body {
    position: relative;
    background: #fff;
    z-index: 2;
}

.orderpage-cart_2019wizard .cart-carousel .card-top {
    padding: 22px 24px 18px !important;
    color: #fff !important;
    z-index: 2;
    margin: 0 !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-title {
    font-size: 18px !important;
    color: #fff !important;
    font-weight: 600 !important;
    margin: 0 0 4px !important;
    letter-spacing: -0.01em;
}

.orderpage-cart_2019wizard .cart-carousel .card-price {
    color: #fff !important;
    margin: 8px 0 0 !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.1;
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    gap: 4px;
}

.orderpage-cart_2019wizard .cart-carousel .card-price-month {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-body {
    padding: 16px 24px !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-body .row {
    margin: 0 !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-body .col-6 {
    padding: 4px 8px !important;
    font-size: 12px !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-body .text-right.text-muted {
    color: var(--yh-text-soft) !important;
    text-align: right !important;
}

.orderpage-cart_2019wizard .cart-carousel .card-body .text-primary {
    color: var(--yh-text) !important;
    font-weight: 600 !important;
}

/* Make the entire bottom card-body clickable: form + button fill 100% */
.orderpage-cart_2019wizard .cart-carousel .card .parentform {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
}

.orderpage-cart_2019wizard .cart-carousel .card .parentform .btn {
    width: 100% !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

/* Make the whole card cursor:pointer so users see it's interactive */
.orderpage-cart_2019wizard .cart-carousel .card { cursor: pointer; }
.orderpage-cart_2019wizard .cart-carousel .card.h-100:hover .parentform .btn.btn-outline-primary {
    background: var(--yh-purple) !important;
    color: #fff !important;
    border-color: var(--yh-purple) !important;
}

/* Ribbon */
.orderpage-cart_2019wizard .ribbon { width: 120px; height: 120px; }
.orderpage-cart_2019wizard .ribbon span {
    width: 200px;
    padding: 8px 0 !important;
    font: 600 11px/1 inherit !important;
    letter-spacing: 0.06em;
    background-color: var(--yh-purple) !important;
    text-shadow: none !important;
    box-shadow: 0 4px 10px rgba(118, 59, 212, 0.25) !important;
}
.orderpage-cart_2019wizard .ribbon-top-right span { left: -18px !important; top: 32px !important; }
.orderpage-cart_2019wizard .ribbon::before, .orderpage-cart_2019wizard .ribbon::after {
    border-color: var(--yh-purple) !important;
}

/* ==========================================================================
   Cart 1 — domain search
   ========================================================================== */

.orderpage-cart_2019wizard .bg-gradient-primary,
.orderpage-cart_2019wizard .mobile-domian-firendly.bg-gradient-primary {
    background: linear-gradient(135deg, var(--yh-purple) 0%, #6b5fd6 100%) !important;
    border-radius: var(--yh-radius-lg) !important;
    padding: 28px !important;
}

.orderpage-cart_2019wizard .domain-option,
.orderpage-cart_2019wizard #options { color: #fff; }

.orderpage-cart_2019wizard .domain-option p,
.orderpage-cart_2019wizard #options p {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 14px;
    margin-bottom: 16px;
    text-align: center;
}

.orderpage-cart_2019wizard #options h3,
.orderpage-cart_2019wizard .mobile-domian-firendly h3 {
    color: #fff !important;
    font-weight: 600 !important;
    margin-bottom: 18px !important;
    border: none !important;
    padding: 0 !important;
}

.orderpage-cart_2019wizard #options h3::before,
.orderpage-cart_2019wizard .mobile-domian-firendly h3::before { display: none; }

.orderpage-cart_2019wizard .domain-search { margin-top: 18px; }

.orderpage-cart_2019wizard .textarea-autoresize {
    background: #fff !important;
    border: 1px solid #fff !important;
    border-radius: var(--yh-radius) !important;
    font-size: 14px !important;
    padding: 14px 18px !important;
    color: var(--yh-text) !important;
}

.orderpage-cart_2019wizard .textarea-autoresize:focus {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.25) !important;
    border-color: #fff !important;
}

/* Domain search results */
.orderpage-cart_2019wizard .result-row {
    background: #fff;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius) !important;
    padding: 14px 18px !important;
    margin: 8px 0 !important;
    border-bottom: 1px solid var(--yh-border) !important;
    transition: border-color 0.15s ease;
}

.orderpage-cart_2019wizard .result-row:hover {
    border-color: var(--yh-purple-border) !important;
}

.orderpage-cart_2019wizard .result-row.active {
    background: var(--yh-purple-soft);
    border-color: var(--yh-purple) !important;
}

.orderpage-cart_2019wizard .result-hostname {
    font-size: 14px !important;
    color: var(--yh-text);
}

.orderpage-cart_2019wizard .result-hostname .text-primary,
.orderpage-cart_2019wizard .price-amount.text-primary {
    color: var(--yh-purple) !important;
    font-weight: 600 !important;
}

.orderpage-cart_2019wizard .result-query-text {
    color: var(--yh-purple) !important;
    font-weight: 600;
    font-size: 14px;
}

.orderpage-cart_2019wizard .result-query { margin: 18px 12px 8px !important; }

/* ==========================================================================
   Domain row buttons (Enregistrer / Transférer / Ajouté / Supprimer)
   Restore visibility toggle + clean styling
   ========================================================================== */

/* By default : show register/transfer button, hide the "in cart" actions */
.orderpage-cart_2019wizard .result-button { display: inline-block; }
.orderpage-cart_2019wizard .result-incart { display: none; }

/* When the row is .active (domain added to cart) : flip visibility */
.orderpage-cart_2019wizard .result-row.active .result-button,
.orderpage-cart_2019wizard .active .result-button { display: none !important; }

.orderpage-cart_2019wizard .result-row.active .result-incart,
.orderpage-cart_2019wizard .active .result-incart {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

/* Hide the Bootstrap btn-group-toggle hidden checkbox inside the Enregistrer/Transfer label */
.orderpage-cart_2019wizard .btn-group-toggle .btn input[type="checkbox"],
.orderpage-cart_2019wizard .btn-group-toggle label.btn input[type="checkbox"],
.orderpage-cart_2019wizard .result-button input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Domain register/transfer button */
.orderpage-cart_2019wizard .result-button.btn,
.orderpage-cart_2019wizard label.result-button {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    cursor: pointer;
}

.orderpage-cart_2019wizard .result-button .material-icons {
    font-size: 16px !important;
    margin: 0 !important;
}

/* "Ajouté" (in-cart) button — green check */
.orderpage-cart_2019wizard .result-cart {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 7px 14px !important;
    background: var(--yh-success-bg) !important;
    color: var(--yh-success-text) !important;
    border: 1.5px solid var(--yh-success-bg) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: default;
    opacity: 1 !important;
}

.orderpage-cart_2019wizard .result-cart.disabled {
    opacity: 1 !important;
    pointer-events: none;
}

.orderpage-cart_2019wizard .result-cart .material-icons {
    font-size: 16px !important;
    color: var(--yh-success-text) !important;
}

/* "Supprimer" link */
.orderpage-cart_2019wizard .result-remove {
    color: var(--yh-danger-text, var(--yh-danger)) !important;
    background: transparent !important;
    border: none !important;
    padding: 6px 10px !important;
    font-size: 12px !important;
    text-decoration: none !important;
    border-radius: 6px;
    transition: background 0.15s ease;
}

.orderpage-cart_2019wizard .result-remove:hover {
    background: var(--yh-danger-bg) !important;
    color: var(--yh-danger) !important;
}

/* ==========================================================================
   Cart 2 — domain config table
   ========================================================================== */

.orderpage-cart_2019wizard .table {
    margin-bottom: 0;
    color: var(--yh-text);
    font-size: 13px;
}

.orderpage-cart_2019wizard .table.stackable td,
.orderpage-cart_2019wizard .table.stackable th {
    padding: 11px 12px !important;
    border-top: 1px solid var(--yh-border) !important;
    vertical-align: middle;
}

.orderpage-cart_2019wizard .table.stackable tbody:first-of-type td { border-top: none !important; }

.orderpage-cart_2019wizard .table .text-muted {
    color: var(--yh-text-soft) !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.orderpage-cart_2019wizard .domain-row strong {
    color: var(--yh-text);
    font-size: 13px;
    font-weight: 600;
}

/* Vtip description icon (?) */
.orderpage-cart_2019wizard .vtip_description {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    background: var(--yh-purple-light) !important;
    color: var(--yh-purple) !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    font-weight: 700;
    line-height: 1 !important;
    cursor: help;
    margin-left: 6px;
    vertical-align: middle;
    transition: background 0.15s ease;
    text-align: center;
    padding: 0 !important;
    position: relative;
    top: -1px;
}

.orderpage-cart_2019wizard .vtip_description:hover {
    background: var(--yh-purple) !important;
    color: #fff !important;
}

.orderpage-cart_2019wizard .vtip_description::after {
    content: '?';
    display: inline-block;
    line-height: 1;
}

/* Period select inside the domain config table — give it room to breathe */
.orderpage-cart_2019wizard .table .period select,
.orderpage-cart_2019wizard td.period select.form-control-sm,
.orderpage-cart_2019wizard select[name^="period"],
.orderpage-cart_2019wizard select[id^="domain-period"] {
    min-width: 130px !important;
    width: 100% !important;
    max-width: 180px;
    font-size: 13px !important;
    padding: 8px 32px 8px 12px !important;
    min-height: 38px !important;
    border-radius: 8px !important;
}

/* Bulk-period select (when multiple domains selected) */
.orderpage-cart_2019wizard .domain-config-table select {
    min-width: 160px !important;
    max-width: 240px;
}

/* "Corrigez la configuration" section : the nameservers toggle row */
.orderpage-cart_2019wizard .domain-config-table {
    margin: 0;
}

.orderpage-cart_2019wizard .domain-config-table tr {
    border: none !important;
}

.orderpage-cart_2019wizard .domain-config-table td {
    padding: 12px 0 !important;
    border-top: 1px solid var(--yh-border-soft) !important;
    vertical-align: middle;
    font-size: 13px;
    color: var(--yh-text);
}

.orderpage-cart_2019wizard .domain-config-table tr:first-child td { border-top: none !important; }

/* Inline link "Je voudrais utiliser mes propres DNS" — make it a real button */
.orderpage-cart_2019wizard #setnservers td a,
.orderpage-cart_2019wizard .domain-config-table td a:not(.btn) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: var(--yh-purple-light);
    color: var(--yh-purple) !important;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    transition: all 0.15s ease;
}

.orderpage-cart_2019wizard #setnservers td a:hover,
.orderpage-cart_2019wizard .domain-config-table td a:not(.btn):hover {
    background: var(--yh-purple);
    color: #fff !important;
    text-decoration: none !important;
}

/* "useourdefaultns" rollback link in nameservers card — same treatment */
.orderpage-cart_2019wizard #nameservers .text-small {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    background: var(--yh-border-soft);
    color: var(--yh-text-muted) !important;
    border-radius: 8px;
    font-size: 12px;
    text-decoration: none !important;
    margin-top: 14px;
    transition: all 0.15s ease;
}
.orderpage-cart_2019wizard #nameservers .text-small:hover {
    background: var(--yh-border);
    color: var(--yh-text) !important;
}

/* ==========================================================================
   Cart 4 — order summary table
   ========================================================================== */

.orderpage-cart_2019wizard .checker.table {
    margin: 0;
    width: 100%;
}

.orderpage-cart_2019wizard .checker.table tbody tr td {
    padding: 12px 8px !important;
    font-size: 13px;
    color: var(--yh-text);
    border-top: 1px solid var(--yh-border-soft);
    vertical-align: top;
}

.orderpage-cart_2019wizard .checker.table tbody:first-of-type tr:first-child td {
    border-top: none;
    background: var(--yh-purple-soft);
    padding: 10px 8px !important;
}

.orderpage-cart_2019wizard .checker.table tbody:first-of-type tr:first-child td.text-muted {
    color: var(--yh-text-muted) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.orderpage-cart_2019wizard .checker.table .text-primary {
    color: var(--yh-purple) !important;
}

.orderpage-cart_2019wizard .checker.table strong { color: var(--yh-text); font-weight: 600; }

.orderpage-cart_2019wizard .checker.table tr:last-child td {
    border-top: 2px solid var(--yh-border) !important;
    padding-top: 16px !important;
    font-size: 14px;
}

.orderpage-cart_2019wizard .checker.table .h1 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--yh-purple) !important;
    margin: 0;
}

/* TOS card */
.orderpage-cart_2019wizard input.term-checkbox {
    accent-color: var(--yh-purple);
    width: 16px;
    height: 16px;
    margin-right: 10px;
    cursor: pointer;
    vertical-align: middle;
}

.orderpage-cart_2019wizard label[for^="term"] {
    cursor: pointer;
    font-size: 13px;
    margin: 0;
}

.orderpage-cart_2019wizard label[for^="term"] a {
    color: var(--yh-purple);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Card menu (login tabs) */
.orderpage-cart_2019wizard .card-menu {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0 0 18px;
    padding: 4px;
    background: var(--yh-border-soft);
    border-radius: var(--yh-radius);
    width: fit-content;
}

.orderpage-cart_2019wizard .card-menu li {
    margin: 0 !important;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    color: var(--yh-text-muted);
    cursor: pointer;
    transition: all 0.15s ease;
    background: transparent !important;
}

.orderpage-cart_2019wizard .card-menu li.bgon2 {
    background: #fff !important;
    color: var(--yh-purple) !important;
    box-shadow: var(--yh-shadow-sm);
}

.orderpage-cart_2019wizard .card-menu input[type="radio"] {
    margin-right: 6px;
    accent-color: var(--yh-purple);
}

/* Payment gateways */
.orderpage-cart_2019wizard .cart-gateway-list {
    gap: 12px;
    flex-wrap: wrap;
}
.orderpage-cart_2019wizard .cart-gateway-list span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--yh-border);
    border-radius: var(--yh-radius);
    background: #fff;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.15s ease;
    margin: 0 !important;
}
.orderpage-cart_2019wizard .cart-gateway-list span:has(input:checked) {
    border-color: var(--yh-purple);
    background: var(--yh-purple-soft);
    color: var(--yh-purple);
    font-weight: 500;
}
.orderpage-cart_2019wizard .cart-gateway-list input[type="radio"] {
    accent-color: var(--yh-purple);
    width: 14px;
    height: 14px;
}

/* Promo code form */
.orderpage-cart_2019wizard #promocode .input-group { max-width: 320px; }

/* ==========================================================================
   Sidebar — cart.summary.tpl (#cartSummary)
   ========================================================================== */

#cartSummary,
.orderpage-cart_2019wizard #cartSummary,
.orderpage-cart_2019wizard .order-summary-box.cart-summary {
    background: #fff !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius-lg) !important;
    box-shadow: var(--yh-shadow-sm) !important;
    padding: 22px !important;
    position: sticky;
    top: 24px;
}

#cartSummary h3,
.orderpage-cart_2019wizard #cartSummary h3 {
    font-size: 15px !important;
    color: var(--yh-text) !important;
    font-weight: 600 !important;
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid var(--yh-border) !important;
    display: flex;
    align-items: center;
    gap: 10px;
}

#cartSummary h3::before,
.orderpage-cart_2019wizard #cartSummary h3::before {
    content: '';
    width: 4px;
    height: 16px;
    background: var(--yh-purple);
    border-radius: 2px;
}

#cartSummary table { font-size: 13px; }
#cartSummary table td { padding: 6px 0 !important; color: var(--yh-text); border: none; }
#cartSummary table td[align="right"] { color: var(--yh-text); font-weight: 500; white-space: nowrap; }
#cartSummary table td strong { color: var(--yh-text); font-weight: 600; }
#cartSummary hr { border: none; border-top: 1px solid var(--yh-border); margin: 12px 0; }

#cartSummary .summary-section { margin-top: 8px; }
#cartSummary .summary-section .text-muted {
    color: var(--yh-text-soft) !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600 !important;
}

#cartSummary .h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--yh-purple) !important;
    margin: 4px 0 0 !important;
    line-height: 1;
}

#cartSummary #promoform {
    display: flex !important;
    gap: 8px;
    margin: 10px 0;
}

#cartSummary #promoform .form-control {
    padding: 8px 12px !important;
    font-size: 12px !important;
    min-height: 36px;
}

#cartSummary #promoform .btn {
    padding: 8px 14px !important;
    font-size: 12px !important;
    flex-shrink: 0;
}

#cartSummary .cartSummaryContinue,
#cartSummary a.btn-primary.btn-lg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 13px !important;
    background: var(--yh-purple) !important;
    color: #fff !important;
    border-radius: var(--yh-radius) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-top: 10px !important;
    text-decoration: none !important;
    transition: all 0.15s ease;
    box-shadow: 0 4px 12px rgba(118, 59, 212, 0.20) !important;
}

#cartSummary .cartSummaryContinue:hover {
    background: var(--yh-purple-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(118, 59, 212, 0.30) !important;
}

@media (max-width: 991px) {
    #cartSummary, .orderpage-cart_2019wizard #cartSummary { position: static; margin-top: 18px; }
}

/* ==========================================================================
   Cart 0 — header section
   ========================================================================== */

.orderpage-cart_2019wizard .section-account-header h1 {
    font-size: 26px !important;
    font-weight: 600 !important;
    color: var(--yh-text);
    margin: 0 0 6px !important;
    letter-spacing: -0.02em;
}

.orderpage-cart_2019wizard .section-account-header h4 {
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--yh-text-muted);
    margin: 0 0 24px !important;
}

/* Cart text-config blocks */
.orderpage-cart_2019wizard #texts-config { margin-top: 48px !important; }
.orderpage-cart_2019wizard #texts-config h2 {
    font-size: 18px !important;
    color: var(--yh-text);
    font-weight: 600 !important;
    margin-bottom: 12px !important;
}
.orderpage-cart_2019wizard #texts-config p {
    color: var(--yh-text-muted);
    font-size: 14px;
    line-height: 1.65;
}

/* ==========================================================================
   Domain config — own domain cards (cart1 illupdate)
   ========================================================================== */

.orderpage-cart_2019wizard .item.card,
.orderpage-cart_2019wizard .domain-search .item.card {
    background: #fff !important;
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius) !important;
    box-shadow: none !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    transition: border-color 0.15s ease;
}

.orderpage-cart_2019wizard .item.card:hover { border-color: var(--yh-purple-border) !important; }

.orderpage-cart_2019wizard .item.card .card-body { padding: 14px 16px !important; }

.orderpage-cart_2019wizard .item.card .form-check {
    padding: 0;
    margin: 0;
}

.orderpage-cart_2019wizard .item.card .item-body { margin-top: 12px; }

/* ==========================================================================
   Bottom action buttons (cart4)
   ========================================================================== */

.orderpage-cart_2019wizard form input[type="submit"][name="submit"],
.orderpage-cart_2019wizard form input[type="submit"][name="clear"] {
    width: auto !important;
    min-width: 180px;
    padding: 13px 26px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: var(--yh-radius) !important;
    margin: 0 8px !important;
}

.orderpage-cart_2019wizard form input[type="submit"][name="submit"] {
    background: var(--yh-purple) !important;
    border-color: var(--yh-purple) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(118, 59, 212, 0.20);
}

.orderpage-cart_2019wizard form input[type="submit"][name="submit"]:hover {
    background: var(--yh-purple-dark) !important;
    border-color: var(--yh-purple-dark) !important;
    transform: translateY(-1px);
}

.orderpage-cart_2019wizard form input[type="submit"][name="clear"] {
    background: #fff !important;
    border: 1.5px solid var(--yh-border) !important;
    color: var(--yh-text-muted) !important;
}

/* ==========================================================================
   Cart preloader
   ========================================================================== */

.orderpage-cart_2019wizard .cart_preloader_line {
    background: var(--yh-purple) !important;
}

/* ==========================================================================
   OS picker (auto-injected by cart3.tpl JS)
   ========================================================================== */

.orderpage-cart_2019wizard .yh-os-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.orderpage-cart_2019wizard .yh-os-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 10px 10px;
    background: #fff;
    border: 1.5px solid var(--yh-border);
    border-radius: var(--yh-radius);
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: center;
    min-height: 130px;
    user-select: none;
    overflow: visible;
}

.orderpage-cart_2019wizard .yh-os-card:hover {
    border-color: var(--yh-purple-border);
    box-shadow: var(--yh-shadow);
    transform: translateY(-1px);
}

.orderpage-cart_2019wizard .yh-os-card.selected {
    border-color: var(--yh-purple);
    background: var(--yh-purple-soft);
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.12);
}

.orderpage-cart_2019wizard .yh-os-card.selected::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 18px;
    height: 18px;
    background: var(--yh-purple);
    border-radius: 50%;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M3.5 8.5l3 3 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}

.orderpage-cart_2019wizard .yh-os-logo {
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

.orderpage-cart_2019wizard .yh-os-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--yh-text);
    line-height: 1.3;
    word-break: break-word;
}

.orderpage-cart_2019wizard .yh-os-card.no-logo .yh-os-logo {
    background: linear-gradient(135deg, var(--yh-purple-light), #E6D5FA);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--yh-purple);
    font-weight: 600;
    font-size: 18px;
}

/* ==========================================================================
   Version display below the OS name
   - Static (.yh-os-version-static) → simple muted text
   - Dropdown (.yh-os-version select) → small pill with chevron
   ========================================================================== */

.orderpage-cart_2019wizard .yh-os-card .yh-os-name { margin-bottom: 0; }

/* Static version : just small muted text, no chrome */
.orderpage-cart_2019wizard .yh-os-version-static {
    font-size: 12px;
    color: var(--yh-text-soft);
    font-weight: 500;
    line-height: 1.3;
    margin-top: 2px;
    cursor: pointer;
}

.orderpage-cart_2019wizard .yh-os-card.selected .yh-os-version-static {
    color: var(--yh-purple);
    font-weight: 600;
}

/* Dropdown : small inline pill with chevron — force-reset native styles */
.orderpage-cart_2019wizard select.yh-os-version,
.orderpage-cart_2019wizard .yh-os-card select.yh-os-version,
.orderpage-cart_2019wizard .form-group.cart-form.cart-item select.yh-os-version {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background: var(--yh-purple-light) !important;
    background-color: var(--yh-purple-light) !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23763BD4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M3 6l5 5 5-5'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 10px !important;
    color: var(--yh-purple) !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    width: auto !important;
    min-width: 76px !important;
    max-width: 90% !important;
    padding: 0 24px 0 14px !important;
    margin: 6px auto 0 !important;
    display: block !important;
    text-align: center !important;
    text-align-last: center !important;
    text-indent: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    /* Defeat macOS dual-arrow native chrome on Brave/Chromium */
    -webkit-padding-end: 24px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Selected : solid purple bg, white text, white chevron */
.orderpage-cart_2019wizard .yh-os-card.selected select.yh-os-version {
    background-color: var(--yh-purple) !important;
    color: #fff !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M3 6l5 5 5-5'/%3e%3c/svg%3e") !important;
}

/* Force option text colors (some browsers inherit weirdly) */
.orderpage-cart_2019wizard select.yh-os-version option {
    background: #fff !important;
    color: var(--yh-text) !important;
    font-weight: 500;
}

.orderpage-cart_2019wizard .yh-os-card select.yh-os-version:focus {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.18) !important;
}

/* Hover (non-selected) — keep text readable */
.orderpage-cart_2019wizard .yh-os-card:not(.selected):hover select.yh-os-version {
    background-color: #ddd9f5 !important;
    color: var(--yh-purple-dark) !important;
}

/* ==========================================================================
   Misc cleanup
   ========================================================================== */

.orderpage-cart_2019wizard .border-bottom { border-bottom: 1px solid var(--yh-border) !important; }
.orderpage-cart_2019wizard .border-0 { border: none !important; }
.orderpage-cart_2019wizard hr { border: none; border-top: 1px solid var(--yh-border); margin: 14px 0; }

.orderpage-cart_2019wizard .text-success { color: var(--yh-success-text) !important; }
.orderpage-cart_2019wizard .text-danger { color: var(--yh-danger) !important; }
.orderpage-cart_2019wizard .text-primary { color: var(--yh-purple) !important; }
.orderpage-cart_2019wizard .text-muted { color: var(--yh-text-soft) !important; }

.orderpage-cart_2019wizard .badge {
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
}
.orderpage-cart_2019wizard .badge-warning { background: rgba(246, 187, 66, 0.15); color: #b07b00; }
.orderpage-cart_2019wizard .badge-danger { background: var(--yh-danger-bg); color: var(--yh-danger); }

/* Currencies switcher */
.orderpage-cart_2019wizard .currency-list,
.orderpage-cart_2019wizard .dropdown-menu {
    border: 1px solid var(--yh-border) !important;
    border-radius: var(--yh-radius) !important;
    box-shadow: var(--yh-shadow-lg) !important;
}

/* Mobile fixes */
@media (max-width: 768px) {
    .orderpage-cart_2019wizard .card.shadow.p-4 { padding: 16px !important; }
    .orderpage-cart_2019wizard .section-account-header { flex-direction: column !important; align-items: flex-start !important; }
    .orderpage-cart_2019wizard .section-account-header h1 { font-size: 22px !important; }
    .orderpage-cart_2019wizard form input[type="submit"][name="submit"],
    .orderpage-cart_2019wizard form input[type="submit"][name="clear"] {
        width: 100% !important;
        margin: 6px 0 !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   YH 2026 — Stepper wizard
   ═══════════════════════════════════════════════════════════════ */
.orderpage-cart_2019wizard .yh-steps-wrap { display: flex; justify-content: center; }
.orderpage-cart_2019wizard .yh-steps {
    display: inline-flex; align-items: center;
    background: #fff; border: 1px solid #ececec; border-radius: 12px;
    padding: 14px 26px; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.orderpage-cart_2019wizard .yh-step { display: flex; align-items: center; gap: 10px; text-decoration: none !important; }
.orderpage-cart_2019wizard .yh-step-dot {
    width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #f4f4f5; color: #9a9a9a; border: 1.5px solid #ececec;
    transition: all 0.2s ease;
}
.orderpage-cart_2019wizard .yh-step-dot .material-icons { font-size: 17px; margin: 0 !important; }
.orderpage-cart_2019wizard .yh-step-label { font-size: 13px; font-weight: 500; color: #9a9a9a; white-space: nowrap; }
.orderpage-cart_2019wizard .yh-step.active .yh-step-dot { background: #763BD4; border-color: #763BD4; color: #fff; box-shadow: 0 0 0 4px rgba(118, 59, 212, 0.14); }
.orderpage-cart_2019wizard .yh-step.active .yh-step-label { color: #763BD4; font-weight: 600; }
.orderpage-cart_2019wizard .yh-step.done .yh-step-dot { background: #E7F8EE; border-color: #2DC76B; color: #0F6E56; }
.orderpage-cart_2019wizard .yh-step.done .yh-step-label { color: #1a1a1a; }
a.yh-step.done:hover .yh-step-label { color: #763BD4; }
.orderpage-cart_2019wizard .yh-step-line { width: 48px; height: 2px; border-radius: 2px; background: #ececec; margin: 0 16px; flex-shrink: 0; }
.orderpage-cart_2019wizard .yh-step-line.done { background: #2DC76B; }
@media (max-width: 640px) {
    .orderpage-cart_2019wizard .yh-steps { padding: 10px 14px; }
    .orderpage-cart_2019wizard .yh-step:not(.active) .yh-step-label { display: none; }
    .orderpage-cart_2019wizard .yh-step-line { width: 22px; margin: 0 8px; }
}

/* ═══════════════════════════════════════════════════════════════
   YH 2026 — Résumé du panier
   ═══════════════════════════════════════════════════════════════ */
.orderpage-cart_2019wizard .yh-sum { display: flex; flex-direction: column; gap: 6px; }
.orderpage-cart_2019wizard .yh-sum-product { display: flex; flex-direction: column; margin-bottom: 4px; }
.orderpage-cart_2019wizard .yh-sum-cat { font-size: 11px; color: #888; text-transform: uppercase; letter-spacing: 0.6px; font-weight: 600; }
.orderpage-cart_2019wizard .yh-sum-name { font-size: 14px; color: #1a1a1a; font-weight: 600; }
.orderpage-cart_2019wizard .yh-sum-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.orderpage-cart_2019wizard .yh-sum-label {
    font-size: 13px; color: #555; line-height: 1.4; min-width: 0;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.orderpage-cart_2019wizard .yh-sum-price { font-size: 13px; color: #1a1a1a; font-weight: 600; white-space: nowrap; }
.orderpage-cart_2019wizard .yh-sum-free { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #E7F8EE; color: #0F6E56; font-size: 11px; font-weight: 700; }
.orderpage-cart_2019wizard .yh-sum-divider { height: 1px; background: #f0f0f2; margin: 8px 0; }
.orderpage-cart_2019wizard .yh-sum-discount .yh-sum-label,
.orderpage-cart_2019wizard .yh-sum-discount .yh-sum-price { color: #0F6E56; }
.orderpage-cart_2019wizard .yh-sum-remove { font-size: 11px; color: #A32D2D; text-align: right; }
.orderpage-cart_2019wizard .yh-sum-remove:hover { color: #791F1F; }
.orderpage-cart_2019wizard .yh-sum-total {
    display: flex; flex-direction: column; gap: 2px;
    padding: 16px 18px; margin: 16px 0; border-radius: 10px;
    background: linear-gradient(135deg, #763BD4 0%, #5B2FA8 100%); color: #fff;
}
.orderpage-cart_2019wizard .yh-sum-total-label { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.6px; opacity: 0.85; line-height: 1.4; }
.orderpage-cart_2019wizard .yh-sum-total-value { font-size: 26px; font-weight: 700; letter-spacing: -0.5px; line-height: 1.15; }
.orderpage-cart_2019wizard .yh-promo-wrap { margin-top: 14px; text-align: center; }
.orderpage-cart_2019wizard .yh-promo-toggle {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; color: #888; text-decoration: none !important;
    transition: color 0.15s ease;
}
.orderpage-cart_2019wizard .yh-promo-toggle:hover { color: #763BD4; }
.orderpage-cart_2019wizard .yh-promo-toggle .material-icons { font-size: 14px; margin: 0 !important; }
.orderpage-cart_2019wizard .yh-promo { display: flex; gap: 8px; margin-top: 10px; text-align: left; }
.orderpage-cart_2019wizard .yh-promo .yh-promo-input {
    flex: 1; min-width: 0; padding: 9px 12px !important; font-size: 13px !important;
    border: 1px solid #ececec !important; border-radius: 8px !important; height: auto !important;
    box-shadow: none !important; background: #fff !important; color: #1a1a1a !important;
}
.orderpage-cart_2019wizard .yh-promo .yh-promo-input:focus { border-color: #763BD4 !important; box-shadow: 0 0 0 3px rgba(118, 59, 212, 0.1) !important; outline: none !important; }
.orderpage-cart_2019wizard .yh-promo .yh-promo-btn {
    padding: 9px 16px; border: none; border-radius: 8px; flex-shrink: 0;
    background: #F3EBFD; color: #763BD4; font-size: 13px; font-weight: 600; cursor: pointer;
    transition: all 0.15s ease;
}
.orderpage-cart_2019wizard .yh-promo .yh-promo-btn:hover { background: #763BD4; color: #fff; }

/* ═══════════════════════════════════════════════════════════════
   YH 2026 — Sections d'options plus aérées (step 3)
   ═══════════════════════════════════════════════════════════════ */
.orderpage-cart_2019wizard .cart-form.cart-item {
    border-bottom: 1px solid #f4f4f5 !important;
    padding: 18px 0 !important;
    margin: 0 !important;
}
.orderpage-cart_2019wizard .cart-form.cart-item:last-of-type { border-bottom: 0 !important; padding-bottom: 6px !important; }
.orderpage-cart_2019wizard .cart-form.cart-item > label.font-weight-bold { margin-bottom: 2px !important; font-size: 14px; }
.orderpage-cart_2019wizard .cart-form.cart-item > small { color: #888 !important; margin-bottom: 8px !important; line-height: 1.5; }
