/* ==========================================================================
   Randevu sayfası varyantları — ortak stil (randevu1/2/3.php)
   Harici kütüphane yok; yazı tipi her platformda yerel bir yüze düşer.
   Orijinal randevu.php kendi stilini taşır, bu dosyayı KULLANMAZ.
   ========================================================================== */
:root{
    --gold:#c69b5b; --gold-dark:#a67f42; --ink:#14110f; --ink-soft:#2a241f;
    --paper:#faf7f2; --card:#fff; --line:#e8e0d4; --muted:#7d736a;
    --ok:#137a3e; --ok-bg:#e8f6ee; --err:#b42318; --err-bg:#fdecea;
    --radius:16px; --shadow:0 4px 24px rgba(20,17,15,.07);
}
*,*::before,*::after{box-sizing:border-box}
/* hidden özniteliği her zaman kazansın.
   Tarayıcının varsayılan [hidden]{display:none} kuralı, sınıflarla verilen
   display:flex/grid değerlerini EZEMİYOR; bu yüzden JS ile gizlenen kartlar,
   satırlar ve düğmeler ekranda kalıyordu. */
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
    margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",
                Ubuntu,Cantarell,"Noto Sans","Liberation Sans",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}

/* --- Üst şerit ------------------------------------------------------------ */
.rv-top{background:var(--ink);color:#f0e9df;padding:calc(.7rem + env(safe-area-inset-top)) 1rem .7rem}
.rv-top__in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.rv-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;font-size:.88rem;color:var(--gold)}
.rv-links{display:flex;gap:.4rem;flex-wrap:wrap;margin-left:auto}
.rv-links a{display:inline-flex;align-items:center;min-height:36px;padding:.3rem .8rem;border-radius:999px;
    border:1px solid rgba(240,233,223,.25);text-decoration:none;font-size:.83rem;color:#f0e9df}
.rv-links a:hover{border-color:var(--gold);color:var(--gold)}
.rv-links a[aria-current="page"]{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}

/* --- Başlık --------------------------------------------------------------- */
.rv-wrap{max-width:1100px;margin:0 auto;padding:1.6rem 1rem 6rem}
.rv-hero{text-align:center;margin-bottom:1.6rem}
.rv-hero h1{margin:0 0 .4rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;
    font-size:clamp(1.6rem,4.6vw,2.5rem)}
.rv-hero p{margin:0 auto;max-width:46ch;color:var(--muted)}
.rv-open{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;padding:.3rem .8rem;
    border-radius:999px;font-size:.82rem;font-weight:600}
.rv-open--yes{background:var(--ok-bg);color:var(--ok)}
.rv-open--no{background:#f2efea;color:var(--muted)}
.rv-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.rv-open--yes .rv-dot{animation:rvPulse 1.8s ease-in-out infinite}
@keyframes rvPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}

/* --- Bölüm başlığı -------------------------------------------------------- */
.rv-sec{margin:0 0 .8rem;font-size:1.02rem;display:flex;align-items:center;gap:.55rem}
.rv-sec .num{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--gold);
    display:grid;place-items:center;font-size:.82rem;flex:none}
.rv-note{color:var(--muted);font-size:.85rem;margin:-.4rem 0 1rem}

/* --- Resimli hizmet kartları ---------------------------------------------- */
.rv-cards{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-bottom:1.6rem}
.rv-card{position:relative;background:var(--card);border:2px solid var(--line);border-radius:var(--radius);
    overflow:hidden;cursor:pointer;text-align:left;padding:0;box-shadow:var(--shadow);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;display:flex;flex-direction:column}
.rv-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 30px rgba(20,17,15,.12)}
.rv-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.rv-card__img{aspect-ratio:4/3;width:100%;object-fit:cover;background:#efe9df}
.rv-card__body{padding:.8rem .85rem 1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.rv-card__grp{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700}
.rv-card__title{font-weight:700;font-size:1rem;line-height:1.3}
.rv-card__feat{margin:.1rem 0 0;padding:0;list-style:none;font-size:.82rem;color:var(--muted)}
.rv-card__feat li{position:relative;padding-left:.9rem}
.rv-card__feat li::before{content:"•";position:absolute;left:0;color:var(--gold)}
.rv-card__price{margin-top:auto;padding-top:.55rem;font-weight:800;color:var(--ink);font-size:1.05rem}
.rv-card__pick{position:absolute;right:.6rem;top:.6rem;width:30px;height:30px;border-radius:50%;
    background:rgba(20,17,15,.55);color:#fff;display:grid;place-items:center;font-size:.9rem;opacity:0;
    transition:opacity .16s ease}
.rv-card.is-on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,155,91,.25)}
.rv-card.is-on .rv-card__pick{opacity:1;background:var(--gold);color:var(--ink)}
.rv-card__tag{position:absolute;left:.6rem;top:.6rem;background:var(--gold);color:var(--ink);
    border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}

