/* Kontakt — Appointment form section (form + sidebar, equal heights).
   Inputs use a leading-icon wrapper (.input-wrap). Sidebar ends with a
   direct-contact footer (.ex-contact). Static, no hover-jump animation. */

/* --- Form field primitives ---------------------------------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}
.field:last-of-type{margin-bottom:0}
.field-row .field{margin-bottom:0}
.field label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}

/* Leading-icon wrapper around inputs / selects / textareas. */
.input-wrap{position:relative}
.input-wrap .lead{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--sage);pointer-events:none;transition:color .2s}
.input-wrap--area .lead{top:15px;transform:none}
.input-wrap:focus-within .lead{color:var(--teal)}

.field input,.field textarea,.field select{
  font-family:inherit;font-size:.95rem;color:var(--ink);
  background:#fff;border:1.5px solid var(--line);border-radius:11px;
  padding:12px 15px 12px 42px;outline:none;
  transition:border-color .2s,box-shadow .2s;width:100%;
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,91,84,.13)}
.field input::placeholder,.field textarea::placeholder{color:#9aaca7}
.field textarea{min-height:104px;resize:vertical;line-height:1.5;padding-top:14px}
.field select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231f5b54' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;cursor:pointer;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:15px}

/* --- Section ------------------------------------------------- */
.appointment{background:var(--cream);padding:72px 0 84px}
.appointment .sec-head{margin-bottom:36px}
.appointment .sec-head h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.appointment .sec-head p{font-size:.96rem}

/* --- Grid: form (flex) + fixed-width sidebar, equal heights --- */
.appointment-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:stretch}

/* --- Form card ---------------------------------------------- */
.appt-form-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px 34px 28px;box-shadow:var(--sh-md);overflow:hidden}
.appt-form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--sage))}

/* --- Submit row --------------------------------------------- */
.appt-submit-row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.privacy-note{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:.78rem;line-height:1.5;flex:1;min-width:220px}
.privacy-note svg{color:var(--sage);flex:none;margin-top:2px}
.appt-submit-row .btn{padding:13px 26px;font-size:.94rem}

/* --- "Što očekivati" sidebar — stretches to form height ----- */
.expect-card{position:relative;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--pine),var(--pine-deep));color:#cfe2dd;border-radius:var(--r);padding:32px 28px 30px;box-shadow:var(--sh-lg);overflow:hidden}
.expect-card::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1'%3E%3Cpath d='M0 200 Q100 150 200 200 T400 200'/%3E%3Cpath d='M0 260 Q100 210 200 260 T400 260'/%3E%3C/g%3E%3C/svg%3E");background-size:cover}
.expect-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(156,196,189,.22),transparent 70%);top:-50px;right:-40px;pointer-events:none}
.expect-card>*{position:relative;z-index:1}
.expect-card .ex-eye{font-family:"Hanken Grotesk",sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-300);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.expect-card .ex-eye::before{content:"";width:24px;height:1.5px;background:var(--sage-300)}
.expect-card h3{color:#fff;font-family:"Fraunces",serif;font-weight:400;font-size:1.4rem;margin-bottom:8px;line-height:1.2;letter-spacing:-.01em}
.expect-card>p{color:#aecfc9;font-size:.92rem;margin-bottom:22px;line-height:1.55}
.expect-list{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:14px;list-style:none;margin:0;padding:0}
.expect-list li{display:flex;gap:13px;align-items:flex-start}
.expect-list .ic{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.13);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid rgba(255,255,255,.12)}
.expect-list h5{color:#fff;font-family:"Hanken Grotesk",sans-serif;font-size:.96rem;font-weight:700;margin-bottom:3px;line-height:1.3}
.expect-list p{color:#aecfc9;font-size:.83rem;line-height:1.5;margin:0}

/* Direct-contact footer inside the dark sidebar. */
.ex-contact{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.ex-contact .ex-eye{margin-bottom:12px}
.ex-line{display:flex;align-items:center;gap:11px;color:#eaf3f0;font-weight:600;font-size:.94rem;padding:6px 0;transition:.2s}
.ex-line svg{color:var(--sage-300);flex:none;transition:.2s}
.ex-line:hover{color:#fff;transform:translateX(3px)}
.ex-line:hover svg{color:#fff}

/* --- Responsive --------------------------------------------- */
@media(max-width:980px){
  .appointment-grid{grid-template-columns:1fr;gap:22px}
  .expect-card{padding:28px 26px}
  .expect-list{flex:none}
}
@media(max-width:680px){
  .field-row{grid-template-columns:1fr;gap:12px}
  .appt-form-card{padding:24px 22px}
  .appointment{padding:54px 0 64px}
  .appt-submit-row{flex-direction:column;align-items:stretch}
  .appt-submit-row .btn{justify-content:center;width:100%}
}
