/* Praasia Shops — Classic Gold / responsive presentation layer. */
:root {
  --ps-bg:#1d100b; --ps-panel:#2b1a12; --ps-panel-2:#352218;
  --ps-gold:#c79b52; --ps-gold-light:#f2d49b;
  --ps-cream:#f5e6ca; --ps-muted:#d5bd9b; --ps-line:#705034;
  --ps-paper:#ebdcc1; --ps-ink:#322116;
}
html { -webkit-text-size-adjust:100%; }
body.pra-v154-page { min-width:0; font-family:Tahoma,"Noto Sans Thai",Arial,sans-serif; font-size:14px; line-height:1.55; background:#21120b; }
body.pra-v154-page, body.pra-v154-page * { box-sizing:border-box; }
body.pra-v154-page a { text-underline-offset:3px; }
body.pra-v154-page button,body.pra-v154-page input,body.pra-v154-page select,body.pra-v154-page textarea { font:inherit; }
body.pra-v154-page img { max-width:100%; }
body.pra-v154-page :focus-visible, .pra-v154-listshop :focus-visible, .pra-v154-catalog :focus-visible { outline:3px solid #ddb875; outline-offset:2px; }

/* The existing public shop remains dark brown / antique gold, with fewer nested outlines. */
body.pra-v154-shop .shop-shell { width:min(100%,1120px)!important; max-width:1120px; margin-inline:auto; background:#24140d; box-shadow:0 10px 32px #1007038a; }
body.pra-v154-shop .shop-shell > tbody > tr > td { max-width:100%; }
body.pra-v154-shop .shop-shell table[width="1000"] { width:100%!important; max-width:100%; }
body.pra-v154-shop .shop-top-banner img,body.pra-v154-shop .shop-head-img { width:100%!important; height:auto!important; max-height:350px; object-fit:cover; }
body.pra-v154-shop .shop-head-fallback { line-height:1.35; min-height:170px; height:auto; display:grid; place-items:center; padding:36px 16px; }
body.pra-v154-shop .shop-menu { background:#362016; height:auto; border-top:1px solid #8a622f; border-bottom:1px solid #7c542b; }
body.pra-v154-shop .shop-menu-table { width:100%; height:auto; }
body.pra-v154-shop .shop-menu-table > tbody > tr > td { padding:8px 4px; }
body.pra-v154-shop .shop-menu-table img { max-width:100%; height:auto; }
body.pra-v154-shop .shop-search-input { width:100%; min-width:0; min-height:34px; font-size:14px; }
body.pra-v154-shop .shop-search-btn { min-height:34px; padding:6px 12px; }
body.pra-v154-shop .shop-intro-area { height:auto!important; min-height:0; overflow:visible; padding:14px; background:#c4a777; }
body.pra-v154-shop .shop-intro-area::before { display:none; }
body.pra-v154-shop .shop-intro-table { width:100%; table-layout:auto; }
body.pra-v154-shop .shop-intro-col-left,body.pra-v154-shop .shop-intro-col-center,body.pra-v154-shop .shop-intro-col-right { padding:8px; }
body.pra-v154-shop .shop-info-tag { max-width:100%; }
body.pra-v154-shop .shop-info-scroll { max-width:100%; }
body.pra-v154-shop .shop-left-stats { max-width:100%; }
body.pra-v154-shop .shop-center-card,body.pra-v154-shop .shop-detail-box { max-width:100%; }
body.pra-v154-shop .shop-section-tab { padding:11px 18px; height:auto; background:#3c2519; color:#f2d49b; font-size:17px; text-align:left; border-top:1px solid #866031; }
body.pra-v154-shop .shop-recommend-area,body.pra-v154-shop .shop-all-products { background:#25160f; padding:15px 17px 22px; }
body.pra-v154-shop .shop-all-head { text-align:left; font-size:16px; font-weight:600; }
body.pra-v154-shop .shop-product-scroll { width:100%; max-width:100%; overflow-x:auto; }
body.pra-v154-shop .shop-product-grid,body.pra-v154-shop .hot-product-scroll .shop-product-grid,body.pra-v154-shop .shop-all-grid { width:100%!important; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; overflow:visible; align-items:stretch; }
body.pra-v154-shop .shop-product-card,body.pra-v154-shop .hot-product-scroll .shop-product-card { float:none; width:auto; height:auto; min-width:0; margin:0; border:1px solid #64482b; border-radius:9px; background:#342118; box-shadow:none; overflow:hidden; display:flex; flex-direction:column; transform:none; }
body.pra-v154-shop .shop-product-image,body.pra-v154-shop .hot-product-scroll .shop-product-image { width:100%; height:auto; aspect-ratio:3/4; flex:0 0 auto; background:#170d09; }
body.pra-v154-shop .shop-product-image img,body.pra-v154-shop .hot-product-scroll .shop-product-image img { width:100%; height:100%; aspect-ratio:3/4; object-fit:contain; }
body.pra-v154-shop .shop-product-body,body.pra-v154-shop .hot-product-scroll .shop-product-body { height:auto; min-height:100px; flex:1 1 auto; padding:9px 10px; background:#342118; color:#f6e6cd; }
body.pra-v154-shop .shop-product-name,body.pra-v154-shop .hot-product-scroll .shop-product-name { height:auto; min-height:2.8em; max-height:4.2em; font-size:13px; line-height:1.4; overflow:hidden; }
body.pra-v154-shop .shop-product-meta,body.pra-v154-shop .hot-product-scroll .shop-product-meta { height:auto; font-size:12px; }
body.pra-v154-shop .login-bar { position:static; width:100%; background:#302015; border-top:1px solid #9d7641; box-shadow:none; padding:8px 12px; }
body.pra-v154-shop .login-bar table { width:min(100%,1120px)!important; margin-inline:auto; }
body.pra-v154-shop .login-input { width:100%; min-width:0; min-height:36px; }
body.pra-v154-shop .login-btn { min-height:36px; }
body.pra-v154-shop .shop-empty { font-size:14px; }

/* Product detail: same content and actions, more legible and not 1000px-locked. */
body.pra-v154-product .pra-page-shell { width:min(100%,1080px)!important; max-width:1080px; background:#25160f; box-shadow:0 8px 26px #12090488; }
body.pra-v154-product .pra-page-shell > tbody > tr > td > table[width="1000"] { width:100%!important; }
body.pra-v154-product .pra-shop-head-img { width:100%!important; height:auto!important; max-height:350px; object-fit:cover; }
body.pra-v154-product .pra-nav-cell { background:#3a2418; border-color:#977244; height:auto; padding:8px; }
body.pra-v154-product .pra-nav-cell > table { width:100%!important; }
body.pra-v154-product .pra-nav-cell .pra-nav-link { font-size:13px; min-height:38px; height:auto; display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; line-height:1.4; }
body.pra-v154-product .pra-nav-cell form table { width:100%!important; }
body.pra-v154-product .pra-search-input { width:100%; min-width:0; min-height:36px; font-size:14px; }
body.pra-v154-product .pra-btn { min-height:36px; }
body.pra-v154-product .pra-product-title { font-size:clamp(18px,2vw,23px); line-height:1.5; }
body.pra-v154-product .pra-product-subtitle { font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
body.pra-v154-product .pra-image-panel { max-width:100%; padding:14px; }
body.pra-v154-product .pra-product-img { max-width:100%; height:auto!important; object-fit:contain; }
body.pra-v154-product .pra-detail-table,body.pra-v154-product .pra-payment-table,body.pra-v154-product .pra-vote-form-table { width:calc(100% - 24px)!important; max-width:100%; margin:10px auto; }
body.pra-v154-product .pra-detail-table td,body.pra-v154-product .pra-payment-table td,body.pra-v154-product .pra-comment-result td { font-size:13px; line-height:1.7; padding:9px; overflow-wrap:anywhere; }
body.pra-v154-product .pra-vote-card,body.pra-v154-product .pra-other-card { width:calc(100% - 24px)!important; max-width:100%; margin:12px auto; border-radius:9px; box-shadow:none; }
body.pra-v154-product .pra-assist-box,body.pra-v154-product .pra-warning-box { max-width:100%; overflow-wrap:anywhere; }
body.pra-v154-product .pra-other-wrap { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
body.pra-v154-product .pra-other-item { float:none; width:100%!important; max-width:100%; margin:0; border-radius:8px; box-shadow:none; }
body.pra-v154-product .pra-other-img { width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
body.pra-v154-product .pra-other-info { height:auto; min-height:110px; font-size:13px; }
body.pra-v154-product .pra-alert-error,body.pra-v154-product .pra-alert-success,body.pra-v154-product .pra-empty-box { width:calc(100% - 24px)!important; }
body.pra-v154-product .pra-copy-link { overflow-wrap:anywhere; }

/* Catalog, search & browsing. Scoped to avoid altering other public fragments. */
.pra-v154-listshop { color:#f3dfbe; font:14px/1.55 Tahoma,"Noto Sans Thai",Arial,sans-serif; background:#2f1d13; padding:18px; border:1px solid #765431; margin:10px 0 14px; }
.pra-v154-listshop * { box-sizing:border-box; }
.pra-v154-listshop .pra-finder-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:22px; }
.pra-v154-listshop .pra-finder-title { color:#f1d39b; font-size:16px; margin:0 0 10px; font-weight:700; }
.pra-v154-listshop .pra-finder-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin-bottom:10px; }
.pra-v154-listshop .pra-finder-label { display:block; grid-column:1/-1; color:#e8d5b6; font-size:13px; }
.pra-v154-listshop .pra-finder-input { width:100%; min-width:0; height:42px; padding:8px 12px; border:1px solid #9c784c; border-radius:6px; background:#f8f0e2; color:#332014; font-size:14px; }
.pra-v154-listshop .pra-finder-button { min-height:42px; border:1px solid #8a5e25; border-radius:6px; padding:8px 15px; color:#241407; font-weight:bold; background:#d9b672; cursor:pointer; }
.pra-v154-listshop .pra-finder-image { display:inline-flex; margin:2px 0 12px; align-items:center; font-size:13px; gap:7px; color:#f1d39b; }
.pra-v154-listshop .pra-finder-image img { max-width:min(100%,230px); height:auto; }
.pra-v154-listshop .pra-finder-letters { display:flex; flex-wrap:wrap; gap:5px; }
.pra-v154-listshop .pra-finder-letters a { display:inline-flex; justify-content:center; align-items:center; min-width:34px; height:35px; padding:4px 7px; border:1px solid #795c3c; border-radius:5px; color:#f7e7cc; background:#412a1c; text-decoration:none; font-weight:600; }
.pra-v154-listshop .pra-finder-letters a:hover { background:#79512d; }

.pra-v154-catalog { width:100%!important; max-width:100%; table-layout:fixed; }
.pra-v154-catalog table[width="1000"],.pra-v154-catalog table[width="100%"] { max-width:100%; }
.pra-v154-catalog .pra-cat-section-heading { padding:12px 16px; background:#3b2416; border-top:2px solid #b78d4c; color:#f1d6a8; font-weight:bold; font-size:16px; text-align:left; }
.pra-v154-catalog .pra-cat-section-cell { border-color:#795936; }
.pra-v154-catalog .pra-cat-shell { height:auto; max-height:550px; overflow:auto; padding:16px; background:#2c1b13; }
.pra-v154-catalog .pra-cat-intro-table td { background:#39261c; border:0; border-left:3px solid #c39b5c; padding:10px 12px; }
.pra-v154-catalog .pra-cat-main-table { max-width:100%; }
.pra-v154-catalog .pra-cat-main-head { background:#4a2e20; }
.pra-v154-catalog .pra-cat-main-body { background:#291910; }
.pra-v154-catalog .table-catdisplay { min-width:0; }
.pra-v154-catalog .pra-cat-shop-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; padding:10px 0; }
.pra-v154-catalog .pra-catalog-shop-card { min-width:0; border:1px solid #725437; background:#352217; padding:0 0 9px; color:#f4e6cf; text-align:center; overflow:hidden; }
.pra-v154-catalog .pra-catalog-shop-card img.pra-catalog-shop-image { display:block; width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; background:#190e09; }
.pra-v154-catalog .pra-catalog-shop-card a { color:#f6e6cd; text-decoration:none; }
.pra-v154-catalog .pra-catalog-shop-name { display:block; min-height:2.7em; max-height:4.1em; overflow:hidden; margin:8px 6px 5px; font-size:13px; line-height:1.35; }
.pra-v154-catalog .pra-catalog-shop-score { font-size:12px; color:#e2c58d; }
.pra-v154-catalog .pra-catalog-shop-score a { color:#edcd91; }
.pra-v154-catalog .pra-catalog-shop-score img { width:auto; max-height:14px; }

.pra-v154-wat, .pra-v154-wat > table { width:100%!important; max-width:100%; }
.pra-v154-wat table[style*="float:left"] { float:none!important; display:inline-table; vertical-align:top; width:calc(20% - 12px)!important; max-width:200px; margin:6px!important; background:#342116; border:1px solid #654527; }
.pra-v154-wat table[style*="float:left"] img { display:block; width:100%!important; max-width:100%; height:auto!important; aspect-ratio:1/1; object-fit:contain; }
.pra-v154-wat .pravote_container { left:0!important; top:100%!important; max-width:90vw; }
.pra-v154-wat .pravote_container table { max-width:90vw!important; }

body.pra-v154-tarad .tarad-shell { width:min(100%,1100px)!important; max-width:1100px; background:#24150d; }
body.pra-v154-tarad .tarad-shell table { max-width:100%; }
body.pra-v154-tarad .tarad-row-img,body.pra-v154-tarad .tarad-row-detail { background:#342117; color:#f6e0b7; padding:12px; }
body.pra-v154-tarad .tarad-title-cell { background:#3e2819; color:#f2d49b; font-size:15px; padding:10px; }
body.pra-v154-tarad .tarad-row-detail { font-size:14px; overflow-wrap:anywhere; }
body.pra-v154-tarad .tarad-row-detail a { color:#f7d28d; }
body.pra-v154-tarad .tarad-row-img img { max-width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; }

body.pra-v154-ad .ad-shell { width:min(100%,1100px)!important; max-width:1100px; }
body.pra-v154-ad .ad-card { box-shadow:none; }
body.pra-v154-ad .ad-card-body { font-size:14px; line-height:1.75; }
body.pra-v154-ad .ad-position-card,body.pra-v154-ad .ad-contact-card { box-shadow:none; }

@media (max-width:1000px) {
 body.pra-v154-shop .shop-product-grid,body.pra-v154-shop .hot-product-scroll .shop-product-grid,body.pra-v154-shop .shop-all-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 body.pra-v154-product .pra-other-wrap { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .pra-v154-catalog .pra-cat-shop-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:760px) {
 body.pra-v154-page { font-size:14px; }
 body.pra-v154-shop .shop-shell { width:100%!important; }
 body.pra-v154-shop .shop-menu-table,body.pra-v154-shop .shop-menu-table > tbody,body.pra-v154-shop .shop-menu-table > tbody > tr { display:block; width:100%; height:auto; }
 body.pra-v154-shop .shop-menu-table > tbody > tr { display:flex; flex-wrap:wrap; align-items:center; gap:4px; padding:7px; }
 body.pra-v154-shop .shop-menu-table > tbody > tr > td { width:auto!important; flex:1 1 29%; padding:5px; text-align:center; }
 body.pra-v154-shop .shop-menu-table > tbody > tr > td:nth-child(3) { display:none; }
 body.pra-v154-shop .shop-menu-table > tbody > tr > td:last-child { flex:1 1 100%; }
 body.pra-v154-shop .shop-menu-table form table { width:100%!important; }
 body.pra-v154-shop .shop-menu-table form td { width:auto!important; }
 body.pra-v154-shop .shop-search-label { white-space:normal; font-size:12px; }
 body.pra-v154-shop .shop-intro-table,body.pra-v154-shop .shop-intro-table > tbody,body.pra-v154-shop .shop-intro-table > tbody > tr,body.pra-v154-shop .shop-intro-col-left,body.pra-v154-shop .shop-intro-col-center,body.pra-v154-shop .shop-intro-col-right { display:block; width:100%!important; height:auto!important; }
 body.pra-v154-shop .shop-intro-area { padding:8px; }
 body.pra-v154-shop .shop-info-tag { width:100%!important; max-width:440px; margin-inline:auto; background-size:cover; }
 body.pra-v154-shop .shop-info-scroll { width:100%; }
 body.pra-v154-shop .shop-intro-col-left > table,body.pra-v154-shop .shop-intro-col-center > table,body.pra-v154-shop .shop-intro-col-right > table { max-width:100%; }
 body.pra-v154-shop .shop-product-grid,body.pra-v154-shop .hot-product-scroll .shop-product-grid,body.pra-v154-shop .shop-all-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 body.pra-v154-shop .shop-recommend-area,body.pra-v154-shop .shop-all-products { padding:10px; }
 body.pra-v154-shop .shop-product-card,body.pra-v154-shop .hot-product-scroll .shop-product-card { width:100%!important; }
 body.pra-v154-shop .login-bar table,body.pra-v154-shop .login-bar tbody,body.pra-v154-shop .login-bar tr,body.pra-v154-shop .login-bar td { display:block; width:100%!important; height:auto!important; }
 body.pra-v154-shop .login-bar tr { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
 body.pra-v154-shop .login-bar td { padding:2px; }
 body.pra-v154-shop .login-bar td:last-child { grid-column:1/-1; }
 body.pra-v154-shop .login-bar { padding:8px; }
 body.pra-v154-product .pra-page-shell { width:100%!important; }
 body.pra-v154-product .pra-nav-cell > table,body.pra-v154-product .pra-nav-cell > table > tbody,body.pra-v154-product .pra-nav-cell > table > tbody > tr { display:block; width:100%!important; }
 body.pra-v154-product .pra-nav-cell > table > tbody > tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
 body.pra-v154-product .pra-nav-cell > table > tbody > tr > td { display:block; width:100%!important; min-width:0; text-align:center; }
 body.pra-v154-product .pra-nav-cell > table > tbody > tr > td:last-child { grid-column:1/-1; }
 body.pra-v154-product .pra-nav-cell form table { width:100%!important; }
 body.pra-v154-product .pra-nav-cell form table td { width:auto!important; }
 body.pra-v154-product .pra-share-bar { font-size:12px; }
 body.pra-v154-product .pra-other-wrap { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; gap:8px; }
 body.pra-v154-product .pra-detail-table td,body.pra-v154-product .pra-payment-table td { word-break:break-word; }
 body.pra-v154-product .pra-vote-form-table td { min-width:0; }
 body.pra-v154-product .pra-comment-result .label { width:35%; white-space:normal; text-align:left; }
 .pra-v154-listshop .pra-finder-grid { grid-template-columns:1fr; gap:12px; }
 .pra-v154-listshop { padding:12px; }
 .pra-v154-catalog .pra-cat-shop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .pra-v154-catalog .pra-cat-shell { height:auto; max-height:520px; padding:9px; }
 .pra-v154-catalog .pra-cat-intro-table td { padding:8px; }
 .pra-v154-wat table[style*="float:left"] { width:calc(33.333% - 12px)!important; }
 body.pra-v154-tarad .tarad-data-row,body.pra-v154-tarad .tarad-data-row > td { display:block; width:100%!important; }
 body.pra-v154-tarad .tarad-row-img img { width:100%; max-width:100%; }
}
@media (max-width:420px) {
 body.pra-v154-shop .login-bar tr { grid-template-columns:1fr; }
 body.pra-v154-shop .login-bar td:last-child { grid-column:auto; }
 body.pra-v154-shop .shop-search-label { font-size:11px; }
 .pra-v154-catalog .pra-cat-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pra-v154-wat table[style*="float:left"] { width:calc(50% - 12px)!important; }
}
@media (prefers-reduced-motion: no-preference) {
 body.pra-v154-page a, .pra-v154-listshop a, .pra-v154-catalog a { transition:background-color .14s ease,border-color .14s ease,color .14s ease; }
}
/* Guardrails for legacy fixed-width fragments and inputs. */
body.pra-v154-shop .shop-intro-area .shoppm_container,
body.pra-v154-shop .shop-detail-scroll,
body.pra-v154-shop .shop-detail-scroll-inner,
body.pra-v154-shop .shop-detail-content,
body.pra-v154-shop .shop-center-scroll { max-width:100%; }
body.pra-v154-shop .shop-intro-area input,
body.pra-v154-shop .shop-intro-area textarea,
body.pra-v154-shop .shop-intro-area select,
body.pra-v154-product .pra-page-shell input,
body.pra-v154-product .pra-page-shell textarea,
body.pra-v154-product .pra-page-shell select { max-width:100%; }
body.pra-v154-product .pra-page-shell table[width="900"],
body.pra-v154-product .pra-page-shell table[width="940"],
body.pra-v154-product .pra-page-shell table[width="760"],
body.pra-v154-product .pra-page-shell table[width="995"] { max-width:100%; }
