/* We Młynie – rezerwacje. Styl zgodny z we-mlynie.pl */
:root{
  --forest:#2d4a2d;
  --forest-dark:#1e3320;
  --cream:#f5efe3;
  --gold:#b8922a;
  --gold-light:#d4a83a;
  --muted:rgba(245,239,227,.55);
  --faint:rgba(245,239,227,.3);
  --line:rgba(184,146,42,.25);
  --line-strong:rgba(184,146,42,.6);
  --panel:rgba(45,74,45,.4);
  --field:rgba(20,35,20,.55);
  --bad:#c8654f;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--forest-dark);color:var(--cream);font:300 16px/1.6 "Josefin Sans",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:not(.embed)::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23b8922a' fill-opacity='0.04'%3E%3Cpath d='M50 50v-6h-2v6h-6v2h6v6h2v-6h6v-2h-6zm0-40V4h-2v6h-6v2h6v6h2v-6h6V4h-6zM10 50v-6H8v6H2v2h6v6h2v-6h6v-2h-6zM10 10V4H8v6H2v2h6v6h2v-6h6v-2h-6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
body.embed{background:transparent}
.frame{position:fixed;inset:16px;border:1px solid rgba(184,146,42,.25);pointer-events:none;z-index:10}
.frame::before{content:'';position:absolute;inset:4px;border:1px solid rgba(184,146,42,.1)}
.embed .frame{display:none}
a{color:var(--gold)}
b,strong{font-weight:600}
.wrap{position:relative;z-index:1;max-width:520px;margin:0 auto;padding:72px 24px 48px}
.embed .wrap{padding:0;max-width:none}

/* pasek języków jak na stronie */
.langs{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:flex-end;gap:4px;padding:8px 24px;background:rgba(20,35,20,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(184,146,42,.15)}
.langs a{font-size:22px;line-height:1;opacity:.45;text-decoration:none;padding:2px 4px;transition:opacity .2s,transform .15s}
.langs a:hover{opacity:.9;transform:scale(1.15)}
.langs a.on{opacity:1}
.embed .langs{display:none}

/* logo i nagłówek */
.brand{text-align:center;margin:8px 0 18px}
.brand a{display:inline-block}
.brand img{width:150px;height:auto;display:block;margin:0 auto}
.embed .brand,.embed .page-head{display:none}
h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;font-size:clamp(36px,9vw,48px);letter-spacing:.08em;line-height:1;margin:0;text-align:center}
.sub{font-size:11px;letter-spacing:.45em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:12px}
.divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px auto 28px;max-width:340px}
.divider::before,.divider::after{content:'';flex:1;height:1px;opacity:.4}
.divider::before{background:linear-gradient(to right,var(--gold),transparent)}
.divider::after{background:linear-gradient(to left,var(--gold),transparent)}
.divider span{color:var(--gold);font-size:9px}
.intro{color:var(--muted);margin:0 auto 26px;text-align:center;max-width:420px;font-size:15px;letter-spacing:.02em}

