:root{--red:#a30106;--red2:#c81318;--cream:#f8f0de;--orange:#ff923e;--ink:#2b0909;--white:#fffaf0;--line:rgba(43,9,9,.22);--display:'Anton',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;--hand:'Caveat',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px}.ol-header{height:82px;display:flex;align-items:center;gap:30px;padding:0 3.5vw;background:var(--cream);border-bottom:1px solid var(--red);position:sticky;top:0;z-index:100}.ol-logo,.ol-footer-logo{font-family:var(--display);font-size:34px;letter-spacing:.01em;color:var(--red);text-decoration:none}.ol-logo span,.ol-footer-logo span{color:var(--orange)}.ol-nav{display:flex;gap:30px;margin-left:auto;align-items:center}.ol-nav a,.ol-cart{color:var(--ink);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.08em}.ol-nav a:hover{color:var(--red)}.ol-student-link{background:var(--red);color:var(--cream)!important;padding:12px 17px;border-radius:999px}.ol-cart{border-left:1px solid var(--red);padding-left:26px}.ol-menu{display:none;background:none;border:0;width:42px;height:42px;padding:10px}.ol-menu span{display:block;height:2px;background:var(--red);margin:6px 0}.ol-hero-new{min-height:calc(100vh - 82px);background:var(--red);color:var(--cream);display:grid;grid-template-columns:1.03fr .97fr;position:relative;overflow:hidden}.ol-hero-copy{padding:7vw 4vw 8vw 6vw;display:flex;flex-direction:column;justify-content:center}.ol-eyebrow{font-weight:800;letter-spacing:.12em;font-size:12px}.ol-eyebrow span{color:var(--orange);margin:0 8px}.ol-hero-copy h1,.ol-intro h2,.ol-menu-head h2,.ol-routes h2,.ol-hours h2,.ol-location h2,.ol-social-title h2{font-family:var(--display);font-weight:400;line-height:.86;letter-spacing:.005em;margin:30px 0;font-size:clamp(68px,8vw,150px)}.ol-hero-copy h1 span{color:var(--orange)}.ol-hero-copy>p{font-size:clamp(18px,1.45vw,25px);line-height:1.45;max-width:660px}.ol-actions{display:flex;align-items:center;gap:26px;margin-top:25px}.ol-btn-new{display:inline-flex;padding:16px 23px;border-radius:999px;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.ol-btn-new.cream{background:var(--cream);color:var(--red)}.ol-btn-new.red{background:var(--red);color:var(--cream)}.ol-text-link{color:var(--cream);font-weight:800}.ol-hero-media{margin:3vw 3vw 5vw 0;border-radius:4px;min-height:600px}.ol-media-placeholder{background:linear-gradient(135deg,#7d0004,#e9482e 60%,#ff923e);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:15px;color:var(--cream);position:relative;overflow:hidden}.ol-media-placeholder:before{content:attr(data-label);position:absolute;left:18px;top:18px;font-size:11px;font-weight:800;letter-spacing:.13em}.ol-media-placeholder span{max-width:300px;font-size:14px;font-weight:700}.ol-play{width:78px;height:78px;border:2px solid var(--cream);border-radius:50%;display:grid;place-items:center;font-size:22px;padding-left:4px}.ol-ticker{position:absolute;bottom:0;left:0;right:0;height:48px;background:var(--orange);color:var(--red);display:flex;align-items:center;overflow:hidden;white-space:nowrap;font-weight:900;letter-spacing:.08em}.ol-ticker div{animation:ticker 24s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.ol-section-no{display:block;color:var(--orange);font-family:var(--display);font-size:22px;margin-bottom:20px}.ol-intro{padding:9vw 6vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;border-bottom:1px solid var(--red)}.ol-intro h2{font-size:clamp(65px,8vw,135px);color:var(--red);margin:0}.ol-intro-copy{align-self:end;font-size:clamp(20px,2vw,32px);line-height:1.35}.ol-hand{font-family:var(--hand);font-size:clamp(42px,5vw,82px)!important;color:var(--red);transform:rotate(-3deg);margin:30px 0 0}.ol-gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:360px 310px;gap:10px;padding:10px;background:var(--red)}.ol-shot{display:flex;align-items:flex-end;padding:22px;color:var(--cream);font-weight:800;background-size:cover;background-position:center;min-height:260px}.ol-shot small{font-weight:500}.shot-a{grid-row:1/3;background:linear-gradient(160deg,#ff923e,#a30106)}.shot-b{background:linear-gradient(30deg,#5d0003,#d84c2f)}.shot-c{background:linear-gradient(120deg,#b70d12,#ff923e)}.shot-d{grid-column:2/4;background:linear-gradient(80deg,#8e0004,#d33525,#ff923e)}.ol-menu-section{padding:8vw 0 6vw;background:var(--cream);overflow:hidden}.ol-menu-head{display:grid;grid-template-columns:1fr .75fr;gap:8vw;padding:0 6vw 3vw}.ol-menu-head h2{font-size:clamp(70px,8vw,140px);color:var(--red);margin:0}.ol-menu-head>p{align-self:end;font-size:18px;line-height:1.55;max-width:550px}.ol-tabs{display:flex;gap:8px;padding:0 6vw 30px;overflow:auto;scrollbar-width:none}.ol-tab{border:1px solid var(--red);background:transparent;color:var(--red);padding:13px 19px;border-radius:999px;font-family:var(--body);font-weight:800;text-transform:uppercase;white-space:nowrap;cursor:pointer}.ol-tab.active{background:var(--red);color:var(--cream)}.ol-dishes{display:none;gap:14px;overflow-x:auto;padding:0 6vw 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.ol-dishes.active{display:flex}.ol-dish{flex:0 0:min(440px,76vw);scroll-snap-align:start;background:var(--white);border:1px solid var(--red)}.ol-dish-photo{height:430px;display:grid;place-items:center;color:var(--cream);font-weight:900;letter-spacing:.1em}.food-1{background:linear-gradient(145deg,#a30106,#ff923e)}.food-2{background:linear-gradient(40deg,#ff923e,#7e0004)}.food-3{background:linear-gradient(160deg,#c81318,#6b0003)}.food-4{background:linear-gradient(120deg,#6b0003,#ff923e)}.food-5{background:linear-gradient(20deg,#a30106,#e34c2d)}.food-6{background:linear-gradient(160deg,#ff923e,#a30106 70%)}.ol-dish-info{padding:22px;display:flex;justify-content:space-between;gap:20px}.ol-dish h3{font-family:var(--display);font-size:32px;font-weight:400;margin:0 0 6px;color:var(--red)}.ol-dish p{margin:0;font-size:14px}.ol-dish strong{font-family:var(--display);font-size:28px;color:var(--red);white-space:nowrap}.ol-swipe-note{padding:8px 6vw 0;color:var(--red);font-size:11px;font-weight:900;letter-spacing:.12em}.ol-video-break{display:grid;grid-template-columns:1.3fr .7fr;background:var(--red);color:var(--cream);min-height:680px}.ol-video-wide{margin:3vw;min-height:560px}.ol-video-caption{padding:5vw 5vw 5vw 2vw;align-self:end}.ol-video-caption strong{font-family:var(--display);font-size:clamp(45px,5vw,82px);font-weight:400;line-height:.9;color:var(--orange)}.ol-video-caption p{font-size:18px;line-height:1.5}.ol-routes{padding:8vw 6vw}.ol-routes-head{display:flex;justify-content:space-between;align-items:flex-end}.ol-routes h2{font-size:clamp(65px,8vw,135px);color:var(--red);margin:0 0 50px}.ol-route-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ol-route{min-height:540px;padding:42px;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}.ol-route:hover{transform:translateY(-5px)}.ol-route span{font-size:11px;font-weight:900;letter-spacing:.12em}.ol-route h3{font-family:var(--display);font-size:clamp(70px,8vw,140px);font-weight:400;margin:60px 0 15px;line-height:.85}.ol-route p{font-size:22px;max-width:430px;line-height:1.35}.ol-route b{margin-top:auto;text-transform:uppercase;letter-spacing:.06em}.route-shop{background:var(--red);color:var(--cream)}.route-student{background:var(--orange);color:var(--red)}.ol-hours{background:var(--red);color:var(--cream);padding:7vw 6vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;position:relative}.ol-hours-status{grid-column:1/-1;border-bottom:1px solid rgba(248,240,222,.5);padding-bottom:18px;display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.1em}.ol-hours-status strong{margin-left:auto}.ol-dot{width:10px;height:10px;border-radius:50%;background:var(--orange)}.ol-hours h2{font-size:clamp(65px,7vw,125px);margin:0;color:var(--orange)}.ol-hours-table{align-self:end}.ol-hours-table>div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(248,240,222,.35);font-size:18px}.ol-hours-table>div strong{font-family:var(--display);font-size:30px;font-weight:400}.ol-hours-table p{font-size:12px;opacity:.75;line-height:1.5}.ol-location{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px}.ol-location-photo{min-height:650px;border-right:10px solid var(--cream)}.ol-location-copy{padding:7vw 5vw;display:flex;flex-direction:column;justify-content:center}.ol-location h2{font-size:clamp(65px,7vw,125px);color:var(--red);margin:0 0 35px}.ol-address{font-weight:900;line-height:1.5;margin-bottom:30px}.ol-address span{font-weight:500}.ol-social-wall{background:var(--orange);padding:7vw 6vw;display:grid;grid-template-columns:1.2fr repeat(3,.7fr);gap:10px}.ol-social-title{padding-right:30px}.ol-social-title>span{font-weight:900;color:var(--red)}.ol-social-title h2{font-size:clamp(52px,5.5vw,100px);color:var(--red);margin:25px 0}.ol-reel{aspect-ratio:9/16;background:var(--red);color:var(--cream);display:grid;place-items:center;font-size:11px;font-weight:900;letter-spacing:.12em}.ol-footer{background:var(--ink);color:var(--cream);padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.ol-footer-logo{color:var(--cream);font-size:52px}.ol-footer-copy p{margin:7px 0}.ol-footer-links{display:flex;justify-content:flex-end;gap:20px}.ol-footer a{color:var(--cream)}.ol-footer small{grid-column:1/-1;opacity:.6;border-top:1px solid rgba(248,240,222,.25);padding-top:20px}.ol-shell{width:min(1180px,92vw);margin:60px auto}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--white);padding:18px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--red)!important;color:var(--cream)!important;border-radius:999px!important}
@media(max-width:900px){.ol-header{height:68px;padding:0 20px}.ol-logo{font-size:28px}.ol-menu{display:block;margin-left:auto}.ol-cart{border:0;padding:0;font-size:11px}.ol-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:28px 22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--red)}.ol-nav.open{display:flex}.ol-hero-new{grid-template-columns:1fr;min-height:auto}.ol-hero-copy{padding:70px 22px 40px}.ol-hero-copy h1{font-size:18vw}.ol-hero-media{margin:0 14px 62px;min-height:62vh}.ol-actions{flex-wrap:wrap}.ol-intro{grid-template-columns:1fr;padding:80px 22px;gap:30px}.ol-intro h2,.ol-menu-head h2,.ol-routes h2,.ol-hours h2,.ol-location h2{font-size:18vw}.ol-gallery{grid-template-columns:1fr 1fr;grid-template-rows:420px 260px 260px}.shot-a{grid-row:auto;grid-column:1/3}.shot-d{grid-column:1/3}.ol-menu-head{grid-template-columns:1fr;padding:70px 22px 25px;gap:20px}.ol-tabs{padding-left:22px}.ol-dishes{padding-left:22px}.ol-dish{flex-basis:84vw}.ol-dish-photo{height:55vh;max-height:430px}.ol-swipe-note{padding-left:22px}.ol-video-break{grid-template-columns:1fr;min-height:0}.ol-video-wide{min-height:65vh;margin:14px}.ol-video-caption{padding:45px 22px 70px}.ol-routes{padding:80px 14px}.ol-route-grid{grid-template-columns:1fr}.ol-route{min-height:430px;padding:28px}.ol-route h3{font-size:22vw;margin-top:45px}.ol-hours{grid-template-columns:1fr;padding:70px 22px;gap:40px}.ol-hours-table>div{font-size:14px}.ol-hours-table>div strong{font-size:24px}.ol-location{grid-template-columns:1fr}.ol-location-photo{min-height:65vh;border-right:0;border-bottom:10px solid var(--cream)}.ol-location-copy{padding:70px 22px}.ol-social-wall{grid-template-columns:1fr 1fr;padding:70px 14px}.ol-social-title{grid-column:1/3}.ol-reel:last-child{display:none}.ol-footer{grid-template-columns:1fr}.ol-footer-links{justify-content:flex-start;flex-wrap:wrap}}