/* --- Çipler (kuaför, gün, saat) ------------------------------------------- */
.rv-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.rv-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:.4rem .9rem;
    background:var(--card);border:2px solid var(--line);border-radius:999px;cursor:pointer;font-size:.9rem}
.rv-chip:hover{border-color:var(--gold)}
.rv-chip.is-on{background:var(--ink);border-color:var(--ink);color:#f0e9df}
.rv-chip img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.rv-chip small{display:block;font-size:.72rem;opacity:.75}

.rv-days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:1rem;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.rv-day{flex:none;scroll-snap-align:start;min-width:74px;min-height:74px;border-radius:14px;
    border:2px solid var(--line);background:var(--card);cursor:pointer;display:grid;
    place-items:center;gap:.05rem;padding:.5rem .3rem;text-align:center;line-height:1.15}
.rv-day b{font-size:1.15rem}
.rv-day span{font-size:.72rem;color:var(--muted)}
.rv-day.is-on{background:var(--ink);border-color:var(--ink);color:#f0e9df}
.rv-day.is-on span{color:var(--gold)}
.rv-day:disabled{opacity:.4;cursor:not-allowed}

.rv-slots{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));margin-bottom:1.4rem}
.rv-slot{min-height:46px;border-radius:11px;border:2px solid var(--line);background:var(--card);
    cursor:pointer;font-variant-numeric:tabular-nums}
.rv-slot:hover{border-color:var(--gold)}
.rv-slot.is-on{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}
.rv-slot:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}

/* --- Form alanları -------------------------------------------------------- */
.rv-fields{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.rv-field{display:flex;flex-direction:column;gap:.3rem}
.rv-field--full{grid-column:1/-1}
.rv-field label{font-size:.85rem;font-weight:600}
.rv-field input,.rv-field textarea,.rv-field select{
    min-height:50px;padding:.7rem .9rem;border:2px solid var(--line);border-radius:12px;
    background:var(--card);-webkit-appearance:none;appearance:none}
.rv-field textarea{min-height:96px;resize:vertical}
.rv-field input:focus,.rv-field textarea:focus,.rv-field select:focus{outline:none;border-color:var(--gold)}
.rv-hint{font-size:.76rem;color:var(--muted)}

/* --- Düğmeler ------------------------------------------------------------- */
.rv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:52px;
    padding:.6rem 1.4rem;border-radius:13px;border:2px solid var(--ink);background:var(--ink);
    color:#f0e9df;font-weight:700;cursor:pointer;text-decoration:none}
.rv-btn:hover{background:var(--ink-soft)}
.rv-btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.rv-btn--gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.rv-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.rv-btn--ghost:hover{background:#fff;border-color:var(--gold)}
.rv-btn[disabled]{opacity:.45;cursor:not-allowed}

/* --- Özet ----------------------------------------------------------------- */
.rv-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:1rem 1.1rem;box-shadow:var(--shadow)}
.rv-summary h2{margin:0 0 .6rem;font-size:1rem}
.rv-summary dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem .8rem;margin:0;font-size:.9rem}
.rv-summary dt{color:var(--muted)}
.rv-summary dd{margin:0;text-align:right;font-weight:600}
.rv-summary .total{border-top:1px dashed var(--line);margin-top:.7rem;padding-top:.7rem;
    display:flex;justify-content:space-between;font-weight:800}

/* --- Alt çubuk (mobilde sabit) -------------------------------------------- */
.rv-bar{position:sticky;bottom:0;z-index:30;background:rgba(250,247,242,.94);
    backdrop-filter:blur(8px);border-top:1px solid var(--line);
    padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));margin:1.4rem -1rem -6rem}
.rv-bar__in{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.rv-bar__txt{font-size:.86rem;color:var(--muted);flex:1 1 180px}
.rv-bar__txt b{display:block;color:var(--ink);font-size:.95rem}

/* --- Uyarılar ve sonuç ---------------------------------------------------- */
.rv-alert{border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem}
.rv-alert--err{background:var(--err-bg);color:var(--err)}
.rv-alert--ok{background:var(--ok-bg);color:var(--ok)}
.rv-done{max-width:540px;margin:2rem auto;text-align:center;background:var(--card);
    border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.4rem;box-shadow:var(--shadow)}
.rv-done .tick{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:var(--ok-bg);
    color:var(--ok);display:grid;place-items:center;font-size:1.8rem}
.rv-done dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem .9rem;text-align:left;
    max-width:340px;margin:1.2rem auto;font-size:.92rem}
.rv-done dt{color:var(--muted)} .rv-done dd{margin:0;font-weight:600}

/* --- Küçük ekran ---------------------------------------------------------- */
@media (max-width:520px){
    .rv-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
    .rv-card__img{aspect-ratio:1/1}
    .rv-card__body{padding:.6rem .65rem .8rem}
    .rv-card__title{font-size:.9rem}
}
