/* Shared desktop and laptop layout, matching the public homepage. */
.ps-desktop-shell{display:none}
@media(min-width:768px){
.ps-desktop-shell{display:block;font-family:Sarabun,sans-serif;background:#ff6500;color:#fff}
.ps-desktop-head{max-width:1260px;margin:auto;display:flex;align-items:center;gap:24px;min-height:72px;padding:12px 24px}
.ps-desktop-logo{flex:0 0 196px}.ps-desktop-logo img{display:block;width:196px;height:48px;object-fit:contain}
.ps-desktop-search{display:flex;flex:1;min-width:0;max-width:620px;background:#fff;border-radius:24px;overflow:hidden}
.ps-desktop-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ps-desktop-search input{width:100%;min-width:0;border:0;background:#fff;margin:0;padding:11px 18px;color:#344054;font:inherit;font-size:14px;outline-offset:-3px}
.ps-desktop-search button{border:0;background:#fff;color:#ff6500;padding:0 18px;font-size:25px;cursor:pointer}
.ps-desktop-account,.ps-desktop-cart{color:white!important;text-decoration:none;white-space:nowrap;font-size:14px;font-weight:700}.ps-desktop-cart{font-size:24px}
.ps-desktop-menu{background:#fff;display:flex;justify-content:center;align-items:center;gap:10px;padding:8px 24px;border-bottom:1px solid #edf0f4;flex-wrap:wrap}
.ps-desktop-menu a{display:inline-flex;align-items:center;gap:9px;padding:10px 19px;border-radius:12px;text-decoration:none;color:#475467;font-size:14px;font-weight:700;min-height:44px}
.ps-desktop-menu a span{font-size:21px;color:#ff6500}
.ps-desktop-menu a:hover{background:#fff0e5;color:#e65700}
.ps-desktop-menu a[aria-current=page]{background:linear-gradient(135deg,#ff6500,#ff841a);color:#fff}
.ps-desktop-menu a[aria-current=page] span{color:#fff}
.ps-desktop-shell a:focus-visible,.ps-desktop-shell button:focus-visible{outline:3px solid #ffb67f;outline-offset:3px}
.ps-global-brand,.ps-mobile-brand{display:none!important}
.customerApp,.rapp{max-width:1260px!important;width:calc(100% - 48px)!important;min-height:calc(100vh - 134px);padding-bottom:32px!important;background:#fff;margin:0 auto}
.customerApp .bottomNav{display:none!important}
.customerApp .psPageTop,.customerApp .pageHero{padding:28px 32px 72px;border-radius:0 0 24px 24px}
.customerApp .psPageTitle h1,.customerApp .pageHero h1{font-size:28px}
.customerApp .psPageTitle p,.customerApp .pageHero p{font-size:14px}
.customerApp .psFloat,.customerApp .floatCard{margin-left:32px;margin-right:32px;padding:22px}
.customerApp .psContent,.customerApp .section,.customerApp .searchPage{padding-left:32px;padding-right:32px}
.customerApp .psCard,.customerApp .orderCard,.customerApp .psOrderCard2,.customerApp .notifyCard,.customerApp .psNotify2,.customerApp .psAddressItem{padding:20px;margin-bottom:16px;border-radius:17px}
.customerApp .psSectionTitle h2,.customerApp .sectionHead h2{font-size:22px}
.customerApp .psSectionTitle a,.customerApp .psSectionTitle span{font-size:13px}
.customerApp .psListInfo b,.customerApp .psProductInfo b,.customerApp .psMenuText b,.customerApp .psNotifyText2 b,.customerApp .psOrderShop b,.customerApp .psCartName b{font-size:16px}
.customerApp .psListMeta,.customerApp .psTag,.customerApp .psProductInfo span,.customerApp .psMenuText span,.customerApp .psNotifyText2 p,.customerApp .psOrderShop span,.customerApp .psOrderFoot,.customerApp .psCartName span{font-size:12px}
.customerApp .psField label,.customerApp .psField input,.customerApp .psField select,.customerApp .psField textarea,.customerApp .psSummaryRow,.customerApp .psPayText b,.customerApp .psSearchBox input{font-size:14px}
.customerApp .psChip,.customerApp .tabPill,.customerApp .psMiniBtn,.customerApp .psTabs2 span{font-size:13px;padding:10px 15px}
.customerApp .shopGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.customerApp .psListShop2{grid-template-columns:96px minmax(0,1fr) 24px;padding:16px;margin-bottom:16px}
.customerApp .psListShopPic{width:92px;height:92px}.customerApp .psProductCard{grid-template-columns:96px minmax(0,1fr) 42px;padding:16px}.customerApp .psProductPic{width:92px;height:92px}
.customerApp .psShopHero{height:320px}.customerApp .psShopInfoCard{margin-left:32px;margin-right:32px;padding:24px}
.customerApp .psShopTitleRow h1{font-size:28px}.customerApp .psShopSub{font-size:14px}
.customerApp .psCartFloat{bottom:20px;width:min(1196px,calc(100% - 112px))}.customerApp:has(.psCartFloat){padding-bottom:100px!important}
.rapp .rhead{padding:24px 32px}.rapp .rcontent{padding:24px 32px}.rapp .bottom{position:static;transform:none;width:100%;border-radius:16px;gap:12px;padding:14px;margin-top:24px}.rapp .bottom a{font-size:14px}.rapp .grid{gap:20px}
.ad-topbar,.merchant-topbar{background:#fff7f0;border-bottom-color:#ffe2cc}
.ad-content,.merchant-content{max-width:1260px}
}
@media(min-width:1280px){.customerApp,.rapp{width:calc(100% - 80px)!important}.customerApp .shopGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1050px){.ps-desktop-head{gap:14px;padding:12px 20px}.ps-desktop-logo{flex-basis:160px}.ps-desktop-logo img{width:160px}.ps-desktop-menu a{padding:9px 12px}.customerApp .psContent{padding-left:24px;padding-right:24px}}
@media print{.ps-desktop-shell{display:none!important}}

@media(min-width:768px){
.loginApp{max-width:1000px!important;min-height:auto!important;margin:40px auto!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;padding:0 24px 28px!important}
.loginHero{margin:0!important;padding:36px 28px!important;border-radius:24px 0 0 24px!important;min-height:420px}
.loginCard{margin:0!important;border-radius:0 24px 24px 0!important;padding:28px!important}
.loginApp .featureStrip,.loginApp .footerNote{grid-column:1/-1}
.loginApp .field label,.loginApp .inputWrap input,.loginApp .socialBtn,.loginApp .registerBox,.loginApp .guestBtn,.loginApp .loginBtn{font-size:14px}
.loginApp .cardTitle h2{font-size:24px}.loginApp .cardTitle p,.loginApp .loginIntro p{font-size:14px}
body>.box{font-family:Sarabun,sans-serif;border:1px solid #ffe2cc}
}

/* Desktop public shell uses the Home header and footer. Mobile is unchanged. */
.ps-desktop-footer{display:none}.ps-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:768px){
.ps-desktop-shell .ph-header{display:grid;max-width:1260px;margin:auto;grid-template-columns:196px auto minmax(150px,1fr) auto;align-items:center;gap:24px;padding:10px 20px;min-height:72px}
.ps-desktop-shell .ph-brand img{width:196px;height:48px;object-fit:contain}
.ps-desktop-shell .ph-address{display:flex;align-items:center;gap:8px;text-decoration:none;max-width:210px;white-space:nowrap}.ps-desktop-shell .ph-address span{overflow:hidden;text-overflow:ellipsis}
.ps-desktop-shell .ph-search{display:flex;align-items:center;gap:10px;border-radius:24px;min-width:0;background:#fff;margin:0}
.ps-desktop-shell .ph-search input{border:0;outline-offset:-2px;min-width:0;width:100%;margin:0;padding:0;font:inherit;font-size:13px;background:transparent;color:#344054}
.ps-desktop-shell .ph-actions{display:flex;align-items:center;gap:20px}.ps-desktop-shell .ph-actions a{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;color:white;text-decoration:none}
.ps-desktop-shell .ph-actions i{font-size:23px}.ps-desktop-shell .ps-shared-cart{position:relative}.ps-desktop-shell .ph-cart-count{position:absolute;top:-9px;right:-9px;min-width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10px}
.ps-desktop-shell .ph-nav{display:flex;justify-content:center;flex-wrap:wrap;margin:0;max-width:none}.ps-desktop-shell .ph-nav a{text-decoration:none}
.ps-desktop-footer{display:block;background:white;border-top:1px solid #edf0f4;font-family:Sarabun,sans-serif;color:#667085}
.ps-footer-inner{max-width:1260px;margin:auto;padding:28px 24px 22px}.ps-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.ps-footer-row .ph-brand img{width:196px;height:48px;object-fit:contain}.ps-footer-row nav{display:flex;flex-wrap:wrap;gap:24px}.ps-footer-row a{color:#667085;text-decoration:none;font-size:13px}.ps-footer-row>a:last-child{font-size:25px;color:#ff6500}.ps-footer-inner p{text-align:center;font-size:12px;color:#98a2b3;margin:20px 0 0}
.customerApp.psSearchPage{background:#f8fafc!important;padding-top:24px;min-height:calc(100vh - 280px)}
.psSearchPage .psPageTop{background:transparent!important;color:#172033!important;padding:14px 32px 22px!important;border-radius:0!important}
.psSearchPage .psPageTop:after,.psSearchPage .psPageTop:before,.psSearchPage .psBack,.psSearchPage .psPageAction{display:none!important}
.psSearchPage .psPageTitle h1{font-size:30px;font-weight:800;line-height:1.35;letter-spacing:-.5px}
.psSearchPage .psPageTitle p{font-size:14px;color:#7b8494!important;opacity:1;margin-top:8px}
.psSearchPage .psFloat{margin:0 32px 28px!important;padding:22px!important;background:white;border:1px solid #e5eaf0;border-radius:18px;box-shadow:0 6px 24px #17203306}
.psSearchPage .psSearchBox{padding:0 0 0 18px;height:56px;background:#f8fafc;border:1px solid #e3e8ef;border-radius:12px;gap:12px}
.psSearchPage .psSearchBox>i{font-size:21px;color:#ff6500}
.psSearchPage .psSearchBox input{font-size:15px;padding:12px 0}
.psSearchPage .psFilterBtn{height:44px;width:110px;margin-right:5px;border-radius:9px;background:#ff6500;color:white;box-shadow:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.psSearchPage .psFilterBtn:before{content:"ค้นหาร้าน";font:700 14px Sarabun,sans-serif}
.psSearchPage .psChips{padding-top:18px;gap:10px;flex-wrap:wrap;overflow:visible}
.psSearchPage .psChip{border:1px solid #e7ebf0;background:white;border-radius:10px;padding:10px 18px;font-size:14px;color:#667085}.psSearchPage .psChip.on{background:#fff0e5;color:#f05c00;border-color:#ffcfa9}
.psSearchPage .psSectionTitle{margin:0 0 20px}.psSearchPage .psSectionTitle h2{font-size:22px}.psSearchPage .psSectionTitle span{background:white;border:1px solid #e7ebf0;border-radius:8px;padding:7px 12px}
.psSearchResults{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-bottom:36px}
.psSearchPage .psListShop2{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #17203305;transition:transform .18s,box-shadow .18s}
.psSearchPage .psListShop2:hover{transform:translateY(-3px);box-shadow:0 10px 30px #17203312}
.psSearchPage .psListShopPic{width:100%;height:160px;border-radius:0;background:#fff0e6;font-size:55px}
.psSearchPage .psListShopPic img{width:100%;height:100%;object-fit:cover}
.psSearchPage .psListOpen,.psSearchPage .psListClosed{top:12px;left:12px;font-size:11px;padding:6px 10px}
.psSearchPage .psListInfo{padding:18px;min-width:0}.psSearchPage .psListInfo b{font-size:17px;line-height:1.45}
.psSearchPage .psListMeta{font-size:12px;margin-top:9px;gap:7px}.psSearchPage .psTags{margin-top:12px}.psSearchPage .psTag{font-size:11px;padding:5px 9px}
.psSearchPage .psListArrow{display:none}.psSearchResults>.emptyState{grid-column:1/-1;padding:60px 24px}
}
@media(min-width:1280px){.psSearchResults{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:768px) and (max-width:1050px){.ps-desktop-shell .ph-header{grid-template-columns:160px minmax(120px,170px) minmax(120px,1fr) auto;gap:12px}.ps-desktop-shell .ph-brand img{width:160px}.ps-desktop-shell .ph-actions a:first-child span{display:none}.psSearchResults{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.ps-desktop-footer{display:none!important}}

/* Keep the shared header independent of page-level form styles. */
@media(min-width:768px){
.ps-desktop-shell,.ps-desktop-shell *,.ps-desktop-shell *:before,.ps-desktop-shell *:after{box-sizing:border-box}
.ps-desktop-shell{margin:0;padding:0;line-height:1.5}
.ps-desktop-shell .ph-header{height:72px;min-height:72px;padding:10px 20px}
.ps-desktop-shell .ph-search{height:38px;min-height:38px;padding:9px 18px;line-height:20px}
.ps-desktop-shell .ph-search input{height:20px;min-height:0;line-height:20px;border-radius:0;box-shadow:none}
.ps-desktop-shell .ph-nav{height:60px;min-height:60px;padding:8px 16px;align-items:center;line-height:20px}
.ps-desktop-shell .ph-nav>a{height:44px;min-height:44px;padding:10px 19px;line-height:20px}
.ps-desktop-shell .ph-nav>a i{line-height:25px}
.ps-desktop-shell .ph-address{height:38px;min-height:0;padding:8px 13px;font-size:13px;line-height:20px}
.ps-desktop-footer,.ps-desktop-footer *{box-sizing:border-box}
}
