/* Swede Stop V3.2 — shared styling for the new interior pages. */
body.subpage{background:#fff;color:var(--ink)}
body.subpage header{position:relative}
body.subpage nav a{position:relative}
body.subpage nav a.active{color:#fff}
body.subpage nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--yellow)}
.page-hero{min-height:520px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);background:var(--blue);overflow:hidden}
.page-hero-copy{padding:76px 7vw;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative}
.page-hero-copy:before{content:"";width:72px;height:7px;background:var(--yellow);margin-bottom:26px}
.page-eyebrow{font:700 13px Oswald;letter-spacing:2.5px;color:var(--yellow);text-transform:uppercase}
.page-hero h1{font:700 clamp(66px,8vw,118px)/.86 Oswald;letter-spacing:-3px;text-transform:uppercase;margin:16px 0 24px}
.page-hero h1 em{font-style:normal;color:var(--yellow)}
.page-hero p{max-width:610px;font-size:17px;line-height:1.7;color:#e9f3fb;margin:0}
.page-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}
.page-hero-actions a,.page-hero-actions button,.section-actions a,.section-actions button{border:1px solid var(--yellow);background:var(--yellow);color:var(--blue);padding:15px 20px;font-weight:700;text-transform:uppercase}
.page-hero-actions .secondary,.section-actions .secondary{background:transparent;color:var(--yellow)}
.page-hero-media{position:relative;min-height:520px;background:var(--blue-deep)}
.page-hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07549a66,transparent 32%)}
.page-hero-note{position:absolute;z-index:2;right:28px;bottom:28px;background:var(--yellow);color:var(--blue);padding:13px 16px;font:700 13px Oswald;letter-spacing:1px;text-transform:uppercase}
.subpage .trust{border-top:1px solid #ffffff33}
.page-section{padding:92px 6vw}
.page-section.soft{background:var(--soft)}
.page-section.blue{background:var(--blue);color:#fff}
.page-section.yellow{background:var(--yellow);color:var(--blue)}
.page-heading{max-width:820px;margin-bottom:46px}
.page-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.page-heading small{font-size:15px;color:var(--blue)}
.page-section.blue .page-heading small{color:var(--yellow)}
.page-heading h2{font-size:clamp(50px,6.5vw,88px);margin:13px 0 20px}
.page-heading p{font-size:17px;line-height:1.75;color:#526372;max-width:740px;margin:0}
.page-heading.center p{margin-left:auto;margin-right:auto}
.page-section.blue .page-heading p{color:#e9f3fb}
.section-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.section-actions a,.section-actions button{background:var(--blue);border-color:var(--blue);color:var(--yellow)}
.section-actions .secondary{color:var(--blue);border-color:var(--blue);background:transparent}
.page-section.blue .section-actions a,.page-section.blue .section-actions button{background:var(--yellow);border-color:var(--yellow);color:var(--blue)}
.page-section.blue .section-actions .secondary{background:transparent;border-color:var(--yellow);color:var(--yellow)}
.centered-actions{justify-content:center}
.section-rule{width:100%;height:1px;background:#0a4f901f;margin:34px 0}

/* Menu */
.menu-page-hero .page-hero-media img{object-position:center 52%}
.menu-explorer{padding-top:72px}
.menu-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:30px}
.menu-toolbar .page-heading{margin:0}
.menu-page-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.menu-page-tabs button{border:1px solid #0b4f903e;background:#fff;color:var(--blue);padding:12px 16px;font-weight:700;text-transform:uppercase}
.menu-page-tabs button:hover,.menu-page-tabs button.active{background:var(--blue);color:var(--yellow);border-color:var(--blue)}
.menu-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.menu-page-grid .menu-item{min-height:150px;padding:23px;align-items:start;background:#fff}
.menu-page-grid .menu-item h3{font-size:24px;margin-bottom:8px}
.menu-page-grid .menu-item p{font-size:14px;line-height:1.55;margin:5px 0 12px}
.menu-page-grid .menu-item button{align-self:center;min-width:80px;padding:11px 14px}
.menu-collection{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:#ffffff44;padding:1px}
.menu-collection>div{padding:46px;background:var(--blue-deep)}
.menu-collection h3{font:600 34px Oswald;text-transform:uppercase;color:var(--yellow);margin:0 0 12px}
.menu-collection p{line-height:1.7;color:#e5f0f9;max-width:560px}
.menu-collection .delivery-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.menu-collection .delivery-links a{border:1px solid var(--yellow);padding:14px;text-align:center;font-weight:700;color:var(--yellow)}
.menu-collection .delivery-links a:hover{background:var(--yellow);color:var(--blue)}
.diet-note{display:flex;gap:16px;align-items:flex-start;margin-top:22px;border-top:1px solid #ffffff33;padding-top:18px;color:#e5f0f9}
.diet-note b{font:600 20px Oswald;color:var(--yellow);white-space:nowrap}
.diet-note span{font-size:14px;line-height:1.6}

/* Story */
.story-page-hero .page-hero-media img{object-position:center 37%}
.origin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}
.origin-quote{position:sticky;top:35px;border-left:8px solid var(--yellow);padding:12px 0 12px 30px}
.origin-quote blockquote{font:600 clamp(30px,4vw,50px)/1.15 Oswald;text-transform:uppercase;color:var(--blue);margin:0}
.origin-quote span{display:block;margin-top:18px;font:700 12px Oswald;letter-spacing:2px;color:#687887}
.origin-copy>p{font-size:17px;line-height:1.82;margin:0 0 22px;color:#425565}
.story-milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffd22966;margin-top:45px}
.story-milestones article{background:var(--blue-deep);padding:34px}
.story-milestones span{font:700 12px Oswald;letter-spacing:2px;color:var(--yellow)}
.story-milestones h3{font:600 26px Oswald;text-transform:uppercase;margin:12px 0;color:#fff}
.story-milestones p{font-size:14px;line-height:1.65;color:#dbeaf6;margin:0}
.swedish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.swedish-grid article{border-top:5px solid var(--blue);padding-top:20px}
.swedish-grid b{font:700 54px Oswald;color:#fff;-webkit-text-stroke:1px var(--blue)}
.swedish-grid h3{font:600 28px Oswald;text-transform:uppercase;margin:4px 0 11px}
.swedish-grid p{line-height:1.7;margin:0;color:#29435c}

/* Reviews */
.reviews-page-hero{grid-template-columns:1.15fr .85fr}
.reviews-page-hero .page-hero-media img{object-position:center}
.review-stat{position:absolute;z-index:2;left:28px;bottom:28px;background:var(--yellow);color:var(--blue);padding:22px 24px}
.review-stat strong{display:block;font:700 48px/.9 Oswald}
.review-stat span{display:block;font:700 12px Oswald;letter-spacing:1.6px;margin-top:8px}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.reviews-grid article{background:#fff;border:1px solid #dce4ea;border-top:6px solid var(--yellow);padding:28px;min-height:300px;display:flex;flex-direction:column}
.reviews-grid article:nth-child(3n+2){border-top-color:var(--blue)}
.review-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e0e7ec;padding-bottom:14px}
.review-top b{font:600 19px Oswald;color:var(--blue);text-transform:uppercase}
.review-top span{font-size:12px;color:#71808d;white-space:nowrap}
.reviews-grid h3{font:600 25px Oswald;text-transform:uppercase;color:var(--blue);margin:19px 0 6px}
.reviews-grid .stars{color:#fbbc04;letter-spacing:3px}
.reviews-grid p{font-size:15px;line-height:1.65;color:#34495b;margin:18px 0 0}
.review-cta{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;max-width:1040px;margin:auto}
.review-cta h2{font-size:clamp(50px,7vw,90px);color:var(--yellow);margin:0}
.review-cta p{line-height:1.7;color:#dcebf7;max-width:600px}
.review-cta a{background:var(--yellow);color:var(--blue);padding:17px 22px;font-weight:700;white-space:nowrap}

/* Franchise */
.franchise-page-hero .page-hero-media img{object-position:center}
.franchise-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.franchise-pillars article{background:#fff;border:1px solid #dce4ea;padding:34px;min-height:260px}
.franchise-pillars span{font:700 40px Oswald;color:var(--yellow);-webkit-text-stroke:1px var(--blue)}
.franchise-pillars h3{font:600 27px Oswald;color:var(--blue);text-transform:uppercase;margin:20px 0 12px}
.franchise-pillars p{line-height:1.7;color:#526372;margin:0}
.franchise-enquiry{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:start}
.franchise-enquiry .page-heading{margin:0}
.franchise-enquiry form{background:#fff;color:var(--ink);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.franchise-enquiry label{font-weight:700;font-size:13px}
.franchise-enquiry label.wide{grid-column:1/-1}
.franchise-enquiry input,.franchise-enquiry textarea{display:block;width:100%;border:1px solid #cbd7e0;padding:13px;margin-top:7px;font:15px DM Sans}
.franchise-enquiry button{grid-column:1/-1;border:0;background:var(--yellow);color:var(--blue);padding:16px;font-weight:700;text-transform:uppercase}
.page-form-success{display:none;grid-column:1/-1;background:#e7f5ec;color:#195a35;padding:14px;font-weight:600}
.page-form-success.show{display:block}

/* Visit */
.visit-page-hero .page-hero-media img{object-position:center 52%}
.visit-page-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:start}
.visit-card{background:var(--yellow);padding:34px;color:var(--blue)}
.visit-card h3{font:600 30px Oswald;text-transform:uppercase;margin:0 0 20px}
.visit-card address{font-style:normal;font-size:17px;line-height:1.75}
.visit-card>a{display:block;width:max-content;margin-top:20px;border-bottom:2px solid var(--blue);font:700 17px Oswald}
.visit-card .open-status{margin-top:26px}
.visit-hours{margin-top:28px;background:#fff;padding:26px}
.visit-hours h3{font:600 24px Oswald;color:var(--blue);margin:0 0 14px}
.visit-hours div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dce4ea;padding:9px 0;font-size:14px}
.visit-hours div:last-child{border-bottom:0}
.visit-hours b{color:var(--blue)}
.visit-map{height:590px;background:#dce5eb}
.visit-map iframe{width:100%;height:100%;border:0;display:block}
.visit-connect{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff44;padding:1px}
.visit-connect>div{background:var(--blue-deep);padding:40px}
.visit-connect h3{font:600 30px Oswald;text-transform:uppercase;color:var(--yellow);margin:0 0 12px}
.visit-connect p{line-height:1.7;color:#dcebf7;margin:0}
.visit-connect .contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.visit-connect a,.visit-connect button{border:1px solid var(--yellow);background:transparent;color:var(--yellow);padding:13px 16px;font-weight:700}
.visit-connect a:hover,.visit-connect button:hover{background:var(--yellow);color:var(--blue)}

/* Shared modal adjustments on inner pages */
.subpage .overlay{z-index:80}
.subpage .cart{z-index:90}
.subpage .backdrop{z-index:85}
.subpage .continue-order{z-index:75}
.subpage footer{margin-top:0}
.subpage .empty a{display:block;width:max-content;margin:16px auto;border:0;background:var(--yellow);color:var(--blue);padding:10px 13px;font-weight:700}

@media(max-width:1050px){
  .page-hero{grid-template-columns:1fr .8fr}
  .page-hero-copy{padding:64px 5vw}
  .menu-toolbar{display:block}
  .menu-page-tabs{justify-content:flex-start;margin-top:28px}
  .franchise-enquiry{grid-template-columns:1fr}
}
@media(max-width:850px){
  body.subpage nav a.active:after{display:none}
  .page-hero{grid-template-columns:1fr;min-height:0}
  .page-hero-copy{padding:68px 24px}
  .page-hero h1{font-size:68px;letter-spacing:-2px}
  .page-hero-media{min-height:430px}
  .page-section{padding:72px 24px}
  .menu-page-grid,.reviews-grid{grid-template-columns:1fr}
  .menu-collection,.origin-grid,.visit-page-layout,.visit-connect{grid-template-columns:1fr}
  .origin-quote{position:static;margin-bottom:36px}
  .story-milestones,.swedish-grid,.franchise-pillars{grid-template-columns:1fr}
  .review-cta{grid-template-columns:1fr}
  .review-cta a{width:max-content}
  .visit-map{height:430px}
}
@media(max-width:620px){
  .page-hero-copy{padding:56px 20px}
  .page-hero h1{font-size:57px}
  .page-hero p,.page-heading p{font-size:16px}
  .page-hero-media{min-height:350px}
  .page-hero-actions{flex-direction:column;align-items:stretch}
  .page-hero-actions a,.page-hero-actions button{text-align:center}
  .page-heading h2{font-size:48px}
  .page-section{padding:60px 20px}
  .menu-page-tabs{display:grid;grid-template-columns:1fr 1fr}
  .menu-page-tabs button{font-size:12px;padding:11px 8px}
  .menu-page-grid .menu-item{min-height:0;padding:19px}
  .menu-collection>div{padding:30px 22px}
  .menu-collection .delivery-links{grid-template-columns:1fr}
  .story-milestones article,.franchise-pillars article{padding:28px}
  .reviews-grid article{padding:23px;min-height:0}
  .review-top{flex-direction:column;gap:4px}
  .review-cta a{width:100%;text-align:center}
  .franchise-enquiry form{grid-template-columns:1fr;padding:24px 20px}
  .franchise-enquiry label,.franchise-enquiry label.wide{grid-column:1}
  .visit-map{height:350px}
  .visit-connect>div{padding:30px 22px}
}

/* V3.3 — compact interior pages and focused ordering */
.page-hero{min-height:420px;grid-template-columns:minmax(0,1fr) minmax(360px,.88fr)}
.page-hero-copy{padding:46px 6vw}
.page-hero-copy:before{width:62px;height:6px;margin-bottom:18px}
.page-hero h1{font-size:clamp(52px,6.2vw,82px);line-height:.89;letter-spacing:-2px;margin:12px 0 18px}
.page-hero p{font-size:16px;line-height:1.6;max-width:590px}
.page-hero-actions{margin-top:22px}
.page-hero-actions a,.page-hero-actions button{padding:13px 18px}
.page-hero-media{min-height:420px}
.page-hero-note{right:22px;bottom:22px}
.menu-page-hero .page-hero-media img{object-position:center 52%}
.story-page-hero .page-hero-media img{object-position:center}
.franchise-page-hero .page-hero-media img{object-position:center 48%}
.reviews-page-hero .page-hero-media img{object-position:center 50%}
.halal-mark{display:flex;align-items:center;gap:10px;width:max-content;margin-top:18px;color:#fff;font:700 13px Oswald;letter-spacing:1.3px}
.halal-mark span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#148447;color:#fff;font:700 18px DM Sans}
.halal-mark b{background:#148447;padding:7px 11px}

.menu-explorer{padding-top:64px}
.menu-toolbar{display:block;margin-bottom:28px}
.menu-toolbar .page-heading{margin:0 0 24px}
.menu-toolbar .page-heading h2{margin-bottom:0}
.menu-page-tabs{justify-content:flex-start}
.menu-page-grid .menu-item{background:#fff;color:var(--ink);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.menu-page-grid .menu-item:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px)}
.menu-page-grid .menu-item:hover h3,.menu-page-grid .menu-item:hover p{color:#fff}
.menu-page-grid .menu-item:hover b{color:var(--yellow)}
.menu-page-grid .menu-item:hover button{background:var(--yellow);color:var(--blue)}
.menu-collection{grid-template-columns:1fr 1fr}
.menu-collection>div{min-height:340px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.menu-collection .section-actions{margin-top:20px}
.menu-collection .section-actions button{background:var(--yellow);color:var(--blue)}

.subpage .customise{width:min(560px,92vw);padding:36px 38px}
.subpage .customise .close{right:13px;top:12px;width:32px;height:32px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:23px;line-height:1}
.subpage .customise h2{font-size:38px;margin:10px 34px 12px 0}
.subpage .customise>p{font-size:14px;line-height:1.55;margin-bottom:12px}
.subpage .option-group{padding:14px 0}
.subpage .special-note{margin-bottom:16px}

.origin-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:6vw}
.origin-photo{height:600px;background:var(--blue-deep);overflow:hidden}
.origin-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%}
.origin-copy .page-heading{margin-bottom:28px}

.review-stat{padding:17px 19px;right:auto;left:22px;bottom:22px}
.review-stat strong{font-size:40px}
.press-feature{display:grid;grid-template-columns:.9fr 1.1fr;max-width:1120px;margin:38px auto 0;background:var(--blue);color:#fff;overflow:hidden}
.press-image{position:relative;min-height:420px;background:var(--blue-deep)}
.press-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.press-image small{position:absolute;left:16px;bottom:14px;background:#003f78dd;color:#fff;padding:7px 9px;font-size:10px}
.press-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}
.press-copy>span{font:700 12px Oswald;letter-spacing:2px;color:var(--yellow)}
.press-copy h3{font:600 clamp(30px,3.4vw,49px)/1.08 Oswald;text-transform:uppercase;margin:16px 0 22px}
.press-copy blockquote{font:500 18px/1.55 DM Sans;border-left:4px solid var(--yellow);padding-left:18px;margin:0 0 20px;color:#e7f1f9}
.press-copy p{font-size:13px;color:#c8dcec;margin:0 0 24px}
.press-copy a{display:inline-block;width:max-content;background:var(--yellow);color:var(--blue);padding:14px 18px;font-weight:700}
.review-leave{text-align:center}
.review-leave .review-cta{display:block;max-width:920px}
.review-leave .review-cta h2{margin:10px 0 18px}
.review-leave .review-cta p{margin:0 auto 28px}
.review-leave .review-cta>a{display:inline-block}

.keep-in-touch{text-align:center}
.keep-in-touch>div{max-width:900px;margin:auto}
.keep-in-touch h2{color:var(--yellow);font-size:clamp(50px,6vw,82px);margin:14px 0 18px}
.keep-in-touch p{max-width:650px;margin:0 auto;color:#dcebf7;line-height:1.7}
.keep-in-touch .contact-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.keep-in-touch .contact-links a{border:1px solid var(--yellow);color:var(--yellow);padding:14px 18px;font-weight:700}
.keep-in-touch .contact-links a:hover{background:var(--yellow);color:var(--blue)}

@media(max-width:1000px){
  .page-hero{grid-template-columns:1fr .8fr}
  .page-hero h1{font-size:58px}
  .page-hero-copy{padding:42px 4vw}
  .press-feature{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .page-hero{grid-template-columns:1fr;min-height:0}
  .page-hero-copy{padding:52px 24px}
  .page-hero h1{font-size:58px}
  .page-hero-media{min-height:330px}
  .menu-collection{grid-template-columns:1fr}
  .menu-collection>div{min-height:0;padding:38px 30px}
  .origin-grid{grid-template-columns:1fr;gap:38px}
  .origin-photo{height:620px}
  .press-feature{grid-template-columns:1fr}
  .press-image{min-height:360px}
}
@media(max-width:620px){
  .page-hero-copy{padding:46px 20px}
  .page-hero h1{font-size:50px}
  .page-hero-media{min-height:290px}
  .menu-page-tabs{grid-template-columns:1fr 1fr 1fr}
  .subpage .customise{padding:32px 20px}
  .subpage .customise h2{font-size:34px}
  .origin-photo{height:480px}
  .press-image{min-height:290px}
  .press-copy{padding:30px 23px}
  .press-copy h3{font-size:32px}
  .review-leave .review-cta>a{width:100%}
  .keep-in-touch .contact-links{display:grid}
}
