/* =============================================================
   SRETNA ŠAPICA — Brand Stylesheet
   Frontend: Anketa + Rezervacija forms
   Admin:    WP Admin panel overrides
   ============================================================= */

/* ── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');

/* ── Brand Tokens ─────────────────────────────────────────── */
:root {
  --ss-orange:       #E8660A;
  --ss-orange-light: #FFEFE0;
  --ss-orange-dark:  #C4510A;
  --ss-green:        #2F7A2F;
  --ss-green-light:  #EAF4EA;
  --ss-green-dark:   #1E5C1E;
  --ss-black:        #1A1A1A;
  --ss-grey-dark:    #3D3D3D;
  --ss-grey-mid:     #767676;
  --ss-grey-light:   #F5F2EE;
  --ss-grey-border:  #E0D9D0;
  --ss-white:        #FFFCF8;
  --ss-cream:        #FDF8F2;

  --ss-radius-sm:  6px;
  --ss-radius-md:  12px;
  --ss-radius-lg:  20px;
  --ss-radius-xl:  32px;

  --ss-shadow-sm:  0 2px 8px rgba(232,102,10,0.08);
  --ss-shadow-md:  0 4px 20px rgba(232,102,10,0.12);
  --ss-shadow-lg:  0 8px 40px rgba(232,102,10,0.16);

  --ss-font-head:  'Nunito', sans-serif;
  --ss-font-body:  'Lora', serif;

  --ss-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}


/* =============================================================
   FRONTEND — SHARED BASE
   ============================================================= */

.ss-anketa-wrapper,
.ss-rezervacija-wrapper {
  max-width: 700px;
  margin: 0 auto;
  font-family: var(--ss-font-body);
  color: var(--ss-grey-dark);
  background: var(--ss-cream);
  border-radius: var(--ss-radius-xl);
  padding: 40px 44px 48px;
  box-shadow: var(--ss-shadow-lg);
  border: 1px solid var(--ss-grey-border);
  position: relative;
  overflow: hidden;
}

/* Decorative paw-print watermark top right */
.ss-anketa-wrapper::before,
.ss-rezervacija-wrapper::before {
  content: '🐾';
  position: absolute;
  top: -10px;
  right: 20px;
  font-size: 120px;
  opacity: 0.04;
  pointer-events: none;
  line-height: 1;
}

/* ── Form Section Header ──────────────────────────────────── */
.ss-anketa-wrapper h2,
.ss-rezervacija-wrapper h2 {
  font-family: var(--ss-font-head);
  font-weight: 900;
  font-size: 28px;
  color: var(--ss-black);
  margin: 0 0 6px;
  letter-spacing: -0.5px;
}

.ss-anketa-wrapper h2 span,
.ss-rezervacija-wrapper h2 span {
  color: var(--ss-orange);
}


/* =============================================================
   ACF FORM FIELDS — FRONTEND OVERRIDE
   ============================================================= */

/* ── Field wrapper ────────────────────────────────────────── */
.ss-anketa-wrapper .acf-form-field,
.ss-rezervacija-wrapper .acf-form-field {
  margin-bottom: 24px;
}

/* ── Labels ───────────────────────────────────────────────── */
.ss-anketa-wrapper .acf-label label,
.ss-rezervacija-wrapper .acf-label label,
.ss-anketa-wrapper label,
.ss-rezervacija-wrapper label {
  font-family: var(--ss-font-head) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--ss-grey-dark) !important;
  display: block;
  margin-bottom: 8px !important;
}

/* Required star */
.ss-anketa-wrapper .acf-required,
.ss-rezervacija-wrapper .acf-required {
  color: var(--ss-orange) !important;
  font-size: 14px;
}

