/*
  SCHICGIRL - consultation.css (extracted from consultation.html)
  (c) 2024-2026 Schicgirl.
*/
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root{
      --cream:#fff8f1;
      --warm:#f5e5d5;
      --blush:#f0c8c0;
      --rose:#d9a39c;
      --brown:#3e261c;
      --brown-md:#6b3e2e;
      --gold:#b98232;
      --gold-lt:#d4a55e;
      --muted:#927060;
      --white:#ffffff;
      --danger:#8a3a33;
      --success:#3a6b4c;
      --shadow:0 24px 80px rgba(62,38,28,.16);
      --shadow-s:0 8px 28px rgba(62,38,28,.08);
      --radius:24px;
      --serif:'Cormorant Garamond', Georgia, serif;
      --sans:'DM Sans', system-ui, sans-serif;
    }

    html{ min-height:100%; scroll-behavior:smooth; }
    body{
      min-height:100%;
      font-family:var(--sans);
      color:var(--brown);
      background:
        radial-gradient(ellipse 65% 45% at 5% 0%, #f4c9c1 0%, transparent 55%),
        radial-gradient(ellipse 60% 50% at 100% 100%, #efd3a1 0%, transparent 52%),
        linear-gradient(160deg, #fff8f1 0%, #f7eadf 100%);
    }

    .app{
      width:min(1180px, 94vw);
      margin:0 auto;
      padding:28px 0 42px;
    }

    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      margin-bottom:22px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:14px;
    }

    .mark{
      width:48px;
      height:48px;
      border-radius:16px;
      background:linear-gradient(135deg, var(--rose), var(--gold));
      display:grid;
      place-items:center;
      color:white;
      font-family:var(--serif);
      font-size:29px;
      font-weight:700;
      box-shadow:0 10px 30px rgba(185,130,50,.28);
    }

    .brand small{
      display:block;
      font-size:10px;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:var(--gold);
      font-weight:700;
    }

    .brand strong{
      display:block;
      font-family:var(--serif);
      font-size:28px;
      font-weight:500;
      line-height:1;
    }

    .admin-link{
      border:1px solid rgba(185,130,50,.28);
      background:rgba(255,255,255,.68);
      color:var(--brown-md);
      border-radius:999px;
      padding:10px 16px;
      font-size:13px;
      font-weight:700;
      cursor:pointer;
      backdrop-filter:blur(12px);
    }

    .hero{
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:22px;
      align-items:stretch;
    }

    .hero-card, .booking-card, .admin-card, .modal-card{
      background:rgba(255,255,255,.82);
      border:1px solid rgba(185,130,50,.18);
      border-radius:32px;
      box-shadow:var(--shadow);
      backdrop-filter:blur(18px);
    }

    .hero-card{
      padding:34px;
      overflow:hidden;
      position:relative;
    }

    .hero-card::after{
      content:"";
      position:absolute;
      width:230px;
      height:230px;
      border:1px solid rgba(185,130,50,.2);
      border-radius:50%;
      right:-80px;
      top:-90px;
    }

    .eyebrow{
      font-size:11px;
      font-weight:800;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:var(--gold);
      margin-bottom:10px;
    }

    h1{
      font-family:var(--serif);
      font-size:clamp(36px, 5vw, 64px);
      line-height:.95;
      font-weight:500;
      margin-bottom:16px;
    }

    .lead{
      color:var(--muted);
      font-size:16px;
      line-height:1.75;
      max-width:680px;
      margin-bottom:22px;
    }

    .pill-row{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:22px 0;
    }

    .pill{
      border:1px solid rgba(185,130,50,.25);
      background:#fffaf4;
      color:var(--brown-md);
      border-radius:999px;
      padding:9px 13px;
      font-size:12.5px;
      font-weight:700;
    }

    .benefits{
      display:grid;
      gap:12px;
      margin-top:24px;
    }

    .benefit{
      display:flex;
      gap:12px;
      align-items:flex-start;
      background:rgba(253,246,238,.72);
      border:1px solid rgba(185,130,50,.14);
      border-radius:18px;
      padding:14px;
    }

    .benefit span{
      width:34px;
      height:34px;
      border-radius:12px;
      background:linear-gradient(135deg, var(--gold), var(--gold-lt));
      display:grid;
      place-items:center;
      color:white;
      flex:0 0 auto;
    }

    .benefit h3{
      font-family:var(--serif);
      font-size:20px;
      font-weight:600;
      margin-bottom:3px;
    }

    .benefit p{
      color:var(--muted);
      font-size:13px;
      line-height:1.55;
    }



    .product-visual{
      margin-top:24px;
      border-radius:26px;
      overflow:hidden;
      border:1px solid rgba(185,130,50,.18);
      background:#fffaf4;
      box-shadow:var(--shadow-s);
    }

    .product-visual img{
      width:100%;
      display:block;
    }

    .booking-card{
      padding:28px;
    }

    .section-title{
      font-family:var(--serif);
      font-size:31px;
      line-height:1.05;
      font-weight:600;
      margin-bottom:8px;
    }

    .subtext{
      color:var(--muted);
      line-height:1.65;
      font-size:14px;
      margin-bottom:18px;
    }

    .progress{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:8px;
      margin:18px 0 24px;
    }

    .step{
      height:6px;
      border-radius:999px;
      background:rgba(185,130,50,.13);
      overflow:hidden;
    }

    .step.active{ background:linear-gradient(90deg,var(--rose),var(--gold)); }

    .form-step{ display:none; animation:fade .26s ease both; }
    .form-step.active{ display:block; }

    @keyframes fade{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

    label{
      display:block;
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:800;
      color:var(--brown-md);
      margin-bottom:7px;
    }

    .grid-2{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:13px;
    }

    .field{ margin-bottom:15px; }

    input, select, textarea{
      width:100%;
      border:1.5px solid rgba(185,130,50,.25);
      background:white;
      border-radius:14px;
      min-height:46px;
      padding:12px 14px;
      font-family:var(--sans);
      font-size:14px;
      color:var(--brown);
      outline:none;
      transition:.18s;
    }

    textarea{ min-height:98px; resize:vertical; }
    input:focus, select:focus, textarea:focus{
      border-color:var(--gold);
      box-shadow:0 0 0 4px rgba(185,130,50,.1);
    }

    .choice-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-bottom:18px;
    }

    .choice{
      border:1.5px solid rgba(185,130,50,.22);
      background:#fffaf5;
      border-radius:18px;
      padding:14px;
      cursor:pointer;
      transition:.18s;
      min-height:88px;
    }

    .choice:hover{ transform:translateY(-1px); border-color:var(--gold); }
    .choice.selected{
      border-color:var(--gold);
      background:linear-gradient(145deg,#fff8ee,#fff1e6);
      box-shadow:0 8px 24px rgba(185,130,50,.12);
    }

    .choice strong{
      display:block;
      font-size:14px;
      margin-bottom:5px;
    }

    .choice small{
      color:var(--muted);
      font-size:12px;
      line-height:1.45;
    }

    .time-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:9px;
      margin-bottom:18px;
    }

    .time-btn{
      height:42px;
      border:1.5px solid rgba(185,130,50,.25);
      background:white;
      color:var(--brown-md);
      border-radius:999px;
      font-weight:700;
      cursor:pointer;
    }

    .time-btn.selected{
      background:var(--brown);
      color:white;
      border-color:var(--brown);
    }

    .actions{
      display:flex;
      justify-content:space-between;
      gap:10px;
      margin-top:20px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:46px;
      padding:0 20px;
      border-radius:999px;
      border:none;
      font-family:var(--sans);
      font-size:14px;
      font-weight:800;
      cursor:pointer;
      transition:.18s;
      text-decoration:none;
    }

    .btn-primary{
      background:var(--brown);
      color:white;
    }

    .btn-primary:hover{ background:var(--brown-md); transform:translateY(-1px); }

    .btn-gold{
      background:linear-gradient(135deg,var(--gold),var(--gold-lt));
      color:white;
    }

    .btn-outline{
      background:transparent;
      border:1.5px solid rgba(185,130,50,.32);
      color:var(--brown-md);
    }

    .btn[disabled]{
      opacity:.45;
      cursor:not-allowed;
      transform:none;
    }

    .summary{
      background:#fffaf4;
      border:1px solid rgba(185,130,50,.18);
      border-radius:22px;
      padding:18px;
      margin:12px 0;
    }

    .summary-row{
      display:flex;
      justify-content:space-between;
      gap:12px;
      padding:9px 0;
      border-bottom:1px solid rgba(185,130,50,.1);
      font-size:13.5px;
    }

    .summary-row:last-child{ border-bottom:0; }
    .summary-row span:first-child{ color:var(--muted); }
    .summary-row span:last-child{ font-weight:800; text-align:right; }

    .notice{
      border-radius:18px;
      padding:14px;
      background:rgba(58,107,76,.08);
      border:1px solid rgba(58,107,76,.15);
      color:var(--success);
      line-height:1.55;
      font-size:13px;
      margin:14px 0;
    }

    .warning{
      border-radius:18px;
      padding:14px;
      background:rgba(138,58,51,.08);
      border:1px solid rgba(138,58,51,.15);
      color:var(--danger);
      line-height:1.55;
      font-size:13px;
      margin:14px 0;
    }

    .calendar-link{
      display:none;
      margin-top:10px;
    }

    .success-box{
      display:none;
      margin-top:18px;
      background:linear-gradient(145deg,#fffaf4,#fff4e8);
      border:1px solid rgba(185,130,50,.24);
      border-radius:24px;
      padding:22px;
      text-align:center;
    }

    .success-box h3{
      font-family:var(--serif);
      font-size:28px;
      font-weight:600;
      margin-bottom:8px;
    }

    .success-box p{
      color:var(--muted);
      line-height:1.65;
      font-size:14px;
      margin-bottom:12px;
    }

    .modal{
      position:fixed;
      inset:0;
      background:rgba(62,38,28,.38);
      backdrop-filter:blur(8px);
      display:none;
      align-items:center;
      justify-content:center;
      padding:20px;
      z-index:50;
    }

    .modal.open{ display:flex; }
    .modal-card{
      width:min(980px, 96vw);
      max-height:90vh;
      overflow:auto;
      padding:26px;
    }

    .admin-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      margin-bottom:18px;
    }

    .admin-table-wrap{
      overflow:auto;
      background:white;
      border-radius:18px;
      border:1px solid rgba(185,130,50,.14);
    }

    table{
      width:100%;
      border-collapse:collapse;
      font-size:13px;
      min-width:800px;
    }

    th, td{
      text-align:left;
      padding:12px 14px;
      border-bottom:1px solid rgba(185,130,50,.1);
      vertical-align:top;
    }

    th{
      color:var(--muted);
      text-transform:uppercase;
      letter-spacing:.08em;
      font-size:10px;
      background:#fff8f1;
    }

    .footer{
      text-align:center;
      margin-top:28px;
      color:var(--muted);
      font-size:12px;
      line-height:1.7;
    }

    .hidden{ display:none !important; }

    @media(max-width:920px){
      .hero{ grid-template-columns:1fr; }
      .hero-card{ padding:26px; }
    }

    @media(max-width:620px){
      .app{ width:100%; padding:14px 10px 32px; }
      .topbar{ align-items:flex-start; }
      .brand strong{ font-size:23px; }
      .admin-link{ padding:9px 12px; font-size:12px; }
      .hero-card, .booking-card{ border-radius:24px; padding:20px; }
      .grid-2, .choice-grid{ grid-template-columns:1fr; }
      .time-grid{ grid-template-columns:repeat(2,1fr); }
      .actions{ flex-direction:column-reverse; }
      .btn{ width:100%; }
    }
  

.sg-foot{text-align:center;padding:1.25rem 1rem;font-size:.72rem;color:#000;opacity:.5;letter-spacing:.02em}.sg-foot a{color:inherit;text-decoration:underline;text-underline-offset:2px}
