/* Revize 1: koyu premium kimliği koruyan, yumuşak açık yüzeyler */
:root {
    --ivory: #f3f0eb;
    --ivory-deep: #e8e2da;
    --light-ink: #171412;
    --light-muted: #706963;
    --light-line: rgba(30, 22, 19, .12);
}

.page-index .hero + .section,
.page-about .section-soft,
.page-services .page-hero + .section,
.page-gallery .page-hero + .section,
.page-contact .page-hero + .section {
    position: relative;
    overflow: hidden;
    color: var(--light-ink);
    background:
        radial-gradient(circle at 8% 4%, rgba(255, 255, 255, .96) 0, rgba(255, 255, 255, 0) 34%),
        radial-gradient(circle at 92% 18%, rgba(122, 0, 25, .08) 0, rgba(122, 0, 25, 0) 30%),
        linear-gradient(135deg, var(--ivory) 0%, var(--ivory-deep) 54%, #f4efe9 100%);
    border-top: 1px solid rgba(255, 255, 255, .72);
    border-bottom: 1px solid rgba(33, 22, 18, .09);
}

.page-index .hero + .section::after,
.page-about .section-soft::after,
.page-services .page-hero + .section::after,
.page-gallery .page-hero + .section::after,
.page-contact .page-hero + .section::after {
    content: "";
    position: absolute;
    right: -190px;
    bottom: -270px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(122, 0, 25, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(122, 0, 25, .025), 0 0 0 92px rgba(122, 0, 25, .018);
    pointer-events: none;
}

.page-index .hero + .section > .container,
.page-about .section-soft > .container,
.page-services .page-hero + .section > .container,
.page-gallery .page-hero + .section > .container,
.page-contact .page-hero + .section > .container {
    position: relative;
    z-index: 1;
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-gallery .page-hero + .section, .page-contact .page-hero + .section) :is(h1, h2, h3, h4, h5, strong) {
    color: var(--light-ink);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-gallery .page-hero + .section, .page-contact .page-hero + .section) .eyebrow {
    color: var(--wine);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-gallery .page-hero + .section, .page-contact .page-hero + .section) .eyebrow::before {
    background: var(--wine);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-gallery .page-hero + .section, .page-contact .page-hero + .section) :is(.section-title-row p, .text-secondary) {
    color: var(--light-muted) !important;
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-contact .page-hero + .section) :is(.service-card, .contact-card) {
    background: linear-gradient(145deg, rgba(255, 255, 255, .8), rgba(246, 241, 235, .66));
    border-color: rgba(51, 37, 31, .11);
    box-shadow: 0 20px 55px rgba(47, 30, 25, .075);
    backdrop-filter: blur(10px);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-contact .page-hero + .section) :is(.service-card, .contact-card):hover {
    background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 243, 237, .86));
    border-color: rgba(122, 0, 25, .28);
    box-shadow: 0 24px 65px rgba(75, 29, 35, .13);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section) .service-card::before {
    color: rgba(122, 0, 25, .055);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-contact .page-hero + .section) :is(.service-card p, .contact-card p, .contact-card a) {
    color: var(--light-muted);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-contact .page-hero + .section) :is(.service-icon, .contact-icon) {
    color: var(--wine);
    background: rgba(122, 0, 25, .07);
    border-color: rgba(122, 0, 25, .15);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section) .service-meta {
    color: var(--light-muted);
    border-color: var(--light-line);
}

:is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section) .service-meta strong {
    color: var(--wine);
}

.page-gallery .page-hero + .section .gallery-item {
    border-color: rgba(255, 255, 255, .75);
    box-shadow: 0 20px 50px rgba(39, 27, 23, .13);
}

.page-gallery .page-hero + .section .gallery-caption h4 {
    color: #fff;
}

.page-index .hero + .section .btn-outline-light {
    color: var(--light-ink);
    border-color: rgba(23, 20, 18, .3);
}

.page-index .hero + .section .btn-outline-light:hover {
    color: #fff;
    background: var(--wine);
    border-color: var(--wine);
}

/* Açık iletişim alanındaki koyu görsel paneller kendi kontrastını korur. */
.page-contact .page-hero + .section :is(.map-placeholder, .booking-panel) :is(h2, h3, h4, strong) {
    color: #fff;
}

.page-contact .page-hero + .section :is(.map-placeholder, .booking-panel) .text-secondary {
    color: rgba(255, 255, 255, .68) !important;
}

.page-contact .page-hero + .section .booking-panel {
    color: #fff;
    background: linear-gradient(145deg, rgba(15, 15, 15, .98), rgba(31, 13, 17, .98));
    border-color: rgba(122, 0, 25, .38);
    box-shadow: 0 24px 65px rgba(29, 16, 16, .2);
}

.page-contact .page-hero + .section .booking-panel .eyebrow {
    color: #d8a6b1;
}

.page-contact .page-hero + .section .booking-panel .eyebrow::before {
    background: #d8a6b1;
}

