/* Majik Gift – MBS Sydney landing. Scoped to .mg-page */
.mg-page{--mg-bg:#100624;--mg-fg:#f0ecfa;--mg-card:#1c0d38;--mg-gold:#f0ba59;--mg-gold-fg:#140a29;--mg-pink:#e545ad;--mg-muted:#25193f;--mg-muted-fg:#b2a7ca;--mg-border:rgba(240,186,89,.25);
--mg-cosmic:radial-gradient(ellipse at top,#520283 0%,#100624 60%);--mg-g1:#fdd990;--mg-g2:#e69c3a;--mg-gold-grad:linear-gradient(135deg,var(--mg-g1),var(--mg-g2));--mg-glow:0 0 60px -10px rgba(168,76,223,.6);
background:var(--mg-bg);color:var(--mg-fg);font-family:Inter,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-align:left}
.mg-page.mg-fullbleed{width:100vw;position:relative;left:50%;margin-left:-50vw;max-width:100vw}
.mg-page *,.mg-page *::before,.mg-page *::after{box-sizing:border-box}
.mg-page h1,.mg-page h2,.mg-page h3,.mg-page p{margin:0;padding:0;letter-spacing:normal;text-transform:none}
.mg-page img{max-width:100%;height:auto;display:block}
.mg-page a{text-decoration:none}
.mg-page section{position:relative}
.mg-page .mg-cosmic{position:relative;background-image:var(--mg-cosmic);overflow:hidden}
.mg-stars{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}
.mg-star{position:absolute;width:4px;height:4px;border-radius:9999px;background:var(--mg-gold);animation:mg-twinkle 3s ease-in-out infinite}
@keyframes mg-twinkle{0%,100%{opacity:.2}50%{opacity:1}}
.mg-z{position:relative;z-index:1}
.mg-wrap{width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.mg-wrap.mg-wrap-5{max-width:64rem}
.mg-grid-2{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.mg-hero{padding:80px 0}
.mg-sec{padding:80px 0}
.mg-page .mg-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--mg-border);border-radius:9999px;padding:4px 16px;font-size:14px;line-height:20px;color:var(--mg-muted-fg);margin-bottom:16px}
.mg-badge svg{color:var(--mg-gold)}
.mg-page .mg-h1{font-family:Karla,sans-serif;font-weight:700;font-size:48px;line-height:1.25;color:var(--mg-fg)}
.mg-page .mg-h2{font-family:Karla,sans-serif;font-weight:700;font-size:36px;line-height:1.111;color:var(--mg-fg)}
.mg-page .mg-h3{font-family:Karla,sans-serif;font-weight:700;font-size:24px;line-height:1.333;color:var(--mg-fg)}
.mg-gold{background-image:var(--mg-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.mg-it{font-style:italic}
.mg-page .mg-lead{font-size:18px;line-height:28px;color:var(--mg-muted-fg);max-width:28rem;margin-top:24px}
.mg-page .mg-sub{color:var(--mg-muted-fg);font-size:16px;line-height:24px;margin-top:16px}
.mg-center{text-align:center}
.mg-center .mg-sub{max-width:36rem;margin-left:auto;margin-right:auto}
.mg-chips{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}
.mg-chip{display:flex;align-items:center;gap:8px;background:var(--mg-card);border-radius:12px;padding:12px 16px;font-size:16px;line-height:24px;color:var(--mg-fg)}
.mg-chip svg{color:var(--mg-gold);flex:none}
.mg-page a.mg-btn{display:inline-block;margin-top:32px;background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-radius:9999px;padding:12px 32px;font-family:Inter,sans-serif;font-weight:600;font-size:16px;line-height:24px;box-shadow:var(--mg-glow);transition:transform .15s}
.mg-page a.mg-btn:hover{transform:scale(1.05);color:var(--mg-gold-fg)}
.mg-page .mg-img{border-radius:16px;width:100%}
.mg-page .mg-glow{box-shadow:var(--mg-glow)}
.mg-page .mg-hero-img{max-width:24rem;margin-left:auto;margin-right:auto}
.mg-page .mg-find-img{margin-top:40px}
.mg-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.mg-pill{border:1px solid var(--mg-border);background:var(--mg-muted);border-radius:9999px;padding:4px 12px;font-size:14px;line-height:20px;color:var(--mg-fg)}
.mg-page .mg-tag{font-family:Karla,sans-serif;font-style:italic;font-size:24px;line-height:32px;color:var(--mg-gold);margin-top:24px}
.mg-page .mg-closing{font-family:Karla,sans-serif;font-style:italic;font-size:24px;line-height:32px;color:var(--mg-fg);margin-top:40px}
.mg-cards-4{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
.mg-reader{border:1px solid var(--mg-border);background:rgba(28,13,56,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;padding:32px;text-align:center;transition:transform .15s}
.mg-reader:hover{transform:translateY(-4px)}
.mg-avatar{width:64px;height:64px;margin:0 auto 16px;border-radius:9999px;background-image:var(--mg-gold-grad);display:flex;align-items:center;justify-content:center;font-family:Karla,sans-serif;font-weight:700;font-size:24px;line-height:32px;color:var(--mg-gold-fg)}
.mg-page .mg-role{font-size:14px;line-height:20px;text-transform:uppercase;letter-spacing:.1em;color:var(--mg-pink)}
.mg-cards-3{display:grid;grid-template-columns:1fr;gap:24px}
.mg-feature{border:1px solid var(--mg-border);background:var(--mg-card);border-radius:16px;padding:32px}
.mg-ico{display:block;color:var(--mg-gold);line-height:0}
.mg-feature .mg-h3{margin-top:16px}
.mg-page .mg-fp{color:var(--mg-muted-fg);font-size:16px;line-height:24px;margin-top:8px}
.mg-gallery{display:grid;grid-template-columns:1fr;gap:24px;margin-top:48px}
.mg-footer{border-top:1px solid var(--mg-border);padding:32px 0;text-align:center;font-size:14px;line-height:20px;color:var(--mg-muted-fg)}
@media(min-width:640px){.mg-cards-4{grid-template-columns:repeat(2,1fr)}.mg-gallery{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){
.mg-hero{padding:112px 0}
.mg-grid-2{grid-template-columns:1fr 1fr}
.mg-page .mg-h1{font-size:72px}
.mg-page .mg-h2{font-size:48px;line-height:1}
.mg-cards-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.mg-cards-4{grid-template-columns:repeat(4,1fr)}}
/* 100vw includes the scrollbar -> prevent sideways scroll on full-bleed pages */
body:has(.mg-fullbleed){overflow-x:hidden;overflow-x:clip}
html:has(.mg-page){scroll-behavior:smooth}

/* ---- v1.1: icons, avatar photos, links, widget helpers ---- */
.mg-i{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:none;color:var(--mg-gold)}
.mg-i svg:not(.mg-lucide){fill:currentColor}
.mg-badge .mg-i svg{width:16px;height:16px}.mg-badge .mg-i i{font-size:16px;line-height:1}
.mg-chip .mg-i svg{width:20px;height:20px}.mg-chip .mg-i i{font-size:20px;line-height:1}
.mg-ico svg{width:32px;height:32px}.mg-ico i{font-size:32px;line-height:1}
.mg-page a.mg-reader{display:block;color:inherit}
.mg-avatar.mg-avatar-img{overflow:hidden;background-image:none}
.mg-page .mg-avatar .mg-avatar-pic{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;display:block}
.mg-page .mg-lead p,.mg-page .mg-sub p,.mg-page .mg-fp p{margin:0 0 .75em}
.mg-page .mg-lead p:last-child,.mg-page .mg-sub p:last-child,.mg-page .mg-fp p:last-child{margin-bottom:0}
.mg-single .mg-footer{width:100%}
.mg-page .mg-gallery-img{width:100%}
@media(max-width:767px){.mg-chips{gap:12px}}
.mg-page .mg-gold{background-image:linear-gradient(135deg,var(--mg-g1),var(--mg-g2))}

/* ---- v1.2: reader day chips + buttons, booking calendar & form ---- */
.mg-page [hidden]{display:none!important}
.mg-dchips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.mg-page a.mg-dchip{display:inline-block;border:1px solid var(--mg-border);background:var(--mg-muted);color:var(--mg-fg);border-radius:9999px;padding:4px 12px;font-size:13px;line-height:20px;font-weight:600;transition:background .15s,color .15s,border-color .15s}
.mg-page a.mg-dchip:hover{background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-color:transparent}
.mg-page a.mg-rbtn{display:inline-block;margin-top:20px;background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-radius:9999px;padding:10px 24px;font-weight:600;font-size:14px;line-height:20px;transition:transform .15s}
.mg-page a.mg-rbtn:hover{transform:scale(1.05);color:var(--mg-gold-fg)}
.mg-page .mg-daily-text a.mg-btn{margin-top:28px}

.mg-book .mg-wrap+.mg-wrap{margin-top:48px}
.mg-page .mg-book-h{font-family:Karla,sans-serif;font-weight:700;font-size:24px;line-height:32px;color:var(--mg-fg);text-align:center;margin-bottom:24px}
.mg-cal{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:48px}
.mg-day{border:1px solid var(--mg-border);background:var(--mg-card);border-radius:16px;padding:20px;text-align:center}
.mg-day-head{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--mg-fg)}
.mg-day-dow{font-size:14px;line-height:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--mg-pink);font-weight:600}
.mg-day-num{font-family:Karla,sans-serif;font-weight:700;font-size:36px;line-height:40px;background-image:var(--mg-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.mg-day-mon{font-size:14px;line-height:20px;color:var(--mg-muted-fg)}
.mg-day-hours{margin-top:4px;font-size:13px;line-height:20px;color:var(--mg-muted-fg)}
.mg-day-readers{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.mg-page a.mg-day-reader{display:block;border:1px solid var(--mg-border);background:var(--mg-muted);color:var(--mg-fg);border-radius:12px;padding:8px 12px;font-size:14px;line-height:20px;font-weight:500;transition:background .15s,color .15s,border-color .15s}
.mg-page a.mg-day-reader:hover{background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-color:transparent}

.mg-panel{max-width:46rem;margin:0 auto;border:1px solid var(--mg-border);background:var(--mg-card);border-radius:20px;padding:24px;box-shadow:var(--mg-glow)}
.mg-step+.mg-step{margin-top:28px}
.mg-page .mg-step-h{display:flex;align-items:center;gap:12px;font-family:Karla,sans-serif;font-weight:700;font-size:20px;line-height:28px;color:var(--mg-fg);margin-bottom:14px}
.mg-step-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:9999px;background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);font-family:Inter,sans-serif;font-size:14px;font-weight:700}
.mg-opts{display:flex;flex-wrap:wrap;gap:10px}
.mg-page button.mg-opt{appearance:none;-webkit-appearance:none;cursor:pointer;border:1px solid var(--mg-border);background:var(--mg-muted);color:var(--mg-fg);border-radius:12px;padding:10px 16px;font-family:Inter,sans-serif;font-size:15px;line-height:22px;font-weight:600;text-align:center;transition:background .15s,color .15s,border-color .15s,transform .15s}
.mg-page button.mg-opt:hover:not(:disabled){border-color:var(--mg-gold)}
.mg-page button.mg-opt.is-active{background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-color:transparent}
.mg-page button.mg-opt.is-taken,.mg-page button.mg-opt:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.mg-opt-main{display:block}
.mg-opt-sub{display:block;font-size:12px;line-height:16px;font-weight:500;opacity:.8}
.mg-pick-day .mg-opt,.mg-pick-reader .mg-opt{min-width:112px}
.mg-note{font-size:14px;line-height:22px;color:var(--mg-muted-fg)}
.mg-page .mg-summary{font-weight:600;color:var(--mg-gold);margin-bottom:14px;font-size:16px;line-height:24px}
.mg-fields{display:grid;grid-template-columns:1fr;gap:12px}
.mg-page .mg-input{width:100%;box-sizing:border-box;border:1px solid var(--mg-border);background:var(--mg-muted);color:var(--mg-fg);border-radius:12px;padding:12px 14px;font-family:Inter,sans-serif;font-size:16px;line-height:24px;outline:0;box-shadow:none}
.mg-page .mg-input::placeholder{color:var(--mg-muted-fg);opacity:.8}
.mg-page .mg-input:focus{border-color:var(--mg-gold)}
.mg-page .mg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.mg-page button.mg-submit{appearance:none;-webkit-appearance:none;cursor:pointer;margin-top:18px;width:100%;border:0;background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);border-radius:9999px;padding:14px 32px;font-family:Inter,sans-serif;font-weight:700;font-size:16px;line-height:24px;box-shadow:var(--mg-glow);transition:transform .15s}
.mg-page button.mg-submit:hover:not(:disabled){transform:scale(1.02)}
.mg-page button.mg-submit:disabled{opacity:.6;cursor:wait}
.mg-msg{margin-top:14px;font-size:15px;line-height:22px}
.mg-msg.is-error{color:#ff9db4}
.mg-msg.is-info{color:var(--mg-muted-fg)}
.mg-success{text-align:center;padding:12px 0}
.mg-tick{width:64px;height:64px;margin:0 auto 16px;border-radius:9999px;background-image:var(--mg-gold-grad);color:var(--mg-gold-fg);display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700}
.mg-page .mg-success-msg{font-family:Karla,sans-serif;font-size:22px;line-height:30px;color:var(--mg-fg)}
.mg-page .mg-success-sum{margin-top:12px;font-weight:600;color:var(--mg-gold)}
.mg-success .mg-again{margin-top:20px}
@media(min-width:640px){.mg-cal{grid-template-columns:repeat(2,1fr)}.mg-fields{grid-template-columns:1fr 1fr}.mg-fields .mg-wide{grid-column:1/-1}.mg-panel{padding:36px}}
@media(min-width:1024px){.mg-cal{grid-template-columns:repeat(4,1fr)}}

/* ---- v1.3: booking via external embed / URL ---- */
.mg-page .mg-book-top .mg-cal{margin-bottom:0}
.mg-page .mg-book-top.mg-pb0{padding-bottom:0}
.mg-page .mg-book-box.mg-pt0{padding-top:48px}
.mg-page .mg-book-embed .mg-wrap+.mg-wrap{margin-top:48px}
.mg-page .mg-embed{max-width:64rem;margin:0 auto;scroll-margin-top:24px}
.mg-embed .mg-step-h{margin-bottom:20px}
.mg-embed-frame{display:block;width:100%;height:800px;border:0;border-radius:16px;background:#fff}
.mg-embed-code{color:var(--mg-fg);max-width:100%;overflow-x:auto}
.mg-embed-code iframe{max-width:100%;border:0}

/* hero: 50% / 50% on desktop, image never cropped (natural aspect ratio) */
@media(min-width:1025px){
.mg-hero .mg-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.mg-page .mg-hero-img{max-width:100%;margin:0;width:100%;height:auto;object-fit:contain}
}

/* ---- v1.4: responsive (tablet + mobile) ----
   !important beats desktop values that Elementor's responsive controls cascade down to smaller screens. */
@media(max-width:1024px){
.mg-page .mg-grid-2{grid-template-columns:minmax(0,1fr)!important;gap:40px;align-items:start!important}
.mg-page .mg-hero-text,.mg-page .mg-daily-text{order:1;text-align:left}
.mg-page .mg-hero-img,.mg-page .mg-daily-img{order:2;width:100%;max-width:32rem;margin-left:auto;margin-right:auto;height:auto}
.mg-page .mg-h1{font-size:56px}
.mg-page .mg-h2{font-size:40px;line-height:1.1}
.mg-page .mg-lead{max-width:none}
.mg-page .mg-cards-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mg-page .mg-cal{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mg-page .mg-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.mg-page .mg-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:767px){
.mg-page .mg-wrap{padding-left:15px!important;padding-right:15px!important}
.mg-page .mg-footer{padding-left:15px;padding-right:15px}
.mg-page .mg-hero,.mg-page .mg-sec{padding-top:56px;padding-bottom:56px}
.mg-page .mg-grid-2{gap:32px}
.mg-page .mg-h1{font-size:38px;line-height:1.2}
.mg-page .mg-h2{font-size:30px;line-height:1.15}
.mg-page .mg-h3{font-size:22px}
.mg-page .mg-lead{font-size:16px;line-height:26px;margin-top:16px}
.mg-page .mg-tag,.mg-page .mg-closing{font-size:20px;line-height:28px}
.mg-page .mg-chips{margin-top:24px}
.mg-page .mg-chip{width:100%}
.mg-page a.mg-btn{margin-top:24px}
.mg-page .mg-hero-img,.mg-page .mg-daily-img{max-width:100%}
.mg-page .mg-cards-4,.mg-page .mg-cards-3,.mg-page .mg-gallery{grid-template-columns:minmax(0,1fr)!important;gap:16px}
.mg-page .mg-cards-4{margin-top:32px}
.mg-page .mg-reader,.mg-page .mg-feature{padding:24px 20px}
.mg-page .mg-cal{grid-template-columns:minmax(0,1fr)!important;margin-bottom:32px}
.mg-page .mg-book-h{font-size:20px;line-height:28px}
.mg-page .mg-embed-frame{height:700px}
}
