/* Dog In Car - Espace Client */

.dic-ec {
	--dic-accent: #285bb4;
	--dic-ink: #1b1c1f;
	--dic-muted: #666c75;
	--dic-line: #e4e7ec;
	--dic-bg: #f7f8fa;
	--dic-radius: 14px;
	color: var(--dic-ink);
	font-size: 16px;
	line-height: 1.5;
	box-sizing: border-box;
}

.dic-ec *,
.dic-ec *::before,
.dic-ec *::after { box-sizing: inherit; }

.dic-ec h2,
.dic-ec h3,
.dic-ec h4 { margin: 0 0 .5em; line-height: 1.25; }

.dic-ec p { margin: 0 0 1em; }
.dic-ec p:last-child { margin-bottom: 0; }

.dic-muted { color: var(--dic-muted); font-size: .93em; }
.dic-hint { display: block; color: var(--dic-muted); font-size: .87em; margin-top: .35em; }
.dic-req { color: #b32d2e; }
.dic-empty { color: var(--dic-muted); }

/* ------------------------------------------------------------- boutons */

.dic-btn {
	display: inline-block;
	padding: .7em 1.3em;
	border: 1px solid var(--dic-accent);
	border-radius: 999px;
	background: var(--dic-accent);
	color: #fff !important;
	font-weight: 600;
	font-size: .95em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}

.dic-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.dic-btn:focus-visible { outline: 3px solid rgba(40, 91, 180, .35); outline-offset: 2px; }

.dic-btn-light {
	background: #fff;
	color: var(--dic-accent) !important;
	border-color: var(--dic-line);
}

.dic-btn-light:hover { border-color: var(--dic-accent); }

.dic-link-danger {
	background: none;
	border: 0;
	padding: 0;
	color: #b32d2e;
	font-size: .9em;
	text-decoration: underline;
	cursor: pointer;
}

/* -------------------------------------------------------------- cartes */

.dic-card {
	background: #fff;
	border: 1px solid var(--dic-line);
	border-radius: var(--dic-radius);
	padding: 1.25rem;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

/* ------------------------------------------------------------- notices */

.dic-notice {
	padding: .8em 1em;
	border-radius: 10px;
	margin: 0 0 1.25rem;
	font-size: .95em;
	border: 1px solid transparent;
}

.dic-ok   { background: #e8f6ed; color: #14622f; border-color: #bfe4cd; }
.dic-err  { background: #fdecea; color: #8a1c1c; border-color: #f3c6c2; }
.dic-info { background: #eef3fc; color: #1c3d78; border-color: #cbdaf3; }

/* ----------------------------------------------------------- dashboard */

.dic-dashboard { max-width: 900px; margin: 0 auto; }

.dic-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.25rem;
}

.dic-head-hello { display: flex; flex-direction: column; line-height: 1.2; }
.dic-hello-label { color: var(--dic-muted); font-size: .85em; }
.dic-head-hello strong { font-size: 1.3em; }

.dic-tabs {
	display: flex;
	gap: .35rem;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--dic-line);
	margin-bottom: 1.5rem;
}

.dic-tab {
	padding: .65em 1.1em;
	border-radius: 10px 10px 0 0;
	color: var(--dic-muted) !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: .95em;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}

.dic-tab:hover { color: var(--dic-ink) !important; background: var(--dic-bg); }

.dic-tab-active {
	color: var(--dic-accent) !important;
	border-bottom-color: var(--dic-accent);
	background: none;
}

/* ------------------------------------------------------------ services */

.dic-services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: .75rem;
	margin-bottom: 1.25rem;
}

.dic-service {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding: 1rem;
	border: 2px solid var(--dic-line);
	border-radius: var(--dic-radius);
	background: #fff;
	text-decoration: none !important;
	color: var(--dic-ink) !important;
}

.dic-service:hover { border-color: var(--dic-accent); }

.dic-service-active {
	border-color: var(--dic-accent);
	background: #f2f6fd;
	box-shadow: 0 0 0 3px rgba(40, 91, 180, .12);
}

.dic-service-name { font-weight: 700; font-size: 1.05em; }
.dic-service-desc { color: var(--dic-muted); font-size: .88em; }
.dic-service-price { font-weight: 600; color: var(--dic-accent); font-size: .9em; }

/* ------------------------------------------------------------- formulaires */

.dic-fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; }

.dic-fieldset legend {
	font-weight: 700;
	font-size: 1.05em;
	padding: 0;
	margin-bottom: .6rem;
}

.dic-field { display: block; margin: 0 0 1rem; }

.dic-field > label {
	display: block;
	font-weight: 600;
	font-size: .92em;
	margin-bottom: .3em;
}

.dic-ec input[type="text"],
.dic-ec input[type="email"],
.dic-ec input[type="password"],
.dic-ec input[type="date"],
.dic-ec input[type="file"],
.dic-ec select,
.dic-ec textarea {
	width: 100%;
	max-width: 100%;
	padding: .65em .8em;
	border: 1px solid var(--dic-line);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	font-size: .95em;
	color: var(--dic-ink);
}

.dic-ec input:focus,
.dic-ec select:focus,
.dic-ec textarea:focus {
	outline: none;
	border-color: var(--dic-accent);
	box-shadow: 0 0 0 3px rgba(40, 91, 180, .15);
}

.dic-check {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0 0 .7em;
	font-size: .95em;
	cursor: pointer;
}

.dic-check input { width: auto; }

.dic-actions { margin: 1.25rem 0 0; display: flex; gap: .5rem; flex-wrap: wrap; }
.dic-links { margin-top: 1rem; font-size: .93em; }
.dic-toolbar { margin-bottom: 1rem; }

/* Piege a robots : jamais visible pour un humain. */
.dic-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.dic-dates { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; }

/* ----------------------------------------------------------- les chiens */

.dic-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 1rem;
}

