/*
Theme Name: dds_wi5.ru_0503
Theme URI: https://wi5.ru/
Author: Илья Корнеев
Author URI: https://wi5.ru/
Description: Премиальная тема для каталога посуточной аренды с акцентом на комфорт, надежный интернет и быстрое заселение.
Version: 1.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: dds_wi5-0503
*/

:root {
    --wi5-ink: #10233c;
    --wi5-ink-soft: #28405f;
    --wi5-concrete: #d6d0c8;
    --wi5-copper: #b76546;
    --wi5-copper-deep: #8c4a31;
    --wi5-sand: #f8f6f1;
    --wi5-card: rgba(255, 255, 255, 0.92);
    --wi5-graphite: #444f5f;
    --wi5-shadow: 0 20px 48px rgba(16, 35, 60, 0.12);
    --wi5-radius: 8px;
    --wi5-shell: min(1180px, calc(100% - 32px));
    --wi5-ui-font: "Manrope", "Segoe UI", sans-serif;
    --wi5-copy-font: "Lora", "Georgia", serif;
}

html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--wi5-ink);
    background-color: var(--wi5-sand);
    background-image:
        radial-gradient(circle at 20% 20%, rgba(183, 101, 70, 0.08), transparent 24%),
        radial-gradient(circle at 80% 0%, rgba(16, 35, 60, 0.07), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(248, 246, 241, 0.96));
    font-family: var(--wi5-copy-font);
    font-size: 18px;
    line-height: 1.7;
}
a { color: var(--wi5-copper-deep); text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
a:hover, a:focus { color: var(--wi5-ink); }
img { max-width: 100%; height: auto; border-radius: var(--wi5-radius); }
table { width: 100%; border-collapse: collapse; margin: 1.4rem 0; background: #fff; }
table th, table td { border: 1px solid rgba(16, 35, 60, 0.18); padding: 0.8rem 0.95rem; text-align: left; }
p, ul, ol, blockquote { margin: 0 0 1.1rem; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 0.9rem; font-family: var(--wi5-ui-font); line-height: 1.18; color: var(--wi5-ink); }
.wi5-shell { width: var(--wi5-shell); margin: 0 auto; }
.wi5-skip-link { position: absolute; left: -9999px; top: auto; }
.wi5-skip-link:focus { left: 16px; top: 16px; z-index: 200; background: #fff; padding: 10px 14px; border-radius: var(--wi5-radius); }
.wi5-topbar { background: var(--wi5-ink); color: #eef4fb; }
.wi5-topbar__inner, .wi5-header__nav, .wi5-footer__bottom, .wi5-cookie { display: flex; align-items: center; gap: 16px; }
.wi5-topbar__inner { justify-content: space-between; min-height: 52px; }
.wi5-topbar a, .wi5-topbar strong { color: #fff; }
.wi5-brandline { display: inline-flex; align-items: center; gap: 12px; font-family: var(--wi5-ui-font); font-weight: 700; text-decoration: none; }
.custom-logo-link img { max-height: 80px; width: auto; }
.wi5-brandmark { width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(145deg, var(--wi5-copper), var(--wi5-ink-soft)); display: inline-flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.wi5-brandline__meta { display: flex; flex-direction: column; gap: 2px; }
.wi5-brandline__title { font-size: 0.96rem; }
.wi5-brandline__note { font-size: 0.78rem; color: rgba(255, 255, 255, 0.76); }
.wi5-header { padding: 18px 0 22px; background: rgba(255, 255, 255, 0.72); backdrop-filter: blur(10px); }
.wi5-header__nav { justify-content: space-between; gap: 18px; }
.wi5-mainmenu { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.wi5-mainmenu a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: var(--wi5-radius); text-decoration: none; font-family: var(--wi5-ui-font); font-size: 0.94rem; color: var(--wi5-ink); background: rgba(16, 35, 60, 0.05); }
.wi5-mainmenu .current-menu-item a, .wi5-mainmenu a:hover, .wi5-mainmenu a:focus { background: var(--wi5-ink); color: #fff; }
.wi5-searchpanel { flex: 1 1 340px; max-width: 520px; }
.wi5-searchpanel form { display: flex; gap: 10px; padding: 10px; border-radius: 18px; background: #fff; box-shadow: var(--wi5-shadow); }
.wi5-searchpanel input[type="search"] { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font: inherit; color: var(--wi5-ink); }
.wi5-searchpanel input[type="search"]:focus { outline: none; }
.wi5-searchpanel button, .wi5-button, .wi5-cookie__button, input[type="submit"], button[type="submit"] { border: 0; border-radius: var(--wi5-radius); background: linear-gradient(135deg, var(--wi5-ink), var(--wi5-ink-soft)); color: #fff; font-family: var(--wi5-ui-font); font-size: 0.94rem; font-weight: 700; padding: 0.82rem 1.15rem; cursor: pointer; box-shadow: 0 10px 24px rgba(16, 35, 60, 0.18); transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.wi5-searchpanel button:hover, .wi5-button:hover, .wi5-cookie__button:hover, input[type="submit"]:hover, button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 16px 28px rgba(16, 35, 60, 0.22); background: linear-gradient(135deg, var(--wi5-ink-soft), var(--wi5-copper-deep)); }
.wi5-owner-link { white-space: nowrap; text-decoration: none; }
.wi5-main { padding: 26px 0 42px; }
.wi5-hero { position: relative; overflow: hidden; padding: 34px; border-radius: 28px; background: linear-gradient(135deg, rgba(16, 35, 60, 0.96), rgba(40, 64, 95, 0.92)); color: #fff; box-shadow: var(--wi5-shadow); }
.wi5-hero::after { content: ""; position: absolute; inset: auto -8% -25% auto; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(183, 101, 70, 0.28), transparent 68%); }
.wi5-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.8fr); gap: 28px; }
.wi5-hero h1, .wi5-hero h2, .wi5-hero h3 { color: #fff; }
.wi5-hero__eyebrow, .wi5-chipline__label { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px; color: #ffd8c9; font-family: var(--wi5-ui-font); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.wi5-lead { font-size: clamp(1.05rem, 2vw, 1.24rem); color: rgba(255, 255, 255, 0.84); }
.wi5-hero__actions, .wi5-benefits, .wi5-chipline, .wi5-card__meta, .wi5-footer__widgets, .wi5-article-layout, .wi5-page-layout, .wi5-comment-form-grid { display: flex; gap: 14px; flex-wrap: wrap; }
.wi5-benefits { margin-top: 22px; }
.wi5-benefit { flex: 1 1 180px; min-width: 0; padding: 16px; border-radius: 18px; background: rgba(255, 255, 255, 0.08); }
.wi5-benefit strong, .wi5-feature-card strong { display: block; margin-bottom: 8px; font-family: var(--wi5-ui-font); }
.wi5-feature-card { padding: 22px; border-radius: 22px; background: rgba(255, 255, 255, 0.1); }
.wi5-badge { display: inline-flex; align-items: center; gap: 8px; padding: 0.45rem 0.7rem; border-radius: 999px; background: rgba(183, 101, 70, 0.18); color: #ffe6da; font-family: var(--wi5-ui-font); font-size: 0.86rem; font-weight: 700; }
.wi5-wifi { display: inline-flex; gap: 4px; align-items: flex-end; }
.wi5-wifi span { display: block; width: 6px; background: #ffd3c0; border-radius: 999px; }
.wi5-wifi span:nth-child(1) { height: 8px; }
.wi5-wifi span:nth-child(2) { height: 13px; }
.wi5-wifi span:nth-child(3) { height: 18px; }
.wi5-chipline { margin: 28px 0 6px; overflow: hidden; }
.wi5-chipline__track { display: inline-flex; gap: 10px; flex-wrap: wrap; }
.wi5-chip { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(16, 35, 60, 0.14); background: rgba(255, 255, 255, 0.9); font-family: var(--wi5-ui-font); font-size: 0.89rem; }
.wi5-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 24px; }
.wi5-card { display: flex; flex-direction: column; min-width: 0; background: var(--wi5-card); border: 1px solid rgba(16, 35, 60, 0.08); border-radius: 24px; overflow: hidden; box-shadow: var(--wi5-shadow); }
.wi5-card__cover { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.wi5-card__cover img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.wi5-card__status, .wi5-card__timer { position: absolute; left: 16px; z-index: 2; padding: 0.45rem 0.72rem; border-radius: 999px; font-family: var(--wi5-ui-font); font-size: 0.78rem; font-weight: 800; }
.wi5-card__status { top: 16px; background: rgba(86, 119, 91, 0.92); color: #f4fbf5; }
.wi5-card__timer { bottom: 16px; background: rgba(183, 101, 70, 0.92); color: #fff3ed; }
.wi5-card__overlay { position: absolute; inset: auto 16px 16px 16px; transform: translateY(16px); opacity: 0; padding: 14px; border-radius: 18px; background: rgba(16, 35, 60, 0.9); color: #eef4fb; transition: opacity 0.24s ease, transform 0.24s ease; }
.wi5-card:hover .wi5-card__overlay, .wi5-card:focus-within .wi5-card__overlay { opacity: 1; transform: translateY(0); }
.wi5-card__body { padding: 20px; }
.wi5-card__meta { align-items: center; font-family: var(--wi5-ui-font); font-size: 0.84rem; color: var(--wi5-graphite); }
.wi5-progress { position: relative; margin: 16px 0; height: 10px; border-radius: 999px; background: rgba(16, 35, 60, 0.1); overflow: hidden; }
.wi5-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--wi5-ink), var(--wi5-copper)); }
.wi5-card__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-family: var(--wi5-ui-font); font-weight: 700; text-decoration: none; }
.wi5-card__link::after { content: "->"; transition: transform 0.2s ease; }
.wi5-card__link:hover::after, .wi5-card__link:focus::after { transform: translateX(4px); }
.wi5-content-wrap { margin-top: 28px; }
.wi5-page-layout, .wi5-article-layout { align-items: flex-start; justify-content: space-between; }
.wi5-page-layout--with-sidebar .wi5-primary, .wi5-article-layout--with-sidebar .wi5-primary { width: 67%; }
.wi5-page-layout--with-sidebar .wi5-sidebar, .wi5-article-layout--with-sidebar .wi5-sidebar { width: 27%; }
.wi5-page-layout--no-sidebar .wi5-primary, .wi5-article-layout--no-sidebar .wi5-primary { width: 85%; }
.wi5-primary, .wi5-sidebar { min-width: 0; }
.wi5-panel, .wi5-sidebar .widget, .wi5-footer__widgets .widget, .comment-respond, .wi5-cookie { padding: 24px; border-radius: 24px; background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(16, 35, 60, 0.08); box-shadow: var(--wi5-shadow); }
.wi5-breadcrumbs { margin: 0 0 18px; font-family: var(--wi5-ui-font); font-size: 0.86rem; color: var(--wi5-graphite); }
.wi5-breadcrumbs a { color: var(--wi5-ink-soft); text-decoration: none; }
.wi5-entry-footer, .wi5-entry-meta { font-family: var(--wi5-ui-font); font-size: 0.86rem; color: var(--wi5-graphite); }
.wi5-pagination { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 24px; }
.wi5-pagination a, .wi5-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 0 14px; border-radius: 12px; background: #fff; border: 1px solid rgba(16, 35, 60, 0.12); text-decoration: none; font-family: var(--wi5-ui-font); }
.wi5-pagination .current { background: var(--wi5-ink); color: #fff; }
.wi5-footer { padding: 18px 0 40px; }
.wi5-footer__widgets { align-items: stretch; justify-content: space-between; gap: 20px; }
.wi5-footer__widgets > * { flex: 1 1 220px; min-width: 0; }
.wi5-footer__widgets ul, .wi5-sidebar ul { margin: 0; padding-left: 18px; }
.wi5-footer__bottom { justify-content: space-between; margin-top: 18px; padding-top: 20px; border-top: 1px solid rgba(16, 35, 60, 0.12); font-family: var(--wi5-ui-font); font-size: 0.9rem; }
.wi5-cookie { position: fixed; right: 16px; bottom: 16px; z-index: 90; max-width: 420px; align-items: center; justify-content: space-between; gap: 18px; }
.wi5-cookie.is-hidden { display: none; }
.wi5-comments-list { list-style: none; margin: 0 0 20px; padding: 0; }
.wi5-comments-list .comment { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(16, 35, 60, 0.1); }
.wi5-comment-form-grid > p { flex: 1 1 220px; }
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea, select { width: 100%; padding: 0.82rem 0.92rem; border: 1px solid rgba(16, 35, 60, 0.16); border-radius: var(--wi5-radius); background: #fff; color: var(--wi5-ink); font: inherit; box-sizing: border-box; }
textarea { min-height: 160px; resize: vertical; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
@media (max-width: 1080px) {
    .wi5-hero__grid, .wi5-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wi5-header__nav { flex-wrap: wrap; }
    .wi5-searchpanel { order: 3; width: 100%; max-width: none; }
}
@media (max-width: 860px) {
    body { font-size: 17px; }
    .wi5-hero, .wi5-panel, .wi5-sidebar .widget, .wi5-footer__widgets .widget, .comment-respond, .wi5-cookie { padding: 20px; border-radius: 18px; }
    .wi5-grid, .wi5-hero__grid { grid-template-columns: 1fr; }
    .wi5-page-layout--with-sidebar .wi5-primary, .wi5-article-layout--with-sidebar .wi5-primary, .wi5-page-layout--with-sidebar .wi5-sidebar, .wi5-article-layout--with-sidebar .wi5-sidebar, .wi5-page-layout--no-sidebar .wi5-primary, .wi5-article-layout--no-sidebar .wi5-primary { width: 100%; }
    .wi5-cookie { left: 16px; max-width: none; }
    .wi5-topbar__inner, .wi5-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
    .wi5-mainmenu { width: 100%; }
    .wi5-mainmenu li, .wi5-mainmenu a { width: 100%; }
    .wi5-searchpanel form { flex-direction: column; }
    .wi5-cookie { flex-direction: column; align-items: flex-start; }
}