@media (max-width: 767.98px) {
    :is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-gallery .page-hero + .section, .page-contact .page-hero + .section) {
        background:
            radial-gradient(circle at 5% 2%, rgba(255, 255, 255, .92), transparent 38%),
            linear-gradient(145deg, #f3f0eb 0%, #e8e2da 100%);
    }

    :is(.page-index .hero + .section, .page-about .section-soft, .page-services .page-hero + .section, .page-contact .page-hero + .section) :is(.service-card, .contact-card) {
        box-shadow: 0 14px 38px rgba(47, 30, 25, .07);
    }
}

/* Hizmet sonrası değerlendirme ekranı */
.page-review .review-section {
    color: var(--light-ink);
    background:
        radial-gradient(circle at 15% 5%, rgba(255,255,255,.96), transparent 34%),
        radial-gradient(circle at 88% 22%, rgba(122,0,25,.09), transparent 30%),
        linear-gradient(135deg, var(--ivory), var(--ivory-deep));
}
.review-card{max-width:720px;margin:auto;padding:48px;background:rgba(255,255,255,.78);border:1px solid rgba(43,31,27,.12);box-shadow:0 24px 70px rgba(47,30,25,.1)}.review-card h2{color:var(--light-ink)}.review-card .eyebrow{color:var(--wine)}.review-state{text-align:center;padding:20px}.review-state>i{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:rgba(122,0,25,.09);color:var(--wine);font-size:26px}.review-state p{color:var(--light-muted);margin:14px auto 28px;max-width:480px}.review-form legend{text-align:center;color:#5d5651;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.rating-picker{display:flex;flex-direction:row-reverse;justify-content:center;gap:9px;margin-top:17px}.rating-picker input{position:absolute;opacity:0}.rating-picker label{cursor:pointer;color:#c8c0b8;font-size:38px;transition:.2s}.rating-picker label:hover,.rating-picker label:hover~label,.rating-picker input:checked~label{color:#9a0929;transform:translateY(-2px)}.review-card .form-control{color:var(--light-ink)!important;background:rgba(255,255,255,.72)!important;border-color:rgba(43,31,27,.2)!important}.review-card .form-label{color:#625b56}
@media(max-width:576px){.review-card{padding:30px 20px}.rating-picker label{font-size:32px}}

/* Ana sayfa müşteri değerlendirmeleri */
.public-reviews-section{position:relative;overflow:hidden;color:var(--light-ink);background:radial-gradient(circle at 8% 8%,rgba(255,255,255,.98),transparent 35%),radial-gradient(circle at 92% 18%,rgba(122,0,25,.07),transparent 30%),linear-gradient(135deg,#f7f4ef 0%,#eae4dc 52%,#f5f0ea 100%);border-top:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(40,28,24,.1)}.public-reviews-section::after{content:'BH';position:absolute;right:-20px;bottom:-105px;color:rgba(122,0,25,.035);font:700 260px 'Oswald';pointer-events:none}.public-reviews-section>.container{position:relative;z-index:1}.public-reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:50px}.public-reviews-heading h2{color:#171412}.public-reviews-heading .eyebrow{color:var(--wine)}.public-review-summary{display:flex;align-items:center;gap:17px;padding-left:24px;border-left:1px solid rgba(30,22,19,.16)}.public-review-summary>strong{color:var(--wine);font:600 48px/1 'Oswald'}.public-review-summary>div{display:grid;gap:5px}.public-review-summary small{color:#746d67;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.public-stars{display:flex;gap:3px;color:#c7beb5}.public-stars i{font-size:12px}.public-stars i.active,.public-review-summary .public-stars i{color:#9e1734}.public-review-card{height:100%;padding:27px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(248,243,237,.7));border:1px solid rgba(46,32,27,.11);box-shadow:0 17px 45px rgba(44,29,24,.065);transition:.3s}.public-review-card:hover{transform:translateY(-4px);border-color:rgba(122,0,25,.24);box-shadow:0 22px 55px rgba(75,29,35,.11)}.public-review-top{display:flex;align-items:center;justify-content:space-between}.public-review-top>strong{color:#761129;font:600 13px 'Oswald'}.public-review-card blockquote{min-height:96px;margin:24px 0;color:#38322e;font:500 16px/1.7 'DM Sans';text-transform:none}.public-review-card footer{display:flex;align-items:center;gap:11px;padding-top:18px;border-top:1px solid rgba(35,25,21,.1)}.public-review-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;background:#741128;color:#fff;font:600 15px 'Oswald'}.public-review-card footer>div:nth-child(2){display:grid}.public-review-card footer strong{color:#1d1917;font-size:13px}.public-review-card footer span{color:#847c76;font-size:10px}.public-review-card footer>i{margin-left:auto;color:#8f1731;font-size:13px}.public-reviews-empty{text-align:center;padding:42px;border:1px solid rgba(46,32,27,.1);background:rgba(255,255,255,.48)}.public-reviews-empty i{color:#8f1731;font-size:24px}.public-reviews-empty p{color:#746d67;margin:12px 0 0}
@media(max-width:767.98px){.public-reviews-heading{display:block;margin-bottom:34px}.public-review-summary{margin-top:24px;padding:0;border:0}.public-review-card blockquote{min-height:0}.public-reviews-section::after{font-size:170px;bottom:-60px}}
.public-review-summary .public-stars i{color:#c7beb5}.public-review-summary .public-stars i.active{color:#9e1734}

/* Randevu sayfası: aynı premium yapının açık ve daha ferah yorumu */
.page-booking .page-hero + .section {
    position: relative;
    overflow: hidden;
    color: var(--light-ink);
    background:
        radial-gradient(circle at 8% 4%, rgba(255, 255, 255, .96) 0, transparent 34%),
        radial-gradient(circle at 92% 18%, rgba(122, 0, 25, .08) 0, transparent 30%),
        linear-gradient(135deg, var(--ivory) 0%, var(--ivory-deep) 54%, #f4efe9 100%);
    border-top: 1px solid rgba(255, 255, 255, .72);
    border-bottom: 1px solid rgba(33, 22, 18, .09);
}

.page-booking .page-hero + .section::after {
    content: "";
    position: absolute;
    right: -190px;
    bottom: -270px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(122, 0, 25, .1);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(122, 0, 25, .025), 0 0 0 92px rgba(122, 0, 25, .018);
    pointer-events: none;
}

.page-booking .booking-shell {
    position: relative;
    z-index: 1;
}

.page-booking .booking-steps {
    background: rgba(42, 31, 27, .1);
    border-color: rgba(42, 31, 27, .12);
    box-shadow: 0 14px 38px rgba(47, 30, 25, .06);
}

.page-booking .booking-step {
    color: #837b75;
    background: rgba(255, 255, 255, .58);
}

.page-booking .booking-step.active {
    color: #fff;
    background: linear-gradient(135deg, #680015, #8c0925);
}

.page-booking .booking-panel {
    color: var(--light-ink);
    background: linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(246, 241, 235, .72));
    border-color: rgba(51, 37, 31, .12);
    box-shadow: 0 24px 65px rgba(47, 30, 25, .1);
    backdrop-filter: blur(10px);
}

.page-booking .booking-panel :is(h2, h3, h4, strong),
.page-booking .booking-panel .text-white {
    color: var(--light-ink) !important;
}

.page-booking .booking-panel .eyebrow {
    color: var(--wine);
}

.page-booking .booking-panel .eyebrow::before {
    background: var(--wine);
}

.page-booking .booking-panel :is(.text-secondary, .empty-state) {
    color: var(--light-muted) !important;
}

.page-booking .form-label,
.page-booking .form-check-label {
    color: #625b56;
}

.page-booking :is(.form-control, .form-select) {
    color: var(--light-ink) !important;
    background: rgba(255, 255, 255, .72) !important;
    border-color: rgba(43, 31, 27, .2) !important;
}

.page-booking :is(.form-control, .form-select)::placeholder {
    color: #9a928c;
}

.page-booking .form-select option {
    color: var(--light-ink);
    background: #f4f0eb;
}

.page-booking .service-choice-inner {
    background: rgba(255, 255, 255, .45);
    border-color: rgba(43, 31, 27, .16);
}

.page-booking .service-choice:hover .service-choice-inner {
    border-color: rgba(122, 0, 25, .35);
    background: rgba(255, 255, 255, .72);
}

.page-booking .service-choice input:checked + .service-choice-inner {
    color: var(--light-ink);
    border-color: var(--wine);
    background: rgba(122, 0, 25, .075);
    box-shadow: inset 4px 0 0 var(--wine);
}

.page-booking .slot-btn {
    color: #514b47;
    background: rgba(255, 255, 255, .62);
    border-color: rgba(43, 31, 27, .18);
}

.page-booking .slot-btn:hover,
.page-booking .slot-btn.selected {
    color: #fff;
    background: var(--wine);
    border-color: var(--wine);
}

.page-booking .booking-panel .contact-card {
    color: var(--light-ink);
    background: rgba(255, 255, 255, .58);
    border-color: rgba(43, 31, 27, .13);
}

.page-booking .booking-panel .btn-outline-light {
    color: var(--light-ink);
    border-color: rgba(23, 20, 18, .32);
}

.page-booking .booking-panel .btn-outline-light:hover {
    color: #fff;
    background: var(--wine);
    border-color: var(--wine);
}

@media (max-width: 767.98px) {
    .page-booking .page-hero + .section {
        background:
            radial-gradient(circle at 5% 2%, rgba(255, 255, 255, .92), transparent 38%),
            linear-gradient(145deg, #f3f0eb 0%, #e8e2da 100%);
    }

    .page-booking .booking-panel {
        box-shadow: 0 16px 42px rgba(47, 30, 25, .08);
    }
}