.dic-dog { padding: 0; overflow: hidden; display: flex; flex-direction: column; }

.dic-dog-photo {
	aspect-ratio: 4 / 3;
	background: var(--dic-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.dic-dog-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dic-dog-placeholder { font-size: 2.5rem; opacity: .35; }
.dic-dog-body { padding: .9rem 1rem 1.1rem; }
.dic-dog-body h4 { font-size: 1.1em; }

.dic-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin: .5rem 0 0; }

.dic-badge {
	display: inline-block;
	padding: .2em .65em;
	border-radius: 999px;
	background: #eef3fc;
	color: #1c3d78;
	font-size: .78em;
	font-weight: 600;
}

.dic-dog-actions { margin: .9rem 0 0; }
.dic-dog-actions .dic-btn { padding: .45em 1em; font-size: .85em; }

.dic-photo-current { display: block; margin-bottom: .5rem; }
.dic-photo-current img { max-width: 160px; border-radius: 10px; display: block; }
.dic-form-card { max-width: 560px; }
.dic-delete-form { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--dic-line); }

/* --------------------------------------------------- choix du chien */

.dic-dog-picker { display: flex; flex-wrap: wrap; gap: .6rem; }
.dic-dog-choice { cursor: pointer; }
.dic-dog-choice input { position: absolute; opacity: 0; width: 0; height: 0; }

.dic-dog-chip {
	display: flex;
	align-items: center;
	gap: .5em;
	padding: .45em .9em .45em .45em;
	border: 2px solid var(--dic-line);
	border-radius: 999px;
	background: #fff;
	font-weight: 600;
	font-size: .92em;
}

.dic-dog-chip img,
.dic-dog-chip .dic-dog-placeholder {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--dic-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
}

.dic-dog-choice input:checked + .dic-dog-chip {
	border-color: var(--dic-accent);
	background: #f2f6fd;
	color: var(--dic-accent);
}

.dic-dog-choice input:focus-visible + .dic-dog-chip { outline: 3px solid rgba(40, 91, 180, .35); }

/* --------------------------------------------------------- calendrier */

.dic-cal { margin-top: 1rem; }

.dic-cal-legend {
	display: flex;
	align-items: center;
	gap: .4rem;
	flex-wrap: wrap;
	font-size: .82em;
	color: var(--dic-muted);
	margin-bottom: .75rem;
}

