Онлайн-запис
body {
font-family: 'Source Code Pro', monospace;
background: url('https://static.tildacdn.one/tild3030-6537-4234-b739-646666396661/__7.png') no-repeat center center fixed;
background-size: cover;
margin: 0;
padding: 0;
color: #fff;
}
h2 {
text-align: center;
margin-bottom: 20px;
font-size: 20px;
font-weight: 500;
}
#mode-step {
text-align: center;
}
#mode-step h2 {
font-size: 3.2rem; /* подвоєно */
margin-bottom: 2rem;
}
#mode-step .mode-options {
display: flex;
flex-direction: column;
width: 90%;
max-width: 700px;
margin: auto;
border: 2px solid #fff;
border-radius: 12px;
overflow: hidden;
}
#mode-step .mode-option {
flex: 1;
background: rgba(0, 0, 0, 0.6);
min-height: 25vh;
padding: 3rem 1rem;
cursor: pointer;
transition: background 0.3s, transform 0.2s, border-color 0.3s;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#mode-step .mode-option:hover {
background: rgba(255, 255, 255, 0.05);
border-color: #800000;
transform: scale(1.02);
}
#mode-step .mode-option + .mode-option {
border-top: 1px solid #fff;
}
#mode-step .mode-option .emoji {
font-size: 8rem; /* подвоєно */
margin-bottom: 1rem;
line-height: 1;
}
#mode-step .mode-option span.label {
font-size: 2.8rem; /* подвоєно */
font-weight: bold;
color: #fff;
}
@media (max-width: 480px) {
#mode-step h2 {
font-size: 2.4rem; /* подвоєно */
margin-bottom: 1.5rem;
}
#mode-step .mode-option {
min-height: 30vh;
padding: 2rem 1rem;
}
#mode-step .mode-option .emoji {
font-size: 6rem; /* подвоєно */
}
#mode-step .mode-option span.label {
font-size: 2.2rem; /* подвоєно */
}
}
@media (min-width: 1024px) {
#mode-step .mode-options {
max-width: 800px;
}
#mode-step .mode-option {
min-height: 35vh;
}
#mode-step .mode-option .emoji {
font-size: 10rem; /* подвоєно */
}
#mode-step .mode-option span.label {
font-size: 3.2rem; /* подвоєно */
}
}
.step {
display: none;
max-width: 700px;
margin: auto;
padding: 20px 20px 120px;
position: relative;
}
.step.active {
display: block;
}
.top-back-btn {
position: absolute;
top: 10px;
left: 10px;
background: transparent;
color: white;
border: 1px solid #800000;
border-radius: 4px;
padding: 6px 10px;
font-size: 14px;
cursor: pointer;
font-weight: 500;
z-index: 10;
}
.bottom-next-btn {
position: fixed;
bottom: 20px;
left: 0;
right: 0;
max-width: 90vw;
margin: auto;
padding: 0 20px;
z-index: 999;
}
.bottom-next-btn button {
width: 90vw;
padding: 12px;
background-color: #800000;
color: white;
border: 1px solid #ffffff;
border-radius: 5px;
font-weight: bold;
cursor: pointer;
}
.bottom-next-btn button:hover {
background-color: #111;
}
#book-button,
#book-button-date-first{
width: 80%;
padding: 12px;
background-color: #800000;
color: white;
border: 1px solid #ffffff;
border-radius: 5px;
font-weight: bold;
cursor: pointer;
}
#book-button:hover,
#book-button-date-first:hover {
background-color: #111;
}
select,
input[type="text"],
input[type="tel"] {
padding: 10px;
border-radius: 8px;
border: 1px solid #ffffff;
margin-bottom: 10px;
background: transparent;
color: #fff;
max-width: 300px;
width: 100%;
display: block;
margin-left: auto;
margin-right: auto;
}
select#addon-select {
background-color: #000;
color: #fff;
border: 1px solid #fff;
margin-top: 5%;
width: 80%;
max-width: 300px;
display: block;
margin-left: auto;
margin-right: auto;
}
.summary-block {
padding: 20px;
margin-bottom: 20px;
color: #fff;
}
.summary-block h3 {
text-align: center;
}
.summary-row {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #000;
border: 2px solid #fff;
border-radius: 12px;
padding: 16px 20px;
margin: 12px 0;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
font-size: 16px;
transition: border-color 0.3s, background-color 0.3s;
}
.summary-row:hover {
background-color: rgba(255, 255, 255, 0.05);
border-color: #800000;
}
.summary-icon {
width: 24px;
height: 24px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
}
.summary-icon svg {
stroke: #fff;
width: 20px;
height: 20px;
}
.master-card {
background: transparent;
border: 1px solid #ffffff;
border-radius: 8px;
padding: 10px;
cursor: pointer;
transition: 0.3s;
text-align: center;
}
.service-card {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #000;
border: 2px solid #fff;
border-radius: 12px;
padding: 12px 16px;
margin-bottom: 12px;
cursor: pointer;
transition: border-color 0.3s;
position: relative;
font-size: 14px;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}
.service-price {
color: #fff;
font-weight: bold;
}
.service-card:hover {
border-color: #888;
}
.service-info .details {
font-size: 14px;
color: #ccc;
display: flex;
gap: 15px;
align-items: center;
flex-wrap: wrap;
}
.service-info .details span {
display: flex;
align-items: center;
gap: 6px;
}
.service-info svg {
stroke: #ccc;
width: 16px;
height: 16px;
}
.service-add-btn {
width: 24px;
height: 24px;
background: #fff;
color: #111;
font-weight: bold;
border-radius: 50%;
text-align: center;
line-height: 24px;
font-size: 16px;
margin-left: 10px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}
.service-card.selected .service-add-btn {
background: transparent;
color: white;
}
.service-card:hover {
background-color: rgba(255, 255, 255, 0.05);
border-color: #800000;
transform: scale(1.01);
}
.service-card.selected {
border: 2px solid #ff4444;
background-color: rgba(50, 0, 0, 0.8);
}
.service-card:hover {
background-color: rgba(255, 255, 255, 0.05);
border-color: #800000;
}
.service-info {
text-align: left;
color: #fff;
font-size: 16px;
}
.service-info .title {
font-weight: bold;
font-size: 18px;
margin-bottom: 5px;
}
.service-info .details {
font-size: 14px;
color: #ccc;
display: flex;
gap: 15px;
align-items: center;
}
.service-info .details span {
display: flex;
align-items: center;
gap: 6px;
}
.service-add-btn {
width: 32px;
height: 32px;
background-color: #444;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: white;
border: 1px solid #fff;
font-size: 20px;
cursor: pointer;
transition: background 0.2s;
}
.service-add-btn:hover {
background-color: #800000;
border-color: #800000;
}
.service-card.selected {
border: 3px solid #800000;
}
.master-card.selected,
.service-card.selected {
border: 3px solid #800000;
}
.master-card img {
width: 100%;
height: auto;
object-fit: cover;
border-radius: 8px;
margin-bottom: 10px;
}
#category-tabs {
display: flex;
overflow-x: auto;
white-space: nowrap;
gap: 10px;
padding-bottom: 10px;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
#category-tabs::-webkit-scrollbar {
display: none;
}
.tab {
display: inline-block;
padding: 10px 15px;
border-radius: 5px;
background: transparent;
border: 1px solid #ffffff;
cursor: pointer;
color: #fff;
flex-shrink: 0;
}
.tab.active {
border: 3px solid #800000;
background: rgba(128, 0, 0, 0.2);
}
#calendar {
padding: 20px;
border-radius: 10px;
}
.calendar-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 10px;
}
.calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 5px;
text-align: center;
}
.calendar-day,
.calendar-cell {
padding: 10px;
border-radius: 5px;
}
.calendar-day {
font-weight: bold;
background: rgba(255, 255, 255, 0.1);
}
.calendar-cell.disabled {
background: transparent;
color: #777;
pointer-events: none;
}
.calendar-cell.available {
background: transparent;
border: 1px solid #ffffff;
cursor: pointer;
transition: 0.2s;
}
.calendar-cell.available:hover {
background: rgba(255, 255, 255, 0.05);
}
.calendar-cell.selected {
border: 3px solid #800000;
}
.slot-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
gap: 10px;
margin-bottom: 20px;
}
.slot-button {
padding: 10px;
border: 1px solid #ffffff;
border-radius: 5px;
background: transparent;
color: white;
text-align: center;
cursor: pointer;
transition: background 0.2s;
}
.slot-button:hover {
background: rgba(255, 255, 255, 0.05);
}
.slot-button.selected {
background: rgba(128, 0, 0, 0.2);
border: 3px solid #800000;
}
.thanks-wrapper {
display: inline-block;
max-width: 500px;
}
.thanks-msg-wrapper {
background-color: rgba(0, 0, 0, 0.5);
border: 1px solid #800000;
border-radius: 10px;
padding: 20px;
color: #ddd;
margin-bottom: 30px;
}
.thanks-msg {
font-size: 18px;
margin: 0;
}
.thanks-card {
background-color: rgba(0, 0, 0, 0.5);
border: 1px solid #800000;
border-radius: 10px;
padding: 20px;
color: #ddd;
text-align: left;
}
.thanks-section {
margin-bottom: 15px;
}
.thanks-section strong {
display: block;
color: #fff;
margin-bottom: 5px;
}
.thanks-section a {
color: #ff4444;
text-decoration: none;
}
.thanks-section a:hover {
text-decoration: underline;
}
.contact-buttons {
display: flex;
justify-content: space-around;
margin-top: 20px;
flex-wrap: wrap;
}
.contact-btn {
display: inline-flex;
align-items: center;
background-color: #222;
border: 1px solid #800000;
border-radius: 5px;
padding: 10px 15px;
margin: 5px;
color: white;
text-decoration: none;
font-size: 14px;
transition: background 0.3s;
}
.contact-btn:hover {
background-color: #333;
}
.contact-btn img {
width: 20px;
height: 20px;
margin-right: 8px;
filter: none;
}
#barber-step-5 .thanks-msg {
font-size: 18px;
margin-bottom: 30px;
}
#barber-step-5 .thanks-details {
text-align: left;
display: inline-block;
font-size: 16px;
background-color: rgba(0, 0, 0, 0.5);
padding: 20px;
border-radius: 10px;
line-height: 1.6;
color: #ddd;
border: 1px solid #800000;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.no-availability {
position: absolute;
padding: 15px 25px;
font-size: 3rem;
color: #ffffff;
background-color: rgba(0, 0, 0, 0.7); /* напівпрозорий чорний фон */
border-radius: 8px;
text-align: center;
z-index: 999;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.master-info {
padding-top: 10px;
}
.master-name {
font-weight: bold;
font-size: 16px;
margin-bottom: 5px;
}
.master-service-info {
display: flex;
justify-content: space-between;
}
.master-service-price, .master-service-duration {
font-size: 14px;
}