/*
 Theme Name:   Newspapper Child
 Theme URI:    https://attractions.today/Newspaper-Child/
 Description:  Child for Newspaper
 Author:       Anatoly Tolkachev
 Author URI:   https://attractions.today
 Template:     Newspaper
 Version:      1.0.0
 License:      General Public License (GPL)
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         responsive-layout, accessibility-ready
 Text Domain:  Newspaper-Child
*/


/* =================================================================
   1. ЛОКАЛЬНОЕ ПОДКЛЮЧЕНИЕ ШРИФТОВ
   ================================================================= */

/* roboto-300 - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/roboto-v48-cyrillic_latin-300.woff2') format('woff2');
}
/* roboto-regular - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/roboto-v48-cyrillic_latin-regular.woff2') format('woff2');
}
/* roboto-italic - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/roboto-v48-cyrillic_latin-italic.woff2') format('woff2');
}
/* roboto-600 - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/roboto-v48-cyrillic_latin-600.woff2') format('woff2');
}
/* roboto-700 - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/roboto-v48-cyrillic_latin-700.woff2') format('woff2');
}

/* montserrat-regular - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/montserrat-v30-cyrillic_latin-regular.woff2') format('woff2');
}
/* montserrat-600 - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/montserrat-v30-cyrillic_latin-600.woff2') format('woff2');
}
/* montserrat-700 - cyrillic_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/montserrat-v30-cyrillic_latin-700.woff2') format('woff2');
}

/* ribeye-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Ribeye';
  font-style: normal;
  font-weight: 400;
  src: url('https://attractions.today/wp-content/themes/Newspaper-Child/fonts/ribeye-v26-latin-regular.woff2') format('woff2');
}



       /* Wrapper (Global) */
        #silktide-wrapper {
            --focus: 0 0 0 2px #ffffff, 0 0 0 4px #000000, 0 0 0 6px #ffffff;
            --boxShadow: -5px 5px 10px 0px #00000012, 0px 0px 50px 0px #0000001a;
            --fontFamily: Helvetica Neue, Segoe UI, Arial, sans-serif;
            --primaryColor: #533BE2;
            --backgroundColor: #FFFFFF;
            --textColor: #4B494B;
            --backdropBackgroundColor: #00000033;
            --backdropBackgroundBlur: 0px;
            --cookieIconColor: #FFFFFF;
            --cookieIconBackgroundColor: #533BE2;
            position: fixed;
            bottom: 0;
            right: 0;
            width: 100%;
            height: 100%;
            z-index: 99999;
            pointer-events: none;
            border: 0px;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        /* Backdrop (Global) */
        #silktide-backdrop-global {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: auto;
            border: 0px;
            display: none;
        }

        /* --------------------------------
         Links
        -------------------------------- */
        #silktide-wrapper a {
            all: unset;
            display: inline-block;
            color: var(--primaryColor);
            text-decoration: underline;
        }

        #silktide-wrapper a:hover {
            cursor: pointer;
            color: var(--textColor);
        }

        /* --------------------------------
         Focus Styles
        -------------------------------- */
        #silktide-wrapper a:focus,
        #silktide-wrapper #silktide-banner button:focus,
        #silktide-wrapper #silktide-modal button:focus,
        #silktide-wrapper #silktide-cookie-icon:focus {
            outline: none;
            box-shadow: var(--focus);
            border-radius: 5px;
        }

        #silktide-wrapper #silktide-cookie-icon:focus {
            border-radius: 50%;
        }

        /* --------------------------------
         General Styles
        -------------------------------- */
        #silktide-wrapper .st-button {
            color: var(--backgroundColor);
            background-color: var(--primaryColor);
            border: 2px solid var(--primaryColor);
            padding: 10px 20px;
            text-decoration: none;
            text-align: center;
            display: inline-block;
            font-size: 16px;
            line-height: 24px;
            cursor: pointer;
            border-radius: 5px;
        }

        #silktide-wrapper .st-button--primary {}

        #silktide-wrapper .st-button--primary:hover {
            background-color: var(--backgroundColor);
            color: var(--primaryColor);
        }

        #silktide-wrapper .st-button--secondary {
            background-color: var(--backgroundColor);
            color: var(--primaryColor);
        }

        #silktide-wrapper .st-button--secondary:hover {
            background-color: var(--primaryColor);
            color: var(--backgroundColor);
        }

        /* --------------------------------
         Banner
        -------------------------------- */
        #silktide-banner {
            font-family: var(--fontFamily);
            color: var(--textColor);
            background-color: var(--backgroundColor);
            box-sizing: border-box;
            padding: 32px;
            border-radius: 5px;
            pointer-events: auto;
            border: 0px;
            position: fixed;
            bottom: 16px;
            right: 16px;
            width: 600px;
            max-width: calc(100% - 32px);
            transform: translate(0, -20px);
            opacity: 0;
            animation: silktide-slideInDown 350ms ease-out forwards;
            animation-delay: 0.3s;
            box-shadow: var(--boxShadow);
        }

        #silktide-banner:focus {
            border-radius: 50%;
        }

        #silktide-banner.center {
            top: 50%;
            left: 50%;
            bottom: auto;
            right: auto;
            position: fixed;
            transform: translate(-50%, calc(-50% - 20px));
            animation: silktide-slideInDown-center 350ms ease-out forwards;
        }

        #silktide-banner.bottomLeft {
            bottom: 16px;
            left: 16px;
            position: fixed;
        }

        #silktide-banner.bottomCenter {
            bottom: 16px;
            left: 50%;
            position: fixed;
            transform: translate(-50%, -20px);
            animation: silktide-slideInDown-bottomCenter 350ms ease-out forwards;
        }

        #silktide-banner .preferences {
            display: flex;
            gap: 5px;
            border: none;
            padding: 0px;
            background-color: transparent;
            color: var(--primaryColor);
            cursor: pointer;
            font-size: 16px;
        }

        #silktide-banner .preferences span {
            display: block;
            white-space: nowrap;
            text-decoration: underline;
        }

        #silktide-banner .preferences span:hover {
            color: var(--textColor);
        }

        #silktide-banner .preferences:after {
            display: block;
            content: '>';
            text-decoration: none;
        }

        #silktide-banner p {
            font-size: 16px;
            line-height: 24px;
            margin: 0px 0px 15px;
        }

        #silktide-banner a {
            display: inline-block;
            color: var(--primaryColor);
            text-decoration: underline;
            background-color: var(--backgroundColor);
        }

        #silktide-banner a:hover {
            color: var(--textColor);
        }

        #silktide-banner .actions {
            display: flex;
            gap: 16px;
            flex-direction: column;
            margin-top: 24px;
        }

        @media (min-width: 600px) {
            #silktide-banner .actions {
                flex-direction: row;
                align-items: center;
            }
        }

        #silktide-banner .actions-row {
            display: flex;
            gap: 16px;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            flex-grow: 1;
        }

        /* --------------------------------
         Modal
        -------------------------------- */
        #silktide-modal {
            display: none;
            pointer-events: auto;
            width: 800px;
            max-width: 100%;
            max-height: 100%;
            border: 0px;
            transform: translate(0px, -20px);
            opacity: 0;
            animation: silktide-slideInUp-center 350ms ease-out forwards;
            box-shadow: var(--boxShadow);
            font-family: var(--fontFamily);
            color: var(--textColor);
            flex-direction: column;
            padding: 30px;
            background-color: var(--backgroundColor);
            border-radius: 5px;
            box-sizing: border-box;
        }

        /* --------------------------------
         Modal - Header
        -------------------------------- */
        #silktide-modal header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            gap: 16px;
        }

        #silktide-modal h1 {
            font-family: var(--fontFamily);
            color: var(--textColor);
            font-size: 24px;
            font-weight: 500;
            margin: 0px;
        }

        #silktide-modal .modal-close {
            display: inline-flex;
            border: none;
            padding: 10px;
            border: 0px;
            cursor: pointer;
            background: var(--backgroundColor);
            color: var(--primaryColor);
        }

        #silktide-modal .modal-close svg {
            fill: var(--primaryColor);
        }

        /* --------------------------------
         Modal - Content
        -------------------------------- */
        #silktide-modal section {
            flex: 1;
            overflow-y: auto;
            margin-top: 20px;
            padding-right: 7px; /* Prevents scrollbar from appearing over the switches */
        }

        #silktide-modal section::-webkit-scrollbar {
            display: block;
            width: 5px;
        }

        #silktide-modal section::-webkit-scrollbar-thumb {
            background-color: var(--textColor);
            border-radius: 10px;
        }

        #silktide-modal p {
            font-size: 16px;
            line-height: 24px;
            color: var(--textColor);
            margin: 0px 0px 15px;
        }

        #silktide-modal p:last-of-type {
            margin: 0px;
        }

        /* --------------------------------
         Modal - Switches
        -------------------------------- */
        #silktide-modal .switch {
            flex-shrink: 0;
            position: relative;
            display: inline-block;
            height: 34px;
            width: 74px;
            cursor: pointer;
        }

        #silktide-modal .switch:focus-within {
            outline: none;
            box-shadow: var(--focus);
            border-radius: 25px;
        }

        #silktide-modal .switch input {
            opacity: 0;
            position: absolute;
        }

        #silktide-modal .switch__pill {
            position: relative;
            display: block;
            height: 34px;
            width: 74px;
            background: var(--textColor);
            border-radius: 25px;
        }

        #silktide-modal .switch__dot {
            position: absolute;
            top: 2px;
            left: 2px;
            display: block;
            height: 30px;
            width: 30px;
            background: var(--backgroundColor);
            border-radius: 50%;
            transition: left 150ms ease-out;
        }

        #silktide-modal .switch__off,
        #silktide-modal .switch__on {
            text-transform: uppercase;
            font-size: 15px;
            font-weight: 500;
            color: var(--backgroundColor);
            position: absolute;
            top: 7px;
            right: 8px;
            transition: right 150ms ease-out, opacity 150ms ease-out;
        }

        #silktide-modal .switch__off {
            opacity: 1;
        }

        #silktide-modal .switch__on {
            opacity: 0;
        }

        #silktide-modal .switch input:checked+.switch__pill {
            background: var(--primaryColor);
        }

        #silktide-modal .switch input:checked~.switch__dot {
            left: calc(100% - 32px);
        }

        #silktide-modal .switch input:checked~.switch__off {
            right: calc(100% - 32px);
            opacity: 0;
        }

        #silktide-modal .switch input:checked~.switch__on {
            right: calc(100% - 34px);
            opacity: 1;
        }

        #silktide-modal .switch input:disabled+.switch__pill {
            opacity: 0.65;
            cursor: not-allowed;
        }

        /* --------------------------------
         Modal - Footer
        -------------------------------- */
        #silktide-modal footer {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-top: 24px;
        }

        @media (min-width: 600px) {
            #silktide-modal footer {
                flex-direction: row;
                align-items: center;
            }
        }

        #silktide-modal footer .silktide-policy-links {
            margin-left: auto;
        }

        /* --------------------------------
         Modal - Extended styles for categories
        -------------------------------- */
        #silktide-modal .category-list-view .category-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px;
            border: 1px solid #e0e0e0;
            border-radius: 5px;
            margin-bottom: 10px;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        #silktide-modal .category-list-view .category-item:hover {
            background-color: #f5f5f5;
        }
        #silktide-modal .category-list-view .category-item span {
             font-size: 16px;
             font-weight: 700;
             color: var(--textColor);
        }
        #silktide-modal .category-list-view .category-icon {
            font-size: 24px;
            font-weight: bold;
            color: var(--primaryColor);
        }
        #silktide-modal .detail-view {
            animation: silktide-fadeIn 0.3s ease-in-out forwards;
        }
        #silktide-modal .detail-view h3 {
            font-size: 20px;
            margin-bottom: 15px;
        }
        #silktide-modal .back-button {
            all: unset;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            cursor: pointer;
            color: var(--primaryColor);
            text-decoration: underline;
            margin-bottom: 20px;
            font-weight: bold;
        }
        #silktide-modal .cookie-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 15px;
            font-size: 14px;
        }
        #silktide-modal .cookie-table th,
        #silktide-modal .cookie-table td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
            vertical-align: top;
        }
        #silktide-modal .cookie-table th {
            background-color: #f2f2f2;
        }
        #silktide-modal .cookie-table code {
            background-color: #eee;
            padding: 2px 4px;
            border-radius: 3px;
            font-family: monospace;
        }
        #silktide-modal .cookie-switch-wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 20px;
            padding: 20px;
            border-top: 1px solid #e0e0e0;
            background-color: #f9f9f9;
            border-radius: 5px;
        }
         #silktide-modal .cookie-switch-wrapper span {
            font-weight: bold;
         }

        /* --------------------------------
         Cookie Icon
        -------------------------------- */
        #silktide-cookie-icon {
            display: none;
            position: fixed;
            bottom: 10px;
            left: 10px;
            justify-content: center;
            align-items: center;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            padding: 0px;
            border: none;
            background-color: var(--cookieIconColor);
            cursor: pointer;
            box-shadow: 0px 0px 6px 0px #0000001a;
            pointer-events: auto;
            animation: silktide-fadeIn 0.3s ease-in-out forwards;
        }

        #silktide-cookie-icon.bottomRight {
            left: auto;
            right: 10px;
        }

        #silktide-cookie-icon svg {
            fill: var(--cookieIconBackgroundColor);
        }

        /* --------------------------------
         Backdrop
        -------------------------------- */
        #silktide-backdrop {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--backdropBackgroundColor);
            backdrop-filter: blur(var(--backdropBackgroundBlur));
            pointer-events: all;
        }

        /* --------------------------------
         Animations
        -------------------------------- */
        @keyframes silktide-fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        @keyframes silktide-slideInDown {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes silktide-slideInDown-center {
            from {
                opacity: 0;
                transform: translate(-50%, calc(-50% - 20px));
            }
            to {
                opacity: 1;
                transform: translate(-50%, -50%);
            }
        }

        @keyframes silktide-slideInDown-bottomCenter {
            from {
                opacity: 0;
                transform: translate(-50%, -20px);
            }
            to {
                opacity: 1;
                transform: translate(-50%, 0);
            }
        }

        @keyframes silktide-slideInUp-center {
            from {
                opacity: 0;
                transform: translate(0px, 20px);
            }
            to {
                opacity: 1;
                transform: translate(0px, 0px);
            }
        }
    



    /* Стили для разделения шапки и скролла в детальном виде */
    #silktide-modal .detail-view {
        display: flex;
        flex-direction: column;
        justify-content: center;
        max-height: 65vh;
    }

    /* Стиль для единой, объединенной шапки */
    #silktide-modal .detail-view-header {
        flex-shrink: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5em 0.5em;
        border-bottom: 1px solid #eee;
        margin-bottom: 0.8em;
    }
    
    /* Контейнер для кнопки "Назад" (слева) */
    #silktide-modal .header-left {
        flex: 1;
        display: flex; /* Добавлено для корректной работы justify-content */
        justify-content: flex-start;
    }

    /* Контейнер для заголовка (центр) */
    #silktide-modal .header-center {
        flex: 2;
        text-align: center;
        padding: 0 1em;
    }
    
    #silktide-modal .header-center h3 {
        margin: 0;
        font-size: 1.1em;
    }

    /* Контейнер для переключателя (справа) */
    #silktide-modal .header-right {
        flex: 1;
        display: flex;
        justify-content: flex-end;
    }
    
    #silktide-modal .detail-view-body {
        flex-grow: 1;
        overflow-y: auto;
        padding-right: 1em;
    }
    
    #silktide-modal .back-button {
        background: none;
        border: none;
        color: #0066cc;
        cursor: pointer;
        font-size: 1em;
        padding: 0;
    }

    /* Возвращенный стиль для наведения курсора */
    #silktide-modal .back-button:hover {
        text-decoration: underline;
    }