/* ── Text / Email / Textarea inputs ───────────────────────── */
.ss-anketa-wrapper input[type="text"],
.ss-anketa-wrapper input[type="email"],
.ss-anketa-wrapper input[type="tel"],
.ss-anketa-wrapper textarea,
.ss-anketa-wrapper select,
.ss-rezervacija-wrapper input[type="text"],
.ss-rezervacija-wrapper input[type="email"],
.ss-rezervacija-wrapper input[type="tel"],
.ss-rezervacija-wrapper textarea,
.ss-rezervacija-wrapper select {
  width: 100% !important;
  padding: 13px 16px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-md) !important;
  font-size: 15px !important;
  font-family: var(--ss-font-body) !important;
  color: var(--ss-black) !important;
  background: var(--ss-white) !important;
  box-sizing: border-box !important;
  transition: var(--ss-transition) !important;
  outline: none !important;
  box-shadow: none !important;
}

.ss-anketa-wrapper input[type="text"]:focus,
.ss-anketa-wrapper input[type="email"]:focus,
.ss-anketa-wrapper input[type="tel"]:focus,
.ss-anketa-wrapper textarea:focus,
.ss-anketa-wrapper select:focus,
.ss-rezervacija-wrapper input[type="text"]:focus,
.ss-rezervacija-wrapper input[type="email"]:focus,
.ss-rezervacija-wrapper input[type="tel"]:focus,
.ss-rezervacija-wrapper textarea:focus,
.ss-rezervacija-wrapper select:focus {
  border-color: var(--ss-orange) !important;
  background: var(--ss-white) !important;
  box-shadow: 0 0 0 4px rgba(232,102,10,0.10) !important;
}

/* Readonly/locked email field */
.ss-rezervacija-wrapper input[readonly] {
  background: var(--ss-grey-light) !important;
  color: var(--ss-grey-mid) !important;
  cursor: not-allowed !important;
  border-color: var(--ss-grey-border) !important;
}

/* ── Radio buttons ────────────────────────────────────────── */
.ss-anketa-wrapper .acf-radio-list li,
.ss-rezervacija-wrapper .acf-radio-list li {
  margin-bottom: 8px;
}

.ss-anketa-wrapper .acf-radio-list label,
.ss-rezervacija-wrapper .acf-radio-list label {
  font-family: var(--ss-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--ss-grey-dark) !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 10px 14px;
  border-radius: var(--ss-radius-sm);
  border: 2px solid transparent;
  transition: var(--ss-transition);
}

.ss-anketa-wrapper .acf-radio-list label:hover,
.ss-rezervacija-wrapper .acf-radio-list label:hover {
  background: var(--ss-orange-light);
  border-color: var(--ss-orange);
}

.ss-anketa-wrapper .acf-radio-list input[type="radio"],
.ss-rezervacija-wrapper .acf-radio-list input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--ss-orange);
  flex-shrink: 0;
}

/* ── Checkboxes ───────────────────────────────────────────── */
.ss-anketa-wrapper .acf-checkbox-list li,
.ss-rezervacija-wrapper .acf-checkbox-list li {
  margin-bottom: 8px;
}

.ss-anketa-wrapper .acf-checkbox-list label,
.ss-rezervacija-wrapper .acf-checkbox-list label {
  font-family: var(--ss-font-body) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 11px 14px;
  border-radius: var(--ss-radius-sm);
  border: 2px solid var(--ss-grey-border);
  transition: var(--ss-transition);
  background: var(--ss-white);
}

.ss-anketa-wrapper .acf-checkbox-list label:hover,
.ss-rezervacija-wrapper .acf-checkbox-list label:hover {
  border-color: var(--ss-orange);
  background: var(--ss-orange-light);
}

.ss-anketa-wrapper .acf-checkbox-list input[type="checkbox"],
.ss-rezervacija-wrapper .acf-checkbox-list input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--ss-orange);
  flex-shrink: 0;
}

/* ── Date Picker ──────────────────────────────────────────── */
.ss-anketa-wrapper .acf-date-picker input,
.ss-rezervacija-wrapper .acf-date-picker input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23E8660A' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 44px !important;
}

