/*

 * DataFirefly Oligosanté - Espace praticien

 * Styles front-office basés sur les maquettes fournies.

 *

 * Charte : bleu Oligosanté #60A1D8, fond blanc, sobre, espacé.

 * Police : héritée du thème (sans-serif), Material Icons pour les icônes.

 */



/* === Masquage du header/footer PrestaShop sur les pages praticien. === */

html.dfoligo-praticien-page #header,

html.dfoligo-praticien-page header#header,

html.dfoligo-praticien-page header.header,

html.dfoligo-praticien-page .header-top,

html.dfoligo-praticien-page .header-nav,

html.dfoligo-praticien-page #_desktop_top_menu,

html.dfoligo-praticien-page #_mobile_top_menu_wrapper,

html.dfoligo-praticien-page .l-header,

html.dfoligo-praticien-page #footer,

html.dfoligo-praticien-page footer#footer,

html.dfoligo-praticien-page footer.footer,

html.dfoligo-praticien-page .footer-container,

html.dfoligo-praticien-page .l-footer,

html.dfoligo-praticien-page #notifications,

html.dfoligo-praticien-page .nav-top,

html.dfoligo-praticien-page #js-checkout-summary,

html.dfoligo-praticien-page #wrapper .breadcrumb,

html.dfoligo-praticien-page #fb9d975c-309f-43e1-8f7f-a19ad492f55b {

    display: none !important;

}



.dfoligo-praticien-page body {

	background:

    url(../img/footer-bg-dots.png) no-repeat right top,

    url(../img/footer-bg-dots2.png) no-repeat left bottom,

    #fafcfe;

	letter-spacing: 1.5%;

}



.dfoligo-page {

    min-height: 70vh;

    padding-bottom: 50px;

    color: #2c2c2c;

    font-size: 15px;

}



.dfoligo-page * {

    box-sizing: border-box;

}



.dfoligo-page button:focus {

    outline: 0;

}



.dfoligo-container {

    max-width: 1280px;

    margin: 0 auto;

    padding: 0;

}



#module-datafireflyoligosante-dashboard .dfoligo-breadcrumb {

    display: none;

}



/* === Material icons fallback === */

.dfoligo-page .material-icons {

    font-family: 'Material Icons', sans-serif;

    font-weight: normal;

    font-style: normal;

    font-size: 26px;

    line-height: 1;

    text-transform: none;

    letter-spacing: normal;

    word-wrap: normal;

    direction: ltr;

    display: inline-block;

    vertical-align: middle;

    -webkit-font-smoothing: antialiased;

}



/* === Header === */

.dfoligo-header {

    background: #fff;

    border-bottom: 1px solid #ececec;

    padding: 14px 0;

    max-width: 1280px;

    margin: 0 auto;

    border-radius: 10px;

    margin-top: 30px;

}



.dfoligo-header-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;

    flex-wrap: wrap;

    max-width: 1280px;

    padding: 0 12px;

}



.dfoligo-brand {

    display: flex;

    align-items: center;

    gap: 12px;

    text-decoration: none;

    color: #1a1a1a;

}



.dfoligo-brand img {

    max-height: 48px;

    width: auto;

}



.dfoligo-brand-text {

    font-size: 11px;

    line-height: 1.1;

    letter-spacing: 1px;

}



.dfoligo-brand-text strong {

    font-size: 16px;

    color: #60A1D8;

    letter-spacing: 0.5px;

}



.dfoligo-nav {

    display: flex;

    gap: 28px;

    align-items: center;

    flex: 1 1 auto;

    justify-content: center;

}



.dfoligo-nav-item {

    color: #2A3159;

    text-decoration: none;

    font-size: 16px;

    transition: color .15s ease;

    font-weight: 600;

    padding: 4px 6px;

    border-bottom: 2px solid transparent;

}



.dfoligo-nav-item:hover,
.dfoligo-nav-item.is-active,
.dfoligo-nav-item:focus {

    color: #60A1D8;

    border-bottom-color: #60A1D8;

}

.dfoligo-nav-item:focus {
    outline: 0;
    outline-offset: 0;
    color: #2A3159;
    text-decoration: none;
    border-bottom-color: #60A1D8;
}

.dfoligo-header-actions {

    display: flex;

    align-items: center;

    gap: 14px;

}



.dfoligo-avatar {

    width: 55px;

    height: 55px;

    border-radius: 50%;

    overflow: hidden;

    background: #e8edf3;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    color: #60A1D8;

    font-weight: bold;

    text-decoration: none;

}



.dfoligo-avatar img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.dfoligo-avatar-placeholder {

    text-transform: uppercase;

    font-size: 14px;

}



/* === Bell === */

.dfoligo-bell {

    position: relative;

}



.dfoligo-bell-btn {

    background: transparent;

    border: 0;

    cursor: pointer;

    padding: 8px;

    color: #555;

    position: relative;

}



.dfoligo-bell-btn:hover,
.dfoligo-bell-btn:focus {

    color: #60A1D8;

}



.dfoligo-bell-dot {

    position: absolute;

    top: 8px;

    right: 10px;

    width: 9px;

    height: 9px;

    background: #e74c3c;

    border-radius: 50%;

    border: 2px solid #fff;

}



.dfoligo-bell-dropdown {

    position: absolute;

    top: 100%;

    right: 0;

    width: 254px;

    background: #fff;

    border: 0;

    border-radius: 16px;

    box-shadow: 0 12px 32px rgba(0, 0, 0, .12);

    padding: 0;

    margin-top: 14px;

    overflow: visible;

    z-index: 100;

}



/* v1.5.50 — Garde-fou : si jamais le contenu dépasse, on scrolle à l'intérieur

   du dropdown plutôt que de laisser la liste passer sous le footer. */

.dfoligo-bell-list {

    max-height: 70vh;

    overflow-y: auto;

}



.dfoligo-bell-dropdown[hidden] { display: none; }



/* Flèche pointant vers la cloche */

.dfoligo-bell-dropdown::before {

    content: '';

    position: absolute;

    top: -8px;

    right: 14px;

    width: 0;

    height: 0;

    border-left: 8px solid transparent;

    border-right: 8px solid transparent;

    border-bottom: 9px solid #60A1D8;

    z-index: 2;

}



/* Bandeau bleu en haut */

.dfoligo-bell-dropdown::after {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    height: 11px;

    background: #60A1D8;

    border-radius: 16px 16px 0 0;

    pointer-events: none;

    z-index: 1;

}



.dfoligo-bell-list {

    padding: 26px 10px 0px;

}



.dfoligo-bell-item {

    display: block;

    padding: 4px 0 8px 15px;

    margin-bottom: 8px;

    text-decoration: none;

    color: #2c2c2c;

    background: transparent;

    border-bottom: 1px solid #60A1D8;

    position: relative;

    font-size: 14px;

}



.dfoligo-bell-item:hover,
.dfoligo-bell-item:focus {

    background: transparent;

    opacity: .85;

}



.dfoligo-bell-item:last-of-type {

    border-bottom: 0;

    margin-bottom: 0;

}



.dfoligo-bell-item-unread {

    background: transparent;

}



/* Point rouge non-lu */

.dfoligo-bell-marker {

    display: none;

    position: absolute;

    left: 0;

    top: 9px;

    width: 8px;

    height: 8px;

    background: #f10e0e;

    border-radius: 50%;

}



.dfoligo-bell-item-unread .dfoligo-bell-marker {

    display: block;

}



.dfoligo-bell-item strong {

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    color: #60A1D8;

    font-size: 16px;

    font-weight: 600;

    text-decoration: underline;

    line-height: 1.3;

    margin-bottom: 3px;

}



.dfoligo-bell-item .dfoligo-bell-title {

    display: -webkit-box;

    -webkit-line-clamp: 2;

    -webkit-box-orient: vertical;

    overflow: hidden;

    color: #000;

    font-size: 16px;

    font-style: italic;

    line-height: 1.4;

	font-weight:300;

}



.dfoligo-bell-mark {

    display: block;

    text-align: center;

    padding: 4px 12px 18px;

    color: #60A1D8;

    font-size: 16px;

    font-weight: 600;

    text-decoration: underline;

}



.dfoligo-bell-mark:hover,
.dfoligo-bell-mark:focus {

    background: transparent;

    opacity: .85;

}



.dfoligo-bell-empty {

    display: block;

    padding: 32px 20px;

    text-align: center;

    color: #888;

}



.dfoligo-bell-btn .dfoligo-bell-icon {

    width: 24px;

    height: 24px;

    display: block;

}



/* === Breadcrumb === */

.dfoligo-breadcrumb-wrap {

    padding: 10px 0;

}



.dfoligo-breadcrumb {

    color: #60A1D8;

    font-size: 12px;

    font-weight: 300;

}



.dfoligo-breadcrumb a {

    color: #60A1D8;

    text-decoration: none;

}



.dfoligo-bc-sep {

    margin: 0 6px;

    color: #60A1D8;

}



.dfoligo-bc-current {

    color: #60A1D8;

}



/* === Headings === */

.dfoligo-h1, .dfoligo-h1-center, .dfoligo-h1-light {

    font-family: inherit;

    color: #2c2c2c;

    margin: 35px 0 8px;

    line-height: 1.2;

}



.dfoligo-h1 {

    font-size: 28px;

    font-weight: normal;

}



.dfoligo-h1 strong {

    color: #60A1D8;

    font-weight: bold;

}



.dfoligo-h1-light {

    font-size: 40px;

    font-weight: 300;

}



.dfoligo-h1-light strong {

    display: block;

    font-size: 26px;

    color: #60A1D8;

}



.dfoligo-h1-center {

    text-align: center;

    font-size: 28px;

    font-weight: bold;

    margin-bottom: 30px;

    position: relative;

    color: #1a1a1a;

}



.dfoligo-underline {

    display: block;

    width: 60px;

    height: 3px;

    background: #60A1D8;

    margin-top: 6px;

}



.dfoligo-underline-center {

    background: url(../img/title-underline.png) no-repeat center bottom !important;

    height: 18px;

    width: 240px;

    display: block;

    margin: 0 auto;

}



.dfoligo-subtitle {

    color: #777;

    margin-bottom: 35px;

    font-size: 14px;

}



/* === Tiles (dashboard) === */

.dfoligo-tiles {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: 18px;

    margin-top: 25px;

}



.dfoligo-tiles-3 {

    grid-template-columns: repeat(3, 1fr);

    max-width: 700px;

    margin: 30px auto;

}



@media (max-width: 700px) { .dfoligo-tiles-3 { grid-template-columns: 1fr; } }



.dfoligo-tile {

    background: #fff;

    border: 1px solid #e6e6e6;

    border-radius: 10px;

    padding: 28px 18px;

    text-align: center;

    text-decoration: none;

    color: #2c2c2c;

    box-shadow: 0 2px 6px rgba(0, 0, 0, .04);

    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;

    display: block;

}



.dfoligo-tile:hover,
.dfoligo-tile:focus {

    transform: translateY(-3px);

    box-shadow: 0 8px 20px rgba(31, 114, 184, .15);

    border-color: #60A1D8;

    color: #60A1D8;

}



.dfoligo-tile-icon {

    display: block;

    color: #60A1D8;

    margin-bottom: 10px;

}



.dfoligo-tile-icon .material-icons {

    font-size: 38px;

}



.dfoligo-tile-label {

    display: block;

    font-weight: 500;

    font-size: 14px;

}



