/* Page UI */
:root {
    --ink: #261d25;
    --muted: #746873;
    --brand: #871c50;
    --brand-dark: #46122e;
    --accent: #efbd74;
    --line: #eadfe3;
    --surface: #fff;
    --canvas: #fbf7f7;
}

html { scroll-padding-top: 94px; }
body { background: var(--canvas); color: var(--ink); line-height: 1.65; }
body.menu-open { overflow: hidden; }
button, select { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, select:focus-visible, .question:focus-visible {
    outline: 3px solid var(--accent) !important;
    outline-offset: 3px !important;
}
.container { width: min(100% - 40px, 1180px); padding: 0; }

/* Header */
.xy-spacing {
    background: #a2064e;
    box-shadow: 0 4px 12px rgba(45, 13, 30, .08);
}
.xy-spacing .container { width: min(100% - 30px, 1140px); padding-inline: 7px; }
.header-wrap { min-height: 68px; gap: 24px; }
.header-wrap > .site-brand, .header-wrap > .site-brand:hover {
    display: inline-flex; align-items: center;
    color: #fff; font-size: 20px; font-weight: 700; letter-spacing: 0; white-space: nowrap;
}
.header-auth-wrap { gap: 18px; flex-wrap: nowrap; }
.header-wrap .header-auth-wrap a { color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.header-auth-wrap a:hover { color: #ffe2f0; }
.mobile-toggle-ico { color: #fff; background: transparent; }
.mobile-sidebar-wrap { overflow-y: auto; }
.close-ico { width: 40px; height: 40px; margin-left: auto; border: 0; background: transparent; }
.sidebar-data ul { display: grid; gap: 5px; }
.sidebar-data li { margin: 0; padding: 0; }
.sidebar-data li a { display: block; padding: 12px 14px; }
.sidebar-data a:hover li { background: rgba(239,189,116,.16); }

/* Intro */
.banner-area {
    position: relative; isolation: isolate; display: flex; align-items: center;
    min-height: 410px; padding: 48px 0;
    background: linear-gradient(105deg, rgba(38,8,26,.97) 0%, rgba(71,17,46,.91) 57%, rgba(72,21,48,.7) 100%),
        url('images/delhi-call-girls.webp') center 30% / cover;
    text-align: left;
}
.banner-area .overlay { display: none; }
.banner-area .row { justify-content: flex-start; }
.banner-content { max-width: 760px; margin: 0; padding: 25px 0; }
.hero-eyebrow, .section-kicker {
    display: block; color: var(--accent); font-size: 11px; font-weight: 800;
    letter-spacing: .18em; text-transform: uppercase;
}
.banner-content .hed {
    max-width: 650px; margin: 14px 0 14px; color: #fff;
    font-family: Georgia, 'Times New Roman', serif; font-size: clamp(42px, 5vw, 68px);
    font-weight: 500; line-height: 1.05; letter-spacing: -.04em;
}
.banner-content .hed span { color: var(--accent); }
.banner-content .hero-intro { margin: 0; color: #f8e9ef; font-size: 17px; }
.banner-content .form-wrap { max-width: 400px; margin: 28px 0 0; }
.banner-content .form-cols { width: 100%; padding: 0; background: none; }
.banner-content .form-wrap .form-control, select.form-control:not([size]):not([multiple]) {
    width: 100%; height: 52px !important; padding: 0 18px; border: 1px solid rgba(255,255,255,.3) !important;
    border-radius: 12px !important; background: #fff !important; color: var(--ink); font-size: 15px;
    box-shadow: 0 10px 25px rgba(19,3,12,.16);
}
.banner-content .hero-note { margin: 13px 0 0; color: #f5dce7; font-size: 13px; }

/* Section rhythm */
.section-breadcrumb { padding: 18px 0 0; }
.bandcamp-box { display: flex; gap: 10px; align-items: center; color: #9b8d95; font-size: 13px; }
.bandcamp-box a { display: inline-flex; align-items: center; gap: 6px; color: var(--brand); }
.bandcamp-box svg { width: 15px; height: 15px; color: var(--brand); }
.section-totalpost { padding: 36px 0 20px; }
.section-kicker { color: var(--brand); }
.heading-title { margin: 5px 0 3px; color: var(--ink); font-family: Georgia, serif; font-size: clamp(31px, 3.2vw, 43px); line-height: 1.15; }
.section-lead { margin: 0; color: var(--muted); }
.details-card-section { padding: 4px 0 32px; }
.details-card-box { padding: clamp(20px, 3vw, 32px); background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 18px 40px rgba(79,28,52,.05); }
.details-card-box h2 { margin: 0 0 18px; font-family: Georgia, serif; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2; }
.details-card-box p:empty { display: none; }
.call-video { max-width: 760px; margin: auto; }
.call-video video { display: block; max-height: 440px; border-radius: 12px; background: #241621; }

/* Profile cards */
.card-section { padding: 0 0 55px; }
.card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.card-col {
    display: flex; flex-direction: column; min-width: 0; overflow: hidden;
    border: 1px solid var(--line); border-radius: 18px; background: var(--surface);
    box-shadow: 0 12px 32px rgba(80, 33, 54, .07); transition: transform .2s, box-shadow .2s;
}
.card-col:hover { transform: translateY(-4px); box-shadow: 0 20px 36px rgba(80, 33, 54, .12); }
.img-wrap { width: 100%; aspect-ratio: 4 / 4.5; overflow: hidden; background: #efe5e9; }
.img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.img-inner-card { top: 12px; left: 12px; }
.varified-card { padding: 5px 10px; background: #fdf8e8; color: #54400f; font-size: 10px; letter-spacing: .05em; box-shadow: 0 2px 9px rgba(0,0,0,.12); }
.heading-review { order: 1; display: block; padding: 17px 16px 12px; }
.hover-text { color: var(--ink); font-family: Georgia, serif; font-size: 23px; line-height: 1.1; }
.hover-text:hover { color: var(--brand); }
.review { display: flex; justify-content: stretch; gap: 8px; margin-top: 16px; }
.callnow, .whatapp { flex: 1; min-height: 40px; padding: 7px 10px; border-radius: 9px; font-size: 12px; }
.callnow { background: var(--brand); }
.whatapp { background: #167e59; }
.callnow:hover { background: var(--brand-dark); color: #fff; }
.whatapp:hover { background: #0c6647; color: #fff; }
.contact-number-wrap { order: 2; margin-top: auto; padding: 0 16px 16px; color: var(--muted); }
.card-col > span { display: none; }
.hourse-left { color: var(--muted); }
.customer-reivew { color: #d89b3e; }
.girl-rating svg { fill: #d89b3e; }
.contact-number-wrap > span { font-size: 12px; color: var(--muted); }

/* Editorial content */
.details-note-section { padding: 55px 0 60px; background: #f5edef; }
.details-note-section > .container { display: grid; gap: 20px; }
.details-note-section .details-note-box { display: grid; gap: 20px; }
.details-note-section .inner-data-wrap {
    padding: clamp(22px, 3vw, 36px); border: 1px solid var(--line);
    border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(69,20,41,.035);
    overflow-x: auto;
}
.details-note-section h2, .details-note-section h3 {
    margin: 0 0 15px; color: var(--brand-dark) !important; font-family: Georgia, serif;
    font-size: clamp(23px, 2.4vw, 31px); font-weight: 600; line-height: 1.25;
}
.details-note-section h3 { font-size: clamp(21px, 2.1vw, 27px); }
.details-note-section p { margin: 0 0 18px; color: #4f464e; line-height: 1.8; overflow-wrap: anywhere; }
.details-note-section p:last-child { margin-bottom: 0; }
.details-note-section p a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.details-note-section table { min-width: 500px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.details-note-section th, .details-note-section td { padding: 12px 14px; border-color: var(--line); color: var(--ink); }
.details-note-section th { background: #f5e9ee; color: var(--brand-dark); }
.details-note-section tbody tr:nth-child(even) { background: #fffbfc; }

/* FAQ, tags, footer */
.faq-container { display: grid; gap: 9px; }
.question {
    position: relative; padding: 16px 45px 16px 18px; border: 1px solid var(--line);
    border-radius: 11px; background: #fcf8fa; color: var(--ink); font-weight: 700; cursor: pointer;
}
.question::after { content: '+'; position: absolute; right: 17px; top: 11px; color: var(--brand); font-size: 24px; font-weight: 400; }
.question[aria-expanded="true"] { border-color: #dbb6c7; background: #f8edf2; }
.question[aria-expanded="true"]::after { content: '−'; }
.answer { display: none; padding: 3px 18px 17px; color: #544b52; line-height: 1.75; }
.answer.show { display: block; }
.white-sec .container { display: block; width: min(100% - 30px, 1140px); }
#contact { display: block; padding: 16px 0 6px; background: #fff; color: var(--ink); text-align: left; }
#contact p { margin: 0; line-height: 1.8; }
#contact a { margin: 0; color: #e99b00; font-size: 15px; }
#contact a:hover { color: #b77800; }
.copy-text { display: block; padding: 10px 0 25px; background: #fff; color: #111; text-align: left; font-size: 12px; }
.copy-text a { color: #e99b00; }

/* Dialog and mobile actions */
#adultPopup > div { border: 1px solid #eadfe3; border-radius: 18px !important; padding: 28px !important; }
#adultPopup h2 { color: var(--brand-dark) !important; font-family: Georgia, serif; font-size: 27px; }
#adultPopup p { color: var(--muted); }
#adultPopup button { min-height: 43px; margin-top: 5px !important; font-weight: 700; }
.fixed-bottom { display: none; }
.whatsapp-float { bottom: 24px; right: 24px; }

@media (max-width: 1100px) {
    .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .header-auth-wrap { gap: 13px; }
    .header-wrap .header-auth-wrap a { font-size: 12px; }
}
@media (max-width: 991px) {
    .header-auth-wrap { display: none; }
    .mobile-toggle-ico { display: inline-flex; }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    html { scroll-padding-top: 72px; }
    body { padding-bottom: 58px; }
    .container { width: min(100% - 30px, 1180px); }
    .header-wrap { min-height: 65px; }
    .header-wrap > .site-brand { font-size: 16px; }
    .banner-area { min-height: 390px; padding: 28px 0; }
    .banner-content { padding: 15px 0; }
    .banner-content .hed { font-size: clamp(37px, 10vw, 51px); line-height: 1.08; }
    .banner-content .hero-intro { font-size: 15px; }
    .section-totalpost { padding-top: 30px; }
    .details-card-section { padding-bottom: 28px; }
    .card-grid { grid-template-columns: 1fr; gap: 18px; }
    .img-wrap { aspect-ratio: 4 / 3.8; }
    .img-wrap img { height: 100%; }
    .heading-review { display: block; }
    .review { justify-content: stretch; }
    .callnow, .whatapp { flex: 1; }
    .details-note-section { padding: 35px 0; }
    .fixed-bottom {
        position: fixed; bottom: 0; left: 0; z-index: 1100; display: block;
        width: 100%; padding: 6px 12px calc(6px + env(safe-area-inset-bottom));
        background: #fff; box-shadow: 0 -5px 24px rgba(40,14,29,.16);
    }
    .fixed-bottom .row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
    .fixed-bottom .row > div { min-width: 0; }
    .ctmobile, .ctwhatsapp {
        display: flex; align-items: center; justify-content: center; min-height: 43px;
        border-radius: 9px; color: #fff; font-size: 14px; font-weight: 700;
    }
    .ctmobile { background: var(--brand); }
    .ctwhatsapp { background: #167e59; }
    .ctmobile:hover, .ctwhatsapp:hover { color: #fff; }
    .whatsapp-float { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .card-col, .mobile-sidebar-wrap { transition: none; }
}