/* ── Select2 / ACF Select ─────────────────────────────────── */
.ss-anketa-wrapper .select2-container .select2-selection--single,
.ss-rezervacija-wrapper .select2-container .select2-selection--single {
  height: 48px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-md) !important;
  background: var(--ss-white) !important;
  padding: 10px 16px !important;
}

.ss-anketa-wrapper .select2-container .select2-selection--single .select2-selection__rendered,
.ss-rezervacija-wrapper .select2-container .select2-selection--single .select2-selection__rendered {
  line-height: 26px !important;
  font-family: var(--ss-font-body) !important;
  font-size: 15px !important;
  color: var(--ss-black) !important;
  padding: 0 !important;
}

.ss-anketa-wrapper .select2-container--focus .select2-selection--single,
.ss-rezervacija-wrapper .select2-container--focus .select2-selection--single {
  border-color: var(--ss-orange) !important;
  box-shadow: 0 0 0 4px rgba(232,102,10,0.10) !important;
}

.select2-dropdown {
  border: 2px solid var(--ss-orange) !important;
  border-radius: var(--ss-radius-md) !important;
  font-family: var(--ss-font-body) !important;
  box-shadow: var(--ss-shadow-md) !important;
}

.select2-results__option--highlighted {
  background-color: var(--ss-orange) !important;
}

/* ── Repeater (Psi) ───────────────────────────────────────── */
.ss-anketa-wrapper .acf-repeater .acf-row {
  background: var(--ss-white);
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  padding: 24px !important;
  margin-bottom: 20px !important;
  transition: var(--ss-transition);
}

.ss-anketa-wrapper .acf-repeater .acf-row:hover {
  border-color: var(--ss-orange) !important;
  box-shadow: var(--ss-shadow-sm);
}

.ss-anketa-wrapper .acf-repeater .acf-row-handle {
  background: var(--ss-grey-light) !important;
  border-right: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-md) 0 0 var(--ss-radius-md) !important;
}

/* Add Dog button */
.ss-anketa-wrapper .acf-repeater .acf-actions .button,
.ss-anketa-wrapper .acf-repeater .acf-actions .acf-button {
  background: var(--ss-green) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ss-radius-md) !important;
  padding: 10px 20px !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: var(--ss-transition) !important;
}

.ss-anketa-wrapper .acf-repeater .acf-actions .button:hover,
.ss-anketa-wrapper .acf-repeater .acf-actions .acf-button:hover {
  background: var(--ss-green-dark) !important;
  transform: translateY(-1px);
}

/* Remove row button */
.ss-anketa-wrapper .acf-repeater .acf-row-handle .acf-icon.-minus {
  background: var(--ss-orange) !important;
  border-radius: 50% !important;
}

/* ── Error message ────────────────────────────────────────── */
.ss-anketa-wrapper .acf-error-message,
.ss-rezervacija-wrapper .acf-error-message {
  background: #FFF0EC !important;
  border: 2px solid var(--ss-orange) !important;
  border-left: 6px solid var(--ss-orange) !important;
  color: var(--ss-orange-dark) !important;
  border-radius: var(--ss-radius-md) !important;
  padding: 14px 18px !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  margin-bottom: 20px !important;
}

/* ── Field validation error ───────────────────────────────── */
.ss-anketa-wrapper .acf-error input,
.ss-rezervacija-wrapper .acf-error input,
.ss-anketa-wrapper .acf-error textarea,
.ss-rezervacija-wrapper .acf-error textarea {
  border-color: #E53935 !important;
  box-shadow: 0 0 0 4px rgba(229,57,53,0.10) !important;
}

.ss-anketa-wrapper .acf-notice.-error,
.ss-rezervacija-wrapper .acf-notice.-error {
  color: #C62828 !important;
  font-size: 12px !important;
  font-family: var(--ss-font-head) !important;
  margin-top: 6px !important;
}


