@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/font-8.ttf) format('truetype');
}

:root{--paper:#f7f3ed;--ink:#38352e;--muted:#777367;--accent:#665a4c;--line:#d8d3c7;--sand:#e9e2d7;--white:#fffcf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a17654;outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(48px,6.7vw,100px);margin-bottom:28px}h2{font-size:clamp(36px,4.3vw,62px);margin-bottom:30px}h3{font-size:29px;letter-spacing:-.035em}em{font-weight:400;color:var(--accent)}small{font-size:12px}img{display:block;max-width:100%}.announcement{height:35px;background:var(--accent);color:var(--white);font-size:10px;letter-spacing:1.8px;display:flex;align-items:center;justify-content:center;gap:38px}.announcement span{font-size:10px;letter-spacing:.4px}header{height:115px;display:flex;align-items:center;justify-content:space-between;padding:0 5.6%;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;letter-spacing:6px;font-size:32px;line-height:1.1;display:inline-block;text-align:center}.brand small{display:block;font-size:11px;letter-spacing:5px;margin-top:9px}nav{display:flex;gap:30px;align-items:center;font-size:12px}nav a:hover,.text-link:hover{color:var(--accent)}.nav-account{border:1px solid var(--line);padding:12px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:695px}.hero-copy{padding:70px 8% 30px 11.2%}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;margin-bottom:27px}.hero h1{font-size:clamp(62px,7.1vw,106px);line-height:.98;margin-bottom:28px}.intro{font-size:16px;line-height:1.8;color:#6c5f50}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;border:1px solid var(--accent);background:var(--accent);color:white;padding:17px 26px;font-size:12px;cursor:pointer;transition:background .2s}.button:hover{background:#4b4236}.button span{font-size:18px}.hero-copy>.button{margin-top:11px}.hero-note{display:flex;gap:14px;align-items:center;margin-top:47px;font-size:11px;color:var(--muted)}.hero-note p{margin:0}.little-flower{font-size:30px;color:#95846f}.hero-visual{position:relative;margin:25px 25px 25px 0;min-width:0;overflow:hidden;background:var(--sand)}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:39% center;filter:saturate(.55);position:absolute}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#29221966,transparent 45%)}.photo-label{position:absolute;left:30px;bottom:25px;color:white;font-size:9px;letter-spacing:1.6px;z-index:1}.opening-stamp{position:absolute;top:34px;right:30px;border-radius:50%;background:var(--paper);width:130px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;transform:rotate(10deg);outline:1px solid var(--paper);outline-offset:5px}.opening-stamp span{font-size:8px;letter-spacing:1px}.opening-stamp strong{font-family:Georgia,serif;font-weight:400;font-size:37px;line-height:1.5}.values-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 5.6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:1.8px}.values-strip i{font-size:22px;color:#9e8f7c;font-style:normal}.section{padding:95px 7.5%}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%}.body-copy{padding-top:42px;max-width:460px;color:#706252}.body-copy p{margin-bottom:25px}.text-link{display:inline-block;border-bottom:1px solid #a1927f;padding-bottom:8px;font-size:12px}.classes-section{background:#eeeae4}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.class-card{border:1px solid #d0c8bf;padding:28px 28px 25px;transition:background .2s}.class-card:hover{background:#e3dcd4}.card-top{display:flex;justify-content:space-between;font-size:12px}.card-top span:last-child{font-size:22px}.class-card>small{font-size:8px;letter-spacing:1.7px}.class-card h3{margin-top:15px;margin-bottom:17px;font-size:30px}.class-card p{font-size:13px;color:#837360;min-height:65px}.duration{border-top:1px solid #d0c8bf;padding-top:19px;display:block;font-size:8px;letter-spacing:1px}.line-art{height:140px;display:flex;align-items:center;justify-content:center}.line-art span{width:85px;height:85px;border:1px solid #a29381;border-radius:50% 50% 0 50%;transform:rotate(-35deg);position:relative}.line-art span:after{content:'';position:absolute;width:85px;height:85px;left:23px;top:5px;border:1px solid #a29381;border-radius:50% 50% 50% 0}.class-card:nth-child(2) .line-art span{transform:rotate(60deg);border-radius:50%}.class-card:nth-child(3) .line-art span{transform:rotate(130deg)}.kinga{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.kinga-art{height:460px;background:#e5ded1;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:48% 48% 0 0}.kinga-art>span{font-family:Georgia,serif;font-style:italic;font-size:210px;color:#93856d;line-height:1.15}.kinga-art p{text-align:center;font-size:9px;letter-spacing:3px}.kinga>div>p:not(.eyebrow){max-width:390px}.prices{background:#eae4d9;display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.prices .muted{max-width:280px}.price-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c9c1b3;padding:25px;gap:20px}.price-row:first-child{padding-top:25px}.price-row h3{font-size:24px;letter-spacing:-.025em;margin-bottom:9px}.price-row small{color:#6b665a;font-size:10px}.price-row strong{white-space:nowrap;font-family:Georgia,serif;font-size:29px;font-weight:400}.price-row strong span{font-size:18px;margin-left:14px}.faq{max-width:1100px;margin:auto}details{border-bottom:1px solid var(--line)}summary{padding:25px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--accent)}details p{max-width:700px;color:#716b5e}.closing{background:var(--accent);text-align:center;color:var(--paper);padding:75px 20px}.closing h2{font-size:75px}.closing em{color:#dbd1c4}.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.light:hover{background:var(--sand)}footer{display:flex;justify-content:space-between;padding:60px 7.5%;gap:30px}footer p{font-size:11px;color:var(--muted);margin:20px 0 0}footer>div:last-child{display:flex;flex-direction:column;gap:12px;font-size:12px}footer small{margin-top:20px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.notice{padding:18px 7.5%;border-bottom:1px solid var(--line);background:#e9e2da}.notice.error{background:#f2dfd4}.auth,.narrow{max-width:740px;margin:auto;padding-top:65px}.auth h1,.narrow h1{font-size:64px}.auth form{margin:35px 0}.auth .button{margin-top:20px;width:100%}label{display:block;font-size:12px;margin-bottom:18px}input:not([type=radio],[type=checkbox]),select{display:block;width:100%;padding:12px 13px;border:1px solid #c9c5b8;background:var(--white);margin-top:7px;color:var(--ink);border-radius:0;min-width:0}input:focus,select:focus{outline:2px solid #91806b;outline-offset:1px}.week-nav{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding:20px 0;margin:38px 0 30px}.week-nav>div{text-align:center}.week-nav small{display:block;letter-spacing:1px;font-size:9px}.week-nav>a{padding:8px 20px;font-size:24px}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:30px}.day-column>h3{font-size:24px;border-bottom:1px solid var(--line);padding-bottom:18px;letter-spacing:-.03em}.day-column>h3>small{display:block;font-family:'DM Sans',sans-serif;font-size:11px;margin-top:10px;letter-spacing:0;color:var(--muted)}.slot{background:#eee9e2;border:1px solid #ded7cf;padding:18px 14px;margin-bottom:12px;min-height:170px;display:flex;flex-direction:column;gap:10px}.slot time{font-size:17px}.slot time small{font-size:10px}.slot h4{font-weight:500;font-size:14px;margin:0}.slot>small{font-size:10px;color:var(--muted)}.slot a{font-size:11px;margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.profile-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;margin-top:45px}.profile-grid h2{font-size:38px}.panel{border:1px solid var(--line);background:var(--white);padding:27px;margin-bottom:18px}.panel h3{margin:15px 0;font-size:27px}.panel p:last-child{margin-bottom:0}.badge{display:inline-block;font-size:10px;letter-spacing:.3px;border:1px solid #dad1c6;background:#efebe7;padding:4px 10px;color:var(--accent)}.quiet{background:transparent;border:0;border-bottom:1px solid #a8a08e;cursor:pointer;font-size:11px;padding:8px 0;color:var(--ink);margin-top:12px}.credit{font-family:Georgia,serif;font-size:45px;line-height:1.2}.credit small{font-family:'DM Sans',sans-serif;font-size:12px}.product-choice{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid var(--line);cursor:pointer;background:var(--white);margin:10px 0}.product-choice span{flex:1}.product-choice small{display:block;color:var(--muted);font-size:10px}.product-choice strong{font-weight:500}.admin h1{font-size:60px}.admin h2{font-size:36px;margin-top:50px}.admin-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr 1fr auto;gap:15px;align-items:end;border-bottom:1px solid var(--line);padding:20px 0}.admin-row label{margin:0}.admin-row .checkbox{align-self:center;white-space:nowrap}.small{padding:12px 17px;font-size:11px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:18px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:10px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px}button:disabled{opacity:.5;cursor:not-allowed}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:790px}}@media(max-width:1000px){nav{gap:16px;font-size:11px}.hero-copy{padding-top:50px}.hero{min-height:620px}.hero h1{font-size:78px}.section{padding:65px 6%}.hero-visual{margin-right:15px}.schedule-grid{grid-template-columns:repeat(3,1fr)}.class-card{padding:20px}.class-card h3{font-size:25px}.prices{gap:6%}.admin-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.announcement{font-size:8px;letter-spacing:1.2px;height:31px}.announcement span{display:none}header{height:90px;padding:0 6%;position:relative}.brand{font-size:27px}.brand small{font-size:9px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 14px;font-size:12px;color:var(--ink)}nav{display:none;position:absolute;top:89px;left:0;right:0;background:var(--paper);z-index:5;padding:25px 6%;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column}nav a{padding:9px 0}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 25px}.hero h1{font-size:76px}.hero .eyebrow{font-size:9px;margin-bottom:23px}.intro{font-size:14px}.hero-note{margin-top:25px}.hero-visual{height:380px;margin:10px 18px 25px}.opening-stamp{height:100px;width:100px;top:25px;right:25px}.opening-stamp strong{font-size:30px}.opening-stamp span{font-size:6px}.photo-label{font-size:7px;left:20px;bottom:20px}.values-strip{display:grid;grid-template-columns:1fr 20px 1fr;text-align:center;font-size:8px;gap:10px;padding:20px}.values-strip i:nth-child(4){display:none}.section{padding:55px 7%}.split,.kinga,.prices,.profile-grid{grid-template-columns:1fr;gap:30px}.body-copy{padding-top:0}.section-heading{align-items:start;flex-direction:column;gap:0}.class-grid{grid-template-columns:1fr;gap:16px}.class-card{padding:25px}.line-art{height:100px}.class-card p{min-height:0;max-width:300px}.class-card h3{font-size:32px}.kinga-art{height:340px;max-width:400px}.kinga-art>span{font-size:160px}.prices{gap:20px}.price-row strong{font-size:25px}.price-row h3{font-size:22px}.closing h2{font-size:55px}.closing .eyebrow{font-size:8px}footer{padding:40px 7%;flex-direction:column}.auth h1,.narrow h1{font-size:48px}.schedule h1,.profile-grid h1{font-size:51px}.schedule-grid{grid-template-columns:repeat(2,1fr);gap:14px}.slot{padding:15px 12px}.day-column>h3{font-size:25px}.week-nav strong{font-size:12px}.week-nav>a{padding:8px}.profile-grid{gap:35px}.admin h1{font-size:45px}.admin-row{grid-template-columns:repeat(2,1fr)}.product-choice{gap:10px;padding:16px 12px}.product-choice strong{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Clear, high-contrast links and directional affordances. */
nav a{font-size:13px;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;color:#4a4034}
nav a:hover{text-decoration-thickness:3px;color:#352c21}
nav .nav-account{background:#56493a;color:#fff;border-color:#56493a;text-decoration:none;font-size:13px;padding:13px 20px}
nav .nav-account:hover{background:#3d3326;color:#fff}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 18px;border:1.5px solid #6b5c4a;background:#e7e0d8;color:#43392c;font-size:13px;line-height:1.5;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.text-link:hover{background:#56493a;border-color:#56493a;color:white}
.button{font-size:13px;font-weight:600;letter-spacing:.1px;min-height:46px;background:#56493a;border-color:#56493a}
.button:hover{background:#3d3326;border-color:#3d3326}
.button.light{background:var(--paper);border-color:var(--paper);color:#43392c}.button.light:hover{background:#e9e1d7}
.slot a{background:#56493a;color:white;text-align:center;padding:11px 8px;border:1px solid #56493a;font-size:12px;font-weight:700}
.slot a:hover{background:#3d3326}
.class-card{border-color:#b4a797}.class-card h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.card-top span:last-child{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:#56493a;color:white;font-size:22px}
.price-row h3{color:#483d2f;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.price-row strong span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#56493a;color:white}
.price-row:hover{background:#ded5cb}.week-nav>a{border:1px solid #766652;background:#e7e0d8;color:#43392c;min-width:44px;text-align:center}
footer>div:last-child>a{font-size:13px;font-weight:700;color:#4a3e30;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}footer>div:last-child>a:hover{color:#292219}
.quiet{font-size:12px;font-weight:600;color:#493d2f;border-bottom:2px solid #766550}
.hero-visual img{filter:none;object-position:center center}.photo-label{font-size:8px;padding:5px 8px;background:#352b1fc9}
.studio-detail{grid-column:1/-1;margin:12px 0 0}.studio-detail img{width:100%;height:clamp(300px,39vw,560px);object-fit:cover;object-position:center 60%}.studio-detail figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:12px;color:#6a5d4e;font-size:9px;letter-spacing:1.6px}.studio-detail figcaption span{font-size:10px;letter-spacing:0}
@media(max-width:1000px){nav{gap:15px}nav a{font-size:12px}nav .nav-account{padding:11px 14px}.price-row strong span{margin-left:5px}}
@media(max-width:700px){nav a{font-size:14px;padding:12px 0}nav .nav-account{text-align:center;padding:14px}.studio-detail{margin-top:0}.studio-detail img{height:280px}.studio-detail figcaption{font-size:8px;letter-spacing:.5px}.text-link{min-height:44px}.price-row{gap:12px}.price-row strong{font-size:23px}.price-row strong span{width:28px;height:28px;font-size:16px}.auth .text-link{margin-left:6px}}

/* Prominent modern navigation and arrow-free buttons. */
header{height:126px;padding-inline:4%;gap:32px;background:var(--paper)}
nav{gap:26px}nav a,nav .nav-account{font-family:'Manrope','DM Sans',sans-serif;text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:.6px;line-height:1.35;text-decoration:none;white-space:nowrap;color:#3b3226}
nav a:hover,nav a:focus-visible{text-decoration:none;color:#7d6950}
nav .nav-account{color:white;padding:16px 22px;min-height:52px;display:inline-flex;align-items:center}
nav .nav-account:hover{color:white}
.button,.text-link,.slot a,.quiet,.menu-toggle{font-family:'Manrope','DM Sans',sans-serif;font-size:15px;font-weight:800;letter-spacing:.3px;text-decoration:none}
.button,.text-link{min-height:52px;padding:15px 24px;border-radius:3px}.text-link:hover{text-decoration:none}.small{font-size:13px;min-height:44px;padding:12px 18px}
.hero .button{font-size:16px;padding:18px 27px}.slot a{font-size:13px;padding:12px 8px}.quiet{font-size:13px}.menu-toggle{font-size:15px}
.class-card{padding:0 0 25px;background:#f7f3ee;border:1px solid #cbc1b4;overflow:hidden;border-radius:4px;display:flex;flex-direction:column;box-shadow:0 4px 15px #392f2306}.class-card:hover{background:#f5eee6;box-shadow:0 8px 24px #392f2315}
.class-photo{position:relative;aspect-ratio:3/2;overflow:hidden;margin-bottom:25px}.class-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.class-card:hover .class-photo img{transform:scale(1.035)}
.class-number{position:absolute;top:16px;left:16px;display:flex;width:34px;height:34px;align-items:center;justify-content:center;background:#f7f3edeb;color:#493f32;border-radius:50%;font-size:11px;font-weight:700}
.class-card>small,.class-card>h3,.class-card>p,.class-card>.duration,.class-card>.class-action{margin-inline:25px}.class-card h3{text-decoration:none;font-size:29px;line-height:1.15;margin-bottom:15px}.class-card p{min-height:65px;flex:1}.class-card .duration{font-size:8px;margin-top:auto}
.class-action{display:block;text-align:center;margin-top:18px;border:1px solid #776550;border-radius:3px;padding:12px 8px;color:#45392b;font:800 11px/1.5 'Manrope',sans-serif;letter-spacing:.6px;background:#eae2d8}.class-card:hover .class-action{background:#56493a;color:white}
.generated-note{text-align:right;font-size:10px;color:#7e705e;margin:15px 0 0}
@media(max-width:1200px) and (min-width:901px){header{padding-inline:3%;gap:20px}nav{gap:17px}nav a,nav .nav-account{font-size:14px;letter-spacing:.4px}nav .nav-account{padding:14px 16px}.brand{font-size:29px;letter-spacing:5px}}
@media(max-width:900px){header{height:98px;padding-inline:6%;position:relative}.menu-toggle{display:block;background:#eae2d8;border:1.5px solid #847460;border-radius:3px;padding:12px 18px;color:#3b3226;text-transform:uppercase}nav{display:none;position:absolute;top:97px;left:0;right:0;background:var(--paper);z-index:5;padding:22px 6%;border-bottom:1px solid var(--line);align-items:stretch;gap:8px;box-shadow:0 12px 18px #372d2014}nav.open{display:flex;flex-direction:column}nav a,nav .nav-account{font-size:19px;font-weight:800;letter-spacing:1px;line-height:1.5;text-decoration:none;padding:13px 0}nav .nav-account{justify-content:center;margin-top:8px;padding:14px 18px}.class-card h3{font-size:25px}.class-card>small,.class-card>h3,.class-card>p,.class-card>.duration,.class-card>.class-action{margin-inline:18px}}
@media(max-width:700px){header{height:94px}nav{top:93px}.class-photo{aspect-ratio:3/2;margin-bottom:23px}.class-card h3{font-size:31px}.class-card p{min-height:0}.class-action{font-size:12px}.button,.text-link{font-size:15px}.auth .text-link{margin:8px 0 0}.generated-note{text-align:left}.hero-visual{height:470px}.brand{font-size:27px}}

/* Administration: dedicated navigation and focused pages. */
.admin-bar{background:#e8e0d6;border-bottom:1px solid #ccc0b1;padding:14px 4%;display:flex;align-items:center;gap:28px}.admin-bar-label{font:800 10px/1.3 'Manrope',sans-serif;letter-spacing:1.4px;color:#625443;white-space:nowrap}.admin-nav{display:flex;gap:6px;flex-wrap:wrap}.admin-nav a{padding:10px 15px;border-radius:4px;font:700 13px/1.4 'Manrope',sans-serif;color:#493d2e;text-decoration:none}.admin-nav a:hover{background:#d9ccbd}.admin-nav a[aria-current=page]{background:#5b4c39;color:white}
.admin-page{max-width:1440px;margin:auto;padding-top:52px;min-height:55vh}.admin-page>h1{font-size:clamp(36px,4.5vw,58px);margin-bottom:20px}.admin-lead{color:var(--muted);margin-bottom:32px}.admin-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}.admin-dashboard-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:5px;transition:background .2s}.admin-dashboard-card:hover{background:#efe8df;border-color:#988772}.admin-dashboard-card h2{font-size:30px;margin:26px 0 14px}.admin-dashboard-card p{font-size:14px;color:#746756;flex:1}.admin-card-action{font:800 12px 'Manrope',sans-serif;color:#4d4030;border-bottom:2px solid #84725d;padding:6px 0}
.admin-search{margin:25px 0}.admin-search>label{margin-bottom:6px}.admin-search>div{display:flex;align-items:center;gap:12px}.admin-search input{margin:0!important;max-width:420px}.user-list{display:grid;gap:16px}.user-card{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--white);padding:26px;border:1px solid var(--line);border-radius:5px}.user-identity{min-width:0}.user-identity h2{font-family:'Manrope',sans-serif;font-size:18px;font-weight:800;letter-spacing:0;margin:0 0 7px}.user-identity p{margin:0 0 12px;overflow-wrap:anywhere;font-size:14px}.user-identity small{display:block;margin-top:12px;color:var(--muted)}.badge-blocked{background:#f4e0d9;border-color:#dcb8aa;color:#863f29}.user-access-form{display:grid;grid-template-columns:1.2fr 1fr auto;gap:14px;align-items:end}.user-access-form label{margin:0}.user-access-form select{min-width:155px}.self-note{max-width:270px}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}
@media(max-width:1000px){.admin-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.user-card{align-items:flex-start;flex-direction:column}.user-access-form{width:100%}.admin-bar{align-items:flex-start;flex-direction:column;gap:7px}.admin-nav a{padding:10px 12px}}
@media(max-width:600px){.admin-dashboard{grid-template-columns:1fr}.admin-bar{padding:14px 6%}.admin-nav{gap:4px;width:100%}.admin-nav a{font-size:12px;padding:10px}.admin-page{padding-top:35px}.admin-search>div{flex-wrap:wrap}.admin-search input{flex-basis:100%}.user-card{padding:20px}.user-access-form{grid-template-columns:1fr 1fr}.user-access-form select{min-width:0}.user-access-form .button{grid-column:1/-1}.admin-pagination{gap:12px}.admin-pagination .text-link{font-size:12px;padding:10px}}

/* Weekly administration calendar. */
.weekly-admin{max-width:1700px;padding-inline:4%}.admin-week-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center;margin:30px 0}.admin-week-picker{display:flex;gap:20px;align-items:center}.admin-week-picker>div{text-align:center}.admin-week-picker strong{font-size:17px}.admin-week-picker small{display:block;font-size:10px;letter-spacing:1px;margin-top:5px}.week-date-form{display:flex;gap:12px;align-items:end}.week-date-form label{margin:0}.week-date-form input{padding:9px 12px}.admin-week-picker .text-link{font-size:12px;padding:12px 15px;min-height:44px}.week-copy-panel{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#ece5dc;border:1px solid #d1c5b7;border-radius:5px;padding:24px;margin:25px 0}.week-copy-panel h2{font:800 17px/1.4 'Manrope',sans-serif;letter-spacing:0;margin:0 0 10px}.week-copy-panel p{font-size:13px;margin:0 0 8px;max-width:780px}.week-copy-panel small{color:#726454;font-size:11px}.week-copy-panel .button{white-space:nowrap;font-size:13px}.week-editor{background:var(--white);padding:0 22px;border:1px solid var(--line);border-radius:5px;margin-bottom:30px}.week-editor>summary{font-weight:700;font-size:14px}.week-editor[open]{padding-bottom:22px}.week-editor .admin-row{border:0;padding-top:0}.admin-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.admin-day{min-width:0}.admin-day-title{padding:12px 8px;border-top:3px solid #b7aa99;border-bottom:1px solid var(--line);margin-bottom:14px}.admin-day-title h2{font:800 13px/1.4 'Manrope',sans-serif;letter-spacing:0;margin:0 0 5px}.admin-day-title span{font-size:11px;color:#7d6e5c}.is-today .admin-day-title{border-top-color:#4f3f2c;background:#ede4da}.admin-class-slot{padding:16px 12px;background:#fffdf8;border:1px solid #dad3cb;border-radius:4px;margin-bottom:12px}.admin-class-slot time{display:block;font-size:19px;font-weight:600}.admin-class-slot time small{display:block;font-size:11px;color:#847562}.admin-class-slot h3{font:700 13px/1.5 'Manrope',sans-serif;letter-spacing:0;margin:15px 0 8px;overflow-wrap:anywhere}.slot-kind{font-size:10px;color:#847562}.slot-capacity{font-size:11px;font-weight:600;margin:12px 0}.admin-class-slot .class-action{margin:0;padding:9px 4px;font-size:10px}.empty-day{font-size:12px;color:#9e8f7c;text-align:center;border:1px dashed #d9d3cc;padding:25px 8px}.past-slot{background:#eeebe7}
@media(max-width:900px){.admin-week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-week-toolbar{gap:20px}.week-date-form{margin-left:auto}}
@media(max-width:700px){.weekly-admin{padding-inline:6%}.admin-week-picker{width:100%;gap:8px;justify-content:space-between;flex-wrap:wrap}.admin-week-picker>div{width:100%;order:-1;text-align:center;margin-bottom:8px}.admin-week-picker strong{font-size:17px}.week-copy-panel{flex-direction:column;align-items:stretch;padding:20px}.week-copy-panel .button{width:100%}.admin-week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.week-date-form{width:100%;margin:0}.week-date-form label{flex:1}.admin-day-title h2{font-size:14px}.admin-class-slot{padding:15px}.week-editor{padding-inline:15px}.week-editor .admin-row{grid-template-columns:1fr}.admin-class-slot time small{display:inline;margin-left:4px}}

.rich-content img{max-width:100%;height:auto}.rich-content a{text-decoration:underline;color:#5b4a35}.rich-content p:last-child{margin-bottom:20px}.hero-copy>.intro p{margin-bottom:0}.content-extra-image{max-width:100%;height:auto;border-radius:3px;margin:20px auto}.class-photo .content-extra-image{margin:0;border-radius:0}.card-description{margin:0 25px;flex:1}.class-card .card-description p{min-height:0}.class-card .class-action{margin-inline:25px}.kinga-art{overflow:hidden}.kinga-portrait{width:100%;height:100%;object-fit:cover}.closing .content-extra-image{max-height:350px;width:auto}.cms-editor{max-width:1150px}.cms-top-links{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0 35px}.cms-field{margin-bottom:25px}.cms-field>label{font-weight:700;font-size:14px;margin-bottom:8px}.cms-field textarea{width:100%;padding:14px;border:1px solid var(--line);font:14px/1.6 monospace}.cms-image-preview{max-width:320px;max-height:220px;object-fit:contain;margin:15px 0}.cms-save{display:flex;align-items:center;gap:20px;background:#eae3db;padding:20px;border-radius:4px}.cms-save span{font-size:12px;color:#605344}.cms-library{border-top:1px solid var(--line);margin-top:50px;padding-top:10px}.cms-library h2{font-size:32px}.cms-library h3{margin-top:35px}.cms-library form{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.cms-library form label{flex:1;margin-bottom:0;min-width:200px}.cms-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.cms-image-choice{background:white;border:1px solid var(--line);padding:0;cursor:pointer;overflow:hidden;text-align:left;color:var(--ink)}.cms-image-choice:hover{outline:2px solid var(--accent)}.cms-image-choice img{width:100%;aspect-ratio:3/2;object-fit:cover}.cms-image-choice span{display:block;padding:12px;font-size:12px;overflow-wrap:anywhere}.cms-field .tox-tinymce{border:1px solid #c3b8ab;border-radius:4px}.cms-field .tox{font-size:14px}@media(max-width:700px){.cms-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-save{flex-direction:column;align-items:stretch}.card-description{margin-inline:18px}.cms-library form{align-items:stretch;flex-direction:column}}

/* Member profile: full-width sections in reading order. */
.profile-grid{grid-template-columns:minmax(0,1fr);gap:44px}
.profile-grid>div{min-width:0}
.last-minute-slot{display:flex;align-items:center;justify-content:space-between;gap:24px}
@media(max-width:700px){.last-minute-slot{align-items:flex-start;flex-direction:column}}

/* Warm beige surfaces with dark brown text for readable contrast. */
:root{--beige:#d9c5ae;--beige-hover:#cbb295;--accent:#75604c}
.announcement,.closing{background:var(--beige);color:var(--ink)}
.closing em{color:#66503e}
.button,nav .nav-account,.class-card:hover .class-action,.admin-nav a[aria-current=page]{background:var(--beige);border-color:#b69b7d;color:#3d3025}
.button:hover,nav .nav-account:hover{background:var(--beige-hover);color:#3d3025}
.button.light{background:var(--paper);border-color:#b69b7d;color:#3d3025}
.button.light:hover{background:#ede1d2}
input[type=radio],input[type=checkbox]{accent-color:var(--accent)}

/* Compact, full-width rows for passes and classes. */
.member-product-row,.member-class-row{display:flex;align-items:center;gap:24px;padding:20px 24px;margin-bottom:12px}
.member-row-main{flex:1;min-width:0}
.member-row-main h3{font-size:25px;margin:0 0 10px;overflow-wrap:anywhere}
.member-row-main>small{color:var(--muted)}
.member-date{display:flex;flex:0 0 88px;width:88px;height:88px;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#eadfD1;border:1px solid #cbb69e;border-radius:5px;color:#54412f;font-variant-numeric:tabular-nums}
.member-date span{font:700 23px/1.3 'Manrope',sans-serif}
.member-date strong{font:800 23px/1.3 'Manrope',sans-serif}
.member-history{display:block;margin-top:7px;font-size:11px}
.member-row-action{flex-shrink:0;margin:0}
.member-row-action .quiet{margin:0}
.member-credits{display:flex;align-items:center;gap:10px;flex-shrink:0}
.member-credits strong{font:36px/1.2 Georgia,serif;color:var(--accent)}
.member-credits span{font-size:11px;max-width:90px;line-height:1.5}
.member-product-status{text-align:right;max-width:235px}
.member-product-status .muted{font-size:11px;margin:8px 0 0}
@media(max-width:700px){
 .member-product-row,.member-class-row{gap:14px;padding:16px}
 .member-row-main h3{font-size:21px}
 .member-class-row{display:grid;grid-template-columns:72px minmax(0,1fr)}
 .member-date{width:72px;height:72px;flex-basis:72px}
 .member-date span,.member-date strong{font-size:20px}
 .member-row-action{grid-column:2;justify-self:start;max-width:100%}
 .member-product-row{flex-wrap:wrap}
 .member-product-row .member-row-main{flex-basis:calc(100% - 125px)}
 .member-product-status{flex-basis:100%;max-width:none;text-align:left;border-top:1px solid var(--line);padding-top:12px}
}

/* User administration: one aligned row per account. */
.users-page{padding-inline:4%}
.user-table{background:var(--white);border:1px solid var(--line)}
.user-table th,.user-table td{white-space:nowrap;vertical-align:middle}
.user-table th{padding-block:16px}
.user-table td{padding:14px 12px}
.user-table .user-name{font-weight:700}
.user-table select{margin:0;min-width:125px;padding:10px 12px;font-size:13px}
.user-table select[name=role]{min-width:160px}
.user-table form{margin:0}
.user-table .button{min-height:44px;padding:10px 16px;font-size:13px}
.user-table .badge{font-size:11px}
.user-table-scroll{margin-top:20px}

#product-order-form{display:flex;align-items:center;gap:20px;margin:25px 0}
#product-order-status{font-size:13px}
.product-editor{display:flex;gap:20px;border:1px solid var(--line);background:var(--white);padding:22px;margin-bottom:14px}
.product-reorder{display:flex;flex-direction:column;gap:6px;justify-content:center}
.product-reorder button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:3px;padding:6px 9px;cursor:pointer;font-size:11px}
.product-reorder .product-drag{font-size:28px;cursor:grab;line-height:1.4}
.product-editor.is-dragging{opacity:.5;border-style:dashed}
.product-edit-form{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));align-items:start;gap:15px;flex:1;min-width:0}
.product-edit-form label{margin:0;min-width:0}
.product-field-description{grid-column:1}
.product-field-policy{grid-column:2 / span 2}
.product-field-status{grid-column:4}
.product-edit-form .product-save{grid-column:4;justify-content:center}
@media(max-width:800px){.product-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.product-field-name,.product-field-description,.product-field-policy{grid-column:1/-1}.product-field-status{grid-column:auto}.product-edit-form .product-save{grid-column:1/-1}}
@media(max-width:600px){.product-editor{padding:14px;gap:12px}#product-order-form{align-items:flex-start;flex-direction:column}}

.product-drag{touch-action:none;user-select:none}
.announcement-phone{font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.site-footer{display:block;background:var(--paper);border-top:1px solid #c9bbaa}
.site-footer .footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:12px}
.footer-contact>a{font:800 22px/1.5 'Manrope',sans-serif;color:var(--accent)}
.site-footer .footer-menu{display:flex;flex-direction:row;flex-wrap:wrap;gap:18px 32px;align-items:center;padding:26px 0;margin-top:25px;border-block:1px solid var(--line)}
.footer-menu a{font:700 14px/1.5 'Manrope',sans-serif;padding:6px 0;text-decoration:underline;text-underline-offset:5px}
.site-footer .company-details,.company-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}
.company-details h2{font:700 12px/1.5 'Manrope',sans-serif;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px}
.company-details h3{font:700 16px/1.5 'Manrope',sans-serif;letter-spacing:0;margin:0 0 10px}
.company-details p{font-size:13px;line-height:1.9;margin:0 0 10px;color:var(--muted)}
.company-details a{text-decoration:underline;text-underline-offset:3px}
.footer-copyright{display:block}
.legal-page{max-width:1250px;margin:auto}.legal-page h1{font-size:clamp(36px,5vw,68px)}
@media(max-width:700px){
 .announcement{height:auto;min-height:35px;flex-wrap:wrap;gap:4px 16px;padding:8px 12px}
 .site-footer .footer-top{align-items:flex-start;flex-direction:column}
 .site-footer .company-details,.company-details{grid-template-columns:1fr;gap:24px}
 .site-footer .footer-menu{gap:14px 22px}
 .footer-menu a{font-size:13px}
}

.purchases-page,.finance-page{padding-inline:4%}
.purchase-table td{vertical-align:middle}.purchase-table form{margin:0}
.purchase-table .button{white-space:nowrap;font-size:12px;padding:12px 16px;min-height:44px}
.money{white-space:nowrap;font-variant-numeric:tabular-nums}
.payment-priority,.finance-selected{background:#eee2d2}
.payment-priority td:first-child{border-left:3px solid #a88760}
.payment-note{font-size:12px;max-width:280px;overflow-wrap:anywhere;margin:8px 0 0;white-space:normal}
.payment-dialog{width:min(560px,calc(100% - 32px));max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #b69b7d;border-radius:8px;padding:30px}
.payment-dialog::backdrop{background:#32281f88}
.payment-dialog h2{font-size:32px;margin:0 0 20px}
.payment-dialog fieldset{border:1px solid var(--line);margin:20px 0;padding:18px;display:flex;gap:24px}
.payment-dialog fieldset label{margin:0;font-size:15px}
.payment-dialog textarea{display:block;width:100%;margin-top:8px;padding:12px;font:inherit;resize:vertical;border:1px solid var(--line);background:var(--white)}
.payment-dialog-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:14px}
.finance-filter{display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:30px 0}
.finance-filter label{margin:0}.finance-filter input{max-width:140px}
.finance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.finance-totals strong{display:block;font:36px/1.4 Georgia,serif;margin:15px 0 5px}
.finance-totals span{font-size:12px;color:var(--muted)}
.finance-month-link{font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.finance-totals{grid-template-columns:1fr}.finance-totals .panel{margin:0}.payment-dialog{padding:22px}.payment-dialog fieldset{flex-wrap:wrap}}

.purchase-actions{min-width:165px}.purchase-actions form{margin-top:8px}.purchase-actions .button{width:100%;justify-content:center}

.legal-page{max-width:1160px}.legal-version{color:var(--muted);margin-bottom:32px}
.legal-toc{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px 0;border-block:1px solid var(--line);margin-bottom:36px}
.legal-copy{max-width:860px}.legal-copy h2{font:700 clamp(21px,2.5vw,28px)/1.4 'Manrope',sans-serif;margin:40px 0 16px;scroll-margin-top:130px}
.legal-copy h3{font:700 18px/1.5 'Manrope',sans-serif;margin:28px 0 10px}.legal-copy p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.legal-copy a,.legal-toc a,.legal-inline-link{font-weight:700;text-decoration:underline;text-underline-offset:4px}.legal-copy .legal-sources{font-size:13px;border-top:1px solid var(--line);padding-top:22px}
.legal-page>.company-details{border-top:1px solid var(--line);padding-top:30px}.legal-copy .panel{margin:24px 0}.legal-copy .panel h3{margin-top:0}
.admin-booking-picker{display:grid;grid-template-columns:1fr 1.5fr auto;gap:20px;align-items:start;margin:30px 0}.admin-booking-picker label{min-width:0;margin:0}.admin-booking-picker select{width:100%}
.admin-booking-page .panel{max-width:950px}.admin-booking-page .panel h2{font-size:28px}.admin-booking-page input[type=checkbox],.admin-page.narrow input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}
@media(max-width:850px){.admin-booking-picker{grid-template-columns:1fr}.legal-toc{gap:16px}.legal-copy p{font-size:15px}}
@media print{.site-header,.announcement,.admin-nav,.site-footer,.legal-toc{display:none!important}.legal-page{padding:0;max-width:none}.legal-copy{max-width:none}.legal-copy h2{break-after:avoid}.legal-copy a{color:inherit}}
.legal-toc a{white-space:normal}

.payment-dialog input[type=radio]:focus{outline:none;box-shadow:none}
.payment-dialog label:has(input[type=radio]:focus-visible){text-decoration:underline;text-underline-offset:4px}

.content-table{width:100%;margin-top:24px}.content-table td{vertical-align:middle}.content-table td:nth-child(2){min-width:240px}.content-table td:nth-child(3){white-space:nowrap;font-size:13px;color:var(--muted)}
.content-actions{display:flex;gap:8px;align-items:center}.content-actions .button{font-size:12px;padding:10px 14px;white-space:nowrap}.content-table [data-faq-row]{background:#f0e9df}.content-position{font-variant-numeric:tabular-nums;width:70px}.content-table #gyik{scroll-margin-top:30px}

/* Keep decorative asterisks in monochrome text form on mobile as well. */
.little-flower,.values-strip i{font-variant-emoji:text}

/* Google mail settings and per-cancellation email preview */
.mail-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start}
.mail-settings-form{display:grid;gap:18px}.mail-settings-form label{display:block}.mail-settings-form input:not([type=checkbox]){display:block;width:100%}.mail-settings-form input[type=checkbox]{width:auto;margin-right:8px}.mail-test-form{margin:24px 0}.mail-setup-guide{background:#f1e9df;padding:28px;border-radius:8px}.mail-setup-guide ol{padding-left:24px}.mail-setup-guide li{padding:8px 0}.mail-setup-guide a{text-decoration:underline;font-weight:700}.mail-setup-guide p{margin:8px 0}.class-delete-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto}.class-delete-dialog label{display:block;margin:18px 0}.class-delete-dialog input,.class-delete-dialog textarea{width:100%;display:block}.cancel-email-preview{background:#fffcf7;border:1px solid #d8d3c7;font:16px/1.7 Arial,sans-serif;color:#38352e;margin-top:16px}.cancel-email-preview header{padding:24px;background:#e9e2d7;text-align:center;font:26px Georgia,serif;letter-spacing:4px}.cancel-email-preview>div{padding:24px}.cancel-email-preview [data-cancel-preview]{white-space:pre-wrap}.admin-class-slot button.class-action{width:100%;cursor:pointer}
@media(max-width:800px){.mail-settings-grid{grid-template-columns:1fr}.mail-setup-guide{padding:20px}}

/* Equal-width secondary actions below the login button. */
.auth-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.auth-secondary-actions .button{width:100%;min-width:0;justify-content:center;text-align:center;padding-inline:12px;line-height:1.4}
@media(max-width:700px){.auth-secondary-actions{grid-template-columns:1fr}}

.auth-login form{margin-bottom:12px}.auth-login .auth-secondary-actions{margin-top:0}.auth .auth-secondary-actions .button{margin-top:0;min-height:56px}

.mobile-admin-menu{display:none}
@media(max-width:900px){
 html{scroll-padding-top:112px}
 .site-header{position:sticky;top:0;z-index:100;background:var(--paper);box-shadow:0 2px 8px #38352e12}
 .site-header #navigation{top:100%;max-height:var(--mobile-menu-height,calc(100vh - 134px));max-height:var(--mobile-menu-height,calc(100dvh - 134px));overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
 .site-header #navigation>*{flex-shrink:0}
 #navigation .mobile-admin-menu .admin-nav{flex-shrink:0}
 .desktop-admin-menu{display:none}
 #navigation .mobile-admin-menu{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding:18px 12px;background:#e8e0d6;border:1px solid #ccc0b1}
 #navigation .mobile-admin-menu .admin-nav{display:grid;grid-template-columns:1fr;width:100%;gap:4px}
 #navigation .mobile-admin-menu .admin-nav a{padding:12px;font-size:14px;letter-spacing:.4px;min-height:44px}
}
.admin-booking-page textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid var(--line)}

/* Fine spacing in the opening headline; underline only plain footer links on hover. */
.hero h1{line-height:1.06}
.site-footer .footer-menu a{text-decoration:none}
.site-footer .footer-menu a:hover{text-decoration:underline;text-underline-offset:5px}
.rich-content a.button,.rich-content a.button:hover,.rich-content a.button:focus-visible{text-decoration:none}
.imprint-details{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:12px 24px;margin:24px 0}
.imprint-details dt{font-weight:700}.imprint-details dd{margin:0;overflow-wrap:anywhere}
@media(max-width:600px){.imprint-details{grid-template-columns:1fr;gap:6px}.imprint-details dd{margin-bottom:14px}}

.profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.profile-section-heading h2{margin:0}.profile-section-heading .button{flex-shrink:0}.profile-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:30px}
@media(max-width:700px){.profile-section-heading{flex-wrap:wrap;gap:14px}.profile-section-heading .button{margin-left:auto}}

.profile-section-heading .profile-history-link{width:220px;max-width:100%;justify-content:center;text-align:center}
.profile-logout{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}

.purchase-page-size{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:24px 0}.purchase-page-size label{margin:0}.purchase-page-size select{display:block;min-width:110px}.purchase-page-size>span{align-self:center}

.guest-picker{min-width:0;position:relative}.guest-picker>label{display:block}.guest-picker input{width:100%}.guest-options{position:absolute;z-index:20;left:0;right:0;max-height:280px;overflow-y:auto;background:var(--white);border:1px solid var(--line);box-shadow:0 8px 24px #382a191a;border-radius:5px}.guest-options [role="option"]{padding:12px 14px;cursor:pointer;overflow-wrap:anywhere}.guest-options [role="option"]:hover,.guest-options [aria-selected="true"]{background:var(--paper,#f5eee5)}.guest-picker .muted{font-size:13px;margin:8px 0}
.guest-picker [hidden]{display:none!important}

.admin-booking-picker>label,.admin-booking-picker .guest-picker>label{line-height:20px}
.admin-booking-picker select,.admin-booking-picker input[type="search"]{height:50px;font-size:15px;margin-top:7px}
.admin-booking-picker>.button{margin-top:27px;height:50px;padding-top:0;padding-bottom:0}
@media(max-width:850px){.admin-booking-picker>.button{margin-top:0}}
.auth-login>form>.button{justify-content:center;text-align:center}

/* Keep dropdown arrows consistently inset across browsers. */
select:not([multiple]):not([size]),select:not([multiple])[size="1"]{
 -webkit-appearance:none;appearance:none;
 padding-right:32px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2338352e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-size:12px 8px;background-position:right 10px center;
}
@media(forced-colors:active){select:not([multiple]):not([size]),select:not([multiple])[size="1"]{-webkit-appearance:auto;appearance:auto;background-image:none}}

.price-list .price-row{padding-inline:7px}

.price-list .price-row>div>small{font-size:12px}

.product-editor.product-editor-inactive{background:#eeedeb;border-color:#d1cfcb}

.house-rules-heading{margin-bottom:30px}.house-rules-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;row-gap:0}.house-rules-grid>li{display:flex;align-items:flex-start;gap:22px;padding:30px 0;border-top:1px solid var(--line);min-width:0}.house-rule-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:72px;height:72px;border:1px solid #ae987d;border-radius:50%;color:#927a5f}.house-rule-icon svg{width:44px;height:44px}.house-rules-grid h3{font-family:inherit;font-size:18px;font-weight:600;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px}.house-rules-grid p{font-size:15px;line-height:1.75;margin:0;color:var(--muted)}.house-rules-thanks{text-align:center;margin:55px 0 0;font-family:Georgia,serif;font-size:23px;color:var(--accent)}.rule-icon-options{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0 30px}.rule-icon-options>span{display:flex;align-items:center;flex-direction:column;gap:6px}.rule-icon-options .house-rule-icon{width:52px;height:52px}.rule-icon-options svg{width:32px;height:32px}
@media(max-width:800px){.house-rules-grid{grid-template-columns:1fr}.house-rules-heading{margin-bottom:30px}.house-rules-grid>li{gap:18px;padding:24px 0}.house-rule-icon{width:60px;height:60px}.house-rule-icon svg{width:38px;height:38px}.house-rules-grid h3{font-size:16px}}

.house-rules-editor textarea,.seo-editor textarea{display:block;width:100%;min-width:0;padding:12px 13px;border:1px solid #c9c5b8;background:var(--white);margin-top:7px;color:var(--ink);border-radius:0;font:inherit;resize:vertical}

.house-rule-icon img{width:70%;height:70%;object-fit:contain}.rule-icon-upload{margin-top:35px}.rule-icon-options>span{max-width:130px}.rule-icon-options small{overflow-wrap:anywhere;text-align:center}

.house-rules-table{table-layout:fixed;min-width:0}
.house-rules-table th:first-child,.house-rules-table td:first-child{width:80px;padding-left:8px;padding-right:8px}
.house-rules-table td:nth-child(2){min-width:0;overflow-wrap:anywhere}
.house-rules-table th:last-child,.house-rules-table td:last-child{width:200px;white-space:normal}
.house-rules-table .house-rule-icon{width:52px;height:52px}.house-rules-table .house-rule-icon svg{width:34px;height:34px}
.house-rules-table .content-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.house-rules-table .content-actions>a{grid-column:1/-1}.house-rules-table .content-actions .button{justify-content:center;width:100%}
@media(max-width:700px){.house-rules-table th:last-child,.house-rules-table td:last-child{width:200px}.house-rules-table th:first-child,.house-rules-table td:first-child{width:64px}.house-rules-table td{padding:12px 6px}.house-rules-table .house-rule-icon{width:44px;height:44px}}

@media(max-width:600px){.house-rules-table{min-width:560px}}

.house-rules{background:#eae4d9}

.seo-image-preview{width:100%;height:auto;border:1px solid var(--line);margin-top:15px}.seo-editor h2{margin-top:35px}

/* Booking list: aligned name and status filters. */
.admin-search>.booking-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.booking-filter-field{min-width:0}.booking-filter-field>label{display:block;margin:0 0 6px}.admin-search .booking-filter-field input,.admin-search .booking-filter-field select{width:100%;max-width:none;min-width:0;height:50px;margin:0}
@media(max-width:600px){.admin-search>.booking-filter-row{grid-template-columns:1fr;gap:14px}}

.payment-dialog summary.email-preview-toggle{display:inline-flex;justify-content:center;list-style:none;text-decoration:none}
.payment-dialog summary.email-preview-toggle::-webkit-details-marker{display:none}
.payment-dialog summary.email-preview-toggle::after{content:none}
.payment-dialog details:has(>summary.email-preview-toggle){padding-bottom:14px}

/* Keep authentication forms within narrow viewports, including iOS form zoom. */
.auth{width:100%;min-width:0}
.auth form,.auth label,.auth-secondary-actions{min-width:0;max-width:100%}
.auth input:not([type=hidden]),.auth .button{box-sizing:border-box;min-width:0;max-width:100%}
.auth .button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){
 .auth input:not([type=hidden]){font-size:16px}
 .auth h1{overflow-wrap:anywhere}
}

/* Purchases remain a table on desktop and become readable cards on phones. */
.purchase-mobile-label{display:none}
@media(max-width:700px){
 .purchases-page{min-width:0}
 .purchases-page .profile-section-heading h1{font-size:clamp(32px,9vw,45px);overflow-wrap:anywhere}
 .purchases-page .profile-section-heading .button{max-width:100%;white-space:normal;text-align:center;justify-content:center}
 .purchase-table-scroll{overflow:visible}
 .purchase-table,.purchase-table tbody{display:block;width:100%;min-width:0}
 .purchase-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .purchase-table tbody>tr{display:block;margin-bottom:18px;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:6px}
 .purchase-table tbody>tr.payment-priority{background:#f1e7d8;border-color:#b69b7d}
 .purchase-table td{display:block;width:100%;min-width:0;padding:10px 0;border:0;font-size:15px;white-space:normal;overflow-wrap:anywhere;text-align:left}
 .purchase-table td.purchase-identity{padding-top:0;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:4px}
 .purchase-identity>strong{font-size:18px}
 .purchase-table td small{font-size:13px;line-height:1.5;margin-top:4px}
 .purchase-mobile-label{display:block;margin-bottom:3px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
 .purchase-table .payment-note{margin:8px 0 0;overflow-wrap:anywhere}
 .purchase-table td.purchase-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding:14px 0 0;border-top:1px solid var(--line)}
 .purchase-table .purchase-actions>button,.purchase-table .purchase-actions>form{flex:1 1 110px;min-width:0;margin:0}
 .purchase-table .purchase-actions .button{width:100%;min-height:48px;padding:12px 10px;font-size:12px;justify-content:center}
 .purchases-page .purchase-page-size{flex-wrap:wrap;gap:12px}
 .purchases-page .purchase-page-size>span{flex-basis:100%}
 .purchases-page .profile-pagination{flex-wrap:wrap}
}

.auth .remember-device{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;font-size:14px;line-height:1.5;cursor:pointer}
.auth .remember-device input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;padding:0}
.auth .remember-device span{min-width:0}

.admin-nav .admin-logout{margin:0;display:flex}
.admin-nav .admin-logout button{border:0;background:transparent;cursor:pointer;padding:10px 15px;border-radius:4px;font:700 13px/1.4 'Manrope',sans-serif;color:#493d2e;text-align:left}
.admin-nav .admin-logout button:hover{background:#d9ccbd}
@media(max-width:1000px){.admin-nav .admin-logout button{padding:10px 12px}}
@media(max-width:600px){.admin-nav .admin-logout button{font-size:12px;padding:10px}}
@media(max-width:900px){#navigation .mobile-admin-menu .admin-logout button{width:100%;padding:12px;font-size:14px;letter-spacing:.4px;min-height:44px}}

.purchase-delete-form{margin-top:22px;padding-top:14px;border-top:1px solid var(--line)}
.purchase-delete-form p{font-size:13px;line-height:1.6}

.product-window-heading{grid-column:1/-1;font-weight:700;margin-top:4px}
.product-field-window{grid-column:1}
.product-field-start{grid-column:2}
.product-field-end{grid-column:3}
.product-edit-form [hidden]{display:none}
.product-edit-form .product-save{grid-row:auto;grid-column:4;align-self:end;justify-self:stretch}
@media(max-width:800px){.product-field-window{grid-column:1/-1}.product-field-start{grid-column:1}.product-field-end{grid-column:2}.product-edit-form .product-save{grid-column:1/-1}}

.newsletter-actions{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0}.newsletter-actions form{margin:0}.newsletter-profile{margin-top:35px}.newsletter-profile .remember-device{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.65}.newsletter-profile .remember-device span{font-size:inherit;line-height:inherit}.newsletter-profile input[type=checkbox]{width:20px;min-width:20px;height:20px}.newsletter-profile span{min-width:0}#newsletter-form textarea{width:100%;box-sizing:border-box}#newsletter-form label{display:block;margin:16px 0}.table-scroll{overflow-x:auto}

/* Booking choices: no rectangular ring around the native radio control. */
.product-choice input[type=radio]:focus{outline:none;box-shadow:none}
.product-choice:has(input[type=radio]:focus-visible) span{text-decoration:underline;text-underline-offset:4px}

.class-instructor{font-size:13px;line-height:1.5;margin:8px 0 12px;overflow-wrap:anywhere}.instructor-edit{display:flex;gap:18px;align-items:end;flex-wrap:wrap}.instructor-edit label{flex:1;min-width:180px;margin:0}.instructor-edit input,.instructor-edit select{width:100%}@media(max-width:600px){.instructor-edit{flex-direction:column;align-items:stretch}.instructor-edit label{min-width:0}}

.instructor-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 44px;background:var(--sand)}.schedule-instructor{display:flex;gap:9px;align-items:center}.schedule-instructor span{min-width:0;overflow-wrap:anywhere}.instructor-photo-editor{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.instructor-photo-editor .instructor-avatar{width:80px;height:80px;flex-basis:80px}.instructor-photo-editor form{min-width:0;flex:1}.instructor-photo-editor input{max-width:100%;width:100%}.instructor-photo-editor small{display:block;margin:8px 0 12px}@media(max-width:700px){.schedule-grid{grid-template-columns:minmax(0,1fr)}.instructor-photo-editor{align-items:flex-start;flex-direction:column}.instructor-photo-editor form{width:100%}}

@media(max-width:700px){
 .schedule .slot{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:10px;align-content:start}
 .schedule .slot>time,.schedule .slot>h4,.schedule .slot>.schedule-instructor,.schedule .slot>small{grid-column:1;min-width:0;overflow-wrap:anywhere}
 .schedule .slot>time{grid-row:1;min-height:44px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
 .schedule .slot>h4{grid-row:2}
 .schedule .slot>.schedule-instructor{grid-row:3;margin:0}
 .schedule .slot>small{grid-row:4}
 .schedule .slot .instructor-avatar{position:absolute;top:15px;right:12px}
 .schedule .slot>a{grid-column:2;grid-row:2 / 5;align-self:center;margin:0;white-space:nowrap;padding:12px}
 .schedule .slot:not(:has(>a)){grid-template-columns:minmax(0,1fr) 44px}
}

@media(max-width:700px){.schedule .slot.slot-past{display:none}}

@media(max-width:700px){.schedule .day-column.day-no-active{display:none}}

@media(max-width:700px){.schedule .slot.slot-unavailable{display:none}}

/* Desktop timetable: retain unavailable sessions with distinct, readable states. */
@media(min-width:701px){
 .schedule .slot.slot-available{background:var(--white);border-color:#cbbba7}
 .schedule .slot.slot-full{background:#e5e5e3;border-color:#ccccc7}
 .schedule .slot.slot-closed{background:#e5e5e3;border-color:#ccccc7}
 .schedule .slot.slot-past{background:#e5e5e3;border-color:#ccccc7;color:#65635d}
 .schedule .slot.slot-past .instructor-avatar{filter:grayscale(1)}
}
