christmas
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
/* Christmas list : vue synthétique avec bouton + et menu flottant */
|
||||
/* ========================================================= */
|
||||
/* Styles généraux page Christmas list */
|
||||
/* ========================================================= */
|
||||
|
||||
.pf-christmas-list h1 {
|
||||
margin-bottom: 4px;
|
||||
@@ -11,211 +13,326 @@
|
||||
color: #4b5563;
|
||||
}
|
||||
|
||||
/* Grille principale */
|
||||
.cl-grid-wrapper {
|
||||
overflow-x: auto; /* sécurité pour petits écrans */
|
||||
/* Petit texte explicatif sous les titres */
|
||||
.cl-legend {
|
||||
font-size: 12px;
|
||||
color: #6b7280;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.cl-grid-table {
|
||||
font-size: 11px;
|
||||
/* ========================================================= */
|
||||
/* Vue par fête: mini-tableaux par enfant */
|
||||
/* ========================================================= */
|
||||
|
||||
.cl-occasion-block {
|
||||
margin-top: 2rem;
|
||||
border-top: 2px solid #e5e5e5;
|
||||
}
|
||||
|
||||
/* En-têtes */
|
||||
.cl-grid-table thead th {
|
||||
padding: 6px 4px;
|
||||
.cl-occasion-title {
|
||||
font-size: 1.2rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.cl-child-header {
|
||||
.cl-occasion-children-tables {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(280px, 1fr));
|
||||
gap: 12px; /* espacement léger entre mini-tableaux */
|
||||
align-items: start;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.cl-occasion-children-tables {
|
||||
grid-template-columns: repeat(2, minmax(280px, 1fr));
|
||||
}
|
||||
}
|
||||
@media (max-width: 780px) {
|
||||
.cl-occasion-children-tables {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/* ========================================================= */
|
||||
/* Mini-tableau par enfant */
|
||||
/* ========================================================= */
|
||||
|
||||
.cl-child-table {
|
||||
display: table !important; /* robustesse même avec resets */
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
background: #fff;
|
||||
border: 1px solid #d9e2ec;
|
||||
overflow: hidden;
|
||||
}
|
||||
.cl-child-table thead {
|
||||
display: table-header-group !important;
|
||||
}
|
||||
.cl-child-table tbody {
|
||||
display: table-row-group !important;
|
||||
}
|
||||
.cl-child-table tr {
|
||||
display: table-row !important;
|
||||
}
|
||||
.cl-child-table th,
|
||||
.cl-child-table td {
|
||||
display: table-cell !important;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Nom de l'enfant (caption) + bouton + */
|
||||
.cl-child-table caption {
|
||||
caption-side: top;
|
||||
position: relative; /* pour positionner le + */
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
font-weight: 700;
|
||||
padding: 8px 10px;
|
||||
background: #f8fafc;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.cl-header-adult {
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cl-header-occ {
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
color: #627d98;
|
||||
}
|
||||
|
||||
/* Colonne adulte */
|
||||
.cl-adult-cell {
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
padding: 8px 6px;
|
||||
}
|
||||
|
||||
/* Cellules cadeau */
|
||||
.cl-gift-cell {
|
||||
min-width: 120px;
|
||||
vertical-align: top;
|
||||
padding: 6px 4px;
|
||||
}
|
||||
|
||||
/* Contenu de la cellule : colonne verticale */
|
||||
.cl-gift-cell-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
/* Liste des cadeaux : alignée à gauche */
|
||||
.cl-gift-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.cl-gift-list li {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* Montant par cadeau */
|
||||
.cl-gift-amount {
|
||||
font-size: 10px;
|
||||
color: #627d98;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
/* Cellule vide */
|
||||
.cl-empty {
|
||||
display: inline-block;
|
||||
margin-bottom: 2px;
|
||||
font-size: 11px;
|
||||
color: #9fb3c8;
|
||||
}
|
||||
|
||||
/* Ligne Total + bouton + */
|
||||
.cl-total-and-add {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between; /* Total à gauche, + à droite */
|
||||
gap: 4px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
/* Texte Total */
|
||||
.cl-gift-total {
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: #243b53;
|
||||
}
|
||||
|
||||
/* Bouton + */
|
||||
.cl-add-btn {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
/* Bouton + dans le caption */
|
||||
.cl-child-add-btn {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #d9e2ec;
|
||||
background: #f0f4f8;
|
||||
color: #243b53;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
font-size: 13px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cl-add-btn:hover {
|
||||
.cl-child-add-btn:hover {
|
||||
background: #d9e2ec;
|
||||
}
|
||||
|
||||
/* Menu d'ajout (caché par défaut) */
|
||||
.cl-add-menu {
|
||||
display: none;
|
||||
margin-top: 4px;
|
||||
padding: 6px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid #d9e2ec;
|
||||
background: #f8fafc;
|
||||
box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12);
|
||||
/* Colonnes égales (3 adultes) via colgroup */
|
||||
.cl-child-table col.cl-col {
|
||||
width: 33.3333%;
|
||||
}
|
||||
|
||||
/* Classe pour afficher le menu */
|
||||
.cl-add-menu--open {
|
||||
/* En-têtes adultes: séparateurs + total à droite */
|
||||
.cl-child-table thead th {
|
||||
background: #f3f4f6;
|
||||
font-weight: 600;
|
||||
padding: 6px 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
font-size: 12px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
white-space: nowrap;
|
||||
border-right: 1px solid #e5e7eb;
|
||||
}
|
||||
.cl-child-table thead th:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.cl-th-inner {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.cl-th-label {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
/* Total adulte (réutilise le style global) */
|
||||
.cl-summary-adult-total {
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
color: #1d4ed8;
|
||||
}
|
||||
|
||||
/* Corps: séparateurs + gestion des noms longs */
|
||||
.cl-child-table tbody td {
|
||||
vertical-align: top;
|
||||
padding: 6px 8px;
|
||||
border-top: 1px solid #edf2f7;
|
||||
border-right: 1px solid #e5e7eb;
|
||||
font-size: 12px;
|
||||
line-height: 1.35;
|
||||
word-break: break-word;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.cl-child-table tbody td:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
/* Cellules vides: un “—” par adulte, centré, pleine largeur */
|
||||
.cl-child-table .cl-empty {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: #9ca3af;
|
||||
}
|
||||
|
||||
/* Prix du cadeau (dans la cellule) */
|
||||
.cl-gift-amount {
|
||||
color: #627d98;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Code couleur par enfant (bordure + header/caption) */
|
||||
.cl-child-table.child-pol {
|
||||
border-color: #bcd3ff;
|
||||
}
|
||||
.cl-child-table.child-pol caption,
|
||||
.cl-child-table.child-pol thead th {
|
||||
background: #eaf2ff;
|
||||
border-bottom-color: #bcd3ff;
|
||||
}
|
||||
|
||||
.cl-child-table.child-pep {
|
||||
border-color: #b9e3b9;
|
||||
}
|
||||
.cl-child-table.child-pep caption,
|
||||
.cl-child-table.child-pep thead th {
|
||||
background: #eaf7ea;
|
||||
border-bottom-color: #b9e3b9;
|
||||
}
|
||||
|
||||
.cl-child-table.child-elna {
|
||||
border-color: #f3bfd7;
|
||||
}
|
||||
.cl-child-table.child-elna caption,
|
||||
.cl-child-table.child-elna thead th {
|
||||
background: #fdeaf3;
|
||||
border-bottom-color: #f3bfd7;
|
||||
}
|
||||
|
||||
.cl-child-table.child-bru {
|
||||
border-color: #ffd0a8;
|
||||
}
|
||||
.cl-child-table.child-bru caption,
|
||||
.cl-child-table.child-bru thead th {
|
||||
background: #fff3e6;
|
||||
border-bottom-color: #ffd0a8;
|
||||
}
|
||||
|
||||
.cl-child-table.child-guim {
|
||||
border-color: #d3c6ff;
|
||||
}
|
||||
.cl-child-table.child-guim caption,
|
||||
.cl-child-table.child-guim thead th {
|
||||
background: #f0eaff;
|
||||
border-bottom-color: #d3c6ff;
|
||||
}
|
||||
|
||||
/* ========================================================= */
|
||||
/* Modale d’ajout de cadeau */
|
||||
/* ========================================================= */
|
||||
|
||||
.cl-modal {
|
||||
display: none;
|
||||
}
|
||||
.cl-modal.cl-open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Formulaire dans le menu */
|
||||
.cl-gift-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
.cl-modal-backdrop {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
background: rgba(17, 24, 39, 0.35);
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
/* Ligne du formulaire (lien + montant) */
|
||||
.cl-gift-form-row {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
/* Champs du formulaire */
|
||||
.cl-gift-form input[type="text"],
|
||||
.cl-gift-form input[type="url"],
|
||||
.cl-gift-form input[type="number"] {
|
||||
font-size: 10px;
|
||||
padding: 2px 4px;
|
||||
border-radius: 4px;
|
||||
.cl-modal-dialog {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: min(520px, calc(100% - 24px));
|
||||
background: #fff;
|
||||
border: 1px solid #d9e2ec;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 10px 30px rgba(17, 24, 39, 0.25);
|
||||
}
|
||||
|
||||
.cl-gift-form input[type="text"] {
|
||||
width: 100%;
|
||||
.cl-modal-form {
|
||||
display: grid;
|
||||
gap: 10px;
|
||||
padding: 14px;
|
||||
}
|
||||
|
||||
.cl-gift-form input[type="url"] {
|
||||
flex: 1 1 auto;
|
||||
.cl-modal-form h3 {
|
||||
margin: 0 0 4px;
|
||||
font-size: 16px;
|
||||
color: #243b53;
|
||||
}
|
||||
|
||||
.cl-gift-form input[type="number"] {
|
||||
width: 60px;
|
||||
.clm-label {
|
||||
display: grid;
|
||||
gap: 6px;
|
||||
font-size: 12px;
|
||||
color: #374151;
|
||||
}
|
||||
|
||||
/* Boutons OK / Cancel */
|
||||
.cl-gift-form-actions {
|
||||
.clm-label input,
|
||||
.clm-label select {
|
||||
font-size: 12px;
|
||||
padding: 6px 8px;
|
||||
border: 1px solid #d9e2ec;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.cl-modal-actions {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
gap: 4px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.cl-gift-form-actions button {
|
||||
font-size: 10px;
|
||||
padding: 2px 6px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #d9e2ec;
|
||||
background: #f0f4f8;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.cl-gift-form-actions button:hover {
|
||||
background: #d9e2ec;
|
||||
}
|
||||
|
||||
.cl-ok-btn {
|
||||
font-weight: 600;
|
||||
color: #1f2933;
|
||||
}
|
||||
|
||||
.cl-cancel-btn {
|
||||
color: #9fb3c8;
|
||||
}
|
||||
|
||||
/* Récap global en bas */
|
||||
.cl-budget-wrapper {
|
||||
gap: 8px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.clm-cancel,
|
||||
.clm-ok {
|
||||
font-size: 12px;
|
||||
padding: 6px 12px;
|
||||
border: 1px solid #d9e2ec;
|
||||
border-radius: 6px;
|
||||
background: #f0f4f8;
|
||||
cursor: pointer;
|
||||
}
|
||||
.clm-ok {
|
||||
font-weight: 600;
|
||||
color: #1f2933;
|
||||
}
|
||||
.clm-cancel {
|
||||
color: #9fb3c8;
|
||||
}
|
||||
.clm-cancel:hover,
|
||||
.clm-ok:hover {
|
||||
background: #d9e2ec;
|
||||
}
|
||||
|
||||
/* ========================================================= */
|
||||
/* Résumé du budget et Liste détaillée */
|
||||
/* ========================================================= */
|
||||
|
||||
.cl-budget-wrapper {
|
||||
margin-top: 4px;
|
||||
}
|
||||
.cl-budget-wrapper .pf-table {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.cl-budget-wrapper .pf-table th,
|
||||
.cl-budget-wrapper .pf-table td {
|
||||
padding: 4px 4px;
|
||||
}
|
||||
|
||||
.cl-detail-wrapper .pf-table {
|
||||
font-size: 11px;
|
||||
}
|
||||
.cl-detail-wrapper .pf-table th,
|
||||
.cl-detail-wrapper .pf-table td {
|
||||
padding: 4px 4px;
|
||||
}
|
||||
|
||||
@@ -265,7 +265,9 @@
|
||||
background: #f9fafb;
|
||||
color: #111827;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.15s ease, border-color 0.15s ease,
|
||||
transition:
|
||||
background-color 0.15s ease,
|
||||
border-color 0.15s ease,
|
||||
box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user