/* =============================================================
   SUBMIT BUTTON
   ============================================================= */

.ss-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--ss-orange) !important;
  color: #fff !important;
  border: none !important;
  padding: 16px 40px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  font-family: var(--ss-font-head) !important;
  letter-spacing: 0.3px;
  border-radius: var(--ss-radius-lg) !important;
  cursor: pointer !important;
  transition: var(--ss-transition) !important;
  margin-top: 12px !important;
  box-shadow: 0 4px 16px rgba(232,102,10,0.35) !important;
  position: relative;
  overflow: hidden;
}

.ss-btn-submit::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 60%);
  pointer-events: none;
}

.ss-btn-submit:hover {
  background: var(--ss-orange-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(232,102,10,0.45) !important;
}

.ss-btn-submit:active {
  transform: translateY(0) !important;
}


/* =============================================================

/* =============================================================
   SUCCESS / THANK-YOU MESSAGES
   ============================================================= */

.ss-success-box {
  background: linear-gradient(135deg, var(--ss-green-light), #F5FAF5);
  border: 2px solid var(--ss-green);
  border-left: 6px solid var(--ss-green);
  border-radius: var(--ss-radius-xl);
  padding: 32px 36px;
  font-family: var(--ss-font-head);
  color: var(--ss-green-dark);
  box-shadow: var(--ss-shadow-md);
  max-width: 680px;
}

.ss-success-box h3 {
  font-family: var(--ss-font-head);
  font-weight: 900;
  font-size: 22px;
  margin-top: 0;
  color: var(--ss-green-dark);
}

.ss-success-box p {
  font-family: var(--ss-font-body);
  color: var(--ss-green-dark);
}

.ss-success-link-note {
  margin-top: 16px;
  font-size: 12px;
  color: var(--ss-grey-mid);
}

.ss-success-link-note code {
  word-break: break-all;
  font-size: 11px;
  background: rgba(0,0,0,0.05);
  padding: 2px 5px;
  border-radius: 3px;
}


/* =============================================================
   RETURNING CLIENT FORM (no-token state)
   ============================================================= */

.ss-returning-wrapper {
  max-width: 500px;
  font-family: var(--ss-font-head);
}

/* Alert — warning (not found) */
.ss-alert-warning {
  background: #FFF8EC;
  border: 2px solid #F5A623;
  border-left: 6px solid #F5A623;
  border-radius: var(--ss-radius-md);
  padding: 14px 18px;
  color: #7A4F00;
  font-family: var(--ss-font-head);
  font-size: 14px;
  margin-bottom: 20px;
}

/* Email lookup card */
.ss-returning-card {
  background: var(--ss-white);
  border: 2px solid var(--ss-grey-border);
  border-radius: var(--ss-radius-xl);
  padding: 28px 32px;
  margin-bottom: 16px;
  box-shadow: var(--ss-shadow-md);
}

.ss-returning-card h3 {
  font-family: var(--ss-font-head);
  font-weight: 900;
  font-size: 20px;
  color: var(--ss-black);
  margin-top: 0;
}

.ss-returning-card p {
  color: var(--ss-grey-dark);
  font-size: 14px;
  font-family: var(--ss-font-body);
}

.ss-returning-card input[type="email"] {
  width: 100%;
  padding: 13px 16px;
  border: 2px solid var(--ss-grey-border);
  border-radius: var(--ss-radius-md);
  font-size: 15px;
  font-family: var(--ss-font-body);
  color: var(--ss-black);
  background: var(--ss-cream);
  box-sizing: border-box;
  transition: var(--ss-transition);
  margin-bottom: 14px;
  display: block;
}

.ss-returning-card input[type="email"]:focus {
  border-color: var(--ss-orange);
  box-shadow: 0 0 0 4px rgba(232,102,10,0.10);
  outline: none;
}

/* Full-width button modifier */
.ss-btn-full {
  width: 100% !important;
}

/* First-time visitor card */
.ss-first-time-card {
  background: var(--ss-orange-light);
  border: 2px solid rgba(232,102,10,0.25);
  border-radius: var(--ss-radius-xl);
  padding: 24px;
  text-align: center;
}

.ss-first-time-card p {
  margin: 0 0 4px;
  color: var(--ss-grey-dark);
  font-size: 14px;
  font-family: var(--ss-font-body);
}

/* =============================================================
   ADMIN PANEL — WP ADMIN OVERRIDES
   ============================================================= */

/* ── Admin page body ──────────────────────────────────────── */
.toplevel_page_ss-rezervacije .wrap,
.ss-rezervacije_page_ss-ankete .wrap,
.ss-rezervacije_page_ss-kalendar .wrap,
.ss-rezervacije_page_ss-izvoz .wrap {
  font-family: var(--ss-font-head) !important;
}

/* ── Admin menu icon color ────────────────────────────────── */
#adminmenu #toplevel_page_ss-rezervacije .wp-menu-image::before {
  color: var(--ss-orange) !important;
}

/* ── Page title ───────────────────────────────────────────── */
.toplevel_page_ss-rezervacije h1,
.ss-rezervacije_page_ss-ankete h1,
.ss-rezervacije_page_ss-kalendar h1,
.ss-rezervacije_page_ss-izvoz h1 {
  font-family: var(--ss-font-head) !important;
  font-weight: 900 !important;
  font-size: 26px !important;
  color: var(--ss-black) !important;
  letter-spacing: -0.5px;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--ss-orange);
  display: inline-block;
  margin-bottom: 20px !important;
}