.dic-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-left: .6rem; }
.dic-dot:first-child { margin-left: 0; }
.dic-dot-free { background: #128a3d; }
.dic-dot-low  { background: #d98c00; }
.dic-dot-none { background: #cfd4db; }

.dic-cal-months {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1.25rem;
}

.dic-cal-title { font-weight: 700; margin-bottom: .5rem; text-transform: capitalize; }

.dic-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 3px;
}

.dic-cal-wd {
	text-align: center;
	font-size: .72em;
	font-weight: 700;
	color: var(--dic-muted);
	padding-bottom: .25rem;
}

.dic-cal-pad { aspect-ratio: 1; }

.dic-cal-day {
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--dic-line);
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: .85em;
	font-weight: 600;
	color: var(--dic-ink);
	cursor: pointer;
	padding: 0;
}

.dic-cal-ok:hover  { border-color: var(--dic-accent); background: #f2f6fd; }
.dic-cal-ok        { border-color: #bfe4cd; }
.dic-cal-low       { border-color: #f0d9a8; background: #fdf6e8; }

.dic-cal-off {
	background: var(--dic-bg);
	color: #b6bcc5;
	cursor: not-allowed;
	border-color: transparent;
}

/* Jour complet mais encore utilisable comme date de depart (sejour). */
.dic-cal-off:not(:disabled) {
	cursor: pointer;
	color: #7b828c;
	border: 1px dashed #c3c9d2;
}

.dic-cal-off:not(:disabled):hover { border-color: var(--dic-accent); color: var(--dic-ink); }

.dic-cal-sel {
	background: var(--dic-accent) !important;
	border-color: var(--dic-accent) !important;
	color: #fff !important;
}

.dic-cal-in {
	background: #dfe9fa !important;
	border-color: #bed0f0 !important;
	color: #1c3d78 !important;
}

/* ------------------------------------------------ listes (reservations) */

.dic-list { display: flex; flex-direction: column; gap: .75rem; }

.dic-booking-row,
.dic-invoice-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.dic-booking-main h4 { font-size: 1.05em; margin-bottom: .15em; }
.dic-booking-dates { margin: 0 0 .15em; font-size: .95em; }

.dic-booking-side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .4rem;
	text-align: right;
}

.dic-status {
	display: inline-block;
	padding: .3em .8em;
	border-radius: 999px;
	font-size: .8em;
	font-weight: 700;
	white-space: nowrap;
}

.dic-status-pending   { background: #fdf3e0; color: #8a5a00; }
.dic-status-confirmed { background: #e8f6ed; color: #14622f; }
.dic-status-refused   { background: #fdecea; color: #8a1c1c; }
.dic-status-cancelled { background: #f1f2f4; color: #5b616b; }
.dic-status-done      { background: #eef3fc; color: #1c3d78; }

.dic-past { opacity: .62; }
.dic-reason { max-width: 260px; }

/* ------------------------------------------------------------- connexion */

.dic-auth-wrap { max-width: 440px; margin: 0 auto; }
.dic-auth { text-align: left; }
.dic-auth h2 { text-align: center; }
.dic-auth .dic-btn { width: 100%; }
.dic-auth .dic-links { text-align: center; }

/* ------------------------------------------------------------- mobile */

@media (max-width: 600px) {
	.dic-head { flex-direction: column; align-items: flex-start; }
	.dic-tabs { gap: 0; }
	.dic-tab { padding: .55em .75em; font-size: .88em; }

	.dic-booking-row,
	.dic-invoice-row { flex-direction: column; align-items: flex-start; }

	.dic-booking-side { align-items: flex-start; text-align: left; }
	.dic-reason { max-width: none; }
}

/* ============================================================ v2 ============ */

/* --- calendrier a cocher (jours separes) --- */

.dic-cal-check { position: relative; display: block; cursor: pointer; }
.dic-cal-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.dic-cal-check .dic-cal-day { width: 100%; }

.dic-cal-check input:checked + .dic-cal-day {
	background: var(--dic-accent);
	border-color: var(--dic-accent);
	color: #fff;
}

.dic-cal-check input:focus-visible + .dic-cal-day {
	outline: 3px solid rgba(255, 135, 55, .4);
	outline-offset: 2px;
}

.dic-cal-check-off { cursor: not-allowed; }

/* --- estimation de prix --- */

.dic-estimate {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	margin: 0 0 1.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--dic-line);
	border-radius: 12px;
	background: var(--dic-bg);
}

.dic-estimate-ok { background: #fff6ef; border-color: #ffd7b8; }
.dic-estimate-partial { background: #fdf9e8; border-color: #f0e2b0; }

.dic-estimate-label {
	font-size: .78em;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--dic-muted);
}

.dic-estimate-total { font-size: 1.7em; font-weight: 800; color: var(--dic-accent); line-height: 1.1; }
.dic-estimate-detail { font-size: .93em; }
.dic-estimate-note,
.dic-estimate-empty { font-size: .84em; color: var(--dic-muted); }

.dic-price-line { margin: .25em 0 0; font-weight: 700; }

/* --- panneau equipe : feuille de tournee --- */

.dic-team .dic-tabs { overflow-x: auto; }

.dic-tour-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: 1rem;
}

.dic-tour-day { font-size: 1.05em; text-align: center; flex: 1; }
.dic-tour-srv { margin-bottom: 1rem; }

.dic-chip {
	display: inline-block;
	padding: .35em .9em;
	border: 1px solid var(--dic-line);
	border-radius: 999px;
	background: #fff;
	color: var(--dic-ink) !important;
	font-size: .9em;
	text-decoration: none !important;
}

.dic-chip-on { background: var(--dic-accent); border-color: var(--dic-accent); color: #fff !important; }

.dic-tour-row { display: flex; gap: .85rem; align-items: flex-start; }

.dic-tour-num {
	flex: 0 0 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--dic-accent);
	color: #fff;
	font-weight: 800;
	font-size: .95em;
}

.dic-tour-main { flex: 1; min-width: 0; }
.dic-tour-main p { margin: .25em 0 0; font-size: .93em; }
.dic-tour-dog { display: flex; gap: .6rem; align-items: center; }
.dic-tour-dog img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.dic-tour-obs { color: #8a5a00; }
.dic-tour-notes { color: #1c3d78; }
.dic-tour-addr a,
.dic-tour-tel a { color: var(--dic-accent); }

.dic-tour-actions { display: flex; flex-direction: column; gap: .4rem; align-items: flex-end; }
.dic-tour-actions .dic-btn { padding: .5em 1em; font-size: .85em; white-space: nowrap; }

.dic-kind {
	display: inline-block;
	margin-left: .4em;
	padding: .12em .6em;
	border-radius: 999px;
	font-size: .72em;
	font-weight: 700;
	vertical-align: middle;
}

.dic-kind-pickup { background: #e8f1ff; color: #1c3d78; }
.dic-kind-dropoff { background: #e8f6ed; color: #14622f; }

.dic-tour-picked { border-left: 4px solid #d98c00; }

/* v3: dias soltos em lista, consentimento, caixa de copia, obs da equipa */

.dic-days-list { margin: 0 0 .35rem; padding-left: 1.1rem; }
.dic-days-list li { margin: 0 0 .15rem; font-size: .95em; }

.dic-consent-links { margin: .5rem 0 1rem; padding-left: 1.2rem; }
.dic-consent-links li { margin-bottom: .35rem; }

.dic-copybox input {
	width: 100%;
	margin-top: .5rem;
	padding: .55em .7em;
	border: 1px dashed currentColor;
	border-radius: 8px;
	background: #fff;
	font-size: .85em;
	color: inherit;
}

.dic-obs-input {
	width: 100%;
	margin-bottom: .35rem;
	padding: .45em .6em;
	border: 1px solid var(--dic-line);
	border-radius: 8px;
	font-size: .85em;
}

.dic-tour-predio { margin: .1rem 0; font-size: .88em; color: #1c3d78; }

.dic-search { display: flex; gap: .5rem; margin: 0 0 1rem; }
.dic-search input[type="text"] { flex: 1; }

.dic-cli-row {
	display: flex;
	justify-content: space-between;
	gap: .8rem;
	align-items: center;
	text-decoration: none !important;
	color: var(--dic-ink) !important;
}
.dic-cli-row:hover { border-color: var(--dic-accent); }

.dic-field-inline { display: block; margin: .4rem 0; font-size: .9em; }
.dic-field-inline select { width: auto; margin-left: .4rem; }
.dic-tour-done { border-left: 4px solid #128a3d; opacity: .7; }

.dic-tour-order h4 { margin: 0 0 .3em; }

.dic-order-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .4rem 0;
	border-bottom: 1px dashed var(--dic-line);
}

.dic-order-row input { width: 84px; }

/* --- tableau d'occupation --- */

.dic-table-wrap { overflow-x: auto; }
.dic-table { width: 100%; border-collapse: collapse; font-size: .92em; }

.dic-table th,
.dic-table td {
	padding: .5em .7em;
	text-align: left;
	border-bottom: 1px solid var(--dic-line);
	white-space: nowrap;
}

.dic-cell-off { color: #a7adb6; }
.dic-cell-free { color: #128a3d; }
.dic-cell-some { color: #8a5a00; }
.dic-cell-full { color: #b32d2e; font-weight: 700; }

@media (max-width: 600px) {
	.dic-tour-row { flex-wrap: wrap; }
	.dic-tour-actions { flex-direction: row; align-items: center; width: 100%; justify-content: flex-start; }
	.dic-estimate-total { font-size: 1.45em; }
}

/* ------------------------------------------------------------- v4.0.0 */

/* Botoes grandes de decisao da equipa (Confirmar / Recusar / Modificar) */
.dic-btn-big{display:block;width:100%;text-align:center;font-size:1.02rem;padding:.68rem 1.2rem}
.dic-btn-green{background:#128a3d;border-color:#128a3d;color:#fff}
.dic-btn-green:hover{background:#0e6e31;border-color:#0e6e31;color:#fff}
.dic-btn-red{background:#b32d2e;border-color:#b32d2e;color:#fff}
.dic-btn-red:hover{background:#8f2424;border-color:#8f2424;color:#fff}
.dic-btn-orange{background:#e07800;border-color:#e07800;color:#fff}
.dic-btn-orange:hover{background:#bf6600;border-color:#bf6600;color:#fff}
.dic-decide{min-width:240px;display:flex;flex-direction:column;gap:.5rem}
.dic-decide-more>summary{list-style:none;cursor:pointer}
.dic-decide-more>summary::-webkit-details-marker{display:none}
.dic-decide-more[open]>summary{opacity:.72}
.dic-decide-more form{margin-top:.5rem;display:flex;flex-direction:column;gap:.4rem}
.dic-decide-more input[type="text"]{width:100%}

/* Caixa de aceitacao das CG no formulario de reserva */
.dic-cg-box{border:2px solid var(--dic-accent);border-radius:10px;padding:.85rem 1rem;margin:.9rem 0;background:rgba(255,135,55,.06)}
.dic-cg-box p{margin:.1rem 0 .5rem}
.dic-cg-paper summary{cursor:pointer}

/* Contraproposta no Historique do cliente */
.dic-prop-box{border:2px dashed #e07800;border-radius:10px;padding:.8rem 1rem;margin:.55rem 0;background:#fff8ef;max-width:100%}
.dic-prop-box .dic-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.4rem 0 0}
.dic-prop-box form{display:inline}

/* Lista de dias com anulacao dia a dia */
.dic-days-list li{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.dic-day-off{color:#98a0aa;text-decoration:line-through}
.dic-day-billed{color:#b32d2e;font-size:.82em;font-weight:600}
.dic-day-cancel{display:inline;margin:0}
.dic-day-cancel button{background:none;border:0;color:#b32d2e;cursor:pointer;font-size:.84em;padding:0 .15rem}
.dic-day-cancel button:hover{text-decoration:underline}

/* Pensao: escolha deposito / recolha */
.dic-pickup-choice .dic-check{display:flex;margin:.3rem 0}
#dic-pickup-address{margin-top:.5rem}

/* Ocupacao: espreitar os caes do dia */
.dic-occ>summary{cursor:pointer;white-space:nowrap;list-style:none}
.dic-occ>summary::-webkit-details-marker{display:none}
.dic-occ-dogs{padding:.45rem 0 .2rem;display:flex;flex-direction:column;gap:.35rem;min-width:180px}
.dic-occ-chip{display:inline-flex;align-items:center;gap:.3rem;margin:.1rem .45rem .1rem 0;font-size:.82em;white-space:nowrap}
.dic-occ-chip img{width:24px;height:24px;object-fit:cover;border-radius:50%}

/* Ficha do cao editavel no painel da equipa */
.dic-dog-edit{margin-bottom:.7rem;border-bottom:1px solid rgba(0,0,0,.06);padding-bottom:.55rem}
.dic-dog-edit>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.dic-dog-edit>summary::-webkit-details-marker{display:none}
.dic-dog-edit form{margin-top:.6rem}

/* --- v4.1: preview dos caes ao passar o rato na ocupacao --- */
.dic-occ-cell{position:relative;cursor:help}
.dic-occ-pop{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);z-index:40;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 8px 22px rgba(0,0,0,.16);padding:.55rem .7rem;min-width:170px;max-width:260px;text-align:left;color:#28303a}
.dic-occ-cell:hover .dic-occ-pop,.dic-occ-cell:focus .dic-occ-pop,.dic-occ-cell:focus-within .dic-occ-pop{display:flex;flex-direction:column;gap:.32rem}
.dic-occ-pop .dic-occ-chip{margin:0}

/* --- v4.1.1: os 3 botoes de decisao com o MESMO tamanho e alinhados --- */
.dic-ec .dic-decide{align-items:stretch;width:240px;max-width:100%;margin-left:auto}
.dic-ec .dic-decide>form{margin:0;width:100%}
.dic-ec .dic-decide-more{width:100%}
.dic-ec .dic-btn.dic-btn-big,
.dic-ec .dic-decide-more>summary.dic-btn-big{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;text-align:center}
@media (max-width:640px){.dic-ec .dic-decide{width:100%}}

/* --- v4.2: pagina de resumo (Accueil) do espaco cliente --- */
.dic-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem;margin-bottom:.8rem}
.dic-sum-card{margin:0}
.dic-sum-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.55rem}
.dic-sum-head h3{margin:0;font-size:1.02rem}
.dic-sum-dogs{display:flex;flex-wrap:wrap;gap:.55rem}
.dic-sum-dog{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.04);border-radius:999px;padding:.2rem .6rem .2rem .2rem;font-size:.9em}
.dic-sum-dog img{width:34px;height:34px;object-fit:cover;border-radius:50%}
.dic-sum-dog .dic-dog-placeholder{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:rgba(0,0,0,.06);border-radius:50%}
.dic-sum-next{margin:0;line-height:1.5}
.dic-sum-pay{margin:0;font-weight:600}
.dic-sum-pay-ok{color:#128a3d}
.dic-sum-pay-due{color:#b32d2e}
.dic-sum-login{margin:.2rem 0 0;text-align:right}

/* --- v4.2: zona de perigo (eliminar) no painel da equipa --- */
.dic-danger-zone{border:1px solid #e7b6b6;background:#fdf3f3}
.dic-danger-zone h4{color:#b32d2e;margin-top:0}
.dic-toilettage-opt{margin-top:.5rem}

/* --- v4.2.2: histórico de pedidos do cliente no painel da equipa --- */
.dic-history>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center}
.dic-history>summary::-webkit-details-marker{display:none}
.dic-history-body{margin-top:.7rem}

/* --- v4.2.4: cartões de serviço só com o nome, em maiúsculas --- */
.dic-ec .dic-service-name{text-transform:uppercase;letter-spacing:.02em}
/* portão das CG antes da reserva */
.dic-cg-gate .dic-check{margin:.6rem 0}
