/* V31 unified bento dashboard — design language based on the supplied LSM mockup. */
:root{--v31-navy:#0b1646;--v31-blue:#0759c9;--v31-purple:#5b2bed;--v31-yellow:#ffc83d;--v31-ink:#111a3f;--v31-green:#059a61}
body[data-lsm-view="home"] .lsm8-hero{display:none!important}
body:not([data-lsm-view="beauty"]) #hair-booking{display:none!important}
body[data-lsm-view="home"] .lsm30-board{display:grid!important}
.lsm8-header{background:linear-gradient(100deg,rgba(9,19,66,.97),rgba(35,23,113,.96))!important;backdrop-filter:blur(18px)}
.lsm8-nav a.is-current,.lsm9-tabs a.is-current{background:linear-gradient(120deg,#6232f3,#7a28fb)!important;color:#fff!important;border-radius:999px}
.lsm30-board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;width:min(1500px,100%);margin:0 auto;padding:14px clamp(10px,1.2vw,18px) 28px;color:var(--v31-ink);font-family:inherit}
.lsm30-board>section{position:relative;min-width:0;overflow:hidden;padding:clamp(14px,1.5vw,20px);border:1px solid rgba(255,255,255,.68);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(6,13,59,.2);backdrop-filter:blur(12px)}
.lsm30-board h2{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0 0 12px;color:inherit;font-size:clamp(15px,1.45vw,19px);line-height:1.2}
.lsm30-board h2 a{color:#7b75d9;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}
.lsm30-board a,.lsm30-board button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.b30-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border:0;border-radius:12px;background:linear-gradient(110deg,#ffcf3d,#ffb51a);color:#17152b!important;font-size:14px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(215,145,11,.22)}
.b30-btn.pur{background:linear-gradient(120deg,#5a35ed,#7b28f4);color:#fff!important}.b30-btn.wa{background:#0abf65;color:#fff!important}.b30-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.45);border-radius:12px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;background:rgba(255,255,255,.12)}
.b30-hero{grid-column:span 7;min-height:290px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;background:linear-gradient(96deg,rgba(7,18,68,.96) 0%,rgba(8,30,83,.88) 42%,rgba(9,38,92,.28) 100%),url('/assets/visuals/hero-shopping.webp') right center/cover!important}
.b30-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:#ffdc72;font-size:9px;font-weight:950;letter-spacing:.16em}
.b30-hero h1{position:relative;z-index:1;margin:0 0 9px;font-size:clamp(30px,4vw,51px);line-height:1.02;letter-spacing:-.035em}.b30-hero h1 em{color:var(--v31-yellow);font-style:normal}.b30-hero p{position:relative;z-index:1;max-width:400px;margin:0 0 16px;color:rgba(255,255,255,.9);font-size:clamp(14px,1.4vw,18px);line-height:1.45}
.b30-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.b30-hero-points{display:flex;gap:15px;flex-wrap:wrap;margin-top:17px;color:#eff5ff;font-size:10px;font-weight:750}.b30-hero-points span:first-letter{color:#35de8c}
.b30-hero-device{position:absolute;right:5%;top:50%;width:148px;height:226px;transform:translateY(-50%) rotate(2deg);padding:8px;border:4px solid #111d36;border-radius:27px;background:#f8fbff;box-shadow:0 15px 38px rgba(0,0,0,.42),inset 0 0 0 1px #fff;color:#142047;display:flex;flex-direction:column;gap:8px}
.b30-device-top{display:flex;align-items:center;justify-content:space-between;font-size:8px}.b30-device-top i{width:5px;height:5px;border-radius:50%;background:#18254b}.b30-device-food{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:88px;padding:9px;border-radius:12px;background:linear-gradient(140deg,rgba(8,23,65,.2),rgba(9,20,48,.82)),url('/assets/lsm-sri-lanka-cinematic-poster.webp') center/cover;color:#fff}.b30-device-food small{color:#ffde7a;font-size:7px;font-weight:900}.b30-device-food b{font-size:14px;line-height:1.05}.b30-device-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.b30-device-grid span{display:grid;justify-items:center;gap:2px;padding:7px 3px;border-radius:9px;background:#edf0ff;font-size:19px}.b30-device-grid small{font-size:8px;font-weight:800}
.b30-services{grid-column:span 5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:8px;background:rgba(255,255,255,.97)!important}
.b30-services a{display:flex;min-width:0;min-height:104px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 5px;border:1px solid #edf0fa;border-radius:15px;background:linear-gradient(160deg,#fff,#f0f2ff);color:var(--v31-ink);text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.b30-services a:nth-child(3n+2){background:linear-gradient(160deg,#fff,#fff0f4)}.b30-services a:nth-child(3n){background:linear-gradient(160deg,#fff,#eaf6ff)}.b30-services a:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(31,46,110,.13)}.b30-services a>span{font-size:clamp(23px,2.2vw,31px);line-height:1.1}.b30-services a>.b30-service-photo{display:grid;place-items:center;width:58px;height:48px;overflow:hidden;border-radius:12px;background:#eef1ff;box-shadow:0 5px 14px rgba(13,32,98,.12)}.b30-services a>.b30-service-photo img{width:100%;height:100%;object-fit:cover;display:block}.b30-services a>.b30-service-emoji{font-size:28px;background:linear-gradient(145deg,#fff,#eaf0ff)}.b30-services a>b{font-size:clamp(9px,.9vw,12px);line-height:1.2}.b30-services a>small{color:#707b9c;font-size:8px;line-height:1.2}
.b30-cats{grid-column:span 7}.b30-cat-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;scrollbar-width:thin}.b30-cat-row a{display:flex;flex:0 0 80px;flex-direction:column;align-items:center;gap:6px;scroll-snap-align:start;color:var(--v31-ink);text-align:center;text-decoration:none}.b30-cat-row img{width:66px;height:66px;border-radius:50%;object-fit:cover;background:#eef1ff;box-shadow:0 4px 15px rgba(39,51,114,.1)}.b30-cat-row b{font-size:10px;line-height:1.2}
.b30-food{grid-column:span 5;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;background:linear-gradient(120deg,#e9252c,#be0b46 58%,#61118f)!important}.b30-food>div:first-child{position:relative;z-index:1;max-width:70%}.b30-chip{display:inline-flex;margin-bottom:9px;padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.17);font-size:8px;font-weight:950;letter-spacing:.1em}.b30-food h2{display:block;margin:0 0 7px;font-size:clamp(20px,2.2vw,29px);line-height:1.08}.b30-food h2 em{color:#ffdf7c;font-style:normal}.b30-food p{margin:0 0 13px;color:rgba(255,255,255,.83);font-size:11px;line-height:1.45}.b30-food-visual{position:relative;z-index:1;flex:0 0 min(39%,250px);height:clamp(95px,11vw,150px);overflow:hidden;border:1px solid #ffffff55;border-radius:17px;box-shadow:0 15px 25px #400b3c55;transform:rotate(2deg)}.b30-food-visual img{width:100%;height:100%;object-fit:cover;display:block}.b30-food-graphic{display:none}
.b30-ride{grid-column:span 7;color:#fff;background:linear-gradient(130deg,#0569dc,#132eaa 53%,#5220ad)!important}.b30-card-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.b30-card-title>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:rgba(255,255,255,.16);font-size:24px}.b30-card-title h2{display:block;margin:0 0 3px}.b30-card-title small{color:rgba(255,255,255,.72);font-size:10px}.b30-ride p{max-width:530px;color:rgba(255,255,255,.86);font-size:12px;line-height:1.55}.b30-ride ul{display:flex;gap:14px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 15px}.b30-ride li{font-size:10px;font-weight:750}.b30-ride li:before{content:'✓ ';color:#59f19b;font-weight:950}.b30-ride-visual{position:absolute;right:16px;bottom:16px;width:min(34%,240px);height:116px;overflow:hidden;border:1px solid #ffffff55;border-radius:16px;box-shadow:0 13px 24px #08124c70;transform:rotate(2deg)}.b30-ride-visual img{display:block;width:100%;height:100%;object-fit:cover}.b30-ride>p,.b30-ride>ul,.b30-ride>.b30-btn{position:relative;z-index:1;max-width:65%}
.b30-track{grid-column:span 5;color:#fff;background:linear-gradient(145deg,#5725d4,#261078)!important}.b30-track .b30-card-title>span{background:#ffffff20}.b30-track-steps{display:flex;gap:8px;margin:16px 0}.b30-track-steps span{display:flex;flex:1;align-items:center;gap:6px;min-width:0;font-size:9px}.b30-track-steps i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#1bd17a;color:#082b5a;font-style:normal;font-weight:950}.b30-track p{margin:0 0 8px;color:#ffffffbd;font-size:10px;line-height:1.4}.b30-track>a{color:#ffdf7c;font-size:10px;font-weight:850;text-decoration:none}
.b30-feat{grid-column:span 8}.b30-feat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.b30-p{display:flex;min-width:0;flex-direction:column;gap:6px;padding:10px;border:1px solid #e4e8f6;border-radius:15px;background:#fff;box-shadow:0 5px 15px rgba(14,34,90,.06)}.b30-p .im{display:grid;height:96px;place-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(145deg,#f2f5ff,#fafbff);font-size:38px}.b30-p img{max-width:100%;max-height:96px;object-fit:contain}.b30-p>b{overflow:hidden;color:var(--v31-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.b30-p .pr{color:#141a48;font-size:11px;font-weight:900}.b30-p s{margin-right:4px;color:#929bb4;font-weight:500}.b30-p .b30-btn{min-height:34px;padding:0 8px;border-radius:9px;font-size:10px}
.b30-seller{grid-column:span 4}.b30-seller button.row{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:8px 4px;border:0;border-bottom:1px solid #eceefa;background:transparent;color:var(--v31-ink);font-size:12px;font-weight:750;text-align:left;cursor:pointer}.b30-seller button.row b{color:#7167d9;font-size:20px}
.b30-wa{grid-column:span 4;display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:linear-gradient(150deg,#e9fff3,#fff)!important}.b30-wa h2{color:#08754b}.b30-wa p{margin:0;color:#315945;font-size:12px}.b30-wa small,.b30-pay small{color:#697695;font-size:9px;line-height:1.4}.b30-pay{grid-column:span 4;color:#fff;background:linear-gradient(150deg,#0b1646,#112b70)!important}.b30-pay p{margin:0 0 10px;color:#d8e1ff;font-size:11px}.b30-pay>div{display:flex;gap:7px;flex-wrap:wrap}.b30-pay>div span{padding:8px 9px;border:1px solid #ffffff30;border-radius:10px;background:#ffffff12;font-size:10px}.b30-pay small{display:block;margin-top:10px;color:#ffffffa8}
body[data-lsm-view="vehicle-hire"] .lsm8-hero,body[data-lsm-view="vehicle-hire"] .lsm8-benefits,body[data-lsm-view="vehicle-hire"] .reference-categories,body[data-lsm-view="vehicle-hire"] .lsm8-deals,body[data-lsm-view="vehicle-hire"] .reference-best-sellers,body[data-lsm-view="vehicle-hire"] #hair-booking,body[data-lsm-view="vehicle-hire"] #property-hire,body[data-lsm-view="vehicle-hire"] .lsm8-seller,body[data-lsm-view="vehicle-hire"] .lsm8-install{display:none!important}
body[data-lsm-view="vehicle-hire"] #vehicle-hire{display:block!important;margin-top:22px!important}
@media(max-width:1100px){.lsm30-board{grid-template-columns:repeat(6,minmax(0,1fr))}.lsm30-board>section{grid-column:span 3}.b30-hero,.b30-services,.b30-cats,.b30-food,.b30-ride,.b30-track{grid-column:span 3}.b30-hero-device{right:4%;width:118px;height:190px}.b30-device-food{min-height:67px}.b30-services{grid-template-columns:repeat(2,minmax(0,1fr))}.b30-services a{min-height:90px}}
@media(max-width:680px){.lsm30-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px 9px 22px}.lsm30-board>section{grid-column:span 2!important;padding:13px;border-radius:17px}.b30-hero{min-height:232px;padding:18px!important}.b30-hero h1{max-width:75%;font-size:clamp(29px,8vw,39px)}.b30-hero p{max-width:72%;font-size:12px}.b30-eyebrow{font-size:7px}.b30-hero-device{right:8px;top:52%;width:94px;height:158px;padding:6px;border-width:3px;border-radius:19px}.b30-device-top{font-size:6px}.b30-device-food{min-height:52px;padding:6px}.b30-device-food b{font-size:10px}.b30-device-grid{gap:4px}.b30-device-grid span{padding:5px 2px;font-size:14px}.b30-device-grid small{font-size:6px}.b30-hero-actions{gap:7px}.b30-btn{min-height:39px;padding:0 12px;font-size:11px}.b30-ghost{min-height:38px;padding:0 10px;font-size:10px}.b30-hero-points{max-width:78%;gap:7px 10px;font-size:8px}.b30-services{grid-column:span 2!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px!important}.b30-services a{min-height:75px;padding:7px 2px;border-radius:11px}.b30-services a>span{font-size:21px}.b30-services a>b{font-size:8px}.b30-services a>small{font-size:6px}.b30-cats,.b30-food{grid-column:span 2!important}.b30-cat-row a{flex-basis:70px}.b30-cat-row img{width:56px;height:56px}.b30-cat-row b{font-size:9px}.b30-food{min-height:170px}.b30-food>div:first-child{max-width:73%}.b30-food h2{font-size:22px}.b30-food p{font-size:9px}.b30-food-visual{flex-basis:35%;height:104px}.b30-ride-visual{right:12px;bottom:12px;width:36%;height:86px}.b30-ride>p,.b30-ride>ul,.b30-ride>.b30-btn{max-width:63%}.b30-ride,.b30-track{grid-column:span 2!important}.b30-ride p{font-size:10px}.b30-ride ul{gap:7px}.b30-ride li{font-size:8px}.b30-track-steps{gap:4px}.b30-track-steps span{font-size:7px}.b30-track-steps i{width:19px;height:19px;flex-basis:19px}.b30-feat{grid-column:span 2!important}.b30-feat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.b30-p{padding:7px}.b30-p .im,.b30-p img{height:83px;max-height:83px}.b30-p>b,.b30-p .pr{font-size:10px}.b30-seller,.b30-wa,.b30-pay{grid-column:span 2!important}.b30-seller button.row{min-height:38px;font-size:11px}.b30-pay>div span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.b30-services a{transition:none!important;transform:none!important}}

/* V31 route isolation: the bento dashboard is the single Home surface. */
body[data-lsm-view="home"] .lsm8-benefits,
body[data-lsm-view="home"] .lsm9-marquee,
body[data-lsm-view="home"] .storefront-main,
body[data-lsm-view="home"] #vehicle-hire,
body[data-lsm-view="home"] #hair-booking,
body[data-lsm-view="home"] #property-hire,
body[data-lsm-view="home"] .lsm8-seller,
body[data-lsm-view="home"] .lsm8-install{display:none!important}

/* Dedicated booking tabs must not show the product storefront behind them. */
body[data-lsm-view="vehicle-hire"] .storefront-main,
body[data-lsm-view="vehicle-hire"] .lsm9-marquee,
body[data-lsm-view="vehicle-hire"] #property-hire,
body[data-lsm-view="vehicle-hire"] #foodDeliverySection,
body[data-lsm-view="beauty"] .storefront-main,
body[data-lsm-view="beauty"] .lsm9-marquee,
body[data-lsm-view="beauty"] #foodDeliverySection{display:none!important}

@media(max-width:680px){
  .lsm30-board{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
  .b30-hero-device{pointer-events:none}.b30-hero{background-position:center,right center!important}
  .b30-services a,.b30-cat-row a,.b30-btn{min-height:44px}
  .lsm30-board>section{scroll-margin-top:82px}
}
