/* Menu & Booking pricing cards (common/block/services) */
.pricing-table .plan { background: #fff; border: 1px solid #ececec; border-radius: 0; }
.pricing-table .plan .plan-header,
.pricing-table .plan .plan-header.bg-secondary { background: #b08d57 !important; border-radius: 0; padding: 18px 10px; }
.pricing-table .plan .plan-header h3 { font-family: Poppins, sans-serif; color: #fff; font-weight: 600; font-size: 1em; letter-spacing: .05em; text-transform: uppercase; margin: 0; }
.pricing-table .plan .plan-price { background: #f4f4f4; padding: 30px 10px; }
.pricing-table .plan .plan-price .price { color: #212529; font-weight: 700; font-size: 2.2em; }
.pricing-table .plan .plan-price .price-label { color: #555; font-size: .8em; }
.pricing-table .plan .plan-features ul li { color: #555; padding: 9px 0; border-bottom: 1px solid #ececec; }
.pricing-table .plan .plan-features ul li:last-child { border-bottom: 0; }
.pricing-table .plan .plan-features .btn { border: 2px solid #212529; color: #212529; background: transparent; font-weight: 700; text-transform: uppercase; }
.pricing-table .plan .plan-features .btn:hover { background: #212529; color: #fff; }

/* Working hours (home page) */
.jl-hours { padding: 70px 0 80px; background: #fff; }
.jl-hours-title { font-family: Poppins, sans-serif; font-weight: 700; font-style: normal; font-size: 1.75rem; letter-spacing: -.02em; text-transform: uppercase; color: #b08d57; margin: 0 0 50px; position: relative; padding-left: 22px; }
.jl-hours-title::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #b08d57; }
.jl-hours-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 14px; margin-bottom: 70px; }
.jl-hours-day { background: #fff; text-align: center; padding: 40px 10px 46px; box-shadow: 0 10px 40px rgba(0, 0, 0, .07); }
.jl-hours-day h3 { font-family: Poppins, sans-serif; font-weight: 700; font-size: 1.5rem; color: #212529; margin: 0 0 22px; letter-spacing: -.02em; }
.jl-hours-day p { margin: 0; color: #212529; font-size: .95rem; line-height: 1.8; }
.jl-hours-day p span { display: block; }
.jl-hours-day .jl-hours-to { color: #212529; opacity: .4; font-size: .85rem; }
.jl-hours-call { background: #b08d57; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 48px; padding: 60px 20px; text-align: center; }
.jl-hours-call-label { font-family: 'Playfair Display', serif; font-weight: 700; font-size: 1.75rem; color: #fff; text-transform: uppercase; }
.jl-hours-call-phone { font-family: Poppins, sans-serif; font-weight: 700; font-size: 2.6rem; line-height: 1; color: #fff; text-decoration: none; }
.jl-hours-call-phone:hover { color: #fff; opacity: .85; text-decoration: none; }
@media (max-width: 991px) { .jl-hours-days { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 575px) { .jl-hours-days { grid-template-columns: repeat(2, 1fr); } .jl-hours-call-label { font-size: 1.3rem; } .jl-hours-call-phone { font-size: 2rem; } }

/* Footer (map / brand card / contact form) */
#footer.jl-footer { background: #f5f5f5; }
#footer .jl-footer-map { min-height: 420px; overflow: hidden; }
#footer .jl-footer-map a, #footer .jl-footer-map img { display: block; width: 100%; height: 100%; }
#footer .jl-footer-map img { object-fit: cover; }
#footer .jl-footer-card { background: #b08d57; color: #fff; text-align: center; padding: 70px 48px 64px; }
#footer .jl-footer-brand { display: flex; align-items: center; justify-content: center; gap: 12px; }
#footer .jl-footer-bar { width: 92px; height: 13px; background: repeating-linear-gradient(-45deg, rgba(255,255,255,.55) 0 2px, transparent 2px 5px); }
#footer .jl-footer-eyebrow { font-family: Poppins, sans-serif; font-weight: 600; font-size: 1.25rem; }
#footer .jl-footer-name { font-family: Poppins, sans-serif; font-weight: 600; font-style: normal; font-size: 3.2rem; line-height: 1.05; letter-spacing: -.01em; color: #fff; margin: 6px 0 22px; }
#footer .jl-footer-place { display: inline-flex; align-items: center; gap: 22px; }
#footer .jl-footer-place::before, #footer .jl-footer-place::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #c9a87a; }
#footer .jl-footer-place span { background: #c9a87a; padding: 10px 24px; font-size: .9rem; }
#footer .jl-footer-card hr { border: 0; border-top: 1px solid rgba(255,255,255,.25); opacity: 1; margin: 46px 0 30px; }
#footer .jl-footer-info { list-style: none; padding: 0; margin: 0; font-weight: 600; font-size: 1.05rem; line-height: 2.3; }
#footer .jl-footer-info a, #footer .jl-footer-call-phone { color: #fff; text-decoration: none; }
#footer .jl-footer-info a:hover, #footer .jl-footer-call-phone:hover { color: #fff; opacity: .85; }
#footer .jl-footer-card hr + .jl-footer-call-label { margin-top: 0; }
#footer .jl-footer-call-label { font-family: 'Playfair Display', serif; font-weight: 700; font-style: normal; font-size: 1.15rem; text-transform: uppercase; color: #2b2522; margin: 0 0 10px; }
#footer .jl-footer-call-phone { font-family: Poppins, sans-serif; font-weight: 700; font-size: 2rem; line-height: 1; }
#footer .jl-footer-contact { display: flex; align-items: center; position: relative; overflow: hidden; }
#footer .jl-footer-contact::before { content: ""; position: absolute; top: -170px; right: -110px; width: 400px; height: 400px; border-radius: 50%; background: #efe8df; }
#footer .jl-footer-contact-inner { position: relative; width: 100%; padding: 60px 48px; }
#footer #footer .jl-footer-contact .jl-hours-title { margin-bottom: 14px; }
#footer .jl-footer-contact-note { font-weight: 600; color: #666; margin-bottom: 30px; }
#footer .jl-footer-form input, #footer .jl-footer-form textarea { width: 100%; border: 0; border-bottom: 1px solid #bbb; background: transparent; padding: 12px; margin-bottom: 18px; font-size: .95rem; color: #212529; outline: 0; border-radius: 0; }
#footer .jl-footer-form input:focus, #footer .jl-footer-form textarea:focus { border-bottom-color: #b08d57; }
#footer .jl-footer-send { background: #212529; color: #fff; border: 0; font-family: Poppins, sans-serif; font-weight: 700; text-transform: uppercase; padding: 13px 26px; margin-top: 6px; }
#footer .jl-footer-send:hover { background: #b08d57; }
#footer .jl-footer-copyright { background: #212529; text-align: center; padding: 70px 16px 60px; }
#footer .jl-footer-copyright p { color: #fff; opacity: .4; font-weight: 300; font-size: .85rem; margin-bottom: 12px; }
@media (max-width: 991px) { #footer .jl-footer-map { min-height: 300px; } }
@media (max-width: 575px) { #footer .jl-footer-card { padding: 56px 24px; } #footer .jl-footer-name { font-size: 2.6rem; } #footer .jl-footer-contact-inner { padding: 50px 24px; } }
#footer .jl-footer-contact .jl-hours-title { color: #b08d57; }
#footer .jl-footer-card a, #footer .jl-footer-card a:hover { color: #fff !important; }
#footer .jl-footer-info li { line-height: 2.3; margin: 0; padding: 0; }
