.sk-calendar {
  --sk-paper: #f7edd7;
  --sk-forest: #173e2b;
  --sk-wine: #71091a;
  --sk-gold: #bd8a32;
  color: #201b17;
  background: var(--sk-paper);
  padding: clamp(34px, 6vw, 72px) clamp(16px, 4vw, 54px);
  font-family: Georgia, "Times New Roman", serif;
  box-sizing: border-box;
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}
.sk-calendar__hero { max-width: 1180px; text-align: center; margin: 0 auto 42px; }
.sk-calendar__ornament { display: block; width: 180px; height: 1px; background: var(--sk-gold); margin: 0 auto 16px; }
.sk-calendar__hero h2 { color: var(--sk-wine); font-size: clamp(2.2rem, 7vw, 4.8rem); line-height: 1; margin: 0; text-transform: uppercase; overflow-wrap: anywhere; }
.sk-calendar__hero p { color: var(--sk-forest); font-size: clamp(1.25rem, 3vw, 1.9rem); margin: 12px 0 0; }
.sk-calendar__month { max-width: 1180px; margin: 0 auto 42px; }
.sk-calendar__month > h3 { color: var(--sk-forest); border-bottom: 1px solid var(--sk-gold); font-size: 2rem; padding-bottom: 8px; text-transform: uppercase; }
.sk-calendar__list { display: grid; gap: 22px; }
.sk-market-card { background: rgba(255,251,241,.95); border: 1px solid var(--sk-gold); border-radius: 16px; overflow: hidden; display: grid; grid-template-columns: minmax(220px, 31%) 1fr; box-shadow: 0 12px 32px rgba(53,35,16,.13); }
.sk-market-card__visual { min-height: 270px; display: grid; place-items: center; background: var(--sk-forest); color: #d5b267; }
.sk-market-card__visual span { width: 105px; height: 105px; border: 2px solid #d5b267; display: grid; place-items: center; transform: rotate(45deg); font-size: 3rem; }
.sk-market-card__visual span b { transform: rotate(-45deg); font-weight: 400; }
.sk-market-card__content { padding: clamp(25px, 5vw, 48px); position: relative; }
.sk-market-card__badge { position: absolute; right: 0; top: 0; background: var(--sk-gold); color: #fff; padding: 8px 13px; font: 700 .75rem Arial, sans-serif; letter-spacing: .08em; white-space: nowrap; }
.sk-market-card h4 { color: var(--sk-wine); font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1; margin: 0 0 20px; padding-right: 135px; }
.sk-market-card p { margin: 8px 0; font-family: Arial, sans-serif; }
.sk-market-card__button { margin-top: 18px; border: 0; border-radius: 6px; background: var(--sk-wine); color: #fff; padding: 14px 20px; font-weight: 700; text-transform: uppercase; }
.sk-market-card__button:hover { filter: brightness(1.1); transform: translateY(-1px); }
.sk-calendar__language { max-width: 1180px; margin: 0 auto 12px; display: flex; justify-content: flex-end; gap: 8px; font-family: Arial, sans-serif; }
.sk-calendar__language button { border: 0; background: none; color: var(--sk-forest); padding: 3px; cursor: pointer; }
.sk-calendar__language button.is-active { color: var(--sk-wine); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.sk-calendar__booking { max-width: 1100px; margin: 0 auto; }
.sk-back { border: 0; background: none; color: var(--sk-forest); font-weight: 700; padding: 5px 0; cursor: pointer; }
.sk-booking-heading { text-align: center; margin: 24px 0 28px; }
.sk-booking-heading h2,.sk-confirmation h2 { color: var(--sk-wine); font-size: clamp(2.3rem,5vw,4rem); line-height: 1; margin: 0; }
.sk-booking-heading p { color: var(--sk-forest); font-size: 1.45rem; margin: 10px 0 0; }
.sk-progress { max-width: 850px; margin: 0 auto 28px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; font-family: Arial,sans-serif; }
.sk-progress > div { display: flex; align-items: center; gap: 9px; color: #74695d; }
.sk-progress > div::after { content:""; height:1px; background:rgba(138,92,24,.36); flex:1; }
.sk-progress > div:last-child::after { display:none; }
.sk-progress span { width:34px; height:34px; border:1px solid var(--sk-gold); border-radius:50%; display:grid; place-items:center; flex:0 0 auto; }
.sk-progress .is-active span { background:var(--sk-wine); border-color:var(--sk-wine); color:white; }
.sk-progress .is-done span { background:var(--sk-forest); border-color:var(--sk-forest); color:white; }
.sk-booking-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:24px; align-items:start; }
.sk-form-card,.sk-summary,.sk-confirmation-card { background:rgba(255,251,241,.95); border:1px solid rgba(138,92,24,.36); border-radius:14px; box-shadow:0 12px 32px rgba(53,35,16,.13); }
.sk-form-card { padding:clamp(22px,4vw,38px); }
.sk-form-card h3,.sk-summary h3 { color:var(--sk-forest); font-size:2rem; margin:0 0 22px; }
.sk-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; font-family:Arial,sans-serif; }
.sk-fields label { display:block; font-size:.78rem; font-weight:700; letter-spacing:.05em; }
.sk-fields label.full { grid-column:1/-1; }
.sk-fields input:not([type="checkbox"]),.sk-fields textarea { width:100%; box-sizing:border-box; border:1px solid #c8ad7e; border-radius:6px; background:rgba(255,255,255,.68); padding:12px 13px; margin-top:7px; }
.sk-fields textarea { min-height:95px; resize:vertical; }
.sk-check { display:flex!important; align-items:flex-start; gap:8px; letter-spacing:0!important; font-weight:400!important; font-size:.92rem!important; }
.sk-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.sk-form-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:28px; }
.sk-primary,.sk-secondary { border-radius:7px; padding:14px 20px; font-weight:700; border:1px solid transparent; cursor:pointer; text-transform:uppercase; }
.sk-primary { background:var(--sk-wine); color:#fff; }
.sk-secondary { background:transparent; color:var(--sk-forest); border-color:var(--sk-forest); }
.sk-primary:disabled { opacity:.65; cursor:wait; }
.sk-form-error { background:#fff0f1; border:1px solid #d59aa1; color:#7a1d29; padding:12px 15px; border-radius:7px; margin-bottom:18px; font-family:Arial,sans-serif; }
.sk-day-tabs { display:flex; gap:7px; overflow-x:auto; padding-bottom:8px; margin-bottom:18px; }
.sk-day-tabs button { border:1px solid var(--sk-gold); background:transparent; color:var(--sk-forest); border-radius:999px; padding:8px 13px; white-space:nowrap; cursor:pointer; }
.sk-day-tabs button.is-active { background:var(--sk-forest); color:#fff; }
.sk-selected-date { color:var(--sk-wine); font:bold .95rem Arial,sans-serif; }
.sk-meal-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid rgba(138,92,24,.36); }
.sk-meal-row strong { display:block; font-size:1.35rem; }
.sk-meal-row small { display:block; color:#5d5348; font-family:Arial,sans-serif; margin-top:2px; }
.sk-stepper { display:grid; grid-template-columns:38px 46px 38px; border:1px solid #cda85d; border-radius:6px; overflow:hidden; }
.sk-stepper button { border:0; background:rgba(255,255,255,.6); font-size:1.2rem; color:var(--sk-forest); cursor:pointer; }
.sk-stepper output { display:grid; place-items:center; min-height:38px; border-inline:1px solid #d8bd89; background:white; font-family:Arial,sans-serif; }
.sk-choices { display:flex; gap:13px; flex-wrap:wrap; margin-bottom:22px; font-family:Arial,sans-serif; }
.sk-choices label { flex:1 1 210px; border:1px solid rgba(138,92,24,.36); border-radius:8px; padding:15px; background:rgba(255,255,255,.4); }
.sk-summary { position:sticky; top:100px; padding:28px; color:#fff; background:linear-gradient(150deg,#28553f,#10301f); border-color:var(--sk-gold); font-family:Arial,sans-serif; }
.sk-summary h3 { color:#fff; text-align:center; }
.sk-summary > p { color:#d8dfd9; text-align:center; }
.sk-summary-items { display:grid; gap:10px; max-height:290px; overflow:auto; }
.sk-summary-line { display:grid; grid-template-columns:1fr auto; gap:10px; font-size:.86rem; }
.sk-summary-line small { color:#ccd8d0; display:block; margin-top:2px; }
.sk-summary-totals { border-top:1px solid rgba(213,178,103,.75); margin-top:20px; padding-top:17px; display:grid; gap:10px; }
.sk-summary-totals > div { display:flex; justify-content:space-between; gap:16px; }
.sk-summary-totals .grand { border-top:1px solid rgba(213,178,103,.6); padding-top:12px; font-size:1.15rem; }
.sk-confirmation { text-align:center; padding:25px 0; }
.sk-confirmation-icon { width:84px; height:84px; border-radius:50%; background:var(--sk-forest); color:white; display:grid; place-items:center; font:2.3rem Arial,sans-serif; margin:0 auto 20px; border:4px solid #d5b267; }
.sk-confirmation > p { color:var(--sk-forest); font-size:1.35rem; }
.sk-confirmation-card { max-width:800px; margin:28px auto; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; text-align:left; font-family:Arial,sans-serif; }
.sk-confirmation-card div { border-bottom:1px solid rgba(138,92,24,.36); padding-bottom:9px; }
.sk-confirmation-card span { display:block; color:#5d5348; font-size:.8rem; margin-bottom:4px; }
.sk-mail-status { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:20px 0 30px; font-family:Arial,sans-serif; }
.sk-mail-status span { background:#e5f0e8; border:1px solid #8eb09a; color:#214a32; border-radius:999px; padding:9px 14px; }
.sk-mail-status span.is-warning { background:#fff4df; border-color:#d1a04d; color:#6b4912; }
@media (max-width: 720px) {
	.sk-calendar { padding-inline: 14px; }
  .sk-market-card { grid-template-columns: 1fr; }
  .sk-market-card__visual { min-height: 175px; }
  .sk-market-card h4 { padding-right: 0; overflow-wrap: anywhere; }
  .sk-market-card__badge { position: static; display: inline-block; margin-bottom: 16px; }
	.sk-booking-layout { grid-template-columns:1fr; }
	.sk-summary { position:static; order:-1; }
	.sk-progress b { display:none; }
	.sk-fields,.sk-confirmation-card { grid-template-columns:1fr; }
	.sk-form-actions { flex-direction:column-reverse; }
	.sk-form-actions button { width:100%; }
}