/* OLINEK v0.3 - przestrzeń i rytm */
.ol-hero-copy{padding:9vw 5vw 11vw 7vw}
.ol-eyebrow{margin-bottom:18px}
.ol-hero-copy h1{margin:42px 0 48px}
.ol-hero-copy>p{margin:0;max-width:720px;line-height:1.58}
.ol-actions{gap:34px;margin-top:44px}
.ol-btn-new{padding:19px 30px}
.ol-hero-media{margin:4vw 4vw 6vw 0}

.ol-intro{padding:12vw 7vw;gap:10vw}
.ol-section-no{margin-bottom:30px}
.ol-intro-copy p{margin:0 0 34px;line-height:1.48}
.ol-hand{margin-top:46px}

.ol-gallery{gap:18px;padding:18px}
.ol-shot{padding:32px}

.ol-menu-section{padding:11vw 0 10vw}
.ol-menu-head{gap:10vw;padding:0 7vw 5vw}
.ol-menu-head>p{line-height:1.7;margin:0 0 18px}
.ol-tabs{gap:12px;padding:0 7vw 44px}
.ol-tab{padding:15px 24px}
.ol-dishes{gap:24px;padding:0 7vw 28px}
.ol-dish-info{padding:30px 28px;gap:28px}
.ol-dish h3{margin-bottom:12px}
.ol-dish p{line-height:1.55}
.ol-swipe-note{padding:20px 7vw 0}