/* ── Filters bar ──────────────────────────────────────────── */
.ss-filters {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 16px 0 !important;
  background: var(--ss-cream) !important;
  padding: 14px 18px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  box-shadow: var(--ss-shadow-sm) !important;
}

.ss-filters input,
.ss-filters select {
  padding: 8px 12px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-sm) !important;
  font-size: 13px !important;
  font-family: var(--ss-font-head) !important;
  color: var(--ss-black) !important;
  background: var(--ss-white) !important;
  transition: var(--ss-transition) !important;
}

.ss-filters input:focus,
.ss-filters select:focus {
  border-color: var(--ss-orange) !important;
  box-shadow: 0 0 0 3px rgba(232,102,10,0.10) !important;
  outline: none !important;
}

.ss-filters .button {
  background: var(--ss-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ss-radius-sm) !important;
  padding: 8px 18px !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: var(--ss-transition) !important;
  box-shadow: 0 2px 8px rgba(232,102,10,0.25) !important;
}

.ss-filters .button:hover {
  background: var(--ss-orange-dark) !important;
  transform: translateY(-1px) !important;
}

/* Reset button */
.ss-filters a.button {
  background: var(--ss-grey-light) !important;
  color: var(--ss-grey-dark) !important;
  box-shadow: none !important;
}

.ss-filters a.button:hover {
  background: var(--ss-grey-border) !important;
  transform: none !important;
}