.dfoligo-tile-highlight {

    background: linear-gradient(135deg, #60A1D8 0%, #25c2a0 100%);

    color: #fff;

    border: 0;

}



.dfoligo-tile-highlight .dfoligo-tile-icon { color: #fff; }

.dfoligo-tile-highlight:hover,
.dfoligo-tile-highlight:focus { color: #fff; }



/* === Cards === */

.dfoligo-card {

    background: #fff;

    border: 1px solid #e8e8e8;

    border-radius: 10px;

    padding: 25px;

    box-shadow: 0 2px 6px rgba(0, 0, 0, .03);

    margin-bottom: 25px;

}



.dfoligo-card-head {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 16px;

}



.dfoligo-card-head h2 {

    margin: 0;

    font-size: 18px;

    color: #1a1a1a;

}



/* === Buttons === */

.dfoligo-btn {

	display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 14px 8px;

    border-radius: 6px;

    border: 1px solid #60A1D8;

    background: #fff;

    color: #60A1D8;

    cursor: pointer;

    text-decoration: none;

    font-size: 16px;

    font-weight: 600;

    transition: all .15s ease;

}



.dfoligo-btn:hover,
.dfoligo-btn:focus { background: #f0f7fc; color: #155485; }



.dfoligo-btn-primary {

    background: #60A1D8;

    color: #fff;

}



.dfoligo-page .dfoligo-btn-primary:hover,
.dfoligo-page .dfoligo-btn-primary:focus {

    background: #2a3159;

    color: #fff;

}



.dfoligo-btn-default {

    border-color: #ddd;

    color: #555;

}



.dfoligo-btn-default:hover,
.dfoligo-btn-default:focus {

    background: #f5f5f5;

    color: #2c2c2c;

}



.dfoligo-icon-btn {

    background: transparent;

    border: 0;

    color: #60A1D8;

    cursor: pointer;

    padding: 4px;

    text-decoration: none;

}



.dfoligo-icon-btn:hover,
.dfoligo-icon-btn:focus { color: #155485; }



.dfoligo-actions {

    margin-top: 25px;

    padding-top: 20px;

    border-top: 1px solid #f0f0f0;

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

}



/* === Forms === */

.dfoligo-form {

    max-width: 100%;

}



.dfoligo-form-grid {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 14px 22px;

}



@media (max-width: 700px) { .dfoligo-form-grid { grid-template-columns: 1fr; } }



.dfoligo-field {

    display: block;

    margin-bottom: 14px;

}



.dfoligo-field-label {

    display: block;

    font-size: 13px;

    color: #555;

    margin-bottom: 5px;

    font-weight: 500;

}



.dfoligo-field input,

.dfoligo-field textarea,

.dfoligo-field select {

    width: 100%;

    padding: 10px 12px;

    border: 1px solid #ddd;

    border-radius: 5px;

    font-size: 14px;

    font-family: inherit;

    background: #fff;

    color: #2c2c2c;

}



.dfoligo-field input:focus,

.dfoligo-field textarea:focus {

    outline: none;

    border-color: #60A1D8;

    box-shadow: 0 0 0 2px rgba(31, 114, 184, .15);

}



.dfoligo-field input:disabled {

    background: #f5f5f5;

    color: #777;

}



/* === Search bar === */

.dfoligo-search-bar {

    display: flex;

    gap: 8px;

    margin-bottom: 25px;

    max-width: 500px;

}



.dfoligo-search-bar input {

    flex: 1;

    padding: 10px 14px;

    border: 1px solid #ddd;

    border-radius: 5px;

    font-size: 14px;

}



/* === Tables === */

.dfoligo-table {

    width: 100%;

    border-collapse: collapse;

    font-size: 14px;

}



.dfoligo-table th,

.dfoligo-table td {

    padding: 12px 14px;

    text-align: left;

    border-bottom: 1px solid #f0f0f0;

}



.dfoligo-table th {

    background: #f7f9fc;

    color: #555;

    font-weight: 600;

    font-size: 13px;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.dfoligo-table-stripe tbody tr:nth-child(even) {

    background: #fafbfd;

}



.dfoligo-table-stripe tbody tr:hover,
.dfoligo-table-stripe tbody tr:focus {

    background: #f3f8fc;

}



.dfoligo-text-center { text-align: center; }

.dfoligo-text-right { text-align: right; }

.dfoligo-text-muted { color: #888; }



.dfoligo-mini-table {

    width: 100%;

    border-collapse: collapse;

    font-size: 13px;

    margin-top: 10px;

}



.dfoligo-mini-table th,

.dfoligo-mini-table td {

    padding: 8px 12px;

    border-bottom: 1px solid #f0f0f0;

}



.dfoligo-mini-table th {

    background: #fafafa;

    font-weight: 600;

    text-align: left;

}



/* === Badges, pills, tags === */

.dfoligo-badge {

    display: inline-block;

    padding: 3px 10px;

    border-radius: 15px;

    font-size: 11px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.dfoligo-badge-blue {

    background: #e3f2fd;

    color: #1565c0;

}



.dfoligo-badge-green {

    background: #e8f5e9;

    color: #2e7d32;

}



.dfoligo-pill {

    display: inline-block;

    background: #f0f4f8;

    padding: 4px 12px;

    border-radius: 4px;

    font-family: monospace;

    font-size: 13px;

    color: #1a1a1a;

}



.dfoligo-tag {

    display: inline-block;

    background: #e3f2fd;

    color: #1565c0;

    padding: 2px 8px;

    border-radius: 10px;

    font-size: 11px;

    margin-left: 6px;

}



.dfoligo-color-dot {

    display: inline-block;

    width: 12px;

    height: 12px;

    border-radius: 50%;

    margin-right: 8px;

    vertical-align: middle;

    border: 1px solid #ddd;

}



/* === Pagination === */

.dfoligo-pagination {

    margin-top: 20px;

    text-align: center;

}



.dfoligo-page-link {

    display: inline-block;

    padding: 6px 12px;

    margin: 0 2px;

    border: 1px solid #ddd;

    border-radius: 4px;

    color: #60A1D8;

    text-decoration: none;

    font-size: 13px;

}



.dfoligo-page-link:hover,
.dfoligo-page-link:focus {

    background: #f0f7fc;

}



.dfoligo-page-link.is-active {

    background: #60A1D8;

    color: #fff;

    border-color: #60A1D8;

}



/* === Mon compte === */

.dfoligo-account-form {

    max-width: 500px;

}



.dfoligo-account-photo {

    width: 100px;

    height: 100px;

    border-radius: 50%;

    overflow: hidden;

    background: #e8edf3;

    margin: 0 auto 20px;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 32px;

    color: #60A1D8;

    font-weight: bold;

    position: relative;

}



.dfoligo-account-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.dfoligo-account-photo input[type="file"] {

    position: absolute;

    inset: 0;

    opacity: 0;

    cursor: pointer;

}



.dfoligo-account-row {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 12px 0;

    border-bottom: 1px solid #f0f0f0;

}



.dfoligo-account-row .material-icons {

    color: #60A1D8;

    flex-shrink: 0;

}



.dfoligo-account-row input {

    flex: 1;

    border: 0;

    padding: 4px 0;

    font-size: 14px;

    background: transparent;

    color: #2c2c2c;

}



.dfoligo-account-row input:disabled {

    background: transparent;

    color: #555;

}



.dfoligo-account-row-address div {

    flex: 1;

    color: #555;

    font-size: 14px;

}



.dfoligo-account-line {

    padding: 12px 0;

    display: flex;

    align-items: center;

    gap: 10px;

    flex-wrap: wrap;

}



.dfoligo-account-line strong { color: #2c2c2c; min-width: 150px; }



.dfoligo-account-submit {

    margin-top: 20px;

    text-align: right;

}



/* === Sections (protocoles, mediatheque, evenements) === */

.dfoligo-section {

    margin-top: 35px;

}



.dfoligo-section h2 {

    font-size: 20px;

    color: #1a1a1a;

    margin-bottom: 15px;

    padding-bottom: 8px;

    border-bottom: 1px solid #e0e0e0;

}



.dfoligo-gamme-title {

    font-size: 16px;

    color: #60A1D8;

    margin: 18px 0 10px;

    font-weight: 600;

}



/* === Accordions === */

.dfoligo-accordion-list {

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.dfoligo-accordion {

    background: #fff;

    border: 1px solid #e0e0e0;

    border-radius: 8px;

    overflow: hidden;

}



.dfoligo-accordion-head {

    width: 100%;

    background: transparent;

    border: 0;

    padding: 14px 18px;

    text-align: left;

    cursor: pointer;

    display: flex;

    align-items: center;

    gap: 12px;

    font-size: 14px;

    color: #2c2c2c;

}



.dfoligo-accordion-head:hover,
.dfoligo-accordion-head:focus { background: #f7f9fc; }



.dfoligo-accordion-title { flex: 1; font-weight: 500; }

.dfoligo-accordion-meta { color: #888; font-size: 12px; }

.dfoligo-accordion-head .material-icons { transition: transform .15s ease; }

.dfoligo-accordion.is-open .dfoligo-accordion-head .material-icons { transform: rotate(180deg); }

.dfoligo-accordion-body {

    padding: 16px 18px;

    border-top: 1px solid #f0f0f0;

    background: #fafbfd;

    display: none;

}

.dfoligo-accordion.is-open .dfoligo-accordion-body { display: block; }



/* === Resource cards (mediatheque) === */

.dfoligo-cat-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

    gap: 18px;

    margin-bottom: 30px;

}



.dfoligo-cat-tile {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    padding: 24px 18px;

    background: #fff;

    border: 1px solid #e0e0e0;

    border-radius: 8px;

    text-decoration: none;

    color: #2c2c2c;

    transition: all .15s ease;

}



.dfoligo-cat-tile:hover,
.dfoligo-cat-tile:focus {

    border-color: #60A1D8;

    color: #60A1D8;

}



.dfoligo-cat-tile .material-icons {

    color: #60A1D8;

    font-size: 32px;

}



.dfoligo-resource-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

    gap: 16px;

}



.dfoligo-resource-card {

    background: #fff;

    border: 1px solid #e0e0e0;

    border-radius: 8px;

    padding: 16px;

    display: flex;

    align-items: flex-start;

    gap: 12px;

    text-decoration: none;

    color: #2c2c2c;

    transition: all .15s ease;

}



.dfoligo-resource-card:hover,
.dfoligo-resource-card:focus {

    border-color: #60A1D8;

    box-shadow: 0 4px 12px rgba(31, 114, 184, .08);

}



.dfoligo-resource-card .material-icons {

    color: #60A1D8;

    font-size: 28px;

    flex-shrink: 0;

}



.dfoligo-resource-body strong {

    display: block;

    color: #1a1a1a;

    font-size: 14px;

    margin-bottom: 4px;

}



/* === Events === */

.dfoligo-event-list {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



.dfoligo-event-card {

    display: flex;

    align-items: center;

    gap: 18px;

    background: #fff;

    border: 1px solid #e0e0e0;

    border-radius: 8px;

    padding: 16px 20px;

}



.dfoligo-event-date {

    text-align: center;

    background: #60A1D8;

    color: #fff;

    border-radius: 6px;

    padding: 10px 14px;

    min-width: 70px;

}



.dfoligo-event-day {

    display: block;

    font-size: 22px;

    font-weight: bold;

    line-height: 1;

}



.dfoligo-event-month {

    display: block;

    font-size: 12px;

    text-transform: uppercase;

    margin-top: 4px;

}



.dfoligo-event-body {

    flex: 1;

}



.dfoligo-event-body strong {

    display: block;

    font-size: 16px;

    color: #1a1a1a;

}



/* === Notifications full page === */

.dfoligo-notif-list { list-style: none; padding: 0; margin: 0; }

.dfoligo-notif-item { border-bottom: 1px solid #f0f0f0; }

.dfoligo-notif-item:last-child { border-bottom: 0; }

.dfoligo-notif-item a {

    display: flex;

    flex-direction: column;

    gap: 4px;

    padding: 14px 0;

    text-decoration: none;

    color: #2c2c2c;

}

.dfoligo-notif-item.is-unread a strong { color: #60A1D8; }

.dfoligo-notif-title { color: #555; font-size: 14px; }

.dfoligo-notif-date { color: #888; font-size: 12px; }



/* === Accordéons popup (matchent les codes couleur de chaque catégorie) === */

.dfoligo-pop-accordion {

    background: var(--dfoligo-color, #60A1D8);

    color: #fff;

    border-radius: 8px;

    margin-bottom: 8px;

    overflow: hidden;

}



.dfoligo-pop-accordion-head {

    background: transparent;

    border: 0;

    color: #fff;

    width: 100%;

    text-align: left;

    padding: 12px 16px;

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: space-between;

    font-size: 14px;

    font-weight: 500;

}



.dfoligo-pop-accordion-body {

    background: #fff;

    color: #2c2c2c;

    padding: 14px 16px;

    display: none;

    border-top: 1px solid rgba(0, 0, 0, .1);

}



.dfoligo-pop-accordion.is-open .dfoligo-pop-accordion-body { display: block; }



.dfoligo-pop-accordion-tabs {

    display: flex;

    gap: 6px;

    margin-bottom: 10px;

    flex-wrap: wrap;

}



.dfoligo-pop-tab {

    padding: 4px 10px;

    background: #f0f4f8;

    border-radius: 12px;

    font-size: 11px;

    color: #555;

    border: 0;

    cursor: pointer;

}



.dfoligo-pop-tab.is-active {

    background: #60A1D8;

    color: #fff;

}



.dfoligo-pop-add-btn {

    width: 100%;

    margin-top: 10px;

    padding: 8px 14px;

    background: #60A1D8;

    color: #fff;

    border: 0;

    border-radius: 5px;

    cursor: pointer;

    font-size: 13px;

    font-weight: 500;

}



.dfoligo-pop-add-btn:hover,
.dfoligo-pop-add-btn:focus { background: #155485; }



/* === Prescription table input cells === */

.dfoligo-prescription-head {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin: 25px 0 15px;

}



.dfoligo-prescription-head h2 {

    margin: 0;

    font-size: 18px;

    color: #1a1a1a;

}



.dfoligo-prescription-table input[type="number"],

.dfoligo-prescription-table input[type="text"] {

    width: 100%;

    padding: 6px 8px;

    border: 1px solid #ddd;

    border-radius: 4px;

    font-size: 13px;

}



.dfoligo-prescription-table input[type="number"] { max-width: 70px; text-align: center; }



/* === Consent box (checkout) === */

.dfoligo-consent-box {

    background: #fff8e1;

    border: 1px solid #f9e7b3;

    border-radius: 6px;

    padding: 14px 18px;

    margin-bottom: 18px;

}



.dfoligo-consent-label {

    display: flex;

    gap: 10px;

    align-items: flex-start;

    cursor: pointer;

    margin: 0;

}



.dfoligo-consent-label input { margin-top: 4px; }

.dfoligo-consent-label span { color: #555; font-size: 13px; line-height: 1.5; }



/* === Tile-level highlight on Mon compte tile === */

.dfoligo-account-link .link-item {

    display: flex;

    align-items: center;

    gap: 8px;

}



/* === Page "Historique & Suivi des patients" — match maquette historique-ordonnances.png === */



/* Titre mix de poids */

.dfoligo-h1-historique {

    text-align: center;

    margin: 35px 0 30px;

    font-size: 40px;

    line-height: 1.2;

    color: #000;

    position: relative;

    padding-bottom: 14px;

    font-weight: normal;

}

.dfoligo-h1-historique .dfoligo-h1-light { font-weight: 300; }

.dfoligo-h1-historique .dfoligo-h1-bold { font-weight: 600; }



/* Search pill */

.dfoligo-search-pill {

    background: #fff;

    border-radius: 30px;

    padding: 4px 18px;

    display: flex;

    align-items: center;

    gap: 12px;

    box-shadow: 0 0 10px 0px #60A1D840;

    border: 1px solid #ececec;

    margin-bottom: 36px;

}

.dfoligo-search-pill .material-icons {

    color: #b0b0b0;

    font-size: 20px;

}

.dfoligo-search-pill input[type="text"] {

    flex: 1;

    border: 0;

    outline: 0;

    padding: 10px 0;

    font-size: 16px;

    background: transparent;

    color: #2c2c2c;

	font-weight: 300;

}

/* v1.7.10 -- Placeholders uniformises sur la recherche ordonnance (popup,
   v1.7.1) : gris ardoise, italique, opacite forcee (Firefox). */
.dfoligo-search-pill input[type="text"]::placeholder { color: #5f6780; font-style: italic; opacity: 1; }
.dfoligo-search-pill input[type="text"]::-moz-placeholder { color: #5f6780; font-style: italic; opacity: 1; }



/* Table card */

.dfoligo-historique-card {

    background: #fff;

    border-radius: 8px;

    box-shadow: 0 0 10px 0px #60A1D840;

    overflow: hidden;

    border: 1px solid #e7eef5;

}



.dfoligo-historique-table {

    width: 100%;

    border-collapse: collapse;

    font-size: 16px;

    color: #000;

}



/* Header row */

.dfoligo-historique-table thead tr {

    background: #60A1D8;

    color: #fff;

}

.dfoligo-historique-table thead th {

    padding: 24px 20px;

    text-align: left;

    font-weight: 600;

    font-size: 24px;

    position: relative;

    text-transform: none;

    letter-spacing: 0;

}

/* Vertical separators between header columns */

.dfoligo-historique-table thead th + th::before {

    content: "";

    position: absolute;

    left: 7px;

    top: 35%;

    bottom: 35%;

    width: 1px;

    background: rgba(255, 255, 255, .55);

}



/* Body rows */

.dfoligo-historique-table tbody tr {

    border-bottom: 1px solid #60A1D840;

}

.dfoligo-historique-table tbody tr:last-child { border-bottom: 0; }

.dfoligo-historique-table tbody td {

    padding: 30px 20px;

    vertical-align: middle;

}



/* Column-specific widths */

.dfoligo-historique-table .dfoligo-col-date    { width: 22%; }

.dfoligo-historique-table .dfoligo-col-type    { width: 28%; }

.dfoligo-historique-table .dfoligo-col-bene    { width: 30%; }

.dfoligo-historique-table .dfoligo-col-actions { width: 20%; text-align: left; white-space: nowrap; }



/* Type column with sub-status */

.dfoligo-historique-table .dfoligo-col-type strong {

    display: block;

    font-weight: 700;

    color: #1a1a1a;

    letter-spacing: 0.4px;

    line-height: 1.3;

}

.dfoligo-historique-table .dfoligo-col-type .dfoligo-sub-status {

	display: block;

    font-size: 16px;

    color: #000;

    font-weight: 300;

    margin-top: 0px;

    max-width: 110px;

    text-align: center;

}



/* Action buttons - circular light blue */

.dfoligo-action-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    border-radius: 50%;

    background: #60A1D8;

    color: #fff;

    border: 0;

    margin-right: 6px;

    cursor: pointer;

    text-decoration: none;

    transition: background .15s ease, transform .15s ease;

}

.dfoligo-action-btn:hover,
.dfoligo-action-btn:focus {

    background: #2a3159;

    color: #4A8AC2;

    transform: translateY(-1px);

}

.dfoligo-action-btn:last-child { margin-right: 0; }

.dfoligo-action-btn .material-icons { font-size: 20px; }



/* Empty row */

.dfoligo-historique-table .dfoligo-empty {

    text-align: center;

    padding: 40px 22px;

    color: #888;

}



/* v1.5.49 — État de chargement pendant la recherche instantanée (live search) */

#dfoligo-hist-results.dfoligo-is-loading {

    opacity: 0.5;

    pointer-events: none;

    transition: opacity 0.12s ease;

}



/* Pagination - minimaliste */

.dfoligo-historique-pagination {

    margin-top: 22px;

    display: flex;

    justify-content: flex-end;

    align-items: center;

    gap: 10px;

    color: #2A3159;

    font-size: 16px;

}

.dfoligo-page-counter {

    font-weight: 400;

    margin-right: 20px;

    color: #2A3159;

}

.dfoligo-page-arrow {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 22px;

    height: 32px;

    border-radius: 50%;

    background: transparent;

    color: #2A3159;

    text-decoration: none;

    border: 0;

}

.dfoligo-page-arrow:hover,
.dfoligo-page-arrow:focus { background: #e6f0f8; color: #4A8AC2; }

.dfoligo-page-arrow.is-disabled { opacity: 0.3; pointer-events: none; }

.dfoligo-page-arrow .material-icons { font-size: 28px; }



/* Responsive */

@media (max-width: 768px) {

    .dfoligo-h1-historique { font-size: 22px; }

	.dfoligo-h1-light { font-size: 22px;font-weight: 300; }

    .dfoligo-historique-table thead th,

    .dfoligo-historique-table tbody td { padding: 12px 10px; font-size: 13px; }

    .dfoligo-historique-table thead th { font-size: 14px; }

    .dfoligo-action-btn { width: 32px; height: 32px; margin-right: 3px; }

    .dfoligo-action-btn .material-icons { font-size: 16px; }

    /* v1.5.71 — Sur mobile, la colonne Actions était tronquée (white-space:nowrap

       + largeur 20%) : on ne voyait que l'œil. On autorise les icônes à passer

       à la ligne (superposées) pour qu'elles soient toutes visibles. */

    .dfoligo-historique-table .dfoligo-col-actions {

        white-space: normal;

        width: auto;

    }

    .dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn {

        margin-right: 6px;

        margin-bottom: 6px;

    }

    .dfoligo-historique-table .dfoligo-col-type .dfoligo-sub-status {

        max-width: none;

        text-align: left;

    }

}



/* === Page "Ressources / Médiathèque" — match maquette Médiathèque.png === */



.dfoligo-page-mediatheque {

    position: relative;

    overflow-x: hidden;

}



.dfoligo-container-mediatheque {

    position: relative;

    z-index: 1;

}



/* Titre Ressources */

.dfoligo-h1-ressources {

    text-align: center;

    margin: 35px 0 24px;

    font-size: 40px;

    line-height: 100%;

    color: #000;

    position: relative;

    padding-bottom: 70px;

    font-weight: 600;

}



/* Search pill avec icône filtres à droite */

.dfoligo-search-pill-large {

    padding: 4px 6px 4px 18px;

    margin-bottom: 22px;

}

.dfoligo-search-pill-large .dfoligo-search-trailing {

    background: #60A1D8;

    border: 0;

    border-radius: 50%;

    width: 36px;

    height: 36px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    color: #fff;

    flex-shrink: 0;

	display: none;

}

.dfoligo-search-pill-large .dfoligo-search-trailing:hover,
.dfoligo-search-pill-large .dfoligo-search-trailing:focus { background: #4a96b8; }

.dfoligo-search-pill-large .dfoligo-search-trailing .material-icons { font-size: 18px; color: #fff; }



/* Filter pills */

.dfoligo-cat-pills {

    display: flex;

    flex-wrap: wrap;

    gap: 10px;

    margin: 30px 0 70px;

    justify-content: center;

}

.dfoligo-cat-pill {

    display: inline-block;

    padding: 10px 20px 6px 20px;

    border-radius: 22px;

    background: white;

    color: #60A1D8;

    font-size: 24px;

    font-weight: 700;

    line-height: 100%;

    text-decoration: none;

    border: 1px solid transparent;

    transition: all .15s ease;

}

.dfoligo-cat-pill:hover,
.dfoligo-cat-pill:focus {

    background: #2a3159;
    color: #fff !important;

}

.dfoligo-cat-pill.is-active {

    background: #60A1D8;

    color: #fff;	text-decoration:none;

}



/* Section title */

.dfoligo-medi-section {

        margin-bottom: 90px;

}

.dfoligo-medi-section-title {

    color: #60A1D8;

    font-size: 26px;

    font-weight: 700;

    margin: 0 0 18px;

    border: 0;

    padding: 0;

}



/* Card grid */

.dfoligo-medi-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

}



@media (max-width: 980px) {

    .dfoligo-medi-grid { grid-template-columns: repeat(2, 1fr); }

}

@media (max-width: 620px) {

    .dfoligo-medi-grid { grid-template-columns: 1fr; }

}



/* Card */

.dfoligo-medi-card {

    background: #fff;

    border-radius: 12px;

    overflow: hidden;

    box-shadow: 0 0 10px 0px #60A1D840;

    border: 1px solid #eaf1f7;

    display: flex;

    flex-direction: column;

    transition: transform .15s ease, box-shadow .15s ease;

	padding: 8px;

}

.dfoligo-medi-card.dfoligo-medi-card-fiche {

    min-height: 200px;

}

.dfoligo-medi-card:hover,
.dfoligo-medi-card:focus {

    transform: translateY(-2px);

    box-shadow: 0 8px 24px rgba(40, 80, 130, .12);

}



/* Cover image (top of card) */

.dfoligo-medi-cover {

    display: block;

    aspect-ratio: 16 / 10;

    background: #e6f0f8;

    overflow: hidden;

    position: relative;

    text-decoration: none;

}

.dfoligo-medi-cover img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

	border-radius: 10px;

}

.dfoligo-medi-cover-placeholder {

    width: 100%;

    height: 100%;

    background: linear-gradient(135deg, #cfe2f0 0%, #e6f0f8 100%);

}



/* Video play overlay (centré sur la cover) */

.dfoligo-medi-cover-video {

    position: relative;

}

.dfoligo-medi-cover-video .dfoligo-medi-play {

    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);

    width: 56px;

    height: 56px;

    border-radius: 50%;

    background: transparent;

    box-shadow: 0 4px 14px rgba(0, 0, 0, .28);

    display: inline-flex;

    align-items: center;

    justify-content: center;

}

.dfoligo-medi-play-icon {

    width: 56px;

    height: 56px;

    display: block;

}



/* Card body */

.dfoligo-medi-body {

    padding: 14px 8px 16px;

    display: flex;

    flex-direction: column;

    flex-grow: 1;

}



/* Badge (DOCUMENT, FICHE POSOLOGIQUE, REPLAY) — cercle bleu + pill grise séparés */

.dfoligo-medi-badge-wrap {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin: 0 0 12px;

}

.dfoligo-medi-badge-circle {

    background: #60A1D8;

    width: 51px;

    height: 51px;

    border-radius: 50%;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex: 0 0 auto;

}

.dfoligo-medi-badge-circle img.dfoligo-medi-badge-icon {

	width: 31px;

    height: 31px;

    display: block;

    filter: brightness(0) invert(1);

}

/* Compat questionnaires (material-icon dans le cercle bleu) */

.dfoligo-medi-badge-circle .material-icons {

    color: #fff;

    font-size: 22px;

    line-height: 1;

}

.dfoligo-medi-badge-label {

    background: #F0F8FD;

    color: #2A3159;

    padding: 10px 13px;

    border-radius: 18px;

    font-size: 16px;

    font-weight: 600;

    display: inline-block;

    line-height: 1;

}



/* Title */

.dfoligo-medi-title {

    font-size: 20px;

    color: #2A3159;

    font-weight: 600;

    line-height: 1.4;

    margin: 0 0 10px;

}



/* Event date in event card */

.dfoligo-medi-event-date {

    display: flex;

    align-items: center;

    gap: 6px;

    color: #60A1D8;

    font-size: 13px;

    margin: 0 0 10px;

}

.dfoligo-medi-event-date .material-icons { font-size: 16px; }



/* Actions row */

.dfoligo-medi-actions {

    margin-top: auto;

    padding-top: 14px;

    display: flex;

    gap: 6px;

}

.dfoligo-medi-actions .dfoligo-action-btn .dfoligo-medi-action-icon {

    width: 18px;

    height: 18px;

    display: block;

    pointer-events: none;

    filter: brightness(100); /* v1.6.0 — icônes forcées en blanc */

}



/* Variant styling: video card */

.dfoligo-medi-card-video .dfoligo-medi-body {

    padding: 12px 7px 14px;

}



/* Document with cover variant: image cover takes space */

.dfoligo-medi-card-document.dfoligo-medi-card-with-cover .dfoligo-medi-cover {
    /* v1.6.57 -- ratio 18/11 (au lieu de 16/11) + coins arrondis */
    aspect-ratio: 18 / 11;
    border-radius: 8px;
}



/* Fiche posologique : compact layout (no cover) */

.dfoligo-medi-card-fiche .dfoligo-medi-body { padding: 14px 7px 16px; }

.dfoligo-medi-card-fiche .dfoligo-medi-title { margin-top: 4px; }



/* Event card : ultra compact (no cover, no badge) */

.dfoligo-medi-card-event .dfoligo-medi-body { padding: 16px 7px 14px; }

.dfoligo-medi-card-event .dfoligo-medi-title { margin-bottom: 10px; }



/* === Page "Ordonnance landing" — match maquette Ordonnance_Landing.png === */



.dfoligo-page-ordonnances {

    position: relative;

    overflow-x: hidden;

    min-height: 80vh;

}



.dfoligo-container-ordonnances {

    position: relative;

    z-index: 1;

}



/* Titre Ordonnance */

.dfoligo-h1-ordonnance {

    text-align: center;

    margin: 50px 0 70px;

    font-size: 36px;

    line-height: 1.2;

    color: #1a1a1a;

    position: relative;

    padding-bottom: 14px;

    font-weight: 700;

}



/* Grand grid 3 tuiles */

.dfoligo-big-tiles {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 28px;

    margin-bottom: 60px;

    position: relative;

    z-index: 1;

}



@media (max-width: 900px) {

    .dfoligo-big-tiles { grid-template-columns: 1fr; }

}



/* Grande tuile carte */

.dfoligo-big-tile {

    background: #fff;

    border-radius: 14px;

    padding: 36px 32px;

    text-align: center;

    text-decoration: none;

    color: #2c2c2c;

    box-shadow: 0 0 10px 0px #60A1D840;

    border: 1px solid #eaf1f7;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-height: 190px;

    transition: transform .2s ease, box-shadow .2s ease;

}



.dfoligo-big-tile:hover,
.dfoligo-big-tile:focus {

    transform: translateY(-3px);

    box-shadow: 0 12px 28px rgba(40, 80, 130, .15);

    color: #4A8AC2;

}



/* Icône ronde dans la tuile */

.dfoligo-big-tile-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 72px;

    height: 72px;

    border-radius: 50%;

    background: #e6f0f8;

    color: #60A1D8;

    margin-bottom: 22px;

    transition: background .2s ease, transform .2s ease;

}



.dfoligo-big-tile:hover .dfoligo-big-tile-icon,
.dfoligo-big-tile:focus .dfoligo-big-tile-icon {

    background: #cfe2f0;

    transform: scale(1.05);

}



.dfoligo-big-tile-icon .material-icons {

    font-size: 36px;

}

.dfoligo-big-tile-icon img {

    width: 44px;

    height: 44px;

    display: block;

    object-fit: contain;

}

.dfoligo-big-tile-icon-whatsapp img {

    width: 56px;

    height: 56px;

}



/* Label */

.dfoligo-big-tile-label {

    color: #4A8AC2;

    font-size: 28px;

    font-weight: 600;

    line-height: 100%;

	letter-spacing: 1.5%;

}



@media (max-width: 600px) {

    .dfoligo-h1-ordonnance { font-size: 28px; margin: 30px 0 40px; }

    .dfoligo-big-tile { padding: 35px 20px; min-height: 180px; }

    .dfoligo-big-tile-icon { width: 60px; height: 60px; }

    .dfoligo-big-tile-icon .material-icons { font-size: 30px; }

    .dfoligo-big-tile-icon img { width: 36px; height: 36px; }

    .dfoligo-big-tile-icon-whatsapp img { width: 46px; height: 46px; }

    .dfoligo-big-tile-label { font-size: 16px; }

}



/* === Page "Créer une ordonnance" — match maquette Générateur_Ordonnance.png === */



.dfoligo-page-create-ord {

    min-height: 80vh;

}



body#module-datafireflyoligosante-createprotocole, body#module-datafireflyoligosante-createordonnance {

	background:#F0F8FD

}



/* Titre "Créer une ordonnance" mix de poids */

.dfoligo-h1-create-ord {

    text-align: center;

    margin: 35px 0 50px;

    font-size: 40px;

    line-height: 1.2;

    color: #000;

    position: relative;

    padding-bottom: 14px;

    font-weight: normal;

}

.dfoligo-h1-create-ord .dfoligo-h1-light { font-weight: 300; }

.dfoligo-h1-create-ord .dfoligo-h1-bold { font-weight: 700; }



/* Form container */

.dfoligo-co-form {

    margin-bottom: 30px;

}



/* Sections */

.dfoligo-co-section {

    margin-bottom: 70px;

}

.dfoligo-co-section-title {

    color: #60A1D8;

    font-size: 24px;

    font-weight: 600;

    margin: 0 0 30px;

    text-transform: uppercase;

}

.dfoligo-co-subtitle {

    color: #60A1D8;

    font-size: 24px;

    font-weight: 600;

    letter-spacing: 1.2px;

    margin: 25px 0 14px;

    text-transform: uppercase;

}



/* Patient input fields */

.dfoligo-co-field {

    display: block !important;

    margin-bottom: 18px;

}

.dfoligo-co-field-label {

    display: block;

    color: #2A3159;

    font-size: 16px;

    margin-bottom: 6px;

    font-weight: 500;

    text-align: left;

    text-transform: none;

	letter-spacing: 1.5%;

}

/* v1.5.53 — Astérisque champ obligatoire */

.dfoligo-co-required {

    color: #c62828;

    font-weight: 700;

}

.dfoligo-co-field input {

    width: 100%;

    padding: 13px 16px;

        border: 1px solid #60A1D840;

    border-radius: 6px;

    font-size: 16px;

    background: #fff;

    color: #2A3159;

    transition: border-color .15s ease;

}

.dfoligo-co-field input:focus {

    outline: none;

    border-color: #60A1D8;

    box-shadow: 0 0 0 3px rgba(93, 169, 201, .15);

}



/* v1.5.42 — validation client du formulaire ordonnance */

.dfoligo-co-form-errors {

    display: block;

}

.dfoligo-co-form-errors[hidden] {

    display: none;

}

.dfoligo-co-field.dfoligo-co-field--error input {

    border-color: #c62828;

    background: #fff7f7;

}

.dfoligo-co-field.dfoligo-co-field--error input:focus {

    border-color: #c62828;

    box-shadow: 0 0 0 3px rgba(198, 40, 40, .15);

}

/* v1.5.42 — champ posologie/durée invalide (protocole) */

input.dfoligo-input-error {

    border-color: #c62828 !important;

    background: #fff7f7;

}

input.dfoligo-input-error:focus {

    border-color: #c62828 !important;

    box-shadow: 0 0 0 3px rgba(198, 40, 40, .15);

}



/* "Ajouter" pill button */

.dfoligo-co-add-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    background: #60A1D8;

    color: #fff;

    border: 0;

    border-radius: 16px;

    padding: 12px 16px;

    font-size: 24px;

    font-weight: 600;

    cursor: pointer;

    transition: background .15s ease;

    margin-bottom: 28px;

}

/* v1.6.40 -- Le bouton est aussi rendu en <a> (page Protocoles). Les styles de

   lien du theme reprenaient la main au focus : couleur verte + soulignement.

   v1.6.44 -- La v1.6.40 donnait l'aspect survol des le :focus, donc le bouton

   restait fonce apres un simple clic souris, comme si le curseur etait reste

   dessus. Le :focus se contente desormais de neutraliser les styles de lien,

   et l'aspect survol est reserve a :focus-visible (navigation clavier). */

.dfoligo-co-add-btn,

.dfoligo-co-add-btn:link,

.dfoligo-co-add-btn:visited {

    color: #fff;

    text-decoration: none;

}

.dfoligo-co-add-btn:focus {

    color: #fff !important;

    text-decoration: none;

    outline: 0;

}

.dfoligo-co-add-btn:hover,
.dfoligo-co-add-btn:focus-visible,
.dfoligo-co-add-btn:focus {

    background: #2a3159;

    color: #fff !important;

    text-decoration: none;

}

/* Anneau de focus clavier uniquement (pas au clic souris) */

.dfoligo-co-add-btn:focus-visible {

    outline: 2px solid #2a3159;

    outline-offset: 2px;

}

.dfoligo-co-add-circle {

    width: 30px;

    height: 30px;

    background: #fff;

    color: #60A1D8;

    border-radius: 50%;

    display: inline-flex;

    align-items: center;

    justify-content: center;

}

.dfoligo-co-add-circle .material-icons { font-size: 20px; }



/* Protocoles pills list */

.dfoligo-co-protocoles-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

    margin-bottom: 50px;

}

.dfoligo-co-protocole-pill {

    display: flex;

    align-items: center;

    justify-content: space-between;

    background: #cfe2f0;

    color: #2A3159;

    padding: 31px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 700;

}

.dfoligo-co-protocole-remove {

    background: transparent;

    border: 0;

    color: #4a708e;

    cursor: pointer;

    padding: 0;

    display: inline-flex;

    align-items: center;

}

.dfoligo-co-protocole-remove:hover,
.dfoligo-co-protocole-remove:focus { color: #1f2937; }

.dfoligo-co-protocole-remove .material-icons { font-size: 18px; }



/* Products table layout */

.dfoligo-co-table-wrap {

    margin-top: 6px;

}



/* Header row : pill-styled column headers */

.dfoligo-co-table-head {

    display: grid;

    grid-template-columns: 1.4fr 1.7fr 0.8fr 1.7fr 0.9fr 50px;

    gap: 12px;

    margin-bottom: 14px;

    align-items: start;

}



/* Wrapper de cellule en-tête pour permettre le sous-bloc Matin/Midi/Soir */

.dfoligo-co-col-head {

    display: flex;

    flex-direction: column;

    gap: 8px;

    min-width: 0;

}

.dfoligo-co-pill-head {

    background: #60A1D8;

    color: #fff;

    text-align: center;

    padding: 15px 11px 11px;

    border-radius: 30px;

    font-size: 20px;

    font-weight: 700;

    letter-spacing: 1px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

}



/* 4 mini-pills Matin / Midi / Soir / Coucher sous POSOLOGIE (v1.5.66) */

.dfoligo-co-poso-sub {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 1fr;

    gap: 8px;

}

.dfoligo-co-poso-sub span {

    display: block;

    text-align: center;

    background: #fff;

    border: 1px solid #60A1D840;

    border-radius: 18px;

    padding: 5px 0;

    color: #2A3159;

    font-size: 16px;

    font-weight: 400;

}



/* Body rows */

.dfoligo-co-table-body {

    display: flex;

    flex-direction: column;

    gap: 14px;

}

.dfoligo-co-row {

    display: grid;

    grid-template-columns: 1.4fr 1.7fr 0.8fr 1.7fr 0.9fr 50px;

    gap: 12px;

    align-items: center;

}



/* Product name : light pill */

.dfoligo-co-product-pill {

    display: inline-block;

    background: #fff;

    border: 1px solid #60A1D840;

    color: #2A3159;

    padding: 14px 14px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    width: 100%;

    box-sizing: border-box;

}



/* Posologie inputs : 4 small number boxes (matin/midi/soir/coucher, v1.5.66) */

.dfoligo-col-poso {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 1fr;

    gap: 8px;

}

.dfoligo-col-poso input {

    width: 100%;

    padding: 14px 4px 14px 10px;

    border: 1px solid #60A1D840;

    border-radius: 16px;

    font-size: 16px;

    text-align: left;

    background: #fff;

    color: #2A3159;

    box-sizing: border-box;

}



/* v1.5.41 — Spinners custom bleus (les natifs gris ne sont pas stylables cross-browser).

   On masque le spinner natif sur TOUS les number du tableau (poso/durée/quantité)

   et on injecte un .dfoligo-numspin (2 chevrons SVG cliquables, color #60A1D8). */

.dfoligo-co-row input[type="number"] {

    -moz-appearance: textfield !important;

    appearance: textfield !important;

}

.dfoligo-co-row input[type="number"]::-webkit-inner-spin-button,

.dfoligo-co-row input[type="number"]::-webkit-outer-spin-button {

    -webkit-appearance: none !important;

    appearance: none !important;

    margin: 0 !important;

    display: none !important;

}



/* Wrapper input + spinner pour poso & quantité — input collé à gauche, spin chevrons à droite */

.dfoligo-numfield {

    position: relative;

    display: block;

    width: 100%;

}

.dfoligo-col-poso .dfoligo-numfield input,

.dfoligo-col-qty  .dfoligo-numfield input {

    padding-right: 24px !important;

}



/* Le spin lui-même : 2 mini-boutons chevron empilés */

.dfoligo-numspin {

    display: inline-flex;

    flex-direction: column;

    gap: 1px;

    line-height: 0;

    user-select: none;

}

.dfoligo-numfield .dfoligo-numspin {

    position: absolute;

    right: 6px;

    top: 50%;

    transform: translateY(-50%);

}

.dfoligo-numspin-btn {

    background: transparent;

    border: 0;

    padding: 0;

    margin: 0;

    cursor: pointer;

    color: #60A1D8;

    width: 14px;

    height: 11px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border-radius: 3px;

    transition: background-color .12s ease, color .12s ease;

}

.dfoligo-numspin-btn:hover,
.dfoligo-numspin-btn:focus {

    background: rgba(96, 161, 216, .14);

    color: #2A3159;

}

.dfoligo-numspin-btn:active {

    background: rgba(96, 161, 216, .28);

}

.dfoligo-numspin-btn svg {

    display: block;

    width: 9px;

    height: 6px;

}



/* Durée: number + suffix "mois" + spin chevrons à droite de "mois" */

.dfoligo-col-duree {

    display: flex;

    align-items: center;

    gap: 6px;

    justify-content: center;

    background: #fff;

    border: 1px solid #60A1D840;

    border-radius: 14px;

    padding: 10px 10px;

}

.dfoligo-col-duree input {

    width: 32px;

    padding: 4px 0;

    border: 0;

    text-align: center;

    font-size: 16px;

    color: #2A3159;

    background: transparent;

}

.dfoligo-co-suffix {

    color: #6c7990;

    font-size: 13px;

}

/* v1.5.41 — Spin chevrons après "mois" dans la pill durée (pas d'absolute, suit le flex flow) */

.dfoligo-numspin--duree {

    margin-left: 2px;

}



/* Recommandations text input + pencil icon */

.dfoligo-col-reco {

    position: relative;

}

.dfoligo-col-reco input {

    width: 100%;

    padding: 14px 46px 14px 12px;

    border: 1px solid #60A1D840;

    border-radius: 16px;

    font-size: 16px;

    background: #fff;

    color: #2A3159;

}

.dfoligo-co-pencil {

    position: absolute;

    right: 8px;

    top: 50%;

    transform: translateY(-50%);

    width: 30px;

    height: 30px;

    pointer-events: none;

    display: block;

}



/* Quantité */

.dfoligo-col-qty input {

    width: 100%;

    padding: 14px 8px;

    border: 1px solid #60A1D840;

    border-radius: 16px;

    font-size: 16px;

    text-align: center;

    background: #fff;

    color: #2A3159;

}



/* Trash button */

.dfoligo-col-trash {

    text-align: center;

}

.dfoligo-co-trash {

    background: transparent;

    border: 0;

    color: #60A1D8;

    cursor: pointer;

    padding: 4px;

    border-radius: 50%;

    transition: background .15s ease;

    display: inline-flex;

    align-items: center;

    justify-content: center;

}

.dfoligo-co-trash:hover,
.dfoligo-co-trash:focus { background: #e6f0f8; }

.dfoligo-co-trash-icon {

    width: 26px;

    height: 26px;

    display: block;

}



/* Valider button (centered pill) */

.dfoligo-co-validate-wrap {

    text-align: center;

    margin-top: 26px;

}

.dfoligo-co-validate-btn {

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 20px 30px;

    border-radius: 8px;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    transition: background .15s ease;

}

.dfoligo-co-validate-btn:hover,
.dfoligo-co-validate-btn:focus { background: #2a3159; }



/* Code promo dropdown */

.dfoligo-co-promo-wrap {

    background: #e6f0f8;

    border: 1px solid #cfe2f0;

    border-radius: 8px;

    padding: 4px;

}

.dfoligo-co-select {

    width: 100%;

    padding: 14px 16px;

    border: 0;

    border-radius: 6px;

    font-size: 14px;

    background: transparent;

    color: #2c2c2c;

    -webkit-appearance: none;

    appearance: none;

    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236c92b8'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");

    background-repeat: no-repeat;

    background-position: right 14px center;

    background-size: 20px;

}

.dfoligo-co-select:focus { outline: none; }



/* ===== Preview "VOTRE ORDONNANCE" card ===== */

.dfoligo-co-preview-section {

    margin-top: 60px;

    margin-bottom: 30px;

}

/* v1.5.87 — Ordonnance créée (clic Télécharger / Envoyer) : on masque toute la

   partie « formulaire » (titre, avertissement, formulaire éditable) ; seul

   l'aperçu reste. Le formulaire reste dans le DOM (display:none) pour que les

   boutons Télécharger / Envoyer de l'aperçu continuent de fonctionner. */

.dfoligo-co-committed .dfoligo-h1-create-ord,

.dfoligo-co-committed .dfoligo-mobile-warning,

.dfoligo-co-committed .dfoligo-co-form {

    display: none;

}

.dfoligo-co-committed .dfoligo-co-preview-section {

    margin-top: 20px;

}

.dfoligo-co-preview-head {

    display: flex;

    justify-content: space-between;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-bottom: 18px;

}

.dfoligo-co-preview-actions {

    display: flex;

    gap: 12px;

}

.dfoligo-co-action-btn {

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 15px 24px;

    border-radius: 8px;

    font-size: 16px;

    font-weight: 600;

    cursor: pointer;

    text-decoration: none;

    transition: background .15s ease;

    display: inline-block;

}

.dfoligo-co-action-btn:hover,
.dfoligo-co-action-btn:focus { background: #2a3159; color: #fff !important; }



.dfoligo-co-preview-card {

    background: #fff;

    border-radius: 14px;

    padding: 38px 42px;

    box-shadow: 0 4px 16px rgba(40, 80, 130, .06);

    color: #2c2c2c;

    font-size: 14px;

    line-height: 1.6;

    display: flex;

    flex-direction: column;

    width: 100%;

    margin: 0 auto;

    aspect-ratio: 210 / 297;

}



/* v1.7.1 -- Nouveau design de l'ordonnance (maquette Oligosanté). */
.dfoligo-co-preview-top {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 44px;
    color: #2A3159;
    font-size: 20px;
    line-height: 1.3;
    flex-shrink: 0;
}
/* v1.5.79 — Header + produits gardent leur hauteur naturelle : la feuille A4
   grandit si l'ordonnance est longue plutôt que d'écraser le contenu. */
.dfoligo-co-preview-products { flex-shrink: 0; }
.dfoligo-co-preview-praticien,
.dfoligo-co-preview-patient {
    display: flex;
    flex-direction: column;
    color: #2A3159;
    font-weight: 400;
}
.dfoligo-co-preview-praticien { text-align: left; }
.dfoligo-co-preview-patient { text-align: right; }
.dfoligo-co-preview-praticien span:empty,
.dfoligo-co-preview-patient span:empty { display: none; }

.dfoligo-co-preview-patient-name {
    margin: 0 0 60px;
    color: #2A3159;
    font-size: 16px;
    font-weight: 700;
}

.dfoligo-co-preview-product {
    margin-bottom: 44px;
    color: #2A3159;
    font-size: 16px;
}
.dfoligo-co-preview-product-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 24px;
    margin-bottom: 14px;
}
/* v1.7.14 -- Majuscules limitées au nom du produit : le conditionnement
   (« - 60 gélules ») reste en minuscules, comme dans le PDF. */
.dfoligo-co-preview-product-head strong {
    text-transform: none;
    font-weight: 700;
    color: #2A3159;
    font-size: 16px;
}
.dfoligo-co-preview-product-head strong .dfoligo-co-preview-product-name {
    text-transform: uppercase;
    color: #2A3159;
}
.dfoligo-co-preview-product-qty {
    flex-shrink: 0;
    white-space: nowrap;
}
/* Couleur posee explicitement sur chaque element : le theme colore les
   <p>/<span> en gris avec une specificite superieure au conteneur. */
.dfoligo-co-preview-card p,
.dfoligo-co-preview-card span,
.dfoligo-co-preview-card strong,
.dfoligo-co-preview-poso,
.dfoligo-co-preview-reco,
.dfoligo-co-preview-product-qty,
.dfoligo-co-preview-patient-name,
.dfoligo-co-preview-signature p,
.dfoligo-co-preview-signature-name { color: #2A3159; }
/* v1.7.14 -- Bloc d'en-tete (praticien a gauche, date + patient a droite)
   en noir ; tout le reste de l'ordonnance reste bleu marine. Meme regle
   que le PDF. Specificite superieure aux regles p/span ci-dessus. */
.dfoligo-co-preview-card .dfoligo-co-preview-top,
.dfoligo-co-preview-card .dfoligo-co-preview-top .dfoligo-co-preview-praticien,
.dfoligo-co-preview-card .dfoligo-co-preview-top .dfoligo-co-preview-patient,
.dfoligo-co-preview-card .dfoligo-co-preview-top span,
.dfoligo-co-preview-card .dfoligo-co-preview-top p { color: #000; }
/* v1.7.15 -- Posologie et recommandations en noir egalement (meme regle
   que le PDF) ; titre produit, quantite, texte libre et signature en bleu. */
.dfoligo-co-preview-card .dfoligo-co-preview-poso,
.dfoligo-co-preview-card .dfoligo-co-preview-poso span,
.dfoligo-co-preview-card .dfoligo-co-preview-reco { color: #000; }
.dfoligo-co-preview-poso,
.dfoligo-co-preview-reco {
    margin: 0;
    line-height: 1.4;
    font-size: 16px;
}
.dfoligo-co-preview-poso-part + .dfoligo-co-preview-poso-part::before { content: ", "; }
.dfoligo-co-preview-poso-part + .dfoligo-co-preview-poso-duree::before { content: " "; }

/* v1.6.67 — Zone de texte libre de l'ordonnance : restitution dans
   l'aperçu « VOTRE ORDONNANCE », entre les produits et la signature. */
.dfoligo-co-preview-freetext {
    margin: 18px 0 8px;
    color: #2A3159;
    font-size: 16px;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: break-word;
}
.dfoligo-co-preview-signature {
    margin: 48px 0 60px;
    text-align: center;
    color: #2A3159;
    font-size: 16px;
}
.dfoligo-co-preview-signature p { margin: 0 0 22px; }
.dfoligo-co-preview-signature-name { font-weight: 700; }
.dfoligo-co-preview-cart {

    /* v1.5.79 — pousse le lien de partage (et le QR qui suit) en bas de la feuille A4 */

    margin-top: auto;

    display: flex;

    gap: 22px;

    align-items: center;

	margin-bottom: 16px;

}

.dfoligo-co-preview-cart p {color: #2A3159;font-size: 16px; }

.dfoligo-co-cart-pill {

display: inline-block;

    background: #e6f0f8;

    color: #2A3159;

    padding: 10px;

    border-radius: 16px;

    font-family: monospace;

    font-size: 16px;

    word-break: break-all;

    max-width: 100%;

}



.dfoligo-co-preview-qr {

    margin-top: 24px;

}

.dfoligo-co-preview-qr p { margin: 0 0 12px;color: #2A3159;font-size: 16px; }

.dfoligo-co-preview-qr img {

    border: 1px solid #eaf1f7;

    border-radius: 4px;

    padding: 8px;

    background: #fff;

}



.dfoligo-co-preview-footer-actions {

    display: flex;

    justify-content: flex-end;

    gap: 12px;

    margin-top: 24px;

}



/* Responsive */

@media (max-width: 980px) {

    .dfoligo-co-table-head, .dfoligo-co-row {

        grid-template-columns: 1fr;

        gap: 8px;

    }

    .dfoligo-co-pill-head { display: none; }

    .dfoligo-co-row { background: #fff; padding: 14px; border-radius: 10px; border: 1px solid #eaf1f7; }

    .dfoligo-co-product-pill { text-align: left; }

    .dfoligo-co-preview-card { padding: 24px; aspect-ratio: auto; max-width: 100%; }

    .dfoligo-co-preview-top { flex-direction: column; gap: 12px; font-size: 16px; }
    .dfoligo-co-preview-product-head { flex-direction: column; align-items: flex-start; gap: 4px; }

    .dfoligo-co-preview-patient { text-align: left; }

}



/* === Page "Protocoles" — match maquette Protocoles.png === */



.dfoligo-page-protocoles {

    position: relative;

    overflow-x: hidden;

}



.dfoligo-container-protocoles {

    position: relative;

    z-index: 1;

}



/* Titre "Protocoles" */

.dfoligo-h1-protocoles {

    text-align: center;

    margin: 35px 0 30px;

    font-size: 40px;

    line-height: 1.2;

    color: #1a1a1a;

    position: relative;

    padding-bottom: 14px;

    font-weight: 700;

}



/* "Créer un protocole" centered button */

.dfoligo-proto-create-wrap {

    text-align: center;

    margin: 24px 0 30px;

}

/* Big bandeau "Mes Protocoles" / "Protocoles Oligosanté" */

.dfoligo-proto-bigband {

    background: #fff;

    border-radius: 10px;

    overflow: hidden;

    margin-bottom: 22px;

    box-shadow: 0 4px 16px rgba(40, 80, 130, .06);

    border: 1px solid #eaf1f7;

}

.dfoligo-proto-bigband-head {

    width: 100%;

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 18px 26px;

    text-align: left;

    font-size: 18px;

    font-weight: 600;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

    transition: background .15s ease;

}

.dfoligo-proto-bigband-head:hover,
.dfoligo-proto-bigband-head:focus { background: #60A1D8; }

.dfoligo-proto-bigband-head .material-icons { transition: transform .2s ease; }

.dfoligo-proto-bigband.is-open .dfoligo-proto-bigband-head .material-icons { transform: rotate(180deg); }

.dfoligo-proto-bigband-body {

	padding: 44px 34px 34px;

    display: none;

}

.dfoligo-proto-bigband.is-open .dfoligo-proto-bigband-body { display: block; }



/* Empty state inside bandeau */

.dfoligo-proto-empty {

    color: #888;

    text-align: center;

    padding: 20px;

    margin: 0;

}



/* Gamme accordion (Oligosanté: SYSTEME DIGESTIF, NERVEUX, etc.) */

.dfoligo-proto-gamme {

    background: #fff;

    /* v1.6.10 -- marge harmonisee (20px -> 12px, comme .dfoligo-proto-acc) */

    margin-bottom: 12px;

    overflow: hidden;

}

.dfoligo-proto-gamme-head {

    width: 100%;

    background: #60A1D840;

    color: #2A3159;

    border: 0;

    padding: 15px 24px 15px 24px;

    text-align: left;

    /* v1.6.8 -- taille alignee sur les gammes de produits (20px) */

    font-size: 20px;

    line-height: 1.3;

    font-weight: 600;

	border-radius: 8px;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

    transition: background .15s ease;

}

.dfoligo-proto-gamme-head:hover,
.dfoligo-proto-gamme-head:focus { background: #b8d3e8; }

.dfoligo-proto-gamme-head .material-icons { transition: transform .2s ease; }

.dfoligo-proto-gamme.is-open .dfoligo-proto-gamme-head .material-icons { transform: rotate(180deg); }

.dfoligo-proto-gamme-body {

    padding: 16px 18px;

    display: none;

}

.dfoligo-proto-gamme.is-open .dfoligo-proto-gamme-body { display: block; }



/* Protocole accordion (single protocole card) */

.dfoligo-proto-acc {

    background: #fff;

    border-radius: 8px;

    margin-bottom: 12px;

    overflow: hidden;

}

.dfoligo-proto-acc-head {

    width: 100%;

    background: #e6f0f8;

    color: #2d5a82;

    border: 0;

    padding: 16px 24px;

    text-align: left;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 1px;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

    transition: background .15s ease;

}

.dfoligo-proto-acc-head:hover,
.dfoligo-proto-acc-head:focus { background: #d4e4f1; }

.dfoligo-proto-acc-head .material-icons { transition: transform .2s ease; }

.dfoligo-proto-acc.is-open .dfoligo-proto-acc-head .material-icons { transform: rotate(180deg); }

.dfoligo-proto-acc-body {

    padding: 0px 8px 5px;

    display: none;

}

#dfoligo-band-mine .dfoligo-proto-acc {
    margin-bottom: -4px;
}

.dfoligo-proto-acc.is-open .dfoligo-proto-acc-body { display: block; }



/* Phase header */

.dfoligo-proto-phase {

    /* v1.6.10 -- marges harmonisees : 12px entre phases comme entre protocoles */

    margin-bottom: 4px;

    padding-bottom: 4px;

}

.dfoligo-proto-phase-head {

    width: 100%;

    background: transparent;

    color: #60A1D8;

    border: 0;

    border-bottom: 2px solid #60A1D840;

    /* v1.6.10 -- espacement vertical reduit (24px -> 12px) et harmonise */

    padding: 8px 0 12px;

    text-align: left;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

}

.dfoligo-proto-phase-title {

    /* v1.6.10 -- taille reduite (24px -> 18px), sous les gammes (20px) */

    font-size: 18px;

    font-weight: 700;

    /* v1.6.8 -- interlignage aere pour les titres sur plusieurs lignes */

    line-height: 1.35;

}

.dfoligo-proto-phase-head .material-icons {

    color: #60A1D8;

    transition: transform .2s ease;

}

.dfoligo-proto-phase.is-collapsed .dfoligo-proto-phase-head .material-icons { transform: rotate(180deg); }

.dfoligo-proto-phase-body { padding-top: 16px; }

.dfoligo-proto-phase.is-collapsed .dfoligo-proto-phase-body { display: none; }



/* Product row */

.dfoligo-proto-product-row {

    padding: 14px 0;

    border-bottom: 1px solid #eef2f6;

}

.dfoligo-proto-product-row:last-child { border-bottom: 0; }



.dfoligo-proto-product-head {

    margin-bottom: 12px;

    display: flex;

    align-items: baseline;

    gap: 14px;

}

.dfoligo-proto-product-name {

    font-weight: 700;

    color: #2A3159;

    font-size: 16px;

}

.dfoligo-proto-product-slogan {

    color: #2A3159;

    font-size: 12px;

    font-style: italic;

}

.dfoligo-proto-product-slogan:first-letter {

    text-transform: capitalize;

}



/* 4-column layout for product row (3 info + 1 action) */

.dfoligo-proto-product-cols {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 128px;

    gap: 30px;

    align-items: start;

}

/* v1.5.91 — « EN SAVOIR PLUS » aligné en bas de la ligne produit. */

.dfoligo-proto-col-action {

    align-self: end;

}

.dfoligo-proto-col h4 {

font-size: 15px;

    color: #2A3159;

    font-weight: 700;

    margin: 0 0 6px;

}

.dfoligo-proto-col div {

	color: #2A3159;

    font-size: 12px;

    line-height: 155%;

}

.dfoligo-proto-duree {

    display: block;

    margin-top: 4px;

    font-style: italic;

    color: #6c92b8;

    font-size: 12px;

}

.dfoligo-proto-cond {

    margin: 8px 0 0;

    font-size: 12px;

    line-height: 125%;

    color: #2A3159;

}

.dfoligo-proto-cond em {

    color: #2A3159;

    font-style: normal;

    font-weight: 400;

    /* v1.6.9 -- souligne supprime (harmonisation avec la page Produits) */

    text-decoration: none;

}



/* "En savoir +" pill */

.dfoligo-proto-savoir-btn {

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 15px 24px;

    border-radius: 8px;

    font-size: 16px;

    font-weight: 500;

    cursor: pointer;

    text-decoration: none;

    display: inline-block;

    transition: background .15s ease;

    text-align: center;

    width: 100%;

    box-sizing: border-box;

}

.dfoligo-proto-savoir-btn:hover,
.dfoligo-proto-savoir-btn:focus { background: #2a3159; color: #fff !important; }



/* Modifier button (centered) */

.dfoligo-proto-modify-wrap {

    text-align: center;

    margin: 14px 0 22px;

}



/* INFORMATIONS PRODUITS title */

.dfoligo-proto-info-title {

    color: #60A1D8;

    font-size: 24px;

    font-weight: 600;

    letter-spacing: 1px;

    margin: 36px 0 18px;

    padding-top: 8px;

    border-top: 1px solid #eef2f6;

    padding-top: 20px;

}



.dfoligo-proto-info-product {

    margin-bottom: 26px;

    padding-bottom: 22px;

    border-bottom: 1px solid #eef2f6;

}

.dfoligo-proto-info-product:last-child { border-bottom: 0; }

.dfoligo-proto-info-name {

    font-size: 16px;

    font-weight: 700;

    color: #2A3159;

    margin-bottom: -2px;

}

.dfoligo-proto-info-slogan {

    color: #2A3159;

    font-size: 12px;

    font-style: italic;

    margin-bottom: 12px;

}

.dfoligo-proto-info-cols {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr;

    gap: 30px;

    align-items: start;

}



/* Bottom button */

.dfoligo-proto-create-ord-wrap {

    text-align: center;

    /* v1.6.22 -- marges renforcees sous les CTA « Créer une ordonnance »

       (page Protocoles) : 40px au-dessus, 100px en dessous. */

    margin: 40px 0 100px;

}

/* Le dernier wrap d'un corps de phase n'a pas besoin de cumuler sa marge

   avec le padding de fin de phase : on garde tout de meme les 60px

   demandes pour une respiration homogene. */



/* Responsive */

@media (max-width: 980px) {

    .dfoligo-proto-product-cols,

    .dfoligo-proto-info-cols {

        grid-template-columns: 1fr;

        gap: 14px;

    }

    .dfoligo-proto-col-action { text-align: left; }

    .dfoligo-proto-savoir-btn { width: auto; padding: 9px 22px; }

}



@media (max-width: 600px) {

    .dfoligo-h1-protocoles { font-size: 24px; }

    .dfoligo-proto-acc-head, .dfoligo-proto-bigband-head, .dfoligo-proto-gamme-head { padding: 14px 18px; font-size: 14px; }

    .dfoligo-proto-acc-body { padding: 16px 18px 20px; }

}



/* === Page "Dashboard / Accueil" — match maquette accueil-espace-practicien.png === */



.dfoligo-page-dashboard {

    position: relative;

    overflow-x: hidden;

    min-height: 90vh;

}

.dfoligo-container-dashboard { position: relative; z-index: 1; }



/* Variantes de placement du pattern de points */

.dfoligo-dots-top-right {

    top: -30px;

    right: -120px;

    width: 480px;

    height: 480px;

    -webkit-mask-image: radial-gradient(circle at top right, rgba(0,0,0,0.85), transparent 70%);

            mask-image: radial-gradient(circle at top right, rgba(0,0,0,0.85), transparent 70%);

}

.dfoligo-dots-bottom-left {

    top: auto;

    bottom: -30px;

    left: -100px;

    right: auto;

    width: 380px;

    height: 380px;

    opacity: 0.4;

    -webkit-mask-image: radial-gradient(circle at bottom left, rgba(0,0,0,0.85), transparent 70%);

            mask-image: radial-gradient(circle at bottom left, rgba(0,0,0,0.85), transparent 70%);

}



/* Titre "Bonjour [name]" - aligné à GAUCHE */

.dfoligo-h1-bonjour {

    margin: 30px 0 10px;

    font-size: 40px;

    line-height: 1.2;

    color: #1a1a1a;

    text-align: left;

    position: relative;

    display: inline-block;

    padding-bottom: 8px;

    font-weight: 400;

}

.dfoligo-h1-bonjour .dfoligo-h1-light { font-weight: 300; color: #000; }

.dfoligo-h1-bonjour .dfoligo-h1-bold { font-weight: 600; color: #000; }

.dfoligo-h1-bonjour-underline {

    background: url(../img/title-underline.png) no-repeat center bottom !important;

    height: 18px;

    width: 240px;

    display: block;

    margin: 0 auto;

    position: relative;

    right: -70px;

	    top: -8px;

}



.dfoligo-h1-subtitle {

    color: #000000;

    font-size: 26px;

    margin: 0 0 60px;

    text-align: left;

    font-weight: 300;

}



/* 6 grandes tuiles : 3 colonnes × 2 rangées */

.dfoligo-big-tiles-6 {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 32px 36px;

    margin-bottom: 60px;

}

@media (max-width: 900px) { .dfoligo-big-tiles-6 { grid-template-columns: 1fr 1fr; } }

@media (max-width: 600px) { .dfoligo-big-tiles-6 { grid-template-columns: 1fr; } }





/* === Page "Mon compte" — match maquette Mon_compte-practicien.png === */



.dfoligo-page-account {

    position: relative;

    overflow-x: hidden;

	min-height: 89.7vh;

}

.dfoligo-container-account { position: relative; z-index: 1; }



/* Titre "Mon compte / NAME" */

.dfoligo-h1-mc {

    margin: 30px 0 30px;

    text-align: left;

    line-height: 1.15;

}

.dfoligo-h1-mc-light {

    display: block;

    font-size: 39px;

    font-weight: 300;

    color: #000;

}

.dfoligo-h1-mc-bold {

	display: block;

    font-size: 40px;

    font-weight: 600;

    color: #000;

    margin-top: 4px;

}



/* Big card wrapping all info */

.dfoligo-mc-card {

    background: #fff;

    border-radius: 14px;

    box-shadow: 0 6px 24px rgba(40, 80, 130, .08);

    border: 1px solid #eaf1f7;

    padding: 36px 42px 40px;

    margin-bottom: 50px;

}



.dfoligo-mc-card-head {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 26px;

    flex-wrap: wrap;

    gap: 14px;

}

.dfoligo-mc-card-head h2 {

    margin: 0;

    font-size: 24px;

    color: #2A3159;

    font-weight: 600;

}



/* "Modifier" pill button */

.dfoligo-mc-edit-btn {

	background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 16px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 400;

    cursor: pointer;

    transition: background .15s ease;

}

.dfoligo-mc-edit-btn:hover,
.dfoligo-mc-edit-btn:focus { background: #2a3159; }



/* Photo */

.dfoligo-mc-photo-wrap {

    margin-bottom: 24px;

}

.dfoligo-mc-photo {

    position: relative;

    width: 124px;

    height: 124px;

    margin-left: 6px;

    /* PAS d'overflow:hidden ici sinon la pastille crayon est rognée */

}

.dfoligo-mc-photo-clip {

    position: absolute;

    inset: 0;

    border-radius: 50%;

    overflow: hidden;

    background: #e6f0f8;

}

.dfoligo-mc-photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

    border-radius: 50%;

}

.dfoligo-mc-photo-placeholder {

    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 28px;

    color: #60A1D8;

    font-weight: 700;

}

.dfoligo-mc-photo-edit {

    position: absolute;

    bottom: -2px;

    right: -2px;

    width: 33px;

    height: 33px;

    background: #60A1D8;

    color: #fff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    border: 1px solid #fff;

    transition: background .15s ease;

    z-index: 2;

}

.dfoligo-mc-photo-edit:hover,
.dfoligo-mc-photo-edit:focus { background: #2A3159; }

.dfoligo-mc-photo-edit .material-icons { font-size: 14px; }

.dfoligo-mc-photo-edit input[type="file"] {

    position: absolute;

    inset: 0;

    opacity: 0;

    cursor: pointer;

    width: 100%;

}



/* Rows phone / email / address */

.dfoligo-mc-row {

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 0;

}

.dfoligo-mc-row-address { align-items: flex-start; }



.dfoligo-mc-icon {

    width: 38px;

    height: 38px;

    color: #60A1D8;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}

.dfoligo-mc-icon .material-icons { font-size: 18px; }



.dfoligo-mc-row input {

	flex: 1;

    border: 0;

    padding: 6px 0;

    font-size: 16px;

    background: transparent;

    color: #2A3159;

    font-weight: 400;

}

.dfoligo-mc-row input:disabled {

    color: #2A3159;

    background: transparent;

    -webkit-text-fill-color: #2A3159;

    opacity: 1;

}

.dfoligo-mc-row input:focus {

    outline: none;

    border-bottom: 1px solid #60A1D8;

}



.dfoligo-mc-address {

    flex: 1;

    color: #2A3159;

    font-size: 16px;

    line-height: 1.2;

    padding: 6px 0;

}



.dfoligo-mc-submit {

    margin-top: 16px;

    text-align: right;

}



/* Lien d'affiliation + Code praticien */

.dfoligo-mc-aff-block {

    margin-top: 20px;

}

.dfoligo-mc-aff-row {

    display: flex;

    align-items: center;

    gap: 3px;

    padding: 10px 0;

    flex-wrap: wrap;

}

.dfoligo-mc-aff-label {

    color: #2A3159;

    font-size: 16px;

    min-width: 132px;

    font-weight: 400;

}

.dfoligo-mc-aff-pill {

    display: inline-block;

    background: #F0F8FD;

    color: #2A3159;

    padding: 10px;

    border-radius: 16px;

    font-size: 16px;

    font-weight: 400;

    word-break: break-all;

    max-width: 100%;

}

.dfoligo-mc-copy-btn {
    background: transparent;
    border: 0;
    color: #60A1D8;
    cursor: pointer;
    padding: 6px;
    border-radius: 50%;
    transition: background .15s ease;
}

/* v1.6.54 -- Decalage vertical limite au tableau des codes promos : le
   correctif global v1.6.53 desalignait le bouton dans les autres contextes. */
.dfoligo-mc-promo-table .dfoligo-mc-copy-btn {
    position: relative;
    top: 8px;
}

.dfoligo-mc-copy-btn:hover,
.dfoligo-mc-copy-btn:focus { background: #2a3159; color: #fff; }
.dfoligo-mc-copy-btn:hover img,
.dfoligo-mc-copy-btn:focus img { filter: brightness(20.5);}

.dfoligo-mc-copy-btn .material-icons { font-size: 18px; }



/* Divider */

.dfoligo-mc-divider {

    border: 0;

    border-top: 1px solid #eaf1f7;

    margin: 30px 0 26px;

}



/* Promo codes table */

.dfoligo-mc-promo-title {

    font-size: 17px;

    color: #1a1a1a;

    font-weight: 600;

    margin: 0 0 18px;

}

.dfoligo-mc-promo-table {

    width: 100%;

    border-collapse: collapse;

    border: 1px solid #eaf1f7;

    border-radius: 8px;

    overflow: hidden;

}

.dfoligo-mc-promo-table thead tr {

    background: #f0f6fb;

}

.dfoligo-mc-promo-table th {

    padding: 14px 18px;

    text-align: left;

    font-size: 13px;

    font-weight: 600;

    color: #5d6877;

}

.dfoligo-mc-promo-table tbody tr {

    border-top: 1px solid #f0f6fb;

}

.dfoligo-mc-promo-table tbody tr:nth-child(even) {

    background: #fafbfd;

}

.dfoligo-mc-promo-table td {

    padding: 16px 18px;

    font-size: 14px;

    color: #2c2c2c;

    vertical-align: middle;

}



/* Responsive */

@media (max-width: 700px) {

    .dfoligo-mc-card { padding: 24px 20px; }

    .dfoligo-h1-mc-bold { font-size: 24px; }

    .dfoligo-mc-aff-label { min-width: 100%; }

    .dfoligo-mc-promo-table { font-size: 13px; }

    .dfoligo-mc-promo-table th, .dfoligo-mc-promo-table td { padding: 10px 8px; }

}



/* === Popup "Rechercher" — match maquette Pop_up_Créer_un_protocole_partie_1/2.png === */



#dfoligo-popup-browse {

	margin-top: 60px;

}



.dfoligo-modal {

    position: fixed;

    inset: 0;

    z-index: 9999;

    display: flex;

    align-items: flex-start;

    justify-content: center;

    padding: 0;

    overflow-y: auto;

}

.dfoligo-modal[hidden] { display: none; }

.dfoligo-modal-backdrop {

    position: fixed;

    inset: 0;

    background: rgba(20, 30, 50, .55);

}

.dfoligo-modal-content {

    position: relative;

    background: #fff;

    border-radius: 8px;

    width: 100%;

    max-width: 1100px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);

    padding: 30px 38px 28px;

}

.dfoligo-popup-large { max-width: 1180px; }



.dfoligo-popup-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 28px;

}

.dfoligo-popup-h2 {

    margin-left: 22px;

    font-size: 32px;

    font-weight: 700;

    color: #000;

}

.dfoligo-popup-close {

    background: transparent;

    border: 0;

    cursor: pointer;

    color: #1a1a1a;

    padding: 4px;

    line-height: 0;

    border-radius: 50%;

    transition: background .15s ease;

}

.dfoligo-popup-close:hover,
.dfoligo-popup-close:focus { background: #f0f0f0; }

.dfoligo-popup-close .material-icons { font-size: 24px; }



.dfoligo-popup-search-pill {

    background: #fff;

    border-radius: 30px;

    padding: 4px 18px;

    display: flex;

    align-items: center;

    gap: 12px;

    box-shadow: 0 0px 10px 0 #60A1D840;

    border: 1px solid #ececec;

    margin-bottom: 18px;

}

.dfoligo-popup-search-pill .material-icons {

    color: #b0b0b0;

    font-size: 20px;

}

.dfoligo-popup-search-pill input {

    flex: 1;

    border: 0;

    outline: 0;

    padding: 10px 0;

    font-size: 14px;

    background: transparent;

    color: #2c2c2c;

}

/* v1.7.1 -- Placeholder plus lisible (Firefox applique une opacite par
   defaut sur ::placeholder : on la force a 1). */
.dfoligo-popup-search-pill input::placeholder { color: #5f6780; font-style: italic; opacity: 1; }
.dfoligo-popup-search-pill input::-moz-placeholder { color: #5f6780; font-style: italic; opacity: 1; }



.dfoligo-popup-search-info {

    color: #2A3159;

    font-size: 16px;

    margin: 0 18px 22px;

}

.dfoligo-popup-search-info strong { font-weight: 600; }



.dfoligo-popup-section-title {

    color: #60A1D8;

    font-size: 24px;

    font-weight: 600;

    margin: 30px 22px 18px;

    text-transform: uppercase;

}



/* === MODE BROWSE === */

.dfoligo-popup-acc {

    margin-bottom: 4px;

}

.dfoligo-popup-acc-head {

    width: 100%;

    background: transparent;

    color: #60A1D8;

    border: 0;

    border-bottom: 1px solid #e0e7ee;

    padding: 14px 8px;

    text-align: left;

    cursor: pointer;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: 0.5px;

    transition: color .15s ease;

}

.dfoligo-popup-acc-head:hover,
.dfoligo-popup-acc-head:focus { color: #4A8AC2; }

.dfoligo-popup-acc-head .material-icons {

    color: #60A1D8;

    transition: transform .2s ease;

}

.dfoligo-popup-acc.is-open .dfoligo-popup-acc-head .material-icons { transform: rotate(180deg); }

.dfoligo-popup-acc-body {

    padding: 14px 0;

    display: none;

}

.dfoligo-popup-acc.is-open .dfoligo-popup-acc-body { display: block; }

.dfoligo-popup-empty-section {

    padding: 12px 8px;

}



.dfoligo-popup-gammes {

    display: flex;

    flex-direction: column;

    gap: 10px;

}

.dfoligo-popup-gamme-band {

    width: 100%;

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 14px 22px;

    text-align: left;

    cursor: pointer;

    border-radius: 28px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 0.8px;

    transition: filter .15s ease, transform .15s ease;

}

.dfoligo-popup-gamme-band:hover,
.dfoligo-popup-gamme-band:focus {

    filter: brightness(1.08);

    transform: translateY(-1px);

}

.dfoligo-popup-gamme-band .material-icons { font-size: 20px; }



/* ============================================================

   MODE BROWSE — arbre catalogue 3 niveaux (v1.5.36)

   Style inspiré de la page Produits (.dfoligo-products-root /

   .dfoligo-products-subcat) mais adapté au contexte popup (plus compact).

   ============================================================ */

.dfoligo-popup-tree-root {

    margin-bottom: 50px;

}

.dfoligo-popup-tree-root-head {

    width: 100%;

    background: transparent;

    border: 0;

    border-bottom: 3px solid #60A1D8;

    padding: 14px 8px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    color: #60A1D8;

    font-size: 20px;

    font-weight: 700;

    letter-spacing: 1.5px;

    text-transform: uppercase;

	padding-left:42px;

}

.dfoligo-popup-tree-root-head:hover,
.dfoligo-popup-tree-root-head:focus { color: #4A8AC2; }

.dfoligo-popup-tree-root-head .material-icons {

    transition: transform .25s ease;

    color: #60A1D8;

}

.dfoligo-popup-tree-root.is-open .dfoligo-popup-tree-root-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-popup-tree-root-body {

    display: none;

    padding: 16px 0 4px;

}

.dfoligo-popup-tree-root.is-open .dfoligo-popup-tree-root-body {

    display: block;

}



/* Niveau 2 : sous-catégories colorées (barres) */

.dfoligo-popup-tree-subcat {

    margin-bottom: 10px;

    border-radius: 8px;

    overflow: hidden;

}

.dfoligo-popup-tree-subcat-head {

    width: 100%;

    color: #fff;

    border: 0;

    padding: 18px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    font-size: 20px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    border-radius: 16px;

    transition: filter .15s ease, transform .15s ease;

    /* background appliqué inline depuis $sub.color */

}

.dfoligo-popup-tree-subcat-head:hover,
.dfoligo-popup-tree-subcat-head:focus {

    filter: brightness(1.06);

    transform: translateY(-1px);

}

.dfoligo-popup-tree-subcat-head .material-icons {

    color: #fff;

    transition: transform .25s ease;

}

.dfoligo-popup-tree-subcat.is-open .dfoligo-popup-tree-subcat-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-popup-tree-subcat-body {

    display: none;

    padding: 14px 0 6px;

}

.dfoligo-popup-tree-subcat.is-open .dfoligo-popup-tree-subcat-body {

    display: block;

}

/* Cards produit à l'intérieur d'une sous-cat ouverte : on remet la marge

   verticale entre cards (le contexte browse n'utilise pas le `gap` de

   `.dfoligo-popup-products-list`). */

.dfoligo-popup-tree-subcat-body .dfoligo-popup-product-card {

    margin-bottom: 30px;

}

.dfoligo-popup-tree-subcat-body .dfoligo-popup-product-card:last-child {

    margin-bottom: 0;

}

.dfoligo-popup-tree-empty {

    padding: 10px 14px;

    font-style: italic;

}



/* ============================================================

   v1.5.37 — Section PROTOCOLES (contexte ordonnance)

   ============================================================ */



/* Espacement entre le titre PRODUITS et la section protocoles qui le précède */

.dfoligo-popup-section-title-spaced {

    margin-top: 32px;

}



.dfoligo-popup-browse-protocoles {

    display: flex;

    flex-direction: column;

    gap: 10px;

    margin-bottom: 10px;

}



/* Niveau 1 — Bande système (bleu pâle uniforme, accordion) */

.dfoligo-popup-tree-systeme {

    border-radius: 16px;

    overflow: hidden;

}

.dfoligo-popup-tree-systeme-head {

    width: 100%;

    background: #AAC7E2;

    color: #fff;

    border: 0;

    padding: 18px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    font-size: 20px;

    font-weight: 700;

    text-transform: uppercase;

    border-radius: 16px;

    transition: filter .15s ease, transform .15s ease;

}

.dfoligo-popup-tree-systeme-head:hover,
.dfoligo-popup-tree-systeme-head:focus {

    filter: brightness(0.96);

    transform: translateY(-1px);

}

.dfoligo-popup-tree-systeme-head .material-icons {

    color: #4a6890;

    transition: transform .25s ease;

}

.dfoligo-popup-tree-systeme.is-open .dfoligo-popup-tree-systeme-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-popup-tree-systeme-body {

    display: none;

    padding: 12px 0 4px;

}

.dfoligo-popup-tree-systeme.is-open .dfoligo-popup-tree-systeme-body {

    display: block;

}



/* Variante "Mes protocoles créés" — légèrement plus saturée */

.dfoligo-popup-tree-systeme-mine .dfoligo-popup-tree-systeme-head {

    background: #AAC7E2;

}



/* Niveau 2 — Header protocole bleu clair (accordion) */

.dfoligo-popup-tree-protocole {

    background: #e8f1f9;

    border-radius: 10px;

    margin-bottom: 10px;

    overflow: hidden;

}

/* v1.5.58 — Ligne d'en-tete protocole : case "tout le protocole" + bouton toggle */

.dfoligo-popup-tree-protocole-headrow {

    display: flex;

    align-items: start;

}

.dfoligo-popup-tree-protocole-headrow > .dfoligo-popup-group-cb {

    margin-left: 17px;

    flex-shrink: 0;

	margin-top: 22px;

}

.dfoligo-popup-tree-protocole-headrow > .dfoligo-popup-tree-protocole-head {

    flex: 1;

    padding-left: 6px;

}

.dfoligo-popup-tree-protocole-head {

    width: 100%;

    background: transparent;

    border: 0;

    padding: 20px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    color: #60A1D8;

    font-size: 16px;

    font-weight: 700;

    text-transform: uppercase;

    border-bottom: 1px solid transparent;

    transition: color .15s ease;

}

.dfoligo-popup-tree-protocole-head:hover,
.dfoligo-popup-tree-protocole-head:focus {

    color: #4A8AC2;

}

.dfoligo-popup-tree-protocole-head .material-icons {

    color: #60A1D8;

    transition: transform .25s ease;

}

.dfoligo-popup-tree-protocole.is-open .dfoligo-popup-tree-protocole-head {

    padding-bottom: 0;

}

.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-card:first-child {

    border-top: 2px solid #60A1D8;

    padding-top: 20px;

}

.dfoligo-popup-tree-protocole.is-open .dfoligo-popup-tree-protocole-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-popup-tree-protocole-body {

    display: none;

    padding: 14px 16px;

}

.dfoligo-popup-tree-protocole.is-open .dfoligo-popup-tree-protocole-body {

    display: block;

}

.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-card {

	margin-bottom: 12px;

    border-bottom: 2px solid #60A1D840;

    border-radius: 0;

}

.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-card:last-child {

    border-bottom: 0;

}

.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-card:last-child {

    margin-bottom: 0;

}



/* Mode RÉSULTATS — protocole englobant les cards produits (image 1).

   Identique au header de protocole en mode browse, mais toujours « ouvert »

   (pas de toggle), avec un padding plus généreux. */

.dfoligo-popup-results-protocole {

    background: #e8f1f9;

    border-radius: 10px;

    overflow: hidden;

    margin-bottom: -4px;

}

.dfoligo-popup-results-protocole-head {

    padding: 16px 22px;

    color: #60A1D8;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    border-bottom: 1px solid #cfe2f0;

}

.dfoligo-popup-results-protocole-body {

    padding: 16px;

}

.dfoligo-popup-results-protocole-body .dfoligo-popup-product-card {

    margin-bottom: 12px;

}

.dfoligo-popup-results-protocole-body .dfoligo-popup-product-card:last-child {

    margin-bottom: 0;

}



/* ============================================================

   v1.5.38 — Phases de protocole

   Un protocole peut avoir plusieurs phases (cures successives). Chaque

   phase est rendue comme un sous-groupe (header PHASE N + cards produit).

   ============================================================ */

.dfoligo-popup-phase {

    margin-bottom: 14px;

}

.dfoligo-popup-phase:last-child {

    margin-bottom: 0;

}

.dfoligo-popup-phase-head {

    margin: 0 0 10px;

    padding: 8px 14px;

    color: #1a2840;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

	font-size: 16px;

	padding: 1px;

}

.dfoligo-popup-phase-body {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



/* v1.5.57 — Case maître "tout le protocole" / "toute la phase" */

.dfoligo-popup-group-selectall {

    display: flex;

    align-items: center;

    gap: 10px;

    cursor: pointer;

    user-select: none;

}

.dfoligo-popup-group-cb {

    width: 20px;

    height: 20px;

    margin: 0;

    accent-color: #60A1D8;

    cursor: pointer;

    flex-shrink: 0;

	margin-right: 8px;

}



/* === MODE RÉSULTATS === */

.dfoligo-popup-products-list,

.dfoligo-popup-protocoles-list {

    display: flex;

    flex-direction: column;

    gap: 22px;

}

.dfoligo-popup-empty-results {

    text-align: center;

    color: #888;

    padding: 30px;

}



/* Card produit (avec checkbox) */

.dfoligo-popup-product-card,

.dfoligo-popup-protocole-card {

    border-radius: 8px;

}



.dfoligo-popup-product-head {

    display: flex !important;

    align-items: baseline;

    gap: 14px;

    cursor: pointer;

    margin-bottom: 6px;

    user-select: none;

}

.dfoligo-popup-product-cb,

.dfoligo-popup-protocole-cb {

    width: 20px;

    height: 20px;

    margin-top: 2px;

    accent-color: #60A1D8;

    cursor: pointer;

    flex-shrink: 0;

}

.dfoligo-popup-product-title-wrap {

    flex: 1;

    display: flex;

    flex-direction: column;

	position: relative;

    top: -6px;

}

.dfoligo-popup-product-name {

    font-size: 16px;

    font-weight: 700;

    color: #2A3159;

    margin-bottom: 2px;

}

.dfoligo-popup-product-slogan {

    font-style: italic;

    color: #2A3159;

    font-size: 12px;

    text-transform: none;

    margin-top: -4px;

	letter-spacing: 1.5%;

}

/* v1.5.87 — Première lettre du slogan en majuscule. */

.dfoligo-popup-product-slogan::first-letter {

    text-transform: uppercase;

}



/* 3-column grid (Indications/Posologie/Contre-indications + En savoir +) */

.dfoligo-popup-product-grid {

    background: #f0f7fc;

    border-radius: 8px;

    overflow: hidden;

}

.dfoligo-popup-product-grid-head {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 128px;

    gap: 18px;

    padding: 26px 50px;

    border-bottom: 2px solid #60A1D8;

    color: #2A3159;

    font-size: 14px;

    font-weight: 700;	background: #e8f1f9;

}

.dfoligo-popup-product-grid-body {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 128px;

    gap: 18px;

    padding: 26px 50px;

    background: #F8F8F8;

    align-items: start;

}#dfoligo-popup-results .dfoligo-popup-product-grid-body {    background: #e8f1f9;}

.dfoligo-popup-product-col {

    color: #2A3159;

    font-size: 12px;

    line-height: 1.5;

}

.dfoligo-popup-product-cond {

    margin: 8px 0 0;

    font-size: 12px;

    color: #2A3159;

    line-height: 1.5;

}

.dfoligo-popup-product-col-action { display: flex; align-self: flex-end; }

.dfoligo-popup-savoir-btn {

	background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 15px 24px;

    border-radius: 8px;

    font-size: 16px;

    font-weight: 500;

    cursor: pointer;

    text-decoration: none;

    display: inline-block;

    width: 100%;

    box-sizing: border-box;

    text-align: center;

    transition: background .15s ease;

}

.dfoligo-popup-savoir-btn:hover,
.dfoligo-popup-savoir-btn:focus { background: #60A1D8; color: #fff; }



/* Liste des produits dans une card protocole */

.dfoligo-popup-protocole-prods {

    list-style: none;

    margin: 0;

    padding: 8px 0 0 34px;

    font-size: 13px;

    color: #6c7990;

}

.dfoligo-popup-protocole-prods li { padding: 2px 0; }



/* Footer avec bouton "Ajouter à l'ordonnance" */

.dfoligo-popup-footer {

    display: flex;

    justify-content: flex-end;

    align-items: center;

    gap: 16px;

    margin-top: 30px;

    padding-top: 20px;

    border-top: 1px solid #f0f0f0;

}

/* v1.6.6 -- Des qu'une selection existe (classe posee par praticien.js),

   le footer se colle en bas de la popup : le CTA d'ajout reste visible

   sans scroller. Marges negatives = pleine largeur du modal-content

   (padding 30px 38px 28px). */

.dfoligo-popup-footer.is-sticky {

    position: sticky;

    bottom: 0;

    z-index: 6;

    margin: 30px -38px -28px;

    padding: 14px 38px;

    background: #fff;

    border-top: 1px solid #e6ebf2;

    border-radius: 0 0 8px 8px;

    box-shadow: 0 -8px 20px rgba(20, 30, 50, .10);

}

.dfoligo-popup-footer-count {

    font-size: 14px;

    font-weight: 600;

    color: #2a3159;

}

.dfoligo-popup-footer .dfoligo-co-action-btn:disabled,
.dfoligo-popup-footer .dfoligo-co-action-btn:disabled:hover,
.dfoligo-popup-footer .dfoligo-co-action-btn:disabled:focus {

    /* v1.5.63 — grisé par défaut, aucun changement de fond au survol */

    background: #c4ccd8;

    color: #fff !important;

    opacity: 1;

    cursor: not-allowed;

}



/* Responsive */

@media (max-width: 800px) {

    .dfoligo-modal-content { padding: 20px; }

    /* v1.6.6 -- aligne les marges negatives du footer sticky sur le

       padding mobile du modal-content */

    .dfoligo-popup-footer.is-sticky { margin: 20px -20px -20px; padding: 12px 20px; }

    .dfoligo-popup-product-grid-head,

    .dfoligo-popup-product-grid-body {

        grid-template-columns: 1fr;

        gap: 10px;

    }

    .dfoligo-popup-product-grid-head { display: none; }

    .dfoligo-popup-product-grid-body > * { padding: 6px 0; }

    .dfoligo-popup-savoir-btn { width: auto; padding: 9px 22px; }

}



/* "Afficher plus" link (centered, teal) — utilisé sur Événements et Médiathèque */

.dfoligo-show-more-wrap {

    text-align: center;

    margin: 20px 0 40px;

}

.dfoligo-show-more-link {

    color: #60A1D8;

    font-size: 14px;

    text-decoration: underline;

    transition: color .15s ease;

}

.dfoligo-show-more-link:hover,
.dfoligo-show-more-link:focus {

    color: #4A8AC2;

}



/* === Confirmation modal "Votre sélection a bien été ajoutée à l'ordonnance" ===

   v1.5.38 — position: fixed (et non plus absolute) pour que la card de

   confirmation soit centrée dans le viewport, indépendamment du scroll

   à l'intérieur du popup parent. Le z-index dépasse celui de .dfoligo-modal

   (9999) pour passer au-dessus du backdrop. */

.dfoligo-popup-confirm {

    position: fixed;

    inset: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(20, 30, 50, .35);

    z-index: 10001;

    backdrop-filter: blur(3px);

    -webkit-backdrop-filter: blur(3px);

}

.dfoligo-popup-confirm[hidden] { display: none; }



.dfoligo-popup-confirm-card {

    background: #fff;

    border-radius: 16px;

    padding: 44px 56px 40px;

    box-shadow: 0 14px 44px rgba(0, 0, 0, .18);

    text-align: center;

    max-width: 560px;

    width: 90%;

}



.dfoligo-popup-confirm-check {

    margin: 0 0 22px;

    display: flex;

    justify-content: center;

}



.dfoligo-popup-confirm-text {

    font-size: 22px;

    color: #1a1a1a;

    font-weight: 700;

    margin: 0 0 30px;

    line-height: 1.35;

}



.dfoligo-popup-confirm-actions {

    display: flex;

    justify-content: center;

    gap: 14px;

    flex-wrap: wrap;

}



/*variante "ghost" pour le bouton secondaire "Continuer d'ajouter" */

.dfoligo-co-action-btn-ghost {

    background: transparent;

    color: #60A1D8;

    border: 1px solid #60A1D8;

}

.dfoligo-co-action-btn-ghost:hover,
.dfoligo-co-action-btn-ghost:focus-visible,
.dfoligo-co-action-btn-ghost:focus {

    background: rgba(96, 161, 216, .12);

    color: #2a3159 !important;

    border-color: #2a3159;

}



/* v1.6.43 -- Avertissement doublon : reprend la card de confirmation, avec la

   liste des produits deja presents sous le message. */

.dfoligo-popup-duplicate { z-index: 10002; }

.dfoligo-popup-duplicate .dfoligo-popup-confirm-text { margin-bottom: 10px; }

.dfoligo-popup-duplicate-names {

    font-size: 16px;

    font-weight: 600;

    color: #60A1D8;

    line-height: 1.4;

    margin: 0 0 28px;

}

.dfoligo-popup-duplicate-names:empty { display: none; }



@media (max-width: 500px) {

    .dfoligo-popup-confirm-card { padding: 32px 22px 28px; }

    .dfoligo-popup-confirm-text { font-size: 19px; }

    .dfoligo-popup-confirm-actions .dfoligo-co-action-btn { width: 100%; }

}



/* === Popup d'aperçu commande/ordonnance (page Historique & Suivi) === */

.dfoligo-hist-preview-card {

    max-width: 720px;

    padding: 40px 50px;

}



.dfoligo-hist-preview-card .dfoligo-popup-close {

    position: absolute;

    top: 20px;

    right: 24px;

}



.dfoligo-hist-preview-section {

    margin-bottom: 28px;

}

.dfoligo-hist-preview-section:last-child { margin-bottom: 0; }



.dfoligo-hist-preview-section h4 {

    color: #a8c5dc;

    font-size: 18px;

    font-weight: 500;

    margin: 0 0 8px;

}



.dfoligo-hist-preview-section p {

    margin: 0;

    color: #1a2840;

    font-size: 17px;

    font-weight: 700;

}



.dfoligo-hist-preview-products {

    list-style: none;

    margin: 0;

    padding: 0;

}

.dfoligo-hist-preview-products li {

    color: #1a2840;

    font-size: 16px;

    font-weight: 400;

    padding: 14px 0;

    border-bottom: 1px solid #e0eaf2;

}

.dfoligo-hist-preview-products li:last-child { border-bottom: 0; }

.dfoligo-hist-preview-products li:first-child { padding-top: 4px; }



@media (max-width: 600px) {

    .dfoligo-hist-preview-card { padding: 28px 24px; }

}



/* === Footer praticien Oligosanté — bande bleue avec logo + liens === */

.dfoligo-praticien-footer {

    background: #60A1D8;

    color: #fff;

    padding: 100px 30px;

	position:relative;

}



.dfoligo-praticien-footer:after {

    content: '';

    position: absolute;

    top: 0;

    right: 0;

    left: -100%;

    bottom: 0;

    height: 100%;

    width: 280%;

    background: #60A1D8;

    z-index: -1;

}



.dfoligo-praticien-footer-inner {

    max-width: 1300px;

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 30px;

    flex-wrap: wrap;

}



.dfoligo-praticien-footer-logo {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}

.dfoligo-footer-laboratoires {

    font-size: 11px;

    letter-spacing: 4px;

    font-weight: 500;

    color: #fff;

    text-transform: uppercase;

}

.dfoligo-footer-oligosante {

    font-size: 24px;

    font-weight: 700;

    color: #fff;

    letter-spacing: 2px;

    margin-top: 2px;

}



.dfoligo-praticien-footer-links {

    display: flex;

    gap: 40px;

}

.dfoligo-praticien-footer-links a {

    color: #fff;

    text-decoration: none;

    font-size: 16px;

	font-weight: 600;

    transition: opacity .15s ease;

}

.dfoligo-praticien-footer-links a:hover,
.dfoligo-praticien-footer-links a:focus { opacity: 0.8; }



@media (max-width: 700px) {

    .dfoligo-praticien-footer-inner {

        flex-direction: column;

        text-align: center;

        gap: 24px;

    }

    .dfoligo-praticien-footer-logo {

        align-items: center;

        border-left: 0;

        border-top: 0;

        padding-left: 0;

        padding-top: 12px;

    }

    .dfoligo-praticien-footer-links { gap: 24px; flex-wrap: wrap; justify-content: center; }

}



/* Override link focus/hover styles on praticien pages */

.dfoligo-page a:focus {

    outline: 0;

    outline-offset: 0;

}



.dfoligo-page a:hover,
.dfoligo-page a:focus {

    color: #2a3159;

}



/* === Page Login praticien — /espace-praticien === */

.dfoligo-page-login {

    min-height: 100vh;

    display: flex;

    flex-direction: column;

}



.dfoligo-login-container {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 60px 20px;

}



.dfoligo-login-card {

    background: #fff;

    border-radius: 16px;

    box-shadow: 0 8px 32px rgba(40, 80, 130, .12);

    padding: 50px 60px;

    max-width: 480px;

    width: 100%;

    text-align: center;

}



.dfoligo-login-logo {

    display: flex;

    flex-direction: column;

    align-items: center;

    border-left: 2px solid #60A1D8;

    padding-left: 20px;

    margin-bottom: 36px;

    width: fit-content;

    margin-left: auto;

    margin-right: auto;

}

.dfoligo-login-laboratoires {

    font-size: 11px;

    letter-spacing: 4px;

    color: #60A1D8;

    text-transform: uppercase;

}

.dfoligo-login-oligosante {

    font-size: 24px;

    font-weight: 700;

    color: #1a2840;

    letter-spacing: 2px;

}



.dfoligo-login-title {

    font-size: 28px;

    font-weight: 600;

    color: #1a1a1a;

    margin: 0 0 32px;

    position: relative;

    display: inline-block;

}

.dfoligo-login-title .dfoligo-underline-historique {

    display: block;

    margin-top: 6px;

}



.dfoligo-login-alert {

    background: #fde8eb;

    color: #c0395a;

    padding: 12px 16px;

    border-radius: 8px;

    margin-bottom: 22px;

    display: flex;

    align-items: center;

    gap: 10px;

    text-align: left;

    font-size: 14px;

}

.dfoligo-login-alert .material-icons { font-size: 20px; flex-shrink: 0; }



.dfoligo-login-form {

    display: flex;

    flex-direction: column;

    gap: 18px;

    text-align: left;

}



.dfoligo-login-field {

    display: block;

}

.dfoligo-login-label {

    display: block;

    color: #2c2c2c;

    font-size: 14px;

    margin-bottom: 6px;

    font-weight: 500;

}

.dfoligo-login-field input {

    width: 100%;

    padding: 13px 18px;

    border: 1px solid #e0e7ee;

    border-radius: 30px;

    font-size: 14px;

    color: #2c2c2c;

    background: #fff;

    outline: 0;

    transition: border-color .15s ease;

    box-sizing: border-box;

}

.dfoligo-login-field input:focus {

    border-color: #60A1D8;

}



.dfoligo-login-btn {

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 14px 28px;

    border-radius: 30px;

    font-size: 15px;

    font-weight: 600;

    cursor: pointer;

    transition: background .15s ease;

    margin-top: 8px;

}

.dfoligo-login-btn:hover,
.dfoligo-login-btn:focus { background: #4A8AC2; }



.dfoligo-login-help {

    margin-top: 28px;

    color: #6c7990;

    font-size: 13px;

    line-height: 1.6;

}



@media (max-width: 540px) {

    .dfoligo-login-card {

        padding: 32px 24px;

    }

    .dfoligo-login-title { font-size: 22px; }

}



/* SVG icons sizing in Mon compte page */

.dfoligo-mc-photo-edit img {

    width: 18px;

    height: 18px;

    display: block;

    position: relative;

    top: 7px;

    margin: auto;

    object-fit: contain;

    border-radius: 0;

}

.dfoligo-mc-icon img {

    width: 24px;

    height: 24px;

    display: block;

}

.dfoligo-mc-copy-btn img {

    width: 24px;

    height: 24px;

    display: block;

}



/* === Logos header/footer en images === */

.dfoligo-brand-logo {

    height: 39px;

    width: auto;

    display: block;

}

.dfoligo-footer-logo-img {

    height: 58px;

    width: auto;

    display: block;

}



/* Bell icon en SVG */

.dfoligo-bell-btn .dfoligo-bell-icon {

    width: 24px;

    height: 24px;

    display: block;

}



.dfoligo-underline-historique {

    background: url(../img/title-underline.png) no-repeat center bottom !important;

    height: 18px;

    width: 240px ;

    display: block;

    margin: 0 auto;

}



/* === Historique — icônes SVG personnalisées === */

.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn {

    background: #F0F8FD;

    color: #60A1D8;

    width: 30px;

    height: 30px;

    margin-right: 14px;

    padding: 0px;

    border-radius: 50%;

    transition: background .15s ease;

}



.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn:hover,
.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn:focus {

    background: #2A3159;
    color: #fff;

    transform: none;

}
.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn:hover img,
.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn:focus img {
filter: brightness(46.5);
}


.dfoligo-historique-table .dfoligo-col-actions .dfoligo-action-btn .dfoligo-action-icon {

    display: block;

    pointer-events: none;

}



/* Tailles natives des SVG fournis */

.dfoligo-action-icon-eye      { width: 22px; height: 17px; }

.dfoligo-action-icon-download { width: 18px; height: 18px; }

.dfoligo-action-icon-copy     { width: 20px; height: 20px; }

.dfoligo-action-icon-send     { width: 21px; height: 20px; }



/* === Flash messages — historique === */

.dfoligo-flash {

    border-radius: 8px;

    padding: 12px 18px;

    margin: 0 0 18px;

    font-size: 14px;

    line-height: 1.4;

}



.dfoligo-flash-success {

    background: #e8f5e9;

    color: #2e7d32;

    border: 1px solid #c8e6c9;

}



.dfoligo-flash-error {

    background: #fdecea;

    color: #c62828;

    border: 1px solid #f5c6cb;

}



/* === Drawer mobile === */



/* Burger button — masqué sur desktop */

.dfoligo-burger {

    display: none;

    background: transparent;

    border: 0;

    padding: 0;

    cursor: pointer;

}



/* Croix de fermeture interne au drawer — masquée sur desktop */

.dfoligo-nav-close {

    display: none;

    background: transparent;

    border: 0;

    padding: 8px;

    cursor: pointer;

    color: #2A3159;

}



/* Item Déconnexion DANS la nav — masqué sur desktop (a déjà le bouton à droite) */

.dfoligo-nav-item-mobile {

    display: none;

}



/* Backdrop drawer mobile */

.dfoligo-drawer-backdrop {

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, .42);

    opacity: 0;

    pointer-events: none;

    transition: opacity .25s ease;

    z-index: 1090;

}



.dfoligo-drawer-backdrop[hidden] { display: none; }



@media (max-width: 980px) {

    /* ===== Header reflow ===== */

    .dfoligo-header {

        margin-top: 12px;

        padding: 10px 0;

    }

    .dfoligo-header-inner {

        flex-wrap: nowrap;

        gap: 12px;

        justify-content: space-between;

    }



    /* Burger 3 traits visibles à gauche */

    .dfoligo-burger {

        display: inline-flex;

        flex-direction: column;

        justify-content: space-between;

        width: 28px;

        height: 22px;

        flex: 0 0 auto;

    }

    .dfoligo-burger span {

        display: block;

        height: 3px;

        width: 100%;

        background: #2A3159;

        border-radius: 2px;

        transition: transform .25s ease, opacity .2s ease;

    }

    .dfoligo-burger[aria-expanded="true"] span:nth-child(1) {

        transform: translateY(9px) rotate(45deg);

    }

    .dfoligo-burger[aria-expanded="true"] span:nth-child(2) {

        opacity: 0;

    }

    .dfoligo-burger[aria-expanded="true"] span:nth-child(3) {

        transform: translateY(-10px) rotate(-45deg);

    }



    /* Logo réduit pour gagner de la place */

    .dfoligo-brand-logo {

        height: 32px;

    }

    .dfoligo-brand {

        flex: 1 1 auto;

        justify-content: flex-start;

    }



    /* ===== Nav devient drawer fixe à gauche, hors écran par défaut ===== */

    .dfoligo-nav {

        position: fixed;

        top: 0;

        left: 0;

        width: 290px;

        max-width: 85vw;

        height: 100vh;

        background: #fff;

        flex-direction: column;

        align-items: stretch;

        justify-content: flex-start;

        gap: 0;

        padding: 14px 0 24px;

        box-shadow: 4px 0 24px rgba(0, 0, 0, .14);

        transform: translateX(-100%);

        transition: transform .28s ease;

        z-index: 1100;

        overflow-y: auto;

        flex: 0 0 auto; /* annule le flex:1 du desktop */

    }



    .dfoligo-nav-close {

        display: inline-flex;

        align-self: flex-end;

        margin: 0 8px 6px 0;

    }

    .dfoligo-nav-close .material-icons { font-size: 26px; }



    .dfoligo-nav-item {

        padding: 14px 24px;

        border-bottom: 1px solid #f0f0f0;

        font-size: 15px;

        text-align: left;

        border-radius: 0;

    }

    .dfoligo-nav-item:hover,
.dfoligo-nav-item.is-active,
.dfoligo-nav-item:focus {

        background: #f7fafd;

        border-bottom-color: #f0f0f0; /* annule la border-bottom bleue du desktop */

        color: #60A1D8;

    }



    .dfoligo-nav-item-mobile {

        display: block; /* affiche l'item Déconnexion DANS la nav */

    }

    .dfoligo-nav-item-logout {

        margin-top: 12px;

        color: #60A1D8;

        font-weight: 700;

    }



    /* ===== Header actions sur mobile ===== */

    .dfoligo-header-actions {

        gap: 8px;

    }

    .dfoligo-avatar {

        width: 42px;

        height: 42px;

    }

    .dfoligo-logout-desktop {

        display: none; /* remplacé par l'item dans le drawer */

    }



    /* ===== États ouverts ===== */

    body.dfoligo-drawer-open {

        overflow: hidden; /* empêche le scroll du body derrière */

    }

    body.dfoligo-drawer-open .dfoligo-nav {

        transform: translateX(0);

    }

    body.dfoligo-drawer-open .dfoligo-drawer-backdrop {

        opacity: 1;

        pointer-events: auto;

    }

}



@media (max-width: 480px) {

    .dfoligo-brand-logo { height: 28px; }

    .dfoligo-avatar { width: 38px; height: 38px; }

    .dfoligo-bell-btn .dfoligo-bell-icon { width: 22px; height: 22px; }

}



/* === Bouton filtre dans la search bar médiathèque === */

.dfoligo-search-pill-large .dfoligo-search-trailing .dfoligo-search-trailing-icon {

    width: 20px;

    height: 20px;

    display: block;

    filter: brightness(0) invert(1); /* SVG bleu forcé blanc sur fond bleu */

}



/* Adresse éditable — v1.5.24+

   ============================================================ */

.dfoligo-mc-address-fields {

    flex: 1;

    display: flex;

    flex-direction: column;

    gap: 4px;

    padding: 6px 0;

}

.dfoligo-mc-address-fields .dfoligo-mc-input {

    flex: 1;

    border: 0;

    padding: 4px 0;

    font-size: 16px;

    background: transparent;

    color: #2A3159;

    font-weight: 400;

    width: 100%;

}

.dfoligo-mc-address-fields .dfoligo-mc-input:disabled {

    color: #2A3159;

    background: transparent;

    -webkit-text-fill-color: #2A3159;

    opacity: 1;

}

.dfoligo-mc-address-fields .dfoligo-mc-input:focus {

    outline: none;

    border-bottom: 1px solid #60A1D8;

}

.dfoligo-mc-address-row {

    display: flex;

    gap: 12px;

}

.dfoligo-mc-input-postcode {

    flex: 0 0 90px !important;

}

.dfoligo-mc-input-city {

    flex: 1 !important;

}

.dfoligo-mc-row-address {

    align-items: flex-start !important;

}



/* ============================================================

   Espace praticien — Page de login

   ============================================================

   Reprend la structure du thème (#login_register .bgs .container

   .login .form) tout en respectant les overrides éventuels du

   thème déjà chargé. Si le thème définit déjà ces sélecteurs,

   ses styles s'appliquent ; sinon ce fichier fournit un fallback

   propre conforme à la maquette.

   ============================================================ */



/* Bloc général : fond clair + spacing similaire aux pages PS auth */



html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin #header, html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin #wrapper .breadcrumb, html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin .footer-container, html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin #fb9d975c-309f-43e1-8f7f-a19ad492f55b {

    display: block !important;

}

html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin #wrapper .breadcrumb li:after {

	content:"Espace Praticien";

    color: #fff;

	display:inline-flex;

}

html.dfoligo-praticien-page #module-datafireflyoligosante-praticienlogin #wrapper .breadcrumb li span:after {

    margin: 0.3125rem;

    color: #4192d1;

    content: '>';

	margin-left: 12px;

}



.dfoligo-praticien-page #footer .blockreassurance {

    display: none;

}

.dfoligo-praticien-page #wrapper {

	min-height: 48vw;

}



.dfoligo-praticien-page #login_register .bgs .container .login .form {

    text-align: left;

}



.dfoligo-praticien-login-page {

    padding: 0;

    margin: 0;

}

#module-datafireflyoligosante-praticienlogin main {

    width: 100%;

    background-position: top 150px center;

    background-size: 100% auto;

    background-repeat: no-repeat;

    background-image: url(https://www.oligosante.com/themes/neptune/assets/css/fond_compte.8ac0bfa6.jpg);

    position: relative;

    margin-bottom: 100px;

    min-height: 90vh;

}





.dfoligo-praticien-login-page .container {

    max-width: 1280px;

    margin: 0 auto;

    padding: 0 30px;

}



.dfoligo-praticien-login-page .login {

    display: flex;

    align-items: flex-start;

    justify-content: flex-start;

}



.dfoligo-praticien-login-page .login .form {

    background: #f4f7fa;

    padding: 60px 70px;

    max-width: 560px;

    width: 100%;

    border-radius: 0;

}



/* Titre "Bienvenue" — police cursive (Autography si dispo dans le thème) */

.dfoligo-praticien-login-page .login .form h1 {

    text-align: left;

    color: #5fa2d6;

    margin-bottom: -0.5rem;

    font-family: 'Autography', 'Brush Script MT', cursive;

    font-size: 4rem;

    font-weight: normal;

    line-height: 1.1;

}

@media (min-width: 800px) {

    .dfoligo-praticien-login-page .login .form h1 {

        font-size: 6rem;

    }

}



/* Sous-titre "Connectez-vous à votre compte" */

.dfoligo-praticien-login-page .login .form p {

    text-align: left;

    color: #121b35;

    margin-bottom: 3rem;

    font-family: 'RM Neue', system-ui, -apple-system, sans-serif;

    font-size: 1.4rem;

    font-weight: 300;

}



/* Champs */

.dfoligo-login-form-v2 {

    display: flex;

    flex-direction: column;

    gap: 24px;

}



.dfoligo-login-field-v2 label {

    display: block;

    text-transform: uppercase;

    color: #5fa2d6;

    font-size: 12px;

    letter-spacing: 2px;

    margin-bottom: 8px;

    font-weight: 500;

}



.dfoligo-login-field-v2 input[type="text"],

.dfoligo-login-field-v2 input[type="password"] {

    width: 100%;

    background: #e8eef7;

    border: 1px solid #d4dde9;

    padding: 14px 18px;

    font-size: 16px;

    color: #121b35;

    outline: 0;

    box-sizing: border-box;

}

.dfoligo-login-field-v2 input[type="text"]:focus,

.dfoligo-login-field-v2 input[type="password"]:focus {

    border-color: #5fa2d6;

}



/* Password toggle "Montrer" / "Masquer" */

.dfoligo-password-wrap {

    position: relative;

}

.dfoligo-password-toggle {

    position: absolute;

    right: 18px;

    top: 50%;

    transform: translateY(-50%);

    background: transparent;

    border: 0;

    cursor: pointer;

    font-size: 14px;

    text-decoration: underline;

    padding: 0;

	color: #8d8d8d;

}

.dfoligo-password-toggle:hover,
.dfoligo-password-toggle:focus {

    color: #5fa2d6;

}



.dfoligo-login-btn-v2:hover,
.dfoligo-login-btn-v2:focus {

    background: #4a8ec2;

}



/* Alerte erreur — discrète au-dessus du form */

.dfoligo-login-alert-v2 {

    margin-bottom: 16px;

}

.dfoligo-login-btn-v2 {

    text-transform: uppercase;

    letter-spacing: 1.5px;

    width: 100%;

    color: #fff;

    text-align: center;

    cursor: pointer;

    background: #5fa2d6;

    border: 0;

    outline: 0;

    padding: 1.6rem;

    font-family: 'RM Neue';

    font-size: 0.85rem;

    font-weight: normal;

    display: block;

	margin-top: 1.2rem;

}

.dfoligo-password-wrap {

	position:relative;

}





/* Responsive */

@media (max-width: 900px) {



    .dfoligo-praticien-login-page .login .form {

        padding: 32px 24px;

    }

    .dfoligo-praticien-login-page .login .form h1 {

        font-size: 4rem;

    }

}



/* ============================================================

   Page Contact — vue liste + formulaire (v1.5.27)

   ============================================================ */

.dfoligo-container-contact {

    max-width: 1100px;

    margin: 0 auto;

    padding: 40px 30px 60px;

}



.dfoligo-contact-section {

    margin-bottom: 30px;

}



.dfoligo-contact-section-head {

    margin-bottom: 20px;

}

.dfoligo-contact-eyebrow {

    display: block;

    text-transform: uppercase;

    letter-spacing: 2px;

    color: #8b95a8;

    font-size: 12px;

    margin-bottom: 6px;

    font-weight: 500;

}

.dfoligo-contact-section-title {

    font-size: 20px;

    color: #1a2840;

    font-weight: 700;

    margin: 0;

}



.dfoligo-contact-section-desc {

    color: #8b95a8;

    font-size: 14px;

    line-height: 1.6;

    margin: 14px 0 22px;

    max-width: 650px;

}



.dfoligo-contact-cta {

    display: inline-block;

    background: #60A1D8;

    color: #fff;

    padding: 12px 24px;

    border-radius: 4px;

    text-decoration: none;

    font-size: 14px;

    transition: background .15s ease;

}

.dfoligo-contact-cta:hover,
.dfoligo-contact-cta:focus {

    background: #4A8AC2;

    color: #fff;

    text-decoration: none;

}



.dfoligo-contact-divider {

    border: 0;

    border-top: 1px solid #e6e8ed;

    margin: 40px 0;

}



/* Cartes contact */

.dfoligo-contact-cards {

    display: flex;

    flex-direction: column;

    gap: 16px;

}



.dfoligo-contact-card {

    background: #fff;

    border: 1px solid #e6e8ed;

    border-radius: 12px;

    padding: 24px 28px;

    display: grid;

    grid-template-columns: 1fr 1fr auto;

    align-items: center;

    gap: 24px;

}

.dfoligo-contact-card-name {

    font-size: 18px;

    color: #1a2840;

    font-weight: 700;

}

/* v1.5.68 — Demandes concernées du contact de service */

.dfoligo-contact-card-desc {

    margin: 4px 0 0;

    font-size: 14px;

    line-height: 1.4;

    color: #5a6a85;

    font-style: italic;

}

.dfoligo-contact-card-info {

    display: flex;

    flex-direction: column;

    gap: 6px;

}

.dfoligo-contact-info-line {

    display: flex;

    align-items: center;

    gap: 12px;

    color: #1a2840;

    font-size: 14px;

}

.dfoligo-contact-info-icon {

    width: 18px;

    height: 18px;

    flex-shrink: 0;

}



.dfoligo-contact-card-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    background: #60A1D8;

    color: #fff;

    padding: 12px 22px;

    border-radius: 4px;

    text-decoration: none;

    font-size: 14px;

    transition: background .15s ease;

    white-space: nowrap;

}

.dfoligo-contact-card-btn:hover,
.dfoligo-contact-card-btn:focus,
.dfoligo-contact-card-btn:focus {

    background: #2a3159;

    color: #fff !important;

    text-decoration: none;

}

.dfoligo-contact-card-btn-arrow {

    font-size: 16px;

    transform: rotate(-45deg);

    display: inline-block;

}



@media (max-width: 800px) {

    .dfoligo-contact-card {

        grid-template-columns: 1fr;

        gap: 16px;

    }

    .dfoligo-contact-card-btn {

        justify-self: flex-start;

    }

}



/* Formulaire */

.dfoligo-contact-form {

    max-width: 720px;

    margin: 0 auto; /* v1.5.63 — formulaire centré */

    background: #fff;

    border: 1px solid #e6e8ed;

    border-radius: 12px;

    padding: 32px;

    display: flex;

    flex-direction: column;

    gap: 22px;

}

.dfoligo-contact-form-item {

    display: flex;

    flex-direction: column;

    gap: 8px;

}

.dfoligo-contact-form-item label {

    color: #2c2c2c;

    font-size: 14px;

    font-weight: 500;

}

.dfoligo-contact-form-item input,

.dfoligo-contact-form-item select,

.dfoligo-contact-form-item textarea {

    width: 100%;

    border: 1px solid #d4dde9;

    border-radius: 6px;

    padding: 12px 14px;

    font-size: 14px;

    color: #1a2840;

    background: #fff;

    box-sizing: border-box;

    margin-bottom: 10px;

}

.dfoligo-contact-form-item input:focus,

.dfoligo-contact-form-item select:focus,

.dfoligo-contact-form-item textarea:focus {

    outline: none;

    border-color: #60A1D8;

}

.dfoligo-contact-form-item textarea {

    resize: vertical;

    min-height: 180px;

    font-family: inherit;

}
/* v1.6.99 -- Select destinataire : le theme Soledis pose son propre chevron
   colle au bord droit du champ. On reprend la main : chevron du module,
   place a 14px du bord, avec la reserve de padding correspondante. */
.dfoligo-contact-form-item select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    padding-right: 44px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231a2840' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px 9px !important;
    cursor: pointer;
}
.dfoligo-contact-form-item select::-ms-expand { display: none; }


.dfoligo-contact-rgpd {

    margin: 0 0 22px;

    font-size: 13px;

    line-height: 1.5;

    color: #6b7280;

}

.dfoligo-contact-form-actions {

    display: flex;

    align-items: center;

    justify-content: space-between;

    flex-wrap: wrap;

    gap: 12px;

}

.dfoligo-contact-back {

    color: #60A1D8;

    font-size: 14px;

    text-decoration: none;

}

.dfoligo-contact-back:hover,
.dfoligo-contact-back:focus { color: #4A8AC2; }

.dfoligo-contact-submit-btn {

    background: #60A1D8;

    color: #fff;

    border: 0;

    padding: 12px 28px;

    border-radius: 4px;

    font-size: 14px;

    cursor: pointer;

    transition: background .15s ease;

}

.dfoligo-contact-submit-btn:hover,
.dfoligo-contact-submit-btn:focus { background: #2a3159; }



.dfoligo-alert {

    padding: 14px 18px;

    border-radius: 8px;

    margin-bottom: 16px;

    font-size: 14px;

}

.dfoligo-alert-success {

    background: #e8f4e8;

    color: #2d6a4f;

}

.dfoligo-alert-danger {

    background: #fde8eb;

    color: #c0395a;

}



/* ============================================================

   Page Produits — 3-level accordion (v1.5.29)

   ============================================================ */



/* Niveau 1 : racine (EASYDIET / COMPLÉMENTS ALIMENTAIRES) */

.dfoligo-products-root {

    margin-bottom: 26px;

}

.dfoligo-products-root-head {

    width: 100%;

    background: transparent;

    border: 0;

    border-bottom: 3px solid #60A1D8;

    padding: 18px 8px 18px 45px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    color: #60A1D8;

    font-size: 20px;

    font-weight: 700;

    text-transform: uppercase;

}

.dfoligo-products-root-head .material-icons {

    transition: transform .25s ease;

    color: #60A1D8;

}

.dfoligo-products-root.is-open .dfoligo-products-root-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-products-root-body {

    display: none;

    padding: 20px 0 8px;

}

.dfoligo-products-root.is-open .dfoligo-products-root-body {

    display: block;

}



/* Niveau 2 : sous-catégories colorées */

.dfoligo-products-subcat {

    margin-bottom: 10px;

    border-radius: 8px;

    overflow: hidden;

}

.dfoligo-products-subcat-head {

    width: 100%;

    color: #fff;

    border: 0;

    padding: 16px 22px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    text-align: left;

    cursor: pointer;

    font-size: 20px;

    font-weight: 700;

	border-radius: 8px;

    text-transform: uppercase;

    /* background appliqué inline depuis $sub.color */

}

.dfoligo-products-subcat-head .material-icons {

    color: #fff;

    transition: transform .25s ease;

}

.dfoligo-products-subcat.is-open .dfoligo-products-subcat-head .material-icons {

    transform: rotate(180deg);

}

.dfoligo-products-subcat-body {

    display: none;

    padding: 16px 0 6px;

    background: transparent;

}

.dfoligo-products-subcat.is-open .dfoligo-products-subcat-body {

    display: block;

}



/* Niveau 3 : carte produit */

.dfoligo-product-card {

    background: #fff;

    border: 1px solid #e6ebf2;

    border-radius: 10px;

    padding: 20px 26px;

    margin-bottom: 14px;

}

.dfoligo-product-card-header {

    margin-bottom: 14px;

}

.dfoligo-product-card-name {

    margin: 0 0 4px;

    font-size: 18px;

    font-weight: 700;

    color: #1a2840;

    text-transform: uppercase;

    letter-spacing: 0.3px;

}

.dfoligo-product-card-slogan {

    margin: 0;

    color: #6c7990;

    font-size: 13px;

}



/* ============================================================

   v1.5.39 — Bandeau produit (header labels + body values + col action)

   ============================================================ */

.dfoligo-product-card-banner {

    border-radius: 8px;

    overflow: hidden;

    position: relative;

}

.dfoligo-product-banner-headers,

.dfoligo-product-banner-body {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 140px;

    gap: 30px;

    padding: 26px 40px;

}

.dfoligo-product-banner-headers {

	background: #e8f1f9;

    border-bottom: 2px solid #60A1D8;

}

.dfoligo-product-banner-body {

    background: #F8F8F8;

    padding-top: 18px;

    padding-bottom: 18px;

	border-bottom: 2px solid #60A1D840;

}



/* Header labels (dans le bandeau) — pas de border (continuité assurée par le fond) */

.dfoligo-product-card-banner .dfoligo-product-col-label {

    font-size: 16px;

    font-weight: 600;

    /* v1.6.25 -- titres de colonnes en bleu #60A1D8 */

    color: #60A1D8;

    margin: 0;

    padding: 0;

    border: 0;

}

/* v1.6.25 -- Rangee d'en-tetes du bloc detail (« En savoir plus ») :

   meme habillage que le bandeau principal (fond bleu clair, trait

   2px #60A1D8, titres #60A1D8). *//**/

.dfoligo-product-detail-headers {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 140px;

    gap: 30px;

    /* v1.6.26 -- padding vertical aligne sur le bandeau principal */

    padding: 28px 40px;

    background: #e8f1f9;

    border-bottom: 2px solid #60A1D8;

}

.dfoligo-product-detail-headers .dfoligo-product-col-label {

    color: #60A1D8;

    margin: 0;

}



/* 4e colonne d'action : bouton "EN SAVOIR PLUS" aligné en bas */

.dfoligo-product-col-action {

    display: flex;

    align-items: flex-end;

    justify-content: flex-end;

    min-height: 100%;

}



/* Section détaillée — bloc replié/déplié sous le bandeau */

.dfoligo-product-card-summary {

    background: transparent;

    border-radius: 0;

    padding: 20px 40px 30px;

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 140px;

    gap: 30px;

    position: relative;

	border-radius: 0px 0px 8px 8px;

}

.dfoligo-product-col-label {

    font-size: 16px;

    font-weight: 600;

    color: #2A3159;

    margin-bottom: 6px;

}

.dfoligo-product-col-value {

    font-size: 12px;

    color: #2A3159;

    line-height: 1.5;

}

.dfoligo-product-cond {

    margin-top: 12px;

    font-size: 13px;

    color: #2c3e50;

}



/* Toggle "EN SAVOIR PLUS" — réinitialisé pour s'intégrer dans la 4e col */

.dfoligo-product-toggle {

    background: transparent;

    border: 0;

    color: #1a2840;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.5px;

    cursor: pointer;

    padding: 0;

    margin: 0;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    width: auto;

    justify-content: flex-end;

    white-space: nowrap;

}

.dfoligo-product-toggle:hover,
.dfoligo-product-toggle:focus {

    color: #60A1D8;

}

/* v1.5.41 — Chevron SVG (héritage currentColor) avec rotation 180° quand ouvert */

.dfoligo-product-toggle-arrow {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    line-height: 0;

    transition: transform .2s ease;

}

.dfoligo-product-toggle-arrow svg {

    display: block;

}

.dfoligo-product-toggle.is-open .dfoligo-product-toggle-arrow {

    transform: rotate(180deg);

}



/* Bloc détails (réduit par défaut, ouvert au clic) */

.dfoligo-product-card-detail {

    /* v1.6.27 -- display:none conserve : c'est l'etat REPLIE, le bouton

       « En savoir plus » ajoute .is-open pour afficher le bloc. Le

       margin-top:10px en doublon (ecrase par -6px) est supprime et le

       padding-top passe a 0 (les en-tetes du detail portent leur padding). */

    display: none;

    padding-top: 0px;

    background: #F8F8F8;

    margin-top: -6px;

    border-radius: 0px 0px 8px 8px;
    z-index: 2;
    position: relative;

}

.dfoligo-product-card-detail.is-open {

    display: block;

}

.dfoligo-product-card-summary-extra {

    margin-top: 14px;

    grid-template-columns: 1fr 1fr;

}



.dfoligo-empty-state {

    text-align: center;

    padding: 32px;

    color: #8b95a8;

}



@media (max-width: 800px) {

    .dfoligo-product-banner-headers,

    .dfoligo-product-banner-body {

        grid-template-columns: 1fr;

        gap: 12px;

        padding: 14px 18px;

    }

    .dfoligo-product-col-action {

        justify-content: flex-start;

    }

    .dfoligo-product-card-summary {

        grid-template-columns: 1fr;

        gap: 18px;

    }

    .dfoligo-product-card-summary-extra {

        grid-template-columns: 1fr;

    }

}



/* ============================================================

   Dropdown autocomplete sur la barre de recherche Produits (v1.5.33)

   ============================================================ */

.dfoligo-search-pill {

    position: relative;

}

.dfoligo-prod-suggest {

    position: absolute;

    top: 100%;

    left: 0;

    right: 0;

    margin-top: 6px;

    background: #fff;

    border: 1px solid #e0e7ee;

    border-radius: 12px;

    box-shadow: 0 8px 24px rgba(40, 80, 130, .12);

    padding: 8px 0;

    z-index: 999;

    max-height: 320px;

    overflow-y: auto;

    list-style: none;

    margin-left: 0;

}

.dfoligo-prod-suggest[hidden] { display: none; }

.dfoligo-prod-suggest li { margin: 0; padding: 0; }

.dfoligo-prod-suggest a {

    display: block;

    padding: 10px 18px;

    color: #1a2840;

    text-decoration: none;

    font-size: 14px;

    transition: background .1s ease;

}

.dfoligo-prod-suggest a:hover,
.dfoligo-prod-suggest a:focus {

    background: #e6f0f8;

    color: #60A1D8;

    text-decoration: none;

}



.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-grid-head,.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-grid,.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-grid-body {

	background: transparent;

    border-bottom: 0;

}



.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-grid-head {

    padding: 0px 34px;

}



.dfoligo-popup-tree-protocole-body .dfoligo-popup-product-grid-body {

    padding: 10px 34px;



}

/* v1.5.54 — Mobile : uniformise tous les titres H1 de l'espace praticien à 22px */

@media (max-width: 768px) {

    .dfoligo-h1,

    .dfoligo-h1-center,

    .dfoligo-h1-light,

    .dfoligo-h1-historique,

    .dfoligo-h1-ressources,

    .dfoligo-h1-ordonnance,

    .dfoligo-h1-create-ord,

    .dfoligo-h1-protocoles,

    .dfoligo-h1-bonjour,

    .dfoligo-h1-mc,

    .dfoligo-h1-mc-light,

    .dfoligo-h1-mc-bold {

        font-size: 22px;

    }

}



/* v1.5.59 — Composant "En savoir plus" deroulant (Mes protocoles + popup) */

.dfoligo-savoir-toggle {

    background: transparent;

    border: 0;

    color: #1a2840;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: 1.5px;

    cursor: pointer;

    padding: 0;

    margin: 0;

    display: inline-flex;

    align-items: center;

    gap: 8px;

    width: auto;

    white-space: nowrap;

}

.dfoligo-savoir-toggle:hover,
.dfoligo-savoir-toggle:focus { color: #60A1D8; }

.dfoligo-savoir-arrow {

    display: inline-flex;

    align-items: center;

    line-height: 0;

    transition: transform .2s ease;

}

.dfoligo-savoir-arrow svg { display: block; }

.dfoligo-savoir-toggle.is-open .dfoligo-savoir-arrow { transform: rotate(180deg); }

/* v1.6.28 -- Detail « En savoir plus » : bandeau d'en-tetes (fond bleu

   clair, titres #60A1D8, trait 2px #60A1D8) + rangee de valeurs, tous

   deux sur la MEME grille que les colonnes principales (1fr 1fr 1fr

   128px), avec gap/padding calques par contexte pour un alignement

   parfait : popup ordonnance (gap 18px, padding 50px) et page

   Protocoles (gap 30px, sans padding lateral). */

.dfoligo-savoir-detail {

    display: none;

}

.dfoligo-savoir-detail.is-open { display: block; }

.dfoligo-savoir-headers,

.dfoligo-savoir-body {

    display: grid;

    grid-template-columns: 1fr 1fr 1fr 128px;

    align-items: start;

}

.dfoligo-savoir-headers {

    background: #e8f1f9;

    border-bottom: 2px solid #60A1D8;

}

#dfoligo-band-mine .dfoligo-savoir-headers, #module-datafireflyoligosante-protocoles .dfoligo-savoir-headers {    background: #fff;    border-bottom: 0;    margin-bottom: -25px;}

.dfoligo-savoir-headers .dfoligo-savoir-col-label {

    margin: 0;

}

/* Contexte popup ordonnance : calque sur .dfoligo-popup-product-grid-* */

.dfoligo-popup-product-card .dfoligo-savoir-headers,

.dfoligo-popup-product-card .dfoligo-savoir-body {

    gap: 18px;

    padding: 20px 50px;

}#dfoligo-popup-results .dfoligo-popup-product-card .dfoligo-savoir-body {	background: #e8f1f9;}#dfoligo-popup-results .dfoligo-popup-group-cb {    position: relative;    top: 5px;}.dfoligo-popup-browse-protocoles .dfoligo-popup-product-card .dfoligo-savoir-headers, .dfoligo-popup-browse-protocoles .dfoligo-popup-product-card .dfoligo-savoir-body {	    padding: 20px 32px;    border-bottom: 0;}	

/* Contexte page Protocoles : calque sur .dfoligo-proto-product-cols */

.dfoligo-proto-product-row .dfoligo-savoir-headers,

.dfoligo-proto-product-row .dfoligo-savoir-body {

    gap: 30px;

    padding: 16px 0;

}

/* v1.5.92 — Aperçu « Créer une ordonnance » : retrait visuel du détail savoir. */

.dfoligo-savoir-col-label {

    font-size: 14px;

    font-weight: 700;

    color: #2A3159;

    margin-bottom: 6px;

}

.dfoligo-savoir-col-value {

    font-size: 12px;

    color: #2A3159;

    line-height: 1.5;

}

@media (max-width: 768px) {

    /* v1.6.28 -- mobile : en-tetes masques, chaque valeur affiche son

       libelle via data-label */

    .dfoligo-savoir-headers { display: none; }

    .dfoligo-savoir-body { grid-template-columns: 1fr; gap: 16px; }

    .dfoligo-savoir-col-value::before {

        content: attr(data-label);

        display: block;

        font-size: 16px;

        font-weight: 600;

        color: #60A1D8;

        margin-bottom: 6px;

    }

}



/* ============================================================

   v1.5.62 — Mobile : masque les pills (lien affiliation / codes)

   ============================================================ */

@media (max-width: 768px) {

    .dfoligo-mc-aff-pill { display: none; }

}



/* ============================================================

   v1.5.62 — Popup vidéo (médiathèque / replays)

   ============================================================ */

.dfoligo-video-modal {

    position: fixed;

    inset: 0;

    z-index: 10050;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 20px;

}

.dfoligo-video-modal[hidden] { display: none; }

.dfoligo-video-modal-backdrop {

    position: absolute;

    inset: 0;

    background: rgba(15, 23, 42, .78);

}

.dfoligo-video-modal-dialog {

    position: relative;

    width: min(1080px, 100%);

    background: #000;

    border-radius: 12px;

    overflow: visible;

    box-shadow: 0 18px 60px rgba(0, 0, 0, .45);

}

.dfoligo-video-modal-ratio {

    position: relative;

    width: 100%;

    padding-top: 56.25%; /* 16:9 */

    border-radius: 12px;

    overflow: hidden;

    background: #000;

}

.dfoligo-video-modal-ratio iframe {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    border: 0;

}

.dfoligo-video-modal-close {

    position: absolute;

    top: -16px;

    right: -16px;

    width: 36px;

    height: 36px;

    border: 0;

    border-radius: 50%;

    background: #fff;

    color: #2A3159;

    font-size: 22px;

    line-height: 1;

    cursor: pointer;

    box-shadow: 0 4px 14px rgba(0, 0, 0, .3);

    z-index: 1;

}

.dfoligo-video-modal-close:hover,
.dfoligo-video-modal-close:focus { background: #F0F8FD; }

@media (max-width: 600px) {

    .dfoligo-video-modal { padding: 10px; }

    .dfoligo-video-modal-close { top: -12px; right: -6px; }

}



.dfoligo-co-action-btn:disabled,
.dfoligo-co-action-btn:disabled:hover,
.dfoligo-co-action-btn:disabled:focus {

    background: #c4ccd8;

    color: #fff !important;

    opacity: 1;

    cursor: not-allowed;

}



/* ============================================================

   v1.5.63 — Avertissement petits écrans

   (Créer une ordonnance / Créer un protocole)

   ============================================================ */

.dfoligo-mobile-warning {

    display: none;

    align-items: flex-start;

    gap: 12px;

    background: #FFF7E6;

    border: 1px solid #F2D9A0;

    border-radius: 10px;

    padding: 14px 16px;

    margin: 0 0 22px;

    color: #7A5B14;

    font-size: 14px;

    line-height: 1.5;

}

.dfoligo-mobile-warning .material-icons {

    font-size: 22px;

    color: #C99A2E;

    flex: 0 0 auto;

    margin-top: 1px;

}

.dfoligo-mobile-warning p { margin: 0; }

@media (max-width: 980px) {

    .dfoligo-mobile-warning { display: flex; }

}



/* ============================================================

   v1.5.64 — Astérisque champs obligatoires (formulaire contact)

   ============================================================ */

.dfoligo-required {

    color: #d63b3b;

    font-weight: 600;

    margin-left: 2px;

}

.dfoligo-co-promo-wrap .dfoligo-co-select {	    margin-bottom: 0;}



/* ============================================================

   v1.5.98

   ============================================================ */



/* Mon compte — note « modification des informations » (lien contact) */

/* v1.6.1 -- encadre bleu supprime : simple texte + CTA dedie dessous */

.dfoligo-mc-contact-note {

    margin: 0 0 12px;

    padding: 0;

    background: none;

    border: 0;

    font-size: 15px;

    line-height: 1.5;

    color: #2a3159;

    font-weight: 600;

}

.dfoligo-mc-contact-note a {

    color: #60A1D8;

    font-weight: 600;

    text-decoration: underline;

}

.dfoligo-mc-contact-note a:hover,
.dfoligo-mc-contact-note a:focus { color: #2a3159; }



/* Protocoles — bouton « Supprimer » (Mes protocoles) */

.dfoligo-proto-modify-wrap {

    display: flex;

    align-items: center;

    /* v1.6.4 -- CTA Modifier/Supprimer centres au-dessus du CTA

       "Creer une ordonnance", conserves sur la meme ligne. */

    justify-content: center;

    gap: 12px;

    flex-wrap: wrap;

}

.dfoligo-proto-delete-form { display: inline-block; margin: 0; }

.dfoligo-co-action-btn-danger { background: #d63b3b; }

.dfoligo-co-action-btn-danger:hover,
.dfoligo-co-action-btn-danger:focus { background: #a92828; }



/* Questionnaires — icônes Copier / Partager */

.dfoligo-action-btn-copy { border: 0; }

.dfoligo-medi-actions .dfoligo-action-btn { white-space: nowrap; }





/* v1.5.99 — Formulaire dédié « Modification de mes informations » */

.dfoligo-modif-intro {
    max-width: 720px;
    margin: 0 auto 24px; /* v1.6.99 -- bloc centre sous le titre */
    font-size: 14px;
    line-height: 1.6;
    color: #2a3159;
    text-align: center; /* v1.6.99 -- demande Oligosante */
}

.dfoligo-modif-form { max-width: 720px; }

.dfoligo-modif-row {

    display: flex;

    gap: 16px;

}

.dfoligo-modif-row .dfoligo-contact-form-item { flex: 1; }

@media (max-width: 640px) {

    .dfoligo-modif-row { flex-direction: column; gap: 0; }

}





/* ============================================================

   v1.6.0

   ============================================================ */



/* Popup « Créer un protocole » : les colonnes Indications principales /

   Posologie / Contre-indications avaient ete masquees en v1.6.0. Retablies

   en v1.6.41 a la demande du client : le praticien a besoin de ces trois

   informations pour choisir ses produits, comme en contexte ordonnance.

   La classe .dfoligo-popup-proto-ctx reste posee sur la modale (hook

   disponible) mais ne masque plus rien, pour un rendu identique a la popup

   ordonnance. */



/* Ressources / Évènements / Questionnaires : image, titre et description

   cliquables pour simplifier l'accès aux contenus. */

.dfoligo-medi-text-link {

    display: block;

    color: inherit;

    text-decoration: none;

}

.dfoligo-medi-text-link:hover,
.dfoligo-medi-text-link:focus { text-decoration: none; }

.dfoligo-medi-text-link:hover .dfoligo-medi-title,
.dfoligo-medi-text-link:focus .dfoligo-medi-title { color: #60A1D8; }

.dfoligo-medi-desc {

    margin: 6px 0 0;

    color: #6c7990;

    font-size: 13px;

    line-height: 1.45;

}



/* Fiches posologiques : sous-titres de gammes. */

.dfoligo-medi-gamme-title {

    margin: 22px 0 12px;

    color: #2A3159;

    font-size: 16px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.02em;

}



/* ============================================================

   v1.6.1 -- Ajustements UX (compte, contact, recherche, copie)

   ============================================================ */



/* Mon compte -- bloc "modification des informations" : CTA visible */

.dfoligo-mc-modif-block {

    margin: 22px 0 6px;

}

.dfoligo-mc-modif-cta {

    display: inline-block;

    background: #60A1D8;

    color: #fff;

    padding: 12px 24px;

    border-radius: 4px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: background .15s ease;

}

/* v1.6.44 -- Le survol utilisait #4A8AC2, alors que tous les autres CTA bleus

   du back praticien passent a #2a3159 (Valider, Ajouter un produit, Generer

   mon ordonnance). Aligne sur la convention.

   v1.6.45 -- La couleur du libelle etait reprise par les regles de lien du

   theme, plus specifiques : le texte disparaissait sur le fond fonce au

   survol. Comme .dfoligo-co-action-btn, on force color en !important sur

   tous les etats. */

.dfoligo-mc-modif-cta,

.dfoligo-mc-modif-cta:link,

.dfoligo-mc-modif-cta:visited {

    color: #fff !important;

    text-decoration: none;

}

.dfoligo-mc-modif-cta:focus {

    color: #fff !important;

    text-decoration: none;

    outline: 0;

}

.dfoligo-mc-modif-cta:hover,
.dfoligo-mc-modif-cta:focus-visible,
.dfoligo-mc-modif-cta:focus {

    background: #2a3159;

    color: #fff !important;

    text-decoration: none;

}

.dfoligo-mc-modif-cta:focus-visible {

    outline: 2px solid #2a3159;

    outline-offset: 2px;

}



/* Contact -- bloc identite (nom + sujet) des autres contacts */

.dfoligo-contact-card-identity {

    min-width: 0;

}

.dfoligo-contact-card-identity .dfoligo-contact-card-desc {

    margin-top: 6px;

}

/* CTA a droite, largeur reduite (aligne sur le contact commercial) */

.dfoligo-contact-card .dfoligo-contact-card-btn {

    justify-self: end;

}

@media (max-width: 800px) {

    .dfoligo-contact-card .dfoligo-contact-card-btn {

        justify-self: start;

    }

}



/* Recherche -- bouton de reinitialisation (croix) */

.dfoligo-search-clear {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 28px;

    height: 28px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: #eef2f7;

    color: #5a6a85;

    cursor: pointer;

    flex-shrink: 0;

    transition: background .15s ease, color .15s ease;

}

.dfoligo-search-clear:hover,
.dfoligo-search-clear:focus {

    background: #60A1D8;

    color: #fff;

}

.dfoligo-search-clear .material-icons {

    font-size: 16px;

    color: inherit;

}



/* Recherche -- rappel du mot-cle sous la barre */

.dfoligo-search-term {

    /* v1.7.9 -- Uniformise : 15px sous la barre partout. */
    margin: 15px 0 24px;

    font-size: 14px;

    color: #5a6a85;

}

.dfoligo-search-term strong {

    color: #1a2840;

}
/* v1.7.9 -- Exception : page Questionnaires, comportement historique
   (rappel remonte de 24px sous la barre). */
#dfoligo-quest-search-form + .dfoligo-search-term {
    margin: -24px 0 24px;
}



/* Copie -- infobulle "Copié !" */

.dfoligo-copy-feedback-host {

    position: relative;

}

.dfoligo-copy-feedback {

    position: absolute;

    bottom: calc(100% + 8px);

    left: 50%;

    transform: translateX(-50%) translateY(4px);

    background: #1a2840;

    color: #fff;

    font-size: 12px;

    font-weight: 600;

    line-height: 1;

    padding: 6px 10px;

    border-radius: 4px;

    white-space: nowrap;

    pointer-events: none;

    opacity: 0;

    transition: opacity .2s ease, transform .2s ease;

    z-index: 50;

}

.dfoligo-copy-feedback.is-visible {

    opacity: 1;

    transform: translateX(-50%) translateY(0);

}

.dfoligo-copy-feedback::after {

    content: '';

    position: absolute;

    top: 100%;

    left: 50%;

    transform: translateX(-50%);

    border: 5px solid transparent;

    border-top-color: #1a2840;

}



/* v1.6.3 -- Le theme applique `a:focus { outline: 5px auto

   -webkit-focus-ring-color; outline-offset: -2px; }` : au clic sur un

   lien du footer praticien, un rectangle de focus entoure l'element.

   On neutralise l'outline navigateur au clic (:focus) tout en gardant

   un indicateur accessible a la navigation clavier (:focus-visible). */

.dfoligo-praticien-footer a:focus,

.dfoligo-praticien-footer a:active {

    outline: none;

    outline-offset: 0;

}

.dfoligo-praticien-footer a:focus-visible {

    outline: 2px solid rgba(255, 255, 255, .7);

    outline-offset: 3px;

    border-radius: 2px;

}



/* v1.6.4 -- Message explicatif du mode duplication d'ordonnance */

.dfoligo-dup-notice {

    margin: 0 0 26px;

    padding: 16px 20px;

    background: #f2f7fc;

    border: 1px solid #d7e6f4;

    border-left: 4px solid #60A1D8;

    border-radius: 8px;

    font-size: 14px;

    line-height: 1.55;

    color: #2a3159;

}

.dfoligo-dup-notice-intro {

    margin: 0 0 10px;

    font-weight: 600;

}

.dfoligo-dup-notice-title {

    margin: 0 0 4px;

}

.dfoligo-dup-notice-steps {

    margin: 0;

    padding-left: 22px;

}

.dfoligo-dup-notice-steps li {

    margin: 2px 0;

}



/* ============================================================

   v1.6.11 -- Ordre des sections de la popup selon le bouton d'ouverture :

   « Ajouter un produit »  -> PRODUITS puis PROTOCOLES (defaut)

   « Ajouter un protocole » -> PROTOCOLES puis PRODUITS

   (classe dfoligo-popup-proto-first posee par praticien.js)

   ============================================================ */

#dfoligo-popup-browse,

#dfoligo-popup-results {

    display: flex;

    flex-direction: column;

    gap: 26px;

}

.dfoligo-popup-sec-products,

.dfoligo-popup-products-list { order: 1; }

.dfoligo-popup-sec-protocoles,

.dfoligo-popup-protocoles-list { order: 2; }

.dfoligo-popup-proto-first .dfoligo-popup-sec-protocoles,

.dfoligo-popup-proto-first .dfoligo-popup-protocoles-list { order: 1; }

.dfoligo-popup-proto-first .dfoligo-popup-sec-products,

.dfoligo-popup-proto-first .dfoligo-popup-products-list { order: 2; }

/* Le message « aucun resultat » reste en fin de liste */

#dfoligo-popup-empty { order: 3; }

/* Les marges hautes des premiers titres sont neutralisees, le gap flex

   assure un espacement identique quel que soit l'ordre. */

.dfoligo-popup-sec .dfoligo-popup-section-title { margin-top: 0; }



/* v1.6.47 -- Titres PROTOCOLES / PRODUITS pliables. Le clic sur le titre

   (dfOligoToggleSection) pose is-collapsed sur le conteneur de section :

   en mode browse la .dfoligo-popup-sec, en mode resultats les listes

   #dfoligo-popup-products-list / #dfoligo-popup-protocoles-list. Tout le

   contenu est alors masque sauf le titre, et le chevron pivote. */

.dfoligo-popup-section-toggle {

    display: flex;

    align-items: center;

    gap: 8px;

    cursor: pointer;

    user-select: none;

}

.dfoligo-popup-section-toggle .material-icons {

    font-size: 26px;

    color: #60A1D8;

    transition: transform .18s ease;

}

.is-collapsed > .dfoligo-popup-section-toggle .material-icons {

    transform: rotate(-90deg);

}

.dfoligo-popup-sec.is-collapsed > :not(.dfoligo-popup-section-title),

.dfoligo-popup-products-list.is-collapsed > :not(.dfoligo-popup-section-title),

.dfoligo-popup-protocoles-list.is-collapsed > :not(.dfoligo-popup-section-title) {

    display: none;

}

/* v1.6.48 -- Mode resultats : le groupe case + nom du protocole. La case
   vit dans son propre label (clic = cocher uniquement), le nom est un
   span libre dont le clic remonte au head et deplie l'accordeon. */
.dfoligo-popup-results-protocole-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}



/* v1.6.12 -- Intertitre « Produits conditionnels » : les ex-variantes

   "Si ..." ne forment plus un accordeon a part, elles apparaissent sous

   la liste des produits normaux du protocole. */

.dfoligo-proto-cond-products-title {

    margin: 22px 0 10px;

    padding-top: 14px;

    border-top: 1px dashed #c9d8e8;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: .04em;

    text-transform: uppercase;

    color: #60A1D8;

}



/* v1.6.15 -- Section « produits conditionnels » sous le protocole

   (maquette : intertitre bleu type « SI PROBLEMES DIGESTIFS » + lignes

   produits identiques, puis CTA dedie). */

.dfoligo-proto-cond-section {

    /* v1.6.16 -- affichee dans le corps de phase, sous les produits */

    margin-top: 22px;

}

.dfoligo-proto-cond-heading {

    margin: 0 0 12px;

    padding: 8px 0 12px;

    border-bottom: 2px solid #60A1D840;

    color: #60A1D8;

    font-size: 18px;

    font-weight: 700;

    line-height: 1.35;

    text-transform: uppercase;

}



/* v1.6.20 -- Popup ordonnance : les protocoles des RESULTATS de recherche

   sont des accordeons fermes par defaut (liste compacte). */

.dfoligo-popup-results-protocole-head {

    cursor: pointer;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

}

.dfoligo-popup-results-protocole-chevron {

    color: #60A1D8;

    transition: transform .18s ease;

    flex-shrink: 0;

}

.dfoligo-popup-results-protocole:not(.is-collapsed) .dfoligo-popup-results-protocole-chevron {

    transform: rotate(180deg);

}

.dfoligo-popup-results-protocole.is-collapsed .dfoligo-popup-results-protocole-body {

    display: none;

}





/* ============================================================

   v1.6.31 -- Fiches posologiques : navigation par gamme

   Niveau 1 = encarts de gamme, niveau 2 = fiches + bouton Retour.

   ============================================================ */



.dfoligo-medi-gammes {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

}



@media (max-width: 980px) {

    .dfoligo-medi-gammes { grid-template-columns: repeat(2, 1fr); }

}

@media (max-width: 620px) {

    .dfoligo-medi-gammes { grid-template-columns: 1fr; }

}



.dfoligo-medi-gamme-tile {

    display: flex;

    align-items: center;

    gap: 12px;

    width: 100%;

    min-height: 84px;

    padding: 18px 18px 18px 22px;

    background: #fff;

    border: 1px solid #E3EAF3;

    border-radius: 12px;

    box-shadow: 0 2px 10px rgba(42, 49, 89, 0.06);

    cursor: pointer;

    text-align: left;

    transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;

}



.dfoligo-medi-gamme-tile:hover,
.dfoligo-medi-gamme-tile:focus-visible,
.dfoligo-medi-gamme-tile:focus {

    box-shadow: 0 6px 18px rgba(42, 49, 89, 0.12);

    transform: translateY(-2px);

    border-color: #60A1D8;

}



.dfoligo-medi-gamme-tile-label {

    flex: 1 1 auto;

    color: #2A3159;

    font-size: 16px;

    font-weight: 700;

    line-height: 1.3;

}



.dfoligo-medi-gamme-tile-count {

    flex: 0 0 auto;

    color: #7B879D;

    font-size: 13px;

    font-weight: 500;

    white-space: nowrap;

}



.dfoligo-medi-gamme-tile-chevron {

    flex: 0 0 auto;

    color: #60A1D8;

    font-size: 22px;

}



/* Bouton Retour du niveau 2 */

.dfoligo-medi-back {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    margin: 0 0 6px;

    padding: 8px 16px;

    background: transparent;

    border: 1px solid #C9D6E6;

    border-radius: 999px;

    color: #2A3159;

    font-size: 14px;

    font-weight: 600;

    cursor: pointer;

    transition: background .18s ease, border-color .18s ease;

}



.dfoligo-medi-back:hover,
.dfoligo-medi-back:focus-visible,
.dfoligo-medi-back:focus {

    background: #F1F6FC;

    border-color: #60A1D8;

}



/* Mode recherche : tous les panneaux sont ouverts, le retour n'a plus de sens */

.dfoligo-medi-gamme-panel.is-flat .dfoligo-medi-back {

    display: none;

}



/* L'attribut hidden doit primer sur le display des regles ci-dessus */

.dfoligo-medi-gammes[hidden],

.dfoligo-medi-gamme-panel[hidden] {

    display: none !important;

}





/* ============================================================

   v1.6.32 -- Thematiques de contenus (types d'evenement)

   Pastilles de filtre des replays + badge sur la miniature.

   ============================================================ */



.dfoligo-thematique-pills {

    margin: 6px 0 34px;

}



/* v1.6.33 -- Alignement des pastilles de thematique.

   Une pastille contient trois elements de tailles tres differentes : le point

   de couleur (10px), le libelle (24px, herite de .dfoligo-cat-pill) et le

   compteur (11px). La regle de base aligne son contenu sur la BASELINE et

   compense l'optique par un padding asymetrique 10/6 calibre pour du texte

   seul. Resultat sur trois elements : le point remontait au-dessus du centre

   et le compteur retombait sur la baseline.

   On passe donc ces pastilles en flex centre sur l'axe transverse, avec un

   padding symetrique : la compensation optique n'a plus lieu d'etre et

   devenait elle-meme une source de decalage. */

.dfoligo-thematique-pills .dfoligo-cat-pill {

    display: inline-flex;

    align-items: center;

    gap: 9px;

    padding: 8px 18px;

    line-height: 1;

}



.dfoligo-thematique-name {

    flex: 0 1 auto;

    white-space: nowrap;

}



.dfoligo-thematique-dot {

    flex: 0 0 auto;

    width: 10px;

    height: 10px;

    margin: 0;

    border-radius: 50%;

}



.dfoligo-thematique-count {

    flex: 0 0 auto;

    min-width: 24px;

    margin: 0;

    padding: 3px 8px;

    background: rgba(42, 49, 89, 0.08);

    border-radius: 999px;

    font-size: 12px;

    font-weight: 600;

    line-height: 1;

    text-align: center;

}



.dfoligo-cat-pill.is-active .dfoligo-thematique-count {

    background: rgba(255, 255, 255, 0.28);

}



/* Badge appose sur la carte. Positionne en absolu pour se superposer a la

   miniature quelle que soit la variante de carte (video, document, event). */

.dfoligo-medi-card-themed {

    position: relative;

}



.dfoligo-medi-thematique {

    position: absolute;

    top: 12px;

    left: 12px;

    z-index: 3;

    max-width: calc(100% - 24px);

    padding: 4px 11px;

    border-radius: 999px;

    color: #fff;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.03em;

    text-transform: uppercase;

    line-height: 1.5;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);

    pointer-events: none;

}



@media (max-width: 620px) {

    .dfoligo-medi-thematique {

        top: 8px;

        left: 8px;

        font-size: 10px;

        padding: 3px 9px;

    }

}


/* ============================================================
   v1.6.60 -- Popup « Ajouter un produit » : alignement du rendu des
   protocoles issus de la RECHERCHE sur celui du mode navigation
   (.dfoligo-popup-tree-protocole-body) : pas de filet bleu sous les
   en-tetes de colonnes, paddings compacts, separateur entre produits.
   Portee limitee a .dfoligo-popup-results-protocole-body : la section
   « Produits » des resultats et l'arbre de navigation par categorie
   conservent leur rendu. Les selecteurs portent l'id #dfoligo-popup-results
   pour passer devant les regles existantes portees par ce meme id.
   ============================================================ */
/* Titre : meme typographie qu'en navigation (16px sans interlettrage),
   la regle d'origine descendait a 13px avec letter-spacing: 1px. */
#dfoligo-popup-results .dfoligo-popup-results-protocole-head {
    padding: 20px 22px;
    font-size: 16px;
    letter-spacing: normal;
    border-bottom: 0;
}

/* Le filet bleu appartient a la premiere card du corps, pas a l'en-tete :
   accordeon replie, le corps est masque donc le filet disparait aussi. */
#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-card:first-child {
    border-top: 2px solid #60A1D8;
    padding-top: 20px;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-grid,
#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-grid-head,
#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-grid-body {
    background: transparent;
    border-bottom: 0;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-grid-head {
    padding: 0 34px;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-grid-body {
    padding: 10px 34px;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-card .dfoligo-savoir-headers,
#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-card .dfoligo-savoir-body {
    padding: 20px 32px;
    border-bottom: 0;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-card {
    border-bottom: 2px solid #60A1D840;
    border-radius: 0;
}

#dfoligo-popup-results .dfoligo-popup-results-protocole-body .dfoligo-popup-product-card:last-child {
    border-bottom: 0;
}

/* ============================================================
   v1.6.65 — Protocoles créés par le praticien
   1) Zone de texte libre (facultative) sous le tableau de la page
      « Créer un protocole », CTA Valider positionné après.
   2) v1.6.66 : le texte libre s'affiche dans la colonne
      Recommandation des lignes produit (voir _proto_product_row.tpl),
      plus de bloc dédié sur la carte.
   ============================================================ */
.dfoligo-co-freetext-wrap {
    margin-top: 26px;
}
.dfoligo-co-freetext-wrap[hidden] {
    display: none;
}
.dfoligo-co-field.dfoligo-co-freetext textarea {
    width: 100%;
    min-height: 110px;
    padding: 13px 16px;
    border: 1px solid #60A1D840;
    border-radius: 6px;
    font-size: 16px;
    font-family: inherit;
    background: #fff;
    color: #2A3159;
    resize: vertical;
    transition: border-color .15s ease;
}
.dfoligo-co-field.dfoligo-co-freetext textarea:focus {
    outline: none;
    border-color: #60A1D8;
    box-shadow: 0 0 0 3px rgba(93, 169, 201, .15);
}

/* ============================================================
   v1.6.89 — Popup de sélection des produits conditionnels
   (page Protocoles). Réutilise l'overlay .dfoligo-popup-confirm ;
   ci-dessous uniquement la liste de cases à cocher.
   ============================================================ */
.dfoligo-popup-condpick .dfoligo-popup-confirm-card {
    text-align: left;
    max-width: 560px;
}
.dfoligo-popup-condpick .dfoligo-popup-confirm-text {
    text-align: center;
}
.dfoligo-condpick-list {
    margin: 0 0 22px;
    max-height: 50vh;
    overflow-y: auto;
}
.dfoligo-condpick-group {
    margin: 16px 0 8px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    color: #4a90c2;
}
.dfoligo-condpick-group:first-child { margin-top: 0; }
.dfoligo-condpick-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    margin: 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: .03em;
}
.dfoligo-condpick-item:hover,
.dfoligo-condpick-item:focus { background: #f2f7fb; }
/* v1.6.90 -- Le theme passe les checkboxes des labels en position:absolute
   (habillage par pseudo-element) : la case sortait du flux flex et se
   superposait au nom du produit. On force le rendu natif dans le flux. */
.dfoligo-condpick-item input[type="checkbox"] {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0; /* filet de securite si gap non applique */
    padding: 0;
    flex: 0 0 auto;
    accent-color: #4a90c2;
    cursor: pointer;
}
.dfoligo-condpick-item span {
    position: static;
    padding: 0;
}
.dfoligo-condpick-item span::before,
.dfoligo-condpick-item span::after {
    content: none !important; /* pseudo-elements de checkbox custom du theme */
}
.dfoligo-popup-condpick .dfoligo-popup-confirm-actions .dfoligo-co-action-btn[disabled] {
    opacity: .5;
    cursor: not-allowed;
}

/* ============================================================
   v1.6.92 -- Infobulle « informations principales » au survol des noms de
   produits dans le tableau (Creer une ordonnance / Creer un protocole).
   Positionnee en fixed par le JS, hors flux : elle ne peut pas etre
   rognee par le conteneur du tableau.
 ============================================================ */
.dfoligo-tip {
    position: fixed;
    z-index: 10050;
    max-width: 340px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid #60A1D840;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(20, 30, 50, .16);
    color: #2A3159;
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
    pointer-events: none; /* l'infobulle ne doit jamais voler le survol */
}
.dfoligo-tip[hidden] { display: none; }
.dfoligo-tip p { margin: 0; }
.dfoligo-tip-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 2px !important;
}
.dfoligo-tip-slogan {
    color: #4a90c2;
    font-style: italic;
    margin-bottom: 8px !important;
}
.dfoligo-tip-block + .dfoligo-tip-block { margin-top: 8px; }
.dfoligo-tip-label {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #7b8299;
}
.dfoligo-tip-value { color: #2A3159; }
/* v1.7.22 -- mise en forme des fiches conservee : paragraphes et puces */
.dfoligo-tip .dfoligo-tip-value p { margin: 0; color: #2A3159; }
.dfoligo-tip .dfoligo-tip-value p + p,
.dfoligo-tip .dfoligo-tip-value p + ul,
.dfoligo-tip .dfoligo-tip-value ul + p { margin-top: 3px; }
.dfoligo-tip ul.dfoligo-tip-list {
    list-style: disc outside !important;
    margin: 0 !important;
    padding: 0 0 0 18px !important;
    color: #2A3159;
}
.dfoligo-tip ul.dfoligo-tip-list li {
    display: list-item !important;
    list-style: inherit !important;
    margin: 0;
    padding: 0;
    color: #2A3159;
    font-size: 13px;
    line-height: 1.45;
}
.dfoligo-tip ul.dfoligo-tip-list li::before { content: none !important; }
.dfoligo-tip-empty { color: #7b8299; font-style: italic; }

/* Indice visuel : le nom du produit porte une information au survol. */
.dfoligo-co-product-pill { cursor: help; }

@media (max-width: 640px) {
    .dfoligo-tip { max-width: calc(100vw - 24px); }
}

/* v1.6.94 -- Carte « Votre selection a bien ete retiree » : meme empilement
   que l'avertissement doublon qu'elle remplace a l'ecran. */
.dfoligo-popup-cancelled { z-index: 10002; }

/* v1.6.96 -- Pastille « i » en haut a droite du nom de produit : signale
   l'infobulle (v1.6.92). En pseudo-element pour ne pas polluer innerText,
   qui sert a serialiser product_name (serializeItems). */
.dfoligo-co-product-pill { position: relative; padding-right: 34px; }
/* v1.7.1 -- Pastille centree verticalement dans la case (un nom sur deux
   lignes la laissait collee en haut). */
.dfoligo-co-product-pill::after {
    content: "i";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #60A1D8;
    color: #fff;
    font: italic 700 11px/16px Georgia, "Times New Roman", serif;
    text-align: center;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: 0 1px 2px rgba(20, 30, 50, .18);
}


/* v1.7.3 -- Etats :focus alignes sur :hover : chaque regle :hover du module
   porte un selecteur :focus jumeau (generation automatique, 74 regles), afin
   que le focus clavier/clic n'affiche plus le style du theme
   (a:focus { color:#198195; text-decoration:underline }) sur les elements
   habilles par le module. */

/* v1.7.17 -- Questionnaires : texte explicatif sous le titre */
.dfoligo-quest-intro {
    max-width: 860px;
    margin: 0 0 24px;
    color: #2A3159;
    font-size: 15px;
    line-height: 1.5;
}
.dfoligo-quest-intro p { margin: 0 0 8px; }
.dfoligo-quest-intro ol { margin: 0; padding-left: 22px; }
.dfoligo-quest-intro li { margin: 0 0 4px; }
.dfoligo-quest-intro a { color: #2A3159; text-decoration: underline; }