.ol-video-break{min-height:760px}
.ol-video-wide{margin:4vw;min-height:620px}
.ol-video-caption{padding:7vw 6vw 7vw 2vw}
.ol-video-caption p{margin-top:30px;line-height:1.65}

.ol-routes{padding:11vw 7vw 12vw}
.ol-routes h2{margin-bottom:72px}
.ol-route-grid{gap:22px}
.ol-route{min-height:590px;padding:54px}
.ol-route h3{margin:78px 0 28px}
.ol-route p{line-height:1.5;margin:0 0 34px}

.ol-hours{padding:10vw 7vw;gap:10vw}
.ol-hours-status{padding-bottom:28px;margin-bottom:20px}
.ol-hours-table>div{padding:28px 0}
.ol-hours-table p{margin-top:30px;line-height:1.7}

.ol-location{min-height:820px}
.ol-location-photo{min-height:760px}
.ol-location-copy{padding:9vw 7vw}
.ol-location h2{margin-bottom:52px}
.ol-address{line-height:1.75;margin:0 0 42px}

.ol-social-wall{padding:10vw 7vw;gap:18px}
.ol-social-title{padding-right:48px}
.ol-social-title h2{margin:38px 0}

.ol-footer{padding:80px 7vw;gap:50px}
.ol-footer-copy p{margin:12px 0;line-height:1.55}
.ol-footer small{margin-top:24px;padding-top:28px}

@media(max-width:900px){
 .ol-hero-copy{padding:86px 24px 58px}
 .ol-eyebrow{margin-bottom:16px;line-height:1.5}
 .ol-hero-copy h1{margin:32px 0 38px}
 .ol-hero-copy>p{line-height:1.55}
 .ol-actions{gap:22px;margin-top:36px}
 .ol-hero-media{margin:0 16px 78px}
 .ol-intro{padding:100px 24px;gap:48px}
 .ol-section-no{margin-bottom:24px}
 .ol-intro-copy p{margin-bottom:30px}
 .ol-gallery{gap:12px;padding:12px}
 .ol-shot{padding:24px}
 .ol-menu-section{padding:100px 0 90px}
 .ol-menu-head{padding:0 24px 38px;gap:34px}
 .ol-menu-head>p{line-height:1.65}
 .ol-tabs{padding:0 24px 38px}
 .ol-dishes{gap:18px;padding:0 24px 24px}
 .ol-dish-info{padding:26px 22px}
 .ol-swipe-note{padding:18px 24px 0}
 .ol-video-wide{margin:16px;min-height:65vh}
 .ol-video-caption{padding:60px 24px 90px}
 .ol-routes{padding:100px 16px 110px}
 .ol-routes h2{margin-bottom:52px}
 .ol-route-grid{gap:16px}
 .ol-route{min-height:470px;padding:34px}
 .ol-route h3{margin:58px 0 24px}
 .ol-route p{line-height:1.5}
 .ol-hours{padding:95px 24px;gap:54px}
 .ol-hours-status{padding-bottom:24px}
 .ol-hours-table>div{padding:24px 0}
 .ol-location-copy{padding:90px 24px 100px}
 .ol-location h2{margin-bottom:42px}
 .ol-social-wall{padding:90px 16px;gap:12px}
 .ol-social-title h2{margin:32px 0 46px}
 .ol-footer{padding:70px 24px;gap:38px}
}

/* v0.4 - spacing and typography rhythm */
.ol-hero-copy{padding-top:clamp(88px,9vw,150px);padding-bottom:clamp(110px,11vw,180px)}
.ol-hero-copy h1{line-height:1.02;margin:52px 0 58px;max-width:10ch}
.ol-hero-copy h1 span{display:block;margin-top:.10em}
.ol-hero-copy>p{margin:0 0 8px;line-height:1.65}
.ol-actions{margin-top:38px;gap:32px}
.ol-intro,.ol-routes,.ol-hours,.ol-location-copy,.ol-social-wall{padding-top:clamp(90px,9vw,150px);padding-bottom:clamp(90px,9vw,150px)}
.ol-menu-section{padding-top:clamp(90px,9vw,150px);padding-bottom:clamp(90px,8vw,135px)}
.ol-intro h2,.ol-menu-head h2,.ol-routes h2,.ol-hours h2,.ol-location h2,.ol-social-title h2{line-height:.98}
.ol-menu-head{padding-bottom:55px}
.ol-tabs{padding-bottom:42px}
.ol-dish-info{padding:28px 26px 32px}
.ol-route{padding:52px;min-height:580px}
.ol-route h3{line-height:.95;margin:72px 0 28px}
.ol-hours{row-gap:64px}
.ol-hours h2{line-height:.98}
.ol-hours-table>div{padding:25px 0}
.ol-location h2{margin-bottom:48px}
.ol-address{margin-bottom:42px}
.ol-footer{padding-top:80px;padding-bottom:80px}