/* panele */
.card{background:var(--panel);border:1px solid var(--line);padding:22px 20px;margin-bottom:12px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.step{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;margin:0 0 16px}
.step i{font-style:normal;font-family:"Cormorant Garamond",Georgia,serif;font-size:17px;width:30px;height:30px;border-radius:50%;background:rgba(184,146,42,.15);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}

/* kalendarz */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cal-head b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:21px;letter-spacing:.06em;text-transform:capitalize}
.nav{appearance:none;border:1px solid var(--line);background:transparent;width:36px;height:36px;font-size:16px;cursor:pointer;color:var(--gold);font-family:inherit}
.nav:hover{border-color:var(--line-strong)}
.nav:disabled{opacity:.2;cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal .wd{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);text-align:center;padding:4px 0 6px}
.cal button{appearance:none;border:1px solid transparent;background:transparent;aspect-ratio:1/1;max-height:50px;font:inherit;font-weight:400;font-size:15px;color:rgba(245,239,227,.18);cursor:default;padding:0}
.cal button.av{border-color:var(--line);color:var(--cream);cursor:pointer;background:rgba(20,35,20,.35)}
.cal button.av:hover{border-color:var(--line-strong);background:rgba(184,146,42,.12)}
.cal button.sel,.cal button.sel:hover{background:var(--gold);border-color:var(--gold);color:var(--forest-dark);font-weight:600}
.cal button.today{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

/* godziny */
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.times button{appearance:none;border:1px solid var(--line);background:rgba(20,35,20,.35);padding:11px 0;font:inherit;font-weight:400;letter-spacing:.06em;cursor:pointer;color:var(--cream);font-variant-numeric:tabular-nums}
.times button:hover{border-color:var(--line-strong);background:rgba(184,146,42,.12)}
.times button.sel{background:var(--gold);border-color:var(--gold);color:var(--forest-dark);font-weight:600}
.hint{color:var(--muted);margin:0;font-size:15px}

/* pola */
label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-weight:400}
label small{text-transform:none;letter-spacing:.02em;font-size:12px;color:var(--faint)}
input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:var(--field);font:inherit;font-size:16px;font-weight:300;letter-spacing:.02em;color:var(--cream);color-scheme:dark;text-transform:none}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b8922a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
select option{background:var(--forest-dark);color:var(--cream)}
input::placeholder,textarea::placeholder{color:rgba(245,239,227,.3)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-light);background:rgba(20,35,20,.75)}
button:focus-visible,a:focus-visible{outline:1px solid var(--gold-light);outline-offset:2px}
textarea{resize:vertical;min-height:72px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.big{background:rgba(184,146,42,.1);border-left:2px solid var(--gold);padding:12px 14px;margin:-4px 0 16px;font-size:15px}
.big a{color:var(--cream);font-weight:600;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--gold)}
.summary{display:flex;flex-wrap:wrap;gap:6px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 2px;margin:4px 0 18px;font-size:15px}
.summary span{color:var(--muted)}
.summary b{font-weight:400;color:var(--gold-light)}
.submit,.btn{appearance:none;display:block;width:100%;border:1px solid var(--gold);background:var(--gold);color:var(--forest-dark);font:inherit;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;padding:17px;border-radius:0;cursor:pointer;transition:background .2s,border-color .2s}
.submit:hover,.btn:hover{background:var(--gold-light);border-color:var(--gold-light)}
.submit:disabled{background:transparent;color:var(--faint);border-color:var(--line);cursor:not-allowed}
.btn.danger{background:transparent;color:#e8a58f;border-color:rgba(200,101,79,.7)}
.btn.danger:hover{background:rgba(200,101,79,.15);border-color:#e8a58f}
.err{background:rgba(200,101,79,.14);border-left:2px solid var(--bad);color:#f1c1b2;padding:11px 14px;margin-bottom:14px}
.privacy{font-size:12px;color:var(--faint);margin:14px 0 0;text-align:center;letter-spacing:.03em}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* sukces */
.done{text-align:center;padding:38px 24px}
.done .mark{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--forest-dark);font-size:24px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}
.done h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:300;font-size:38px;letter-spacing:.06em;margin:0 0 12px}
.done p{max-width:420px;margin:0 auto 22px;color:var(--muted)}
.again{appearance:none;background:transparent;border:1px solid var(--line);padding:12px 20px;font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--cream)}
.again:hover{border-color:var(--line-strong)}

/* strona anulowania */
dl.det{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 20px}
dl.det dt{color:var(--muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding-top:3px}
dl.det dd{margin:0;font-weight:400;overflow-wrap:anywhere}
.q{font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;font-weight:400;margin:0 0 16px}
.msg{padding:12px 14px;margin-bottom:18px;border-left:2px solid var(--gold);background:rgba(184,146,42,.1)}
.msg.ok{border-color:#7fae7f;background:rgba(127,174,127,.12)}
.links{margin-top:18px;text-align:center}
.links a{font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.phone{margin-top:22px;color:var(--muted);text-align:center;font-size:14px}
.phone a{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:22px;letter-spacing:.1em;color:var(--cream);text-decoration:none;margin-top:4px}

.footer{text-align:center;color:var(--faint);font-size:10px;letter-spacing:.2em;margin-top:30px}
.footer a{color:rgba(184,146,42,.6);text-decoration:none}
.embed .footer{display:none}
.hidden{display:none!important}
.loading{color:var(--muted)}
@media (max-width:480px){.two{grid-template-columns:1fr}.card{padding:18px 16px}.brand img{width:130px}.wrap{padding:64px 20px 40px}}

/* zgoda RODO */
label.consent{display:flex;gap:12px;align-items:flex-start;text-transform:none;letter-spacing:.01em;font-size:14px;line-height:1.55;color:var(--cream);margin:2px 0 18px;cursor:pointer}
label.consent input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:var(--gold);cursor:pointer}
label.consent a{color:var(--gold-light)}
.privacy a{color:var(--gold-light)}
/* drobny druk RODO pod przyciskiem */
.legal{font-size:10.5px;line-height:1.55;color:rgba(245,239,227,.32);margin:26px 0 0;text-align:center;letter-spacing:.02em}
.legal a{color:rgba(212,168,58,.55)}
