/* Homepage-only redesign. Keep detail, account and payment pages unchanged. */
body.audience-search { background:#fff; color:#102c32; padding-top:100px; font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif; }
.audience-search .site-header { background:#fff; border-bottom:1px solid #e2e9e8; box-shadow:none; }
.audience-search .header-inner { display:flex; max-width:none; width:100%; box-sizing:border-box; min-height:100px; margin:0; padding:16px 16px; justify-content:space-between; }
.audience-search .brand { color:#102c32; font-size:30px; }
.audience-search .brand img { width:60px; height:60px; }
.audience-search .nav a { color:#334b53; background:transparent; font-size:15px; }
.audience-search .nav a[aria-current] { color:#14665e; border-bottom:3px solid #14665e; border-radius:0; }
.audience-search .drug-search-app { max-width:none; width:100%; box-sizing:border-box; margin:0; padding:0 16px 40px; background:#fff; }
.audience-search .footer-inner { max-width:none; width:100%; box-sizing:border-box; padding-left:16px; padding-right:16px; }
.audience-intro { text-align:center; padding:58px 0 40px; }
.audience-intro h1 { font-size:clamp(26px,3.05vw,44px); line-height:1.5; letter-spacing:-.035em; margin:0; font-weight:750; }
.audience-intro p { color:#566872; font-size:25px; margin:16px 0 0; }
.audience-switch { display:grid; grid-template-columns:1fr 1fr; padding:4px; border:1px solid #d8e2e4; border-radius:14px; margin:8px 0 34px; background:#fafcfc; }
.audience-switch button { font:inherit; border:1px solid transparent; border-radius:11px; padding:20px 16px; background:transparent; color:#536870; cursor:pointer; text-align:center; }
.audience-switch button[aria-pressed="true"] { color:#154f49; background:#e1f0ec; border-color:#b8ded5; }
.audience-switch strong { display:block; font-size:26px; letter-spacing:.05em; }
.audience-switch span { display:block; font-size:16px; margin-top:2px; }
.audience-switch button { display:flex; justify-content:center; align-items:center; gap:22px; }
.audience-switch button>span { text-align:left; }
.audience-switch img { width:40px; height:40px; opacity:.7; }
.audience-search .home-mode-tabs img { width:22px; height:22px; margin-right:8px; }
.audience-search button:focus-visible,.audience-search a:focus-visible { outline:3px solid #217a70; outline-offset:4px; }
.audience-search .search-tool-shell { padding:0; border:0; background:transparent; box-shadow:none; }
.audience-search .search-sticky-bar { position:static; display:flex; flex-wrap:wrap; align-items:start; gap:14px; padding:0; margin:0; background:transparent; border:0; box-shadow:none; }
.audience-search .home-search-box { order:0; flex:1 1 65%; width:auto; padding:0; margin:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.audience-search .home-mode-tabs { order:1; display:flex; width:auto; gap:4px; align-self:stretch; margin:0; padding:0; border:0; background:transparent; }
.audience-search .home-mode-tabs button { font-size:16px; min-height:64px; padding:12px 16px; border:1px solid #bdcecf; background:#fff; color:#22574f; border-radius:8px; }
.audience-search .home-mode-tabs button[aria-pressed="true"] { background:#e1f0ec; }
.audience-search .general-search-row { display:flex; border:1px solid #bdcecf; border-radius:9px; min-height:68px; overflow:hidden; }
.audience-search .general-search-row[hidden] { display:none; }
.audience-search .home-search-box input#drug-search-input { width:100%; flex:1; min-width:0; font-size:20px; border:0; background:#fff; border-radius:0; padding:16px 22px; box-shadow:none; height:auto; }
.audience-search .home-search-box .search-action-row { display:flex; gap:0; margin:0; flex-shrink:0; width:auto; }
.audience-search .home-search-box .search-action-row button { width:100px; min-width:100px; flex:0 0 100px; box-sizing:border-box; padding:14px 12px; font-size:19px; }
.audience-search .site-header .nav a[href="/"] { display:inline-flex; }
.audience-search .home-search-box .search-submit-button { background:#1b655b; color:#fff; font-size:19px; border:0; border-radius:7px; min-width:100px; height:auto; padding:14px 20px; }
.audience-search .home-search-box .search-clear-button { border:0; background:#f5f9f8; color:#526b71; height:auto; padding:10px; }
.audience-search .appearance-search-panel { grid-template-columns:minmax(0,1fr) auto; padding:20px; border:1px solid #bdcecf; border-radius:9px; }
.audience-search .appearance-search-panel[hidden] { display:none; }
.audience-search .appearance-field-grid { gap:12px; }
.audience-search .home-search-box .appearance-toggle-row button { min-height:44px; padding:8px; font-size:15px; }
.audience-search .recent-query-bar { order:3; width:100%; margin:0; }
.audience-search .recent-query-bar:not([hidden]) { display:grid; max-width:none; }
.recent-query-bar { scroll-margin-top:calc(var(--site-header-offset,150px) + 24px); }
.recent-query-heading { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:12px; color:#334b53; font-size:14px; }
.recent-query-heading button { margin-left:auto; padding:8px 12px; border:1px solid #bdcecf; border-radius:8px; background:white; color:#154f49; cursor:pointer; }
.audience-search-hint { order:2; flex-basis:100%; margin:0; color:#5b6e77; font-size:15px; }
.audience-welcome { border-top:1px solid #dce6e5; margin-top:36px; padding:26px 0 32px; }
.audience-welcome[hidden] { display:none; }
.audience-welcome h2 { font-size:21px; margin:0 0 25px; }
.audience-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media(min-width:761px) { .professional-guide .audience-guide { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.audience-guide h3 { font-size:20px; margin:0 0 10px; color:#205f56; }
.audience-guide p { font-size:16px; line-height:1.9; color:#586f77; margin:0; }
.audience-safety { color:#566a73; border-top:1px solid #dce6e5; padding:24px 0; margin:0; font-size:15px; line-height:1.9; }
.audience-search[data-audience="public"] .showcase-deck,
.audience-search[data-audience="public"] .drug-row-alt,
.audience-search[data-audience="public"] .drug-row-meta { display:none; }
.audience-search[data-audience="professional"] .audience-welcome:not(.professional-guide),
.audience-search[data-audience="public"] .professional-guide { display:none; }
.audience-search .showcase-deck { margin-top:30px; }
.audience-search .search-list-panel { margin:32px 0 0; border-top:1px solid #dce6e5; padding:22px 0; }
.audience-search .drug-result-row { border:0; border-bottom:1px solid #e0e8e7; border-radius:0; padding:14px 0; background:#fff; box-shadow:none; }
.audience-search .drug-row-line { align-items:center; }
.audience-search .drug-row-main { display:flex; align-items:center; gap:24px; padding:12px; min-width:0; }
.audience-search .drug-row-title { display:flex; flex-direction:column; align-items:start; gap:8px; min-width:0; }
.audience-search .drug-row-title strong { font-size:22px; color:#153d40; line-height:1.5; }
.audience-search .drug-row-title>span { font-size:16px; color:#60717c; white-space:normal; }
.audience-search .drug-row-meta { font-size:14px; }
.audience-result-image { width:148px; height:120px; object-fit:contain; border-radius:7px; background:#f6f9f8; flex-shrink:0; }
.audience-result-image[hidden] { display:none; }
.audience-result-copy { display:flex; flex-direction:column; gap:10px; min-width:0; flex:1; }
.audience-result-action { font-size:15px; color:#226b61; }
.audience-search .desktop-product-notice { max-width:none; margin-top:34px; border:0; border-top:1px solid #e1e8e7; border-radius:0; background:#f7faf9; padding:24px; box-shadow:none; }
.audience-search .footer { border-top:1px solid #e1e8e7; background:#fafcfb; }
@media(max-width:760px) {
 body.audience-search { padding-top:124px; }
 .audience-search .header-inner { min-height:124px; flex-direction:column; gap:8px; padding:12px 16px; }
 .audience-search .brand { font-size:25px; }.audience-search .brand img { width:42px; height:42px; }
 .audience-search .nav { gap:14px; flex-wrap:wrap; justify-content:center; }.audience-search .nav a { font-size:13px; padding:4px 0; }
 .audience-search .drug-search-app { padding:0 12px 30px; }
 .audience-search .header-inner,.audience-search .footer-inner { padding-left:12px; padding-right:12px; }
 .audience-intro { padding:32px 0 24px; }.audience-intro h1 { font-size:26px; letter-spacing:0; }.audience-intro p { font-size:17px; margin-top:12px; }
 .audience-switch { margin:4px 0 22px; }.audience-switch button { padding:14px 8px; }.audience-switch strong { font-size:22px; }.audience-switch span { font-size:13px; }
 .audience-switch button { gap:8px; }.audience-switch img { width:24px; height:24px; }.audience-switch button>span { text-align:center; }
 .audience-search .home-mode-tabs { order:0; width:100%; }.audience-search .home-mode-tabs button { min-height:42px; flex:1; padding:8px; font-size:15px; }
 .audience-search .home-search-box { order:1; flex-basis:100%; }.audience-search .general-search-row { min-height:58px; }
 .audience-search .home-search-box input#drug-search-input { font-size:16px; padding:12px; }.audience-search .home-search-box .search-submit-button { min-width:62px; padding:12px; font-size:16px; }
 .audience-search .home-search-box .search-action-row button { width:62px; min-width:62px; flex-basis:62px; padding:12px 8px; font-size:16px; }
 .audience-search .appearance-search-panel { grid-template-columns:minmax(0,1fr); }
 .audience-guide { grid-template-columns:1fr; gap:24px; }.audience-welcome { margin-top:26px; }
 .audience-search .drug-row-main { gap:12px; padding:8px 0; }.audience-result-image { width:82px; height:90px; }.audience-search .drug-row-title strong { font-size:18px; }.audience-search .drug-row-title>span { font-size:14px; }
 .audience-search .drug-row-line { flex-wrap:wrap; }.audience-search .drug-row-alt { min-height:42px; }
}
/* Both panels share a grid cell so switching never changes the search area's height. */
.professional-result-grid { display:none; }
.audience-search[data-audience="professional"] .drug-row-main > .audience-result-image,
.audience-search[data-audience="professional"] .drug-row-main > .audience-result-copy { display:none; }
.audience-search[data-audience="professional"] .professional-result-grid { display:grid; grid-template-columns:2fr 2fr 1fr 1fr 1fr; gap:16px; width:100%; font-size:15px; }
.professional-result-grid > span { min-width:0; overflow-wrap:anywhere; }
.professional-result-grid small { display:block; color:#526b71; margin-bottom:8px; font-weight:400; }
@media(max-width:760px) { .audience-search[data-audience="professional"] .professional-result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.professional-result-grid > span:first-child { grid-column:1/-1; } }
.audience-search .home-mode-tabs { order:0; width:100%; align-self:auto; padding:4px; gap:4px; border:1px solid #bdcecf; border-radius:10px; background:#f5f9f8; }
.audience-search .home-mode-tabs button { display:flex; flex:1; min-height:48px; border:0; background:transparent; font-size:17px; }
.audience-search .home-mode-tabs button[aria-pressed="true"] { background:#e1f0ec; color:#154f49; box-shadow:0 1px 3px #102c321a; }
.audience-search .home-search-box { order:1; flex-basis:100%; display:grid; }
.audience-search .home-search-box .general-search-row,
.audience-search .home-search-box .appearance-search-panel { grid-area:1/1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; padding:0; margin:0; border:0; border-radius:0; background:transparent; overflow:visible; }
.audience-search .home-search-box input#drug-search-input { margin-top:32px; }
.audience-search .home-search-box .general-search-row[hidden],
.audience-search .home-search-box .appearance-search-panel[hidden] { display:grid; visibility:hidden; pointer-events:none; }
.audience-search .home-search-box input#drug-search-input,
.audience-search .home-search-box .appearance-field input { height:56px; min-height:56px; padding:12px; font-size:18px; line-height:1.4; border:1px solid #bdcecf; border-radius:8px; background:#fff; }
.audience-search .appearance-field-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.audience-search .appearance-field,.audience-search .appearance-field:not(.appearance-text-field) { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:0; border:0; background:transparent; align-content:start; }
.audience-search .appearance-field>span,.audience-search .appearance-field:not(.appearance-text-field)>span { font-size:16px; line-height:24px; text-align:left; color:#526b71; }
.audience-search .appearance-input-row { display:block; }
.audience-search .appearance-input-row em { display:none; }
.audience-search .appearance-toggle-row { display:flex; gap:4px; height:56px; }
.audience-search .home-search-box .appearance-toggle-row button { flex:1; height:56px; min-height:56px; font-size:17px; border-radius:8px; padding:8px; }
.audience-search .home-search-box .search-action-row { display:flex; gap:8px; align-self:start; margin-top:32px; }
.audience-search .home-search-box .search-action-row button { height:56px; min-height:56px; }
@media(min-width:1400px) { .audience-search .appearance-field-grid { grid-template-columns:repeat(8,minmax(0,1fr)); } }
@media(max-width:760px) {
 .audience-search .home-search-box .general-search-row,.audience-search .home-search-box .appearance-search-panel { position:relative; grid-template-columns:minmax(0,1fr); align-content:start; padding:0; gap:16px; }
 .audience-search .appearance-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .audience-search .appearance-field-grid > :first-child { grid-column:1 / -1; margin-right:148px; }
 .audience-search .home-search-box input#drug-search-input { width:calc(100% - 148px); }
 .audience-search .home-search-box .search-action-row { position:absolute; top:32px; right:0; justify-content:flex-end; margin-top:0; }
 .audience-search .home-search-box input#drug-search-input,.audience-search .home-search-box .appearance-field input { font-size:16px; }
}