@media(max-width:900px){
 .ol-hero-copy{padding:96px 28px 82px}
 .ol-eyebrow{margin-bottom:0}
 .ol-hero-copy h1{font-size:clamp(72px,16vw,130px);line-height:1.03;margin:44px 0 50px;max-width:8.5ch}
 .ol-hero-copy h1 span{margin-top:.12em}
 .ol-hero-copy>p{font-size:19px;line-height:1.65}
 .ol-actions{margin-top:36px;gap:24px}
 .ol-intro{padding:96px 28px;gap:46px}
 .ol-menu-head{padding:96px 28px 42px;gap:34px}
 .ol-tabs{padding-left:28px;padding-bottom:38px}
 .ol-dishes{padding-left:28px;padding-bottom:28px}
 .ol-routes{padding:96px 18px}
 .ol-routes h2{margin-bottom:58px}
 .ol-route{padding:34px;min-height:470px}
 .ol-route h3{line-height:.96;margin:58px 0 26px}
 .ol-hours{padding:96px 28px;gap:54px}
 .ol-location-copy{padding:96px 28px}
 .ol-social-wall{padding:96px 18px;gap:14px}
 .ol-social-title h2{line-height:.98;margin:34px 0 50px}
 .ol-footer{padding:70px 28px}
}

@media(max-width:560px){
 .ol-hero-copy{padding:88px 22px 76px}
 .ol-hero-copy h1{font-size:17vw;line-height:1.05;margin:40px 0 46px;max-width:9ch}
 .ol-hero-copy h1 span{margin-top:.14em}
 .ol-hero-copy>p{font-size:18px}
 .ol-actions{align-items:flex-start;flex-direction:column}
}

/* v0.5 - wyrazny oddech miedzy wierszami duzej typografii */
.ol-hero-copy h1,
.ol-intro h2,
.ol-menu-head h2,
.ol-routes h2,
.ol-hours h2,
.ol-location h2,
.ol-social-title h2,
.ol-route h3,
.ol-video-caption strong {
  line-height: 1.14 !important;
}
.ol-hero-copy h1 { line-height: 1.10 !important; }
.ol-intro h2 { line-height: 1.16 !important; }
.ol-menu-head h2 { line-height: 1.16 !important; }
.ol-routes h2 { line-height: 1.16 !important; }
.ol-hours h2 { line-height: 1.16 !important; }
.ol-location h2 { line-height: 1.16 !important; }
.ol-social-title h2 { line-height: 1.16 !important; }
.ol-route h3 { line-height: 1.12 !important; }
.ol-video-caption strong { line-height: 1.14 !important; display:block; }

/* wiecej przestrzeni miedzy blokami tekstu */
.ol-intro h2 { margin-bottom: 42px !important; }
.ol-menu-head h2 { margin-bottom: 42px !important; }
.ol-routes h2 { margin-bottom: 64px !important; }
.ol-hours h2 { margin-bottom: 42px !important; }
.ol-location h2 { margin-bottom: 46px !important; }
.ol-social-title h2 { margin-bottom: 52px !important; }

@media (max-width: 760px){
  .ol-hero-copy h1 { line-height:1.12 !important; }
  .ol-intro h2,.ol-menu-head h2,.ol-routes h2,.ol-hours h2,.ol-location h2,.ol-social-title h2 { line-height:1.18 !important; }
  .ol-route h3 { line-height:1.14 !important; }
}


