/* 精选商城独立样式，沿用官网的导航、卡片及页脚体系。 */
.shop-page,.product-detail-page{background:#fff}
.shop-hero{overflow:hidden;border-bottom:1px solid #e4e7e8;background:linear-gradient(120deg,#f8f7f3 5%,#edf3f5 55%,#dce8ec)}
.shop-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:7%;align-items:center;min-height:520px;padding-block:66px}
.shop-hero-copy h1{margin:20px 0 24px;font-size:clamp(3rem,5.3vw,6rem);letter-spacing:-.065em;line-height:1.12}
.shop-hero-copy>p:not(.course-kicker){max-width:540px;margin:0;color:#586e7a;font-size:1rem;line-height:1.9}
.shop-hero-copy>a{display:inline-flex;align-items:center;gap:52px;margin-top:34px;padding-bottom:10px;border-bottom:1px solid #20394d;color:#20394d;font-size:.9rem;font-weight:750}
.shop-hero-copy>a:hover{color:#287b9d}
.shop-hero-art{position:relative;min-height:370px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:28px 34px;background:#273e4b;color:#f7f8f6;box-shadow:20px 25px 45px rgba(34,62,75,.17)}
.shop-hero-art>span,.shop-hero-art>small{position:relative;z-index:1;font-size:.7rem;font-weight:700;letter-spacing:.18em}
.shop-hero-art>strong{position:relative;z-index:1;align-self:flex-end;margin-top:auto;font-size:clamp(2.5rem,4.2vw,4.8rem);line-height:.95;letter-spacing:-.075em;text-align:right}
.shop-hero-art>small{align-self:flex-end;margin-top:25px;color:#acc4ce}
.shop-art-orbit{position:absolute;inset:0;display:grid;place-items:center}
.shop-art-orbit i{position:absolute;width:360px;height:360px;border:1px solid rgba(218,233,238,.32);border-radius:50%;transform:rotateX(63deg) rotate(-20deg)}
.shop-art-orbit i:nth-child(2){width:265px;height:265px;transform:rotateY(62deg) rotate(30deg)}
.shop-art-orbit b{position:absolute;top:22%;left:18%;display:grid;place-items:center;width:100px;height:100px;background:linear-gradient(145deg,#f5b450,#b9d8e0);color:#233b49;font-size:4rem;transform:rotate(-14deg);box-shadow:12px 18px 32px rgba(9,23,33,.24)}
.shop-catalog{min-height:550px}
.shop-item .market-item-cover{height:225px;background:linear-gradient(140deg,#e5edf0,#8cb1be);color:#234154}
.shop-item .market-item-cover:before,.shop-item .market-item-cover:after{border-color:rgba(255,255,255,.5)}
.shop-cover-mark{z-index:1;font-size:2.7rem;font-weight:850;letter-spacing:-.1em}
.shop-item-subtitle{margin:0 0 10px;color:#607785;font-size:.82rem;line-height:1.55}
.shop-item .market-item-summary{min-height:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shop-empty{padding-block:70px}
.shop-empty strong{display:block;color:#263f50;font-size:1.3rem}
.shop-empty p{margin:10px 0 0}
.shop-detail[hidden],.shop-related[hidden],#shop-not-found[hidden],#shop-detail-subtitle[hidden],#shop-buy-link[hidden],#shop-buy-pending[hidden]{display:none}
.shop-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:8%;align-items:start;padding-block:48px 105px}
.shop-detail-cover{display:grid;place-items:center;min-height:540px;overflow:hidden;background:linear-gradient(140deg,#e5edf0,#8cb1be);border:1px solid #d7e3e8;color:#254253}
.shop-detail-cover img{display:block;width:100%;height:100%;max-height:680px;object-fit:contain}
.shop-detail-cover-mark{font-size:clamp(2.4rem,5vw,5rem);font-weight:850;letter-spacing:-.1em}
.shop-detail-copy{padding-top:22px}
.shop-detail-copy h1{margin:19px 0 15px;font-size:clamp(2.6rem,4vw,4.6rem);line-height:1.2;letter-spacing:-.06em}
.shop-detail-subtitle{font-size:1.15rem;color:#45677d;line-height:1.6}
.shop-detail-description{white-space:pre-line;margin:28px 0 38px;color:#566b79;line-height:1.9}
.shop-detail-buy{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:25px 0;border-top:1px solid #dbe4e8}
.shop-detail-buy>span{font-size:.78rem;font-weight:750;letter-spacing:.06em;color:#5b7d91}
.shop-detail-buy strong{font-size:1.8rem;color:#20384b}
.shop-detail-buy a{display:flex;justify-content:space-between;align-items:center;gap:55px;min-width:235px;padding:15px 18px;background:#20394d;color:#fff;font-size:.9rem;font-weight:750}
.shop-detail-buy a:hover{background:#326280}
.shop-detail-buy p{margin:0;padding:15px 18px;background:#eef3f5;color:#6b7d87;font-weight:700}
.shop-detail-buy small{max-width:390px;color:#82919a;line-height:1.65}
.shop-related{padding-block:60px 105px;border-top:1px solid #dfe6ea}
.shop-related-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}
.shop-related-head h2{margin:12px 0 0;font-size:clamp(2.1rem,3.2vw,3.3rem);letter-spacing:-.055em}
.shop-related-head>a{font-size:.85rem;font-weight:750;color:#2c6589}



/* Let uploaded product photos define their frame; no artificial side bands. */
.shop-page .shop-item .shop-item-cover:has(img){height:auto;min-height:0;aspect-ratio:auto;display:block;flex-shrink:0;background:transparent}
.shop-page .shop-item .shop-item-cover img{position:static;display:block;width:100%;height:auto;max-height:none;padding:0;object-fit:contain}
.shop-page .shop-item .shop-item-cover:has(img)::before,.shop-page .shop-item .shop-item-cover:has(img)::after{display:none}
.shop-page .shop-item h3{font-size:1.1rem;line-height:1.5}
.product-detail-page .shop-detail{width:100%;max-width:1280px;margin-inline:auto;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;padding-block:32px 52px;align-items:start}
.product-detail-page .shop-detail-cover{min-width:0;min-height:0;display:block;background:transparent;border:0;border-radius:10px;overflow:hidden}
.product-detail-page .shop-detail-cover img{width:100%;height:auto;max-height:none;object-fit:contain}
.product-detail-page .shop-detail-copy{min-width:0;padding-top:12px;overflow-wrap:anywhere}
.product-detail-page .shop-detail-copy h1{font-size:clamp(1.8rem,2.3vw,2.35rem);line-height:1.4;letter-spacing:-.02em;margin:15px 0}
.product-detail-page .shop-detail-subtitle{font-size:1rem}
.product-detail-page .shop-detail-description{margin:20px 0 25px;font-size:.9rem;line-height:1.8}
.product-detail-page .shop-detail-buy{padding-block:20px;gap:12px}
/* Shop catalogue follows the agent catalogue layout. */
.shop-page .catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:36px;padding-bottom:30px;background:#f4f8fa;border-bottom:1px solid #dce6eb}
.shop-page .market-catalog{padding-top:25px;padding-bottom:60px}
.shop-page .market-catalog-head h2{margin:0;font-size:1.25rem;letter-spacing:-.02em}
.shop-page .market-catalog-head>p{max-width:none;font-size:.83rem}
.shop-page .market-controls{margin-top:19px;padding-block:12px}
.shop-page .market-subcontrols{margin-top:15px}
.shop-page .market-result-line{margin-top:19px}
.shop-page .market-grid[data-count="1"]{grid-template-columns:minmax(0,1fr)}
.shop-page .market-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.shop-page .market-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-page .market-item-cover{height:auto;aspect-ratio:16/9;flex:none;background:#eef3f6}
.shop-page .market-item-cover img{object-fit:contain}
.shop-page .market-item-cover:has(img)::before,.shop-page .market-item-cover:has(img)::after{display:none}
.shop-page .market-grid[data-count="1"] .market-item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.shop-page .market-grid[data-count="1"] .market-item-body{padding:26px 34px}
.shop-page .market-grid[data-count="1"] .market-item h3{font-size:clamp(1.55rem,2.2vw,2.3rem);margin:13px 0}
.shop-page .market-grid[data-count="1"] .market-item-summary{min-height:0;font-size:.94rem}
.shop-page .market-grid[data-count="1"] .market-item-tags{display:grid;gap:5px}
.shop-page .market-grid[data-count="1"] .market-item-tags span{padding:6px 10px;font-size:.81rem}
.shop-page .market-grid[data-count="1"] .market-item-foot{padding-top:23px}
.shop-page .shop-catalog{min-height:0}
.shop-page .catalog-intro h1{margin:10px 0 0;font-size:clamp(2rem,3vw,3.1rem);line-height:1.2;letter-spacing:-.04em}
.shop-page .shop-item .shop-item-cover,.shop-page .shop-item .shop-item-cover:has(img){position:relative;display:grid;place-items:center;height:auto;min-height:0;aspect-ratio:16/9;background:#f5f7f8;overflow:hidden}
.shop-page .shop-item .shop-item-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain;padding:0}
.shop-page .shop-item .market-item-summary{min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 15px;line-height:1.6}
.shop-page .shop-item .market-item-meta{margin-bottom:12px}
.shop-page .shop-item h3{font-size:1.1rem;line-height:1.5;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shop-page .shop-item .market-item-foot{margin-top:auto}
.shop-page .shop-item .market-item-foot strong{font-size:1.05rem}
.shop-page .market-grid[data-count="1"] .shop-item .shop-item-cover{max-height:380px;aspect-ratio:auto;height:380px}
