/*
Theme Name: Remake.me
Theme URI: https://www.remakeme.cz/
Author: Remake.me
Description: Vícestránková šablona pro Remake.me – Boutique Skin & PMU Retreat (úvod, 5 stránek služeb, Náš tým). Všechny texty a nadpisy se upravují v administraci v levém menu „Texty webu“. Nevyžaduje žádné pluginy.
Version: 2.5.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: remakeme
*/

:root {
    --rm-frame-radius: 1.25rem;
    --rm-heading-font: "Cormorant Garamond", Georgia, serif;
    --rm-content-font: "Montserrat", Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body,
.font-sans {
    font-family: var(--rm-content-font) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-serif {
    font-family: var(--rm-heading-font) !important;
}

blockquote,
.rm-quote {
    font-family: var(--rm-heading-font) !important;
    font-style: italic;
}

/* Jednotné zaoblení karet a rámečků; plné pilulky a kruhy zůstávají beze změny. */
[class~="rounded"],
[class~="rounded-sm"],
[class~="rounded-md"],
[class~="rounded-lg"],
[class~="rounded-xl"],
[class~="rounded-2xl"],
[class~="rounded-3xl"] {
    border-radius: var(--rm-frame-radius) !important;
}

#sluzby .grid > a {
    border-radius: var(--rm-frame-radius) !important;
}

.rm-viki-frame {
    aspect-ratio: 333 / 512 !important;
    border: 8px solid #fff;
    border-radius: var(--rm-frame-radius) !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 24px 48px -16px rgb(56 46 44 / 30%);
}

/* Jednotný tvar pro tlačítka i odkazy, které slouží jako CTA. */
button,
input[type="submit"],
input[type="button"],
a[class*="bg-retreat-"],
a[class*="border-retreat-"],
.reservio-button-container a {
    border-radius: 9999px !important;
}

.rm-back-to-top {
    position: fixed !important;
    z-index: 60 !important;
    right: max(1.25rem, env(safe-area-inset-right));
    bottom: max(1.25rem, env(safe-area-inset-bottom));
    display: inline-flex;
    width: 3.25rem;
    height: 3.25rem;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: #382e2c;
    border: 1px solid rgb(255 255 255 / 35%);
    border-radius: 9999px !important;
    text-decoration: none;
    box-shadow: 0 8px 24px rgb(56 46 44 / 25%);
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.rm-back-to-top:hover {
    background: #7a2031;
    box-shadow: 0 10px 28px rgb(56 46 44 / 32%);
    transform: translateY(-3px);
}

.rm-back-to-top:focus-visible {
    outline: 3px solid #907f75;
    outline-offset: 3px;
}

/* Vlastní kontaktní formulář bez závislosti na pluginu. */
.rm-contact-form {
    width: 100%;
    margin: 0;
}

.rm-contact-field {
    padding: 0 0 1.25rem;
}

.rm-contact-field label {
    display: block;
    margin: 0 0 0.45rem;
    color: #382e2c;
    font-family: var(--rm-content-font);
    font-size: 0.95rem;
    font-weight: 500;
}

.rm-contact-field input,
.rm-contact-field textarea {
    display: block;
    width: 100%;
    min-height: 2.9rem;
    padding: 0.75rem 0;
    color: #382e2c;
    background: transparent;
    border: 0;
    border-bottom: 2px solid #d1d5db;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--rm-content-font);
    font-size: 1rem;
}

.rm-contact-field textarea {
    min-height: 7rem;
    resize: vertical;
}

.rm-contact-field input::placeholder,
.rm-contact-field textarea::placeholder {
    color: #6b7280;
    opacity: 1;
}

.rm-contact-field input:focus,
.rm-contact-field textarea:focus {
    border-bottom-color: #7a2031;
    outline: 0;
}

.rm-contact-field label span[aria-hidden="true"] {
    color: #7a2031;
}

.rm-contact-optional {
    color: #6b7280;
    font-size: 0.8rem;
    font-weight: 400;
}

.rm-contact-note {
    margin: 0 0 1rem;
    color: #6b7280;
    font-family: var(--rm-content-font);
    font-size: 0.78rem;
    line-height: 1.6;
}

.rm-contact-form button[type="submit"] {
    width: 100%;
    min-height: 3.25rem;
    padding: 1rem 1.5rem;
    color: #fff;
    background: #382e2c;
    border: 0;
    border-radius: 9999px;
    box-shadow: 0 8px 20px rgb(56 46 44 / 16%);
    font-family: var(--rm-content-font);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 180ms ease, transform 180ms ease;
}

.rm-contact-form button[type="submit"]:hover {
    color: #fff;
    background: #7a2031;
    transform: translateY(-1px);
}

.rm-contact-form button[type="submit"]:focus-visible {
    outline: 3px solid #907f75;
    outline-offset: 3px;
}

.rm-contact-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.rm-form-status {
    margin: 0 0 1.25rem;
    padding: 1rem 1.25rem;
    color: #382e2c;
    background: #f8f5f1;
    border: 1px solid rgb(144 127 117 / 30%);
    border-radius: var(--rm-frame-radius);
    line-height: 1.6;
}

.rm-form-status.is-error {
    border-color: rgb(122 32 49 / 35%);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .rm-back-to-top {
        transition: none;
    }

    .rm-contact-form button[type="submit"] {
        transition: none;
    }
}

/* Posun fixního menu pod horní lištu administrace (jen pro přihlášené). */
.admin-bar #navbar {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar #navbar {
        top: 46px;
    }
}

/* Skryté editovatelné prvky: skryje se celý příslušný HTML prvek, nikoli jen text.
   :has() funguje v moderních prohlížečích; uložený obsah se na web nevypíše. */
:is(h1, h2, h3, h4, h5, h6, p, a, span, strong, em, li, label, button, small, blockquote, div):has(> .rm-hidden-text-marker) {
    display: none !important;
}

/* Při skrytí tlačítka rezervace se odstraní také prázdný obal a jeho odsazení. */
.reservio-wrap:has(> .reservio-button-container[hidden]) {
    display: none !important;
}