/* v0.6 - interaktywna mapa kampusu */
.ol-campus{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);background:#f8f0de;border-top:1px solid #a30106;min-height:820px;overflow:hidden}
.ol-campus-map-wrap{background:#ff923e;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.ol-campus-topline{display:flex;justify-content:space-between;gap:20px;font:700 12px/1.2 'DM Sans',sans-serif;letter-spacing:.14em;color:#a30106;margin-bottom:18px}
.ol-campus-map{position:relative;min-height:650px;border:2px solid #a30106;border-radius:28px;background:#f8f0de;overflow:hidden;cursor:grab;touch-action:none;box-shadow:10px 10px 0 #a30106}
.ol-campus-map.dragging{cursor:grabbing}
.ol-map-stage{position:absolute;inset:0;width:112%;height:112%;transform:translate(-5%,-4%) scale(1);transform-origin:center;will-change:transform}
.ol-map-stage svg{width:100%;height:100%;display:block;overflow:visible}
.map-bg{fill:#f8f0de}.map-road{fill:none;stroke:#a30106;stroke-width:26;stroke-linecap:round;opacity:.13}.map-road.thin{stroke-width:12;opacity:.12}.map-street{font:700 13px 'DM Sans',sans-serif;letter-spacing:.18em;fill:#a30106;opacity:.5}
.map-building rect{fill:#ff923e;stroke:#a30106;stroke-width:3}.map-building text{font:700 22px 'Anton',sans-serif;letter-spacing:.02em;fill:#a30106}.map-building .small{font:700 10px 'DM Sans',sans-serif;letter-spacing:.08em}.map-building.muted rect{fill:#f5c5a0}.map-building.minor rect{fill:#f2d7bd}.map-building.olinek-building rect{fill:#a30106}.map-building.olinek-building text{fill:#f8f0de}.map-building .olinek-label{fill:#ff923e;font-size:28px}
.walk-path{fill:none;stroke:#a30106;stroke-width:5;stroke-linecap:round;stroke-dasharray:1 15;opacity:.22}.walk-dots{fill:none;stroke:#a30106;stroke-width:5;stroke-linecap:round;stroke-dasharray:1 15;stroke-dashoffset:0;animation:olDots 1.4s linear infinite}.walker{color:#a30106;filter:drop-shadow(0 3px 0 rgba(163,1,6,.15))}.walker-head{fill:#a30106}.walker-body{fill:none;stroke:#a30106;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.walker-bag{fill:#ff923e;stroke:#a30106;stroke-width:3}.olinek-pin .pin-pulse{fill:#ff923e;opacity:.25;transform-origin:center;animation:olPulse 1.8s ease-out infinite}.olinek-pin .pin-core{fill:#ff923e;stroke:#a30106;stroke-width:5}.olinek-pin text{font:700 13px 'DM Sans',sans-serif;letter-spacing:.08em;fill:#a30106}.user-pin{display:none}.user-pin.visible{display:block}.user-pin circle{fill:#f8f0de;stroke:#a30106;stroke-width:5}.user-pin text{font:700 14px 'DM Sans',sans-serif;fill:#a30106}
.ol-map-controls{position:absolute;left:20px;bottom:20px;display:flex;gap:8px;z-index:3}.ol-map-control{appearance:none;border:2px solid #a30106;background:#f8f0de;color:#a30106;border-radius:999px;padding:13px 16px;font:700 11px/1 'DM Sans',sans-serif;letter-spacing:.06em;cursor:pointer}.ol-map-control:hover{background:#a30106;color:#f8f0de}.ol-map-status{position:absolute;right:20px;bottom:22px;max-width:280px;text-align:right;font:600 11px/1.3 'DM Sans',sans-serif;color:#a30106;z-index:3}
.ol-campus-copy{padding:clamp(90px,8vw,145px) clamp(40px,6vw,105px);display:flex;flex-direction:column;justify-content:center}.ol-campus-copy h2{font:400 clamp(72px,6.2vw,126px)/1.14 'Anton',sans-serif;color:#a30106;margin:26px 0 54px;letter-spacing:-.02em}.ol-campus-address{display:flex;flex-direction:column;gap:4px;font:500 18px/1.45 'DM Sans',sans-serif;color:#210e0b;margin-bottom:28px}.ol-campus-address strong{font-size:20px;color:#a30106}.ol-campus-note{font:500 17px/1.6 'DM Sans',sans-serif;max-width:520px;margin:0 0 34px}.ol-campus-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.ol-campus-actions .ol-btn-new{width:100%;justify-content:space-between}.ol-campus-locate{appearance:none;border:0;background:transparent;color:#a30106;font:700 13px/1.2 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:8px 0}
@keyframes olPulse{0%{transform:scale(.55);opacity:.5}100%{transform:scale(1.45);opacity:0}}@keyframes olDots{to{stroke-dashoffset:-16}}
@media (prefers-reduced-motion:reduce){.walk-dots,.olinek-pin .pin-pulse{animation:none}}
@media(max-width:1050px){.ol-campus{grid-template-columns:1fr}.ol-campus-map-wrap{min-height:720px}.ol-campus-copy{padding:90px 32px 100px}.ol-campus-copy h2{font-size:clamp(70px,14vw,120px);max-width:8ch}.ol-campus-map{min-height:620px}}
@media(max-width:620px){.ol-campus-map-wrap{padding:24px 16px 36px;min-height:590px}.ol-campus-topline{font-size:10px}.ol-campus-map{min-height:500px;border-radius:20px;box-shadow:7px 7px 0 #a30106}.ol-map-stage{width:142%;height:120%;transform:translate(-20%,-8%) scale(1)}.ol-map-controls{left:12px;bottom:12px;right:12px;gap:6px}.ol-map-control{padding:11px 12px;font-size:9px}.ol-map-status{display:none}.ol-campus-copy{padding:82px 22px 90px}.ol-campus-copy h2{font-size:17vw;line-height:1.18;margin:28px 0 44px}.ol-campus-address{font-size:17px}.ol-campus-note{font-size:16px}.ol-campus-actions .ol-btn-new{width:100%}}

/* v0.7 food-first interactive menu */
.ol-menu-section{background:#f8f0de}
.ol-dish{border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(43,9,9,.08);transition:transform .25s ease,box-shadow .25s ease}
.ol-dish:hover{transform:translateY(-7px);box-shadow:0 22px 52px rgba(43,9,9,.15)}
.ol-dish-photo{position:relative;height:430px;overflow:hidden;background:#a30106}
.ol-dish-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.ol-dish:hover .ol-dish-photo img{transform:scale(1.045)}
.ol-visual-badge{position:absolute;left:16px;top:16px;background:rgba(248,240,222,.94);color:#a30106;padding:8px 11px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.12em}
.ol-dish-info{background:#fffaf0;min-height:150px}
.ol-dish h3{line-height:1.08!important}
.ol-tabs{position:sticky;top:82px;z-index:30;background:rgba(248,240,222,.96);padding-top:14px;padding-bottom:14px;backdrop-filter:blur(12px);border-top:1px solid rgba(163,1,6,.12);border-bottom:1px solid rgba(163,1,6,.12)}
.ol-tab{font-size:13px;padding:14px 21px;transition:.2s ease}
.ol-tab:hover{background:#ff923e;color:#a30106;border-color:#ff923e}
.ol-swipe-note{margin-top:8px}
@media(max-width:900px){.ol-tabs{top:68px}.ol-dish-photo{height:52vh;min-height:360px}.ol-dish-info{min-height:140px}.ol-dish h3{font-size:30px}.ol-visual-badge{font-size:8px}}

/* v0.8 menu architecture: Sniadania / Obiady / Napoje */
.ol-menu-v08{padding-bottom:clamp(90px,10vw,160px)}
.ol-menu-intro{max-width:610px;align-self:end;padding-bottom:12px}.ol-menu-intro p{font-size:clamp(18px,1.55vw,25px);line-height:1.55;margin:0 0 18px}.ol-menu-intro span{font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}
.ol-menu-primary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--red);border-bottom:1px solid var(--red);margin-bottom:0}.ol-menu-primary-btn{appearance:none;border:0;border-right:1px solid var(--red);background:transparent;color:var(--red);font-family:var(--display);font-size:clamp(35px,5vw,82px);line-height:1;padding:38px 4vw 34px;text-align:left;cursor:pointer;transition:.2s}.ol-menu-primary-btn:last-child{border-right:0}.ol-menu-primary-btn span{display:block;font-family:var(--body);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:16px}.ol-menu-primary-btn:hover,.ol-menu-primary-btn.active{background:var(--red);color:var(--cream)}
.ol-menu-view{display:none}.ol-menu-view.active{display:block}.ol-menu-subnav{position:sticky;top:76px;z-index:15;display:flex;gap:8px;overflow-x:auto;padding:16px 5vw;background:rgba(248,240,222,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(163,1,6,.28);scrollbar-width:none}.ol-menu-subnav::-webkit-scrollbar{display:none}.ol-menu-subnav button{white-space:nowrap;border:1px solid var(--red);border-radius:999px;background:transparent;color:var(--red);padding:11px 17px;font:900 11px/1 var(--body);letter-spacing:.08em;cursor:pointer}.ol-menu-subnav button.active{background:var(--red);color:var(--cream)}
.ol-menu-editorial{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:clamp(45px,6vw,100px);padding:clamp(55px,6vw,100px) 6vw 0}.ol-menu-feature{position:sticky;top:150px;align-self:start}.ol-menu-feature-image{height:min(64vh,670px);min-height:500px;position:relative;overflow:hidden;border-radius:2px}.ol-menu-feature-image img{width:100%;height:100%;object-fit:cover;display:block}.ol-menu-feature-image>span{position:absolute;left:16px;bottom:16px;background:var(--cream);color:var(--red);font-size:9px;font-weight:900;letter-spacing:.13em;padding:9px 11px}.ol-menu-feature-copy{background:var(--red);color:var(--cream);padding:30px 30px 34px}.ol-menu-feature-copy small{font-weight:900;letter-spacing:.13em}.ol-menu-feature-copy h3{font:400 clamp(48px,5vw,80px)/1 var(--display);margin:18px 0 14px}.ol-menu-feature-copy p{margin:0;line-height:1.55;max-width:420px}
.ol-menu-groups{min-width:0}.ol-menu-group{padding:0 0 clamp(65px,7vw,110px);scroll-margin-top:155px}.ol-menu-group[hidden]{display:none}.ol-menu-group>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:3px solid var(--red);padding-bottom:20px;margin-bottom:0}.ol-menu-group>header h3{font:400 clamp(44px,5vw,76px)/1.08 var(--display);color:var(--red);margin:0}.ol-menu-group>header span{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--red);padding-bottom:7px}.ol-menu-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:35px;padding:24px 0 25px;border-bottom:1px solid rgba(163,1,6,.27)}.ol-menu-line h4{font-size:clamp(19px,1.65vw,28px);line-height:1.22;margin:0 0 7px;color:var(--ink)}.ol-menu-line p{font-size:14px;line-height:1.55;margin:0;opacity:.7}.ol-menu-line strong{font:400 clamp(22px,2vw,32px)/1 var(--display);color:var(--red);white-space:nowrap;padding-top:3px}.ol-menu-footnote{margin:45px 6vw 0;border-top:1px solid rgba(163,1,6,.3);padding-top:18px;font-size:11px;line-height:1.5;opacity:.65}
@media(max-width:900px){.ol-menu-primary{grid-template-columns:1fr}.ol-menu-primary-btn{border-right:0;border-bottom:1px solid var(--red);padding:25px 24px 22px;font-size:15vw}.ol-menu-primary-btn:last-child{border-bottom:0}.ol-menu-primary-btn span{display:inline-block;margin:0 14px 0 0;vertical-align:middle}.ol-menu-subnav{top:68px;padding:13px 20px}.ol-menu-editorial{grid-template-columns:1fr;padding:35px 20px 0;gap:52px}.ol-menu-feature{position:relative;top:auto}.ol-menu-feature-image{min-height:0;height:55vh;max-height:560px}.ol-menu-feature-copy{padding:25px 22px 28px}.ol-menu-feature-copy h3{font-size:17vw}.ol-menu-group{padding-bottom:70px;scroll-margin-top:135px}.ol-menu-group>header h3{font-size:13vw}.ol-menu-line{gap:18px;padding:20px 0}.ol-menu-line h4{font-size:20px}.ol-menu-line p{font-size:13px}.ol-menu-line strong{font-size:24px}.ol-menu-footnote{margin:25px 20px 0}}

/* v1.0 - prawdziwe zdjęcia Bistro Olinek */
.ol-gallery-real{background:var(--red);grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:380px 330px;gap:12px;padding:12px}
.ol-gallery-real .ol-shot{position:relative;margin:0;padding:0;overflow:hidden;background:#7d0004;min-height:0}
.ol-gallery-real .ol-shot img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.ol-gallery-real .ol-shot:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(to bottom,transparent,rgba(24,4,3,.78));pointer-events:none}
.ol-gallery-real .ol-shot figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.ol-gallery-real .ol-shot figcaption strong{font-family:var(--display);font-size:clamp(28px,2.5vw,48px);font-weight:400;line-height:.9;letter-spacing:.01em}
.ol-gallery-real .ol-shot figcaption span{font-size:12px;font-weight:800;letter-spacing:.05em;text-align:right;max-width:180px}
.ol-gallery-real .ol-shot:hover img{transform:scale(1.025)}
.ol-gallery-real .shot-a{grid-row:1/3}
.ol-gallery-real .shot-b,.ol-gallery-real .shot-c{grid-row:1}
.ol-gallery-real .shot-d{grid-column:2/4;grid-row:2}
.ol-gallery-real .shot-a img{object-position:center 42%}
.ol-gallery-real .shot-b img{object-position:center 55%}
.ol-gallery-real .shot-c img{object-position:center 38%}
.ol-gallery-real .shot-d img{object-position:center 54%}
@media(max-width:900px){
 .ol-gallery-real{grid-template-columns:1fr 1fr;grid-template-rows:520px 280px 300px;gap:8px;padding:8px}
 .ol-gallery-real .shot-a{grid-column:1/3;grid-row:1}
 .ol-gallery-real .shot-b{grid-column:1;grid-row:2}
 .ol-gallery-real .shot-c{grid-column:2;grid-row:2}
 .ol-gallery-real .shot-d{grid-column:1/3;grid-row:3}
 .ol-gallery-real .ol-shot figcaption{left:15px;right:15px;bottom:15px;display:block}
 .ol-gallery-real .ol-shot figcaption span{display:block;text-align:left;margin-top:7px;max-width:none;font-size:10px}
 .ol-gallery-real .ol-shot figcaption strong{font-size:34px}
}
@media(max-width:560px){
 .ol-gallery-real{grid-template-columns:1fr;grid-template-rows:440px 260px 280px 300px}
 .ol-gallery-real .shot-a,.ol-gallery-real .shot-b,.ol-gallery-real .shot-c,.ol-gallery-real .shot-d{grid-column:1;grid-row:auto}
}

/* v1.1 — stabilny układ sekcji Bistro */
.ol-intro{position:relative;z-index:2;overflow:hidden;min-width:0}
.ol-intro>div,.ol-intro-copy{min-width:0}
.ol-intro h2{overflow-wrap:normal;word-break:normal}
.ol-gallery.ol-gallery-real{
  position:relative;z-index:1;
  width:100%;max-width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr);
  grid-template-rows:360px 360px;
  grid-template-areas:"sweet inside" "sweet cake";
  gap:12px;padding:12px;margin:0;
  overflow:hidden;background:var(--red);
}
.ol-gallery-real .ol-shot{min-width:0;min-height:0;width:100%;height:100%;margin:0;position:relative;overflow:hidden;padding:0;display:block}
.ol-gallery-real .shot-a{grid-area:sweet!important}
.ol-gallery-real .shot-b{grid-area:inside!important}
.ol-gallery-real .shot-c{grid-area:cake!important}
.ol-gallery-real .ol-shot img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover}
.ol-gallery-real .shot-a img{object-position:center 48%}
.ol-gallery-real .shot-b img{object-position:center 52%}
.ol-gallery-real .shot-c img{object-position:center 42%}
.ol-gallery-real .ol-shot:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(to bottom,transparent,rgba(35,4,3,.76));pointer-events:none}
.ol-gallery-real .ol-shot figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.ol-gallery-real .ol-shot figcaption strong{font-family:var(--display);font-size:clamp(28px,2.7vw,50px);font-weight:400;line-height:.92}
.ol-gallery-real .ol-shot figcaption span{font-size:12px;font-weight:800;text-align:right}
@media(max-width:900px){
 .ol-gallery.ol-gallery-real{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:440px 270px;grid-template-areas:"sweet sweet" "inside cake";gap:8px;padding:8px}
 .ol-gallery-real .ol-shot figcaption{left:16px;right:16px;bottom:15px;display:block}
 .ol-gallery-real .ol-shot figcaption span{display:block;text-align:left;margin-top:6px}
}
@media(max-width:600px){
 .ol-intro{padding:64px 20px 54px}
 .ol-intro h2{font-size:17vw;line-height:.9}
 .ol-gallery.ol-gallery-real{grid-template-columns:1fr;grid-template-rows:390px 280px 300px;grid-template-areas:"sweet" "inside" "cake";padding:6px;gap:6px}
}


/* v1.2 — finalny, stabilny grid Bistro: 4 fotografie */
.ol-gallery.ol-gallery-real{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;
  grid-template-rows:clamp(300px,30vw,470px) clamp(260px,25vw,390px)!important;
  grid-template-areas:"sweet inside" "cake kitchen"!important;
  gap:10px!important;
  padding:10px!important;
  margin:0!important;
  overflow:hidden!important;
  background:var(--red)!important;
}
.ol-gallery-real .shot-a{grid-area:sweet!important}
.ol-gallery-real .shot-b{grid-area:inside!important}
.ol-gallery-real .shot-c{grid-area:cake!important}
.ol-gallery-real .shot-d{grid-area:kitchen!important}
.ol-gallery-real .ol-shot{
  position:relative!important;
  width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  margin:0!important;overflow:hidden!important;
}
.ol-gallery-real .ol-shot img{
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;
}
.ol-gallery-real .shot-a img{object-position:center center!important}
.ol-gallery-real .shot-b img{object-position:center center!important}
.ol-gallery-real .shot-c img{object-position:center center!important}
.ol-gallery-real .shot-d img{object-position:center center!important}
@media(max-width:900px){
 .ol-gallery.ol-gallery-real{
   grid-template-columns:1fr 1fr!important;
   grid-template-rows:420px 300px!important;
   grid-template-areas:"sweet sweet" "inside kitchen"!important;
 }
 .ol-gallery-real .shot-c{display:none!important}
}
@media(max-width:600px){
 .ol-gallery.ol-gallery-real{
   grid-template-columns:1fr!important;
   grid-template-rows:360px 270px 270px 270px!important;
   grid-template-areas:"sweet" "inside" "cake" "kitchen"!important;
 }
 .ol-gallery-real .shot-c{display:block!important}
}

/* STUDENT ZONE */
.student-zone{background:var(--cream);color:var(--red);min-height:100vh}.student-hero{display:grid;grid-template-columns:1.5fr .5fr;gap:24px;padding:72px 5vw 48px;border-bottom:1px solid var(--red)}.student-kicker{font-size:12px;font-weight:800;letter-spacing:.12em}.student-hero h1,.coins-section h2{font-family:var(--display);font-size:clamp(64px,9vw,150px);font-weight:400;line-height:.86;margin:24px 0}.student-hero h1 em,.coins-section h2 em{font-style:normal;color:var(--orange)}.student-hero p{max-width:650px;font-size:20px;line-height:1.45}.student-hero-card{background:var(--red);color:var(--cream);padding:34px;display:flex;flex-direction:column;justify-content:center;min-height:300px}.student-hero-card strong{font-family:var(--display);font-size:120px;line-height:.9;color:var(--orange)}.student-hero-card b{font-family:var(--display);font-size:44px}.student-hero-card small{margin-top:20px;line-height:1.4}.student-orderbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr .7fr .7fr;gap:1px;background:var(--red);border-bottom:1px solid var(--red)}.student-orderbar>div,.student-orderbar>label{background:var(--cream);padding:16px 24px}.student-orderbar span{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;margin-bottom:8px}.student-choice button{border:1px solid var(--red);background:transparent;color:var(--red);padding:10px 14px;font-weight:800;margin-right:6px}.student-choice button.active{background:var(--red);color:var(--cream)}.student-orderbar select{width:100%;border:0;border-bottom:2px solid var(--red);background:transparent;padding:8px 0;font-weight:800;color:var(--red)}.student-cart-mini a{display:inline-block;margin-top:5px;color:var(--red);font-weight:800}.student-tabs{display:flex;gap:8px;padding:18px 5vw;overflow:auto;border-bottom:1px solid var(--red);background:var(--cream)}.student-tabs a{white-space:nowrap;border:1px solid var(--red);padding:9px 14px;color:var(--red);text-decoration:none;font-weight:800}.student-menu-section{padding:58px 5vw}.student-menu-section>header{display:flex;align-items:flex-end;gap:18px;margin-bottom:26px}.student-menu-section>header span{color:var(--orange);font-weight:800}.student-menu-section>header h2{font-family:var(--display);font-size:clamp(56px,7vw,110px);font-weight:400;line-height:.85;margin:0}.student-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--red);border-left:1px solid var(--red)}.student-item{display:grid;grid-template-columns:92px 1fr 52px;gap:16px;align-items:center;min-height:116px;padding:12px;border-right:1px solid var(--red);border-bottom:1px solid var(--red)}.student-item img{width:92px;height:92px;object-fit:cover}.student-item h3{margin:0 0 4px;font-size:17px}.student-item p{margin:0 0 7px;font-size:13px;color:#5e2420}.student-item strong{font-size:14px}.student-add{width:46px;height:46px;border-radius:50%;border:0;background:var(--red);color:var(--cream);font-size:28px;cursor:pointer}.student-add.disabled{opacity:.3}.coins-section{background:var(--red);color:var(--cream);padding:70px 5vw}.coins-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}.coins-section>div>p{font-size:18px;max-width:480px}.coins-rewards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.coins-rewards article{background:var(--orange);color:var(--red);padding:28px;min-height:260px}.coins-rewards b{font-family:var(--display);font-size:80px;line-height:.8}.coins-rewards span{display:block;font-weight:800;font-size:11px;letter-spacing:.1em}.coins-rewards h3{font-family:var(--display);font-size:42px;margin:40px 0 4px}.coins-note{grid-column:1/-1;font-size:12px!important;opacity:.8}.olinek-pickup-checkout{padding:20px;border:1px solid #ddd;margin:20px 0}
@media(max-width:800px){.student-hero{grid-template-columns:1fr;padding-top:42px}.student-hero-card{min-height:220px}.student-orderbar{position:relative;grid-template-columns:1fr}.student-menu-grid{grid-template-columns:1fr}.student-item{grid-template-columns:76px 1fr 46px}.student-item img{width:76px;height:76px}.coins-section{grid-template-columns:1fr}.coins-rewards{grid-template-columns:1fr}.coins-rewards article{min-height:180px}.student-tabs{position:sticky;top:0;z-index:19}}

/* Student v1.5 */
.student-feature{margin:26px 5vw 0;background:var(--orange);color:var(--red);padding:34px;display:flex;justify-content:space-between;align-items:end;gap:30px}
.student-feature span{font-size:11px;font-weight:900;letter-spacing:.12em}.student-feature h2{font-family:var(--display);font-weight:400;font-size:clamp(54px,7vw,105px);line-height:.86;margin:12px 0}.student-feature p{margin:0;max-width:520px}
.student-feature>strong{font-family:var(--display);font-size:72px;line-height:.7;text-align:right}.student-feature>strong small{font-size:26px}
.student-photo-open{border:0;padding:0;background:none;cursor:zoom-in;width:92px;height:92px;overflow:hidden}.student-photo-open img{width:100%!important;height:100%!important;transition:transform .25s}.student-photo-open:hover img{transform:scale(1.06)}
.student-addons{margin-top:8px}.student-addons summary{cursor:pointer;font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--red);list-style:none}.student-addons summary::-webkit-details-marker{display:none}
.student-addons>div{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.student-addons label{font-size:11px;display:flex;align-items:center;gap:5px}.student-addons label b{margin-left:auto;white-space:nowrap;font-size:10px}
.student-item{align-items:start}.student-item-copy{padding-top:3px}
.student-lightbox[hidden]{display:none}.student-lightbox{position:fixed;inset:0;background:rgba(43,9,9,.88);z-index:9999;display:grid;place-items:center;padding:5vw}.student-lightbox img{max-width:min(850px,92vw);max-height:82vh}.student-lightbox button{position:absolute;right:24px;top:20px;border:0;background:none;color:#fff;font-size:50px;cursor:pointer}
@media(max-width:800px){.student-feature{margin:14px 0 0;padding:24px}.student-feature>strong{font-size:50px}.student-addons>div{grid-template-columns:1fr}.student-photo-open{width:76px;height:76px}}

/* Student v1.7: roomier feature + account-first Olinki */
.student-feature{padding:52px 48px 46px;align-items:flex-end;min-height:360px}
.student-feature>div{max-width:min(760px,78%)}
.student-feature h2{font-size:clamp(58px,6.2vw,96px);line-height:.98;margin:18px 0 28px;letter-spacing:-.01em}
.student-feature p{font-size:18px;line-height:1.5;max-width:680px}
.student-feature>strong{align-self:flex-end;margin-bottom:4px}
.student-account-title{font-family:var(--display);font-size:clamp(46px,4.5vw,74px)!important;line-height:.92;margin:18px 0 10px;display:block}
.student-account-link,.student-account-cta{display:inline-block;margin-top:22px;padding:12px 16px;border:1px solid currentColor;color:inherit;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.06em}
.student-account-cta{background:var(--orange);color:var(--red);border-color:var(--orange)}
.student-account-strip{margin:28px 5vw 0;border:1px solid var(--red);display:grid;grid-template-columns:1.05fr .95fr}
.student-account-strip>div{padding:34px}.student-account-strip>div+div{border-left:1px solid var(--red);display:flex;flex-direction:column;justify-content:center}
.student-account-strip span{font-size:11px;font-weight:900;letter-spacing:.12em}
.student-account-strip h2{font-family:var(--display);font-size:clamp(38px,4.5vw,70px);line-height:.95;font-weight:400;margin:14px 0 0}
.student-account-strip h2 em{font-style:normal;color:var(--orange)}
.student-account-strip p{font-size:16px;line-height:1.55;margin:0 0 22px}.student-account-strip a{display:inline-block;align-self:flex-start;background:var(--red);color:var(--cream);padding:14px 18px;text-decoration:none;font-weight:900;font-size:12px;letter-spacing:.05em}
.olinek-account-coins{background:var(--red);color:var(--cream);padding:30px;margin:0 0 28px;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:end}
.olinek-account-coins>span{grid-column:1/-1;font-size:11px;font-weight:900;letter-spacing:.12em}.olinek-account-coins>strong{font-family:var(--display);font-size:80px;line-height:.85;color:var(--orange)}.olinek-account-coins>b{font-family:var(--display);font-size:34px}.olinek-account-coins>p,.olinek-account-coins>div{grid-column:1/-1}.olinek-account-coins em{font-style:normal;color:var(--orange);font-weight:900}
@media(max-width:800px){
 .student-feature{margin:14px 0 0;padding:38px 22px 32px;min-height:0;display:block}
 .student-feature>div{max-width:none}.student-feature h2{font-size:clamp(50px,15vw,72px);line-height:1;margin:16px 0 24px}.student-feature p{font-size:16px;line-height:1.5}.student-feature>strong{display:block;margin-top:30px;text-align:left;font-size:54px;line-height:.82}
 .student-account-strip{margin:18px 0 0;grid-template-columns:1fr}.student-account-strip>div{padding:24px}.student-account-strip>div+div{border-left:0;border-top:1px solid var(--red)}.student-account-strip h2{font-size:46px}
 .student-account-title{font-size:52px!important}.student-account-cta,.student-account-link{width:100%;text-align:center;box-sizing:border-box}
}

/* Native WooCommerce Student add-to-cart form: keep existing card layout. */
.student-wc-form{display:contents}
