/* ═══════════════════════════════════════════════════
   ROSE BOUTIQUE skin
   Елегантен розов стил — бутикови хотели, козметика, мода
   ═══════════════════════════════════════════════════ */

/* ── Elegant serif font for headings ── */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/* ── CSS Variables ── */
:root {
    --accent:       #f43f5e;
    --accent-hover: #e11d48;
    --primary:      #881337;
    --bg:           #fff1f2;
    --surface:      #ffffff;
    --surface-2:    #ffe4e6;
    --border:       #fecdd3;
    --text-muted:   #be185d;
}

/* ── Body background ── */
body { background: #fff1f2 !important; }

/* ── Serif headings ── */
h1, h2, h3, h4,
.offer-detail-title,
.big-offer-card__title,
.big-offer-card__title a,
.info-card__title,
.info-card__title a,
.nd-article__title,
.nd-title,
.offers-list-title,
.site-logo {
    font-family: 'Lora', Georgia, 'Times New Roman', serif !important;
}


/* ── Header ── */
.site-header {
    background: rgba(255,255,255,.97) !important;
    border-bottom: 2px solid #fecdd3 !important;
    box-shadow: 0 2px 24px rgba(244,63,94,.1) !important;
}
.desktop-nav a:hover {
    color: #e11d48 !important;
    background: rgba(244,63,94,.06) !important;
}
.nav-dropdown          { border-color: rgba(244,63,94,.15) !important; }
.nav-dropdown a:hover {
    color: #e11d48 !important;
    background: rgba(244,63,94,.05) !important;
}
.site-header .header-phone:hover,
.site-header .header-cta:hover { color: #e11d48 !important; }

/* ── Buttons ── */
.btn-primary {
    background: linear-gradient(135deg, #e11d48 0%, #f43f5e 100%) !important;
    border-color: #be123c !important;
    color: #fff !important;
    font-weight: 700 !important;
    position: relative !important;
    overflow: hidden !important;
}
.btn-primary::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 52%;
    background: linear-gradient(180deg, rgba(255,255,255,.2) 0%, transparent 100%);
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
    border-color: #9f1239 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 22px rgba(244,63,94,.38) !important;
}
.btn-primary:active {
    transform: translateY(0) !important;
    box-shadow: 0 3px 10px rgba(244,63,94,.22) !important;
}

.btn-accent {
    background: #f43f5e !important;
    border-color: #e11d48 !important;
    color: #fff !important;
    position: relative !important;
    overflow: hidden !important;
}
.btn-accent::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 52%;
    background: linear-gradient(180deg, rgba(255,255,255,.18) 0%, transparent 100%);
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}
.btn-accent:hover {
    background: #e11d48 !important;
    border-color: #be123c !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(244,63,94,.35) !important;
}

/* ── CTA phone button ── */
.acta__phone {
    background: linear-gradient(135deg, #9f1239 0%, #be123c 100%) !important;
    border-color: #9f1239 !important;
    color: #fff !important;
}
.acta__phone:hover {
    background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 28px rgba(244,63,94,.4) !important;
}

/* ── Inquiry popup button ── */
.btn-inquiry-popup {
    background: linear-gradient(135deg, #e11d48 0%, #f43f5e 100%) !important;
    box-shadow: 0 4px 16px rgba(244,63,94,.28) !important;
    color: #fff !important;
    position: relative !important;
    overflow: hidden !important;
}
.btn-inquiry-popup::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 52%;
    background: linear-gradient(180deg, rgba(255,255,255,.2) 0%, transparent 100%);
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}
.btn-inquiry-popup:hover {
    background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 28px rgba(244,63,94,.45) !important;
    transform: translateY(-2px) !important;
}

/* ── Offer cards ── */
.big-offer-card {
    background: #ffffff !important;
    border-color: #fecdd3 !important;
}
.big-offer-card:hover {
    border-color: rgba(244,63,94,.4) !important;
    box-shadow: 0 12px 44px rgba(244,63,94,.12) !important;
}
.big-offer-card__title a:hover { color: #e11d48 !important; }
.big-offer-card__desc          { color: #be185d !important; }

/* ── Info / news cards ── */
.info-card:hover {
    border-color: rgba(244,63,94,.35) !important;
    box-shadow: 0 10px 32px rgba(244,63,94,.1) !important;
}
.info-card__title a:hover { color: #e11d48 !important; }
.info-card__text          { color: #be185d !important; }

.home-news-card:hover {
    box-shadow: 0 8px 32px rgba(244,63,94,.12) !important;
    border-color: rgba(244,63,94,.3) !important;
}
.home-news-card__title a:hover { color: #e11d48 !important; }

/* ── Badges ── */
.offer-badge {
    background: linear-gradient(135deg, #be123c, #f43f5e) !important;
    color: #fff !important;
}
.offer-badge.sale {
    background: linear-gradient(135deg, #9f1239, #e11d48) !important;
}
.big-offer-card__badge {
    background: linear-gradient(135deg, #be123c, #f43f5e) !important;
    color: #fff !important;
}
.nd-cat-badge { background: #f43f5e !important; color: #fff !important; }

/* ── Category pills ── */
.cat-pill:hover:not(.cat-pill--active) {
    border-color: rgba(244,63,94,.45) !important;
    color: #e11d48 !important;
    background: rgba(244,63,94,.06) !important;
}
.cat-pill--active {
    background: #f43f5e !important;
    border-color: #f43f5e !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.news-cat-pill.active {
    background: #f43f5e !important;
    border-color: #f43f5e !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.news-cat-pill:hover:not(.active) {
    background: rgba(244,63,94,.06) !important;
    border-color: rgba(244,63,94,.4) !important;
    color: #e11d48 !important;
}

/* ── Prices ── */
.offer-price-main,
.price-new,
.big-offer-card__price-new          { color: #e11d48 !important; }
.big-offer-card__price-new small    { color: #e11d48 !important; opacity: .75; }
.big-offer-card__price-new *        { color: #e11d48 !important; }
.offer-price-neg,
.price-neg,
.big-offer-card__price-neg          { color: #f43f5e !important; }
.offer-price-curr,
.offer-price-prefix,
.offer-price-suffix,
.big-offer-card__price-prefix,
.big-offer-card__price-suffix       { color: #be185d !important; opacity: .85; }
.offer-price-old,
.price-old,
.big-offer-card__price-old          { opacity: .5 !important; }
.offer-price-discount               { background: linear-gradient(135deg, #be123c, #f43f5e) !important; color: #fff !important; }
.price-currency                     { color: #be185d !important; opacity: .85; }

/* ── Contact app buttons — rose glare sweep ── */
.offer-app-btn {
    position: relative !important;
    overflow: hidden !important;
}
.offer-app-btn::after {
    content: '';
    position: absolute;
    top: -40%; left: -60%;
    width: 55%; height: 180%;
    background: radial-gradient(ellipse at center, rgba(255,255,255,.5) 0%, rgba(255,255,255,.15) 40%, transparent 70%);
    animation: rose-glare 4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes rose-glare {
    0%   { left: -60%; opacity: 0; }
    10%  { opacity: 1; }
    65%  { left: 130%; opacity: .55; }
    66%  { opacity: 0; }
    100% { left: 130%; opacity: 0; }
}
.offer-app-btn:hover::after { animation: none; opacity: 0; }

/* ── Agent avatar ── */
.agent-avatar {
    border-color: rgba(244,63,94,.4) !important;
    box-shadow: 0 0 0 1px rgba(244,63,94,.12) !important;
}
.agent-avatar-initials {
    border-color: rgba(244,63,94,.4) !important;
    box-shadow: 0 0 0 1px rgba(244,63,94,.12) !important;
}

/* ── Agent CTA strip ── */
.acta__layout {
    background: #ffffff !important;
    border-color: rgba(244,63,94,.2) !important;
    box-shadow: 0 4px 24px rgba(244,63,94,.08) !important;
}
.acta__divider { background: rgba(244,63,94,.15) !important; }
.acta__app:hover {
    border-color: rgba(244,63,94,.45) !important;
    color: #e11d48 !important;
    background: rgba(244,63,94,.05) !important;
}

/* ── Advantages section ── */
.adv-icon {
    color: #f43f5e !important;
    background: rgba(244,63,94,.08) !important;
    border-color: rgba(244,63,94,.2) !important;
}

/* ── Reviews ── */
.review-card__stars,
.reviews-aggregate__stars { color: #f43f5e !important; }
.reviews-aggregate__score { color: #e11d48 !important; }
.review-card__verified    { color: #e11d48 !important; }

/* ── Offer info card ── */
.offer-cat-tag {
    color: #e11d48 !important;
    border-color: rgba(244,63,94,.3) !important;
    background: rgba(244,63,94,.07) !important;
}
.offer-countdown {
    background: linear-gradient(135deg, #9f1239 0%, #e11d48 100%) !important;
    border-color: rgba(244,63,94,.4) !important;
    color: #fff !important;
}

/* ── Metrics ── */
.metrics-suffix        { color: #f43f5e !important; }
.offers-list-count {
    color: #e11d48 !important;
    background: rgba(244,63,94,.07) !important;
    border-color: rgba(244,63,94,.25) !important;
}
.offers-list-count svg { stroke: #e11d48 !important; }

/* ── Section & nav links ── */
.section-link          { color: #e11d48 !important; }
.section-link svg      { stroke: #e11d48 !important; }
.section-link:hover    { color: #be123c !important; }
.site-logo span        { color: #f43f5e !important; }
.news-card__link       { color: #e11d48 !important; }
.news-card__link:hover { color: #be123c !important; }

/* ── News detail ── */
.nd-breadcrumb__link   { color: #e11d48 !important; }
.nd-content a          { color: #e11d48 !important; }
.nd-content a:hover    { color: #be123c !important; }
.nd-related-offers__btn {
    background: linear-gradient(135deg, #e11d48 0%, #f43f5e 100%) !important;
    border-color: #be123c !important;
    color: #fff !important;
    font-weight: 700 !important;
}
.nd-related-offers__btn:hover {
    background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(244,63,94,.35) !important;
}
.nd-prevnext__btn {
    border-color: rgba(244,63,94,.2) !important;
}
.nd-prevnext__btn:hover {
    border-color: rgba(244,63,94,.5) !important;
    background: rgba(244,63,94,.05) !important;
    color: #e11d48 !important;
}

/* ── Page body ── */
.page-body a           { color: #e11d48 !important; }
.page-body a:hover     { color: #be123c !important; }

/* ── Form submit ── */
.form-submit {
    background: linear-gradient(135deg, #e11d48 0%, #f43f5e 100%) !important;
    color: #fff !important;
    border-color: #be123c !important;
}
.form-submit:hover {
    background: linear-gradient(135deg, #be123c 0%, #e11d48 100%) !important;
    color: #fff !important;
}

/* ── Mobile phone button ── */
.mob-phone {
    background: linear-gradient(135deg, #e11d48, #f43f5e) !important;
    color: #fff !important;
}

/* ── Footer ── */
.site-footer {
    background: linear-gradient(160deg, #4c0519 0%, #881337 100%) !important;
    border-top: 2px solid #f43f5e;
}
.footer-contact-icon   { background: rgba(244,63,94,.15) !important; }
.footer-nav a:hover    { color: #fda4af !important; }
.footer-contact-val a:hover { color: #fda4af !important; }

/* ── Mobile hamburger & menu ── */
.hamburger:hover { border-color: #f43f5e !important; }
.mob-menu  { background: #fff !important; }
.mob-head  { border-bottom-color: #fecdd3 !important; }
.mob-close:hover { color: #e11d48 !important; }
.mob-nav a:hover { background: #ffe4e6 !important; color: #e11d48 !important; }
.mob-footer { background: #fff1f2 !important; }
.mob-lang  { background: #ffe4e6 !important; border-color: #fecdd3 !important; }
.mob-lang.active { border-color: #f43f5e !important; color: #e11d48 !important; }
.mob-lang:hover  { border-color: #f43f5e !important; color: #e11d48 !important; }

/* ── Metrics strip ── */
.metrics-strip {
    background: #fff1f2 !important;
    border-color: rgba(244,63,94,.12) !important;
}
.metrics-strip__item + .metrics-strip__item::before { background: rgba(244,63,94,.15) !important; }
.metrics-strip__label   { color: #be185d !important; }

/* ── News list ── */
.news-card:hover {
    border-color: rgba(244,63,94,.35) !important;
    box-shadow: 0 8px 28px rgba(244,63,94,.1) !important;
}
.news-card__title a:hover { color: #e11d48 !important; }

/* ── Home news section ── */
.home-news-card__date   { color: #be185d !important; }

/* ── Offers list back ── */
.offers-list-back       { color: #e11d48 !important; }
