h2, h3, h4, h5, h6 { color: #547B97; }

/* Layout - Calendar */

a.cc-event:link,
a.cc-event:visited { background-color: #975459; }
a.cc-event:hover { background-color: #6A3333; }

a.cc-own:link,
a.cc-own:visited { background-color: #8BB243; }
a.cc-own:hover { background-color: #5F8024; }

a.cc-single:link,
a.cc-single:visited { background-color: #808D96; }
a.cc-single:hover { background-color: #4C5359; }

a.cc-multiple:link,
a.cc-multiple:visited { background-color: #547B97; }
a.cc-multiple:hover { background-color: #334F6A; }

a.cc-conflict:link,
a.cc-conflict:visited { background-color: #334F6A; }
a.cc-conflict:hover { background-color: #334F6A; }

/* Layout - Alternate Calendar */

.cc-range-member a {
    border-color: #547B97 !important;
    background-color: #547B97 !important;
}

/* General Purpose - Classes */

.my-highlight { color: #5F8024; }

.badge { background-color: #547B97; }
.badge-label { color: #547B97; }

/* Links */

a:link, a:visited { color: #334F6A; }

/* =======================================================
   SOSA Booking – Corporate Design Overrides
   ======================================================= */


/* --------------------------------------------------------------------
   1) Global Layout and Colors
   -------------------------------------------------------------------- */
html,
body {
	background-color: #f4f6fa !important; /* neutral grey background */
	color: #000 !important;               /* main text color */
	background-image: none !important;    /* ensure no background image leaks */
}


/* --------------------------------------------------------------------
   2) Header and Footer
   -------------------------------------------------------------------- */
#header,
#footer {
	background-color: #f4f6fa !important; /* same grey for visual consistency */
}

#header {
	border-bottom: 1px solid #ccc;
}

#footer {
	border-top: 1px solid #ccc;
	color: rgba(0,0,0,.7);
}


/* --------------------------------------------------------------------
   3) Typography – Headings and Accent Text
   -------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	color: #00406d !important; /* SOSA blue */
}


/* --------------------------------------------------------------------
   4) Links
   -------------------------------------------------------------------- */
a:link,
a:visited {
	color: #00406d !important; /* brand blue */
}
a:hover {
	color: #002d4a !important; /* darker hover blue */
}


/* --------------------------------------------------------------------
   5) Calendar Colors
   -------------------------------------------------------------------- */
/* "Booked" event types */
a.cc-single:link,
a.cc-single:visited {
	background-color: #4b6b83 !important; 
}
a.cc-single:hover {
	background-color: #334d5f !important;
}

/* "Multiple" events (your main accent) */
a.cc-multiple:link,
a.cc-multiple:visited {
	background-color: #00406d !important;
}
a.cc-multiple:hover {
	background-color: #002d4a !important;
}

/* Range selection */
.cc-range-member a {
	color: #fff !important;
	border-color: #00406d !important;
	background: #00406d !important;
}


/* --------------------------------------------------------------------
   6) Info Messages
   -------------------------------------------------------------------- */
.info-message {
	background: #00406d url(../imgs/icons/msg-info.png) no-repeat 16px center !important;
	color: #fff;
}


/* --------------------------------------------------------------------
   7) Primary Buttons (used for "Heute" & "Anmelden")
   -------------------------------------------------------------------- */
.default-button.primary,
a.default-button.primary:link,
a.default-button.primary:visited {
	color: #fff !important;
	background: #00406d !important;
	border: none !important;
	border-radius: 999px;
	padding: 8px 22px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.18);
	transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
}

.default-button.primary:hover,
a.default-button.primary:hover {
	background: #002d4a !important;
	box-shadow: 0 3px 8px rgba(0,0,0,0.25);
	transform: translateY(-1px);
}

.default-button.primary:active,
a.default-button.primary:active {
	transform: translateY(0);
	box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}


/* --------------------------------------------------------------------
   8) Default Buttons (used by arrow buttons)
      -> restored to neutral grey
   -------------------------------------------------------------------- */
.default-button:not(.primary),
a.default-button:not(.primary):link,
a.default-button:not(.primary):visited {
	background: #f6f6f6 !important;
	color: #333 !important;
	border: 1px solid #ccc !important;
	box-shadow: none !important;
	border-radius: 3px;
}

.default-button:not(.primary):hover {
	background: #e6e6e6 !important;
}

/* --------------------------------------------------------------------
   8a) Calendar navigation arrows (keep neutral grey)
   -------------------------------------------------------------------- */
#calendar-toolbar a.symbolic-button,
#calendar-toolbar a.symbolic-button:link,
#calendar-toolbar a.symbolic-button:visited {
	background: #f6f6f6 !important;
	color: #333 !important;
	border: 1px solid #ccc !important;
	box-shadow: none !important;
	border-radius: 3px;
}

#calendar-toolbar a.symbolic-button:hover {
	background: #e6e6e6 !important;
}

/* --------------------------------------------------------------------
   9) Form Fields
   -------------------------------------------------------------------- */
input[type="text"],
input[type="password"],
textarea,
select {
	color: #000;
	border: 1px solid #ccc;
	background: #fff;
}

input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: #00406d;
}


/* --------------------------------------------------------------------
   10) Calendar Table Modernization
   -------------------------------------------------------------------- */
.panel,
.centered-panel {
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 
	    0 2px 4px rgba(0,0,0,0.10),
		0 10px 24px rgba(0,0,0,0.10);
}

.calendar-table {
	background-color: #fff !important; /* clean table card */
}

.calendar-time-table {
	border-right: 1px solid #ddd !important;
	border-bottom: 1px solid #ddd !important;
}

.calendar-date-table,
.calendar-square-table {
	border-left: 1px solid #ddd !important;
	border-right: 1px solid #ddd !important;
	border-bottom: 1px solid #ddd !important;
}

.calendar-time-table td,
.calendar-date-table td,
.calendar-square-table td {
	border-top: 1px solid #ddd !important;
	border-color: #ddd !important;
}

.calendar-time-table td {
	border-left: 0 !important;
}

/* highlight column & date labels */
.day-label,
.square-label,
.cts-label {
	color: #00406d !important;
}


/* --------------------------------------------------------------------
   11) Misc readability fixes
   -------------------------------------------------------------------- */
.links-forth ul {
	color: #000;
}


/* --------------------------------------------------------------------
   12) Header typography: SOSA GmbH / Buchungssystem
   -------------------------------------------------------------------- */
#label-client {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: #00406d;
}

#label-service {
	font-size: 26px;
	font-weight: 700;
	color: #00406d;
}

#branding {
	font-size: 12px;
	font-style: normal;
	color: rgba(0,0,0,0.6);
}


/* --------------------------------------------------------------------
   13) Free slots: subtle mint highlight
   -------------------------------------------------------------------- */
a.cc-free:link,
a.cc-free:visited {
	background-color: #e9f7f2 !important; /* light mint */
	color: #00406d !important;
}

a.cc-free:hover {
	background-color: #d3eee5 !important; /* slightly stronger on hover */
}


/* --------------------------------------------------------------------
   14) Remove "Powered by ..." in header
   -------------------------------------------------------------------- */
#branding {
	display: none !important;
}


/* --------------------------------------------------------------------
   15) Remove ep-3 software branding in footer
   -------------------------------------------------------------------- */
#footer .centered-text span.no-wrap:last-child {
	display: none !important;
}


/* --------------------------------------------------------------------
   16) Calendar hover effects (row + cell shadow)                                                   -> TEST
   -------------------------------------------------------------------- */

/* Smooth transitions on all calendar cells */
.calendar-cell {
	transition:
		background-color 0.12s ease,
		box-shadow 0.12s ease,
		transform 0.05s ease;
}

/* Row hover: tint whole time row slightly */
.calendar-square-row:hover td a.cc-free,
.calendar-square-row:hover td a.cc-own,
.calendar-square-row:hover td a.cc-event,
.calendar-square-row:hover td a.cc-single,
.calendar-square-row:hover td a.cc-multiple {
	background-color: #dff5ef !important;
}

/* Cell hover: lift the hovered slot with a subtle shadow */
.calendar-square-table a.cc-free:hover,
.calendar-square-table a.cc-own:hover,
.calendar-square-table a.cc-event:hover,
.calendar-square-table a.cc-single:hover,
.calendar-square-table a.cc-multiple:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}


/* --------------------------------------------------------------------
   17) Calendar header typography
   -------------------------------------------------------------------- */
.calendar-date-row td {
	background-color: #f5f7f9;
	border-bottom: 1px solid #e1e1e1;
}

.calendar-date-row .day-label {
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.06em;
	font-weight: 600;
	color: #00406d;
}

.calendar-date-row .square-label {
	font-size: 11px;
	color: rgba(0, 0, 0, 0.65);
}


/* --------------------------------------------------------------------
	18) Hide corner cells in time table
	-------------------------------------------------------------------- */
/* Remove the left corner boxes (top-left + bottom-left) */
.calendar-time-table tr:first-child > *:first-child,
.calendar-time-table tr:last-child > *:first-child {
	background: transparent !important;
	border: 0 !important;
}

/* Remove the vertical separator between time-table and the day grid */
.calendar-time-table {
	border-right: 0 !important;
}

/* Remove the first grid column left border so no separator appears */
.calendar-date-table tr > *:first-child,
.calendar-square-table tr > *:first-child {
	border-left: 0 !important;
}

.calendar-time-table tr:nth-last-child(2) > *:first-child {
	border-bottom: 1px solid #ddd !important;
}

.calendar-time-table tr:last-child > *:first-child {
	background: transparent !important;
	border: 0 !important;
}

.calendar-time-table {
	border-bottom: 0 !important;
}

.calendar-time-table tr:last-child > * {
	border-bottom: 0 !important;
}