/* Do Not Sell Or Share My Personal Information */

/* Оверлей для модального окна */
#ccpa-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
}

/* Само модальное окно */
#ccpa-modal {
  display: none;
  position: fixed;
  top: 5%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 25px 30px;
  z-index: 1000;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  text-align: center;
}

#ccpa-modal h3 {
  margin-top: 0;
  font-size: 22px;
}

#ccpa-modal p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 25px;
}

/* Кнопки в модальном окне */
.ccpa-modal-actions button {
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  transition: background-color 0.2s;
}

/* Кнопки в модальном окне */
#ccpa-modal a {
            color: var(--primaryColor);
            text-decoration: underline;
        }

#ccpa-confirm-opt-out {
  background-color: #d9534f;
  color: #fff;
  margin-right: 10px;
}
#ccpa-confirm-opt-out:hover {
  background-color: #c9302c;
}

#ccpa-cancel {
  background-color: #ccc;
  color: #333;
}
#ccpa-cancel:hover {
  background-color: #bbb;
}


/* My Travel Guide - Final Layout Override */
.mtg-full-width-page .td-ss-main-sidebar {
    display: none !important;
}
.mtg-full-width-page .td-ss-main-content {
    width: 100% !important;
}
.mtg-archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.mtg-archive-item { background: #fff; border: 1px solid #eee; border-radius: 8px; overflow: hidden; transition: all 0.3s ease; }
.mtg-archive-item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.08); }
.mtg-item-thumb img { width: 100%; height: 180px; object-fit: cover; }
.mtg-item-content { padding: 15px; }
.mtg-item-title { font-size: 18px; margin: 0 0 10px; }
.mtg-item-meta { font-size: 12px; color: #777; }

/* ================================================================
   My Travel Guide - Z-Index Fix
   ================================================================= */
/* * Исправление: Меню (PLAN & BOOK) прячется за картой на страницах постов.
 * Это принудительно устанавливает z-index карты на '1',
 * чтобы меню (у которого z-index 999+) всегда было сверху.
*/
.mtg-map-container,
.leaflet-container {
    z-index: 1 !important;
}