/* ── Status badges ────────────────────────────────────────── */
.ss-badge {
  display: inline-block !important;
  color: #fff !important;
  padding: 4px 12px !important;
  border-radius: 100px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: var(--ss-font-head) !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* ── Admin table ──────────────────────────────────────────── */
.toplevel_page_ss-rezervacije .widefat,
.ss-rezervacije_page_ss-ankete .widefat,
.ss-rezervacije_page_ss-izvoz .widefat {
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  overflow: hidden !important;
  font-family: var(--ss-font-head) !important;
  box-shadow: var(--ss-shadow-sm) !important;
}

.toplevel_page_ss-rezervacije .widefat thead th,
.ss-rezervacije_page_ss-ankete .widefat thead th {
  background: var(--ss-black) !important;
  color: #fff !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  padding: 12px 14px !important;
  border: none !important;
}

.toplevel_page_ss-rezervacije .widefat tbody tr:hover,
.ss-rezervacije_page_ss-ankete .widefat tbody tr:hover {
  background: var(--ss-orange-light) !important;
}

.toplevel_page_ss-rezervacije .widefat tbody td,
.ss-rezervacije_page_ss-ankete .widefat tbody td {
  padding: 11px 14px !important;
  border-bottom: 1px solid var(--ss-grey-border) !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

/* View button */
.toplevel_page_ss-rezervacije .button-small,
.ss-rezervacije_page_ss-ankete .button-small {
  background: var(--ss-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ss-radius-sm) !important;
  padding: 5px 14px !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: var(--ss-transition) !important;
  box-shadow: none !important;
}

.toplevel_page_ss-rezervacije .button-small:hover,
.ss-rezervacije_page_ss-ankete .button-small:hover {
  background: var(--ss-orange-dark) !important;
  transform: translateY(-1px) !important;
  color: #fff !important;
}

/* ── Grid & Cards ─────────────────────────────────────────── */
.ss-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-top: 24px !important;
}

.ss-card {
  background: var(--ss-white) !important;
  padding: 24px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  box-shadow: var(--ss-shadow-sm) !important;
  font-family: var(--ss-font-head) !important;
}

.ss-card h3 {
  font-family: var(--ss-font-head) !important;
  font-weight: 800 !important;
  font-size: 16px !important;
  margin-top: 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--ss-grey-border) !important;
  color: var(--ss-black) !important;
}

/* Detail view table */
.ss-card .widefat.striped th {
  font-weight: 700 !important;
  color: var(--ss-grey-mid) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  width: 40% !important;
  background: var(--ss-grey-light) !important;
}

/* ── Admin form inputs (status update, email) ─────────────── */
.ss-card select,
.ss-card textarea,
.ss-card input[type="text"] {
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-sm) !important;
  font-family: var(--ss-font-head) !important;
  font-size: 13px !important;
  color: var(--ss-black) !important;
  transition: var(--ss-transition) !important;
}

.ss-card select:focus,
.ss-card textarea:focus,
.ss-card input[type="text"]:focus {
  border-color: var(--ss-orange) !important;
  box-shadow: 0 0 0 3px rgba(232,102,10,0.10) !important;
  outline: none !important;
}

.ss-card .button-primary {
  background: var(--ss-orange) !important;
  border-color: var(--ss-orange-dark) !important;
  color: #fff !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  border-radius: var(--ss-radius-sm) !important;
  transition: var(--ss-transition) !important;
}

.ss-card .button-primary:hover {
  background: var(--ss-orange-dark) !important;
  border-color: var(--ss-orange-dark) !important;
  transform: translateY(-1px) !important;
}

.ss-card .button:not(.button-primary) {
  font-family: var(--ss-font-head) !important;
  font-weight: 600 !important;
  border-radius: var(--ss-radius-sm) !important;
}

/* ── Calendar ─────────────────────────────────────────────── */
.ss-calendar {
  background: var(--ss-white) !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ss-shadow-sm) !important;
}

.ss-cal-header {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  background: var(--ss-black) !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-family: var(--ss-font-head) !important;
}

.ss-cal-header div {
  padding: 12px 0 !important;
}

.ss-cal-day {
  min-height: 90px !important;
  border: 1px solid var(--ss-grey-border) !important;
  padding: 6px !important;
  font-size: 12px !important;
  transition: var(--ss-transition) !important;
}

.ss-cal-day:hover {
  background: var(--ss-cream) !important;
}

.ss-cal-day .day-num {
  font-weight: 800 !important;
  font-family: var(--ss-font-head) !important;
  color: var(--ss-black) !important;
  font-size: 13px !important;
  margin-bottom: 4px !important;
}

.ss-cal-day.other-month .day-num {
  color: var(--ss-grey-border) !important;
}

.ss-cal-day.today {
  background: var(--ss-orange-light) !important;
}

.ss-cal-day.today .day-num {
  color: var(--ss-orange) !important;
}

.ss-cal-event {
  border-radius: 5px !important;
  padding: 3px 7px !important;
  margin-bottom: 3px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: var(--ss-font-head) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
  display: block !important;
  text-decoration: none !important;
  transition: var(--ss-transition) !important;
}

.ss-cal-event:hover {
  filter: brightness(0.9) !important;
  transform: translateX(2px) !important;
}

.ss-cal-event.pending   { background: #F5A623 !important; color: #fff !important; }
.ss-cal-event.confirmed { background: var(--ss-green) !important; color: #fff !important; }
.ss-cal-event.rejected  { background: #D32F2F !important; color: #fff !important; opacity: 0.65 !important; text-decoration: line-through !important; }

.ss-cal-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 14px 20px !important;
  background: var(--ss-cream) !important;
  border-bottom: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-lg) var(--ss-radius-lg) 0 0 !important;
}

.ss-cal-nav h2 {
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  font-family: var(--ss-font-head) !important;
  color: var(--ss-black) !important;
}

.ss-cal-nav .button {
  background: var(--ss-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ss-radius-sm) !important;
  padding: 8px 18px !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  transition: var(--ss-transition) !important;
}

.ss-cal-nav .button:hover {
  background: var(--ss-orange-dark) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

/* ── Pagination ───────────────────────────────────────────── */
.ss-pagination {
  margin-top: 16px !important;
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.ss-pagination__page {
  padding: 4px 10px !important;
  border: 2px solid var(--ss-grey-border) !important;
  border-radius: var(--ss-radius-sm) !important;
  text-decoration: none !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--ss-grey-dark) !important;
  background: var(--ss-white) !important;
  transition: var(--ss-transition) !important;
}

.ss-pagination__page:hover {
  border-color: var(--ss-orange) !important;
  color: var(--ss-orange) !important;
}

.ss-pagination__page--active {
  background: var(--ss-orange) !important;
  border-color: var(--ss-orange) !important;
  color: #fff !important;
}

.ss-pagination__info {
  color: var(--ss-grey-mid) !important;
  font-size: 13px !important;
  font-family: var(--ss-font-head) !important;
  margin-left: 4px !important;
}

/* ── Export/Import page ───────────────────────────────────── */
.ss-rezervacije_page_ss-izvoz .ss-card h3 {
  font-size: 18px !important;
}

.ss-rezervacije_page_ss-izvoz .button.button-primary {
  background: var(--ss-orange) !important;
  border-color: var(--ss-orange-dark) !important;
  font-family: var(--ss-font-head) !important;
  font-weight: 700 !important;
  border-radius: var(--ss-radius-sm) !important;
}

.ss-rezervacije_page_ss-izvoz .button:not(.button-primary) {
  font-family: var(--ss-font-head) !important;
  font-weight: 600 !important;
  border-radius: var(--ss-radius-sm) !important;
}


/* =============================================================
   RESPONSIVE
   ============================================================= */

@media (max-width: 768px) {
  .ss-anketa-wrapper,
  .ss-rezervacija-wrapper {
    padding: 24px 20px 32px;
    border-radius: var(--ss-radius-lg);
  }

  .ss-grid {
    grid-template-columns: 1fr !important;
  }

  .ss-btn-submit {
    width: 100% !important;
    font-size: 16px !important;
  }

  .ss-filters {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .ss-filters input,
  .ss-filters select,
  .ss-filters .button {
    width: 100% !important;
  }

  .ss-cal-day {
    min-height: 50px !important;
    padding: 4px !important;
  }

  .ss-cal-day .day-num {
    font-size: 11px !important;
  }
}