/*
Theme Name: PerfumesPost
Description: Editorial wholesale catalog for PerfumesPost.
Version: 1.2.0
Text Domain: perfumespost
*/
/* 中文说明：统一基础、组件及响应式规则；替换旧样式，不保留废弃瓶子/字母卡片覆盖层。 */
:root { --paper:#faf9f6; --sand:#f0eee8; --ink:#252a27; --muted:#62685f; --accent:#59674e; --line:#d8d4ca; --white:#fff; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 Arial,Helvetica,sans-serif; overflow-wrap:break-word; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; }
button,input,select { font:inherit; color:inherit; }
button,select { cursor:pointer; }
button:disabled { cursor:wait; opacity:.55; }
a,button,input,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.035em; line-height:1.12; }
h1 { font-size:clamp(38px,4.5vw,64px); margin-bottom:20px; }
h2 { font-size:clamp(29px,3.2vw,44px); margin-bottom:20px; }
h3 { font-size:19px; line-height:1.35; font-weight:500; }
p,.muted { color:var(--muted); }
em { color:var(--accent); }
.container,.site-main { width:min(100% - 48px,1440px); margin-inline:auto; }
.section,.site-main { padding-block:52px; }
.eyebrow { font-size:12px; letter-spacing:.13em; font-weight:600; margin-bottom:16px; }
.announcement { background:#354135; color:#f9f7f0; text-align:center; padding:8px 16px; font-size:12px; letter-spacing:.035em; }
.site-header { width:min(100% - 48px,1480px); margin:auto; padding:23px 0; display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; }
.wordmark { font:32px/1 Georgia,serif; letter-spacing:-.055em; white-space:nowrap; }
.wordmark span { font-style:italic; }
.wordmark small { display:block; font:10px Arial,sans-serif; letter-spacing:.16em; margin-top:9px; }
.primary-navigation { display:flex; gap:19px; font-size:14px; align-items:center; }
.primary-navigation a { padding-block:8px; }
.primary-navigation a:hover,.site-footer a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:5px; }
.header-actions { display:flex; align-items:center; gap:17px; }
.inquiry-link { font-size:13px; white-space:nowrap; }
[data-inquiry-count] { display:inline-grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:12px; min-width:25px; height:25px; margin-left:3px; }
.menu-toggle { display:none; border:1px solid var(--line); background:none; padding:10px 14px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 21px; background:var(--ink); color:var(--white); border:1px solid var(--ink); font-size:14px; line-height:1.5; min-height:46px; transition:background .15s,color .15s; }
.button:hover { background:#46563e; border-color:#46563e; }
.button:active { transform:translateY(1px); }
.button-small { padding:10px 16px; min-height:42px; }
.button-outline { background:transparent; color:var(--ink); }
.button-outline:hover { color:white; }
.text-link,.underlined { font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.text-link:hover,.underlined:hover { color:var(--accent); }
.text-button { border:0; background:none; padding:8px; text-decoration:underline; text-underline-offset:4px; font-size:14px; }
.search-strip { border-block:1px solid var(--line); }
.search-strip .container { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.search-strip .container > span { font-size:11px; letter-spacing:.1em; color:var(--muted); }
.catalog-search { display:flex; align-items:center; width:min(100%,650px); }
.catalog-search input { min-width:0; width:100%; border:0; background:none; padding:15px 0; font-size:14px; border-radius:0; }
.catalog-search button { border:0; background:none; font-size:14px; padding:13px 15px; }
.hero { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; align-items:center; padding-block:44px; }
.hero h1 { font-size:clamp(36px,3.6vw,57px); }
.hero-intro { max-width:580px; font-size:16px; line-height:1.8; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-block:26px; }
.hero-note { font-size:11px; letter-spacing:.07em; margin:0; }
.hero-art { position:relative; min-width:0; background:#e8e5da; aspect-ratio:5/3.6; overflow:hidden; }
.hero-art > img { display:block; width:100%; height:100%; position:absolute; object-fit:cover; }
.editorial-art { position:absolute; inset:0; background:linear-gradient(130deg,#ded8c9,#edece2 65%); overflow:hidden; }
.editorial-art > span { position:absolute; left:7%; top:9%; z-index:2; font-size:13px; letter-spacing:.2em; }
.editorial-art small { position:absolute; bottom:8%; left:7%; z-index:2; font:italic 18px Georgia,serif; }
.art-circle { position:absolute; width:49%; aspect-ratio:1; border:1px solid #9fa48c; border-radius:50%; left:22%; top:15%; }
.art-arch { position:absolute; width:33%; height:78%; border-radius:50% 50% 0 0; background:linear-gradient(90deg,#8d9a7d,#b6bba1); top:30%; right:12%; transform:rotate(-15deg); box-shadow:15px 14px 22px #747d5f24; }
.section-heading,.group-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:26px; }
.section-heading h2,.group-heading h3 { margin-bottom:0; }
.section-heading .eyebrow { margin-bottom:12px; }
.arrival-group + .arrival-group { margin-top:40px; }
.group-heading h3 { font:28px Georgia,serif; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 20px; }
.item-card { min-width:0; }
.item-visual { position:relative; background:#eeede6; aspect-ratio:4/5; display:grid; place-items:center; overflow:hidden; }
.item-visual > a { display:block; width:100%; height:100%; }
.item-visual img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .2s; }
.item-card:hover .item-visual img { transform:scale(1.025); }
.preview-trigger { position:absolute; right:10px; bottom:10px; width:36px; height:36px; border:1px solid var(--line); background:white; border-radius:50%; font-size:18px; }
.item-meta { display:flex; justify-content:space-between; gap:8px; margin-top:12px; align-items:start; font-size:13px; color:var(--muted); }
.copy-code { padding:0; border:0; background:none; font-size:12px; white-space:nowrap; line-height:1.8; }
.copy-code:hover { color:var(--ink); text-decoration:underline; }
.item-card h3 { margin:7px 0 10px; font-size:14px; line-height:1.45; }
.item-card h3 a:hover { text-decoration:underline; }
.card-actions { display:flex; flex-direction:column; align-items:start; gap:7px; }
.item-inquiry { font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.inquiry-add { border:0; background:transparent; color:var(--accent); padding:5px 0; font-size:12px; text-align:left; }
.inquiry-add:hover { text-decoration:underline; }
.inquiry-add[aria-pressed=true] { font-weight:bold; color:var(--ink); }
.category-section { background:var(--sand); }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.category-tile { min-width:0; background:#f9f8f3; border:1px solid var(--line); }
.tax-cover { position:relative; aspect-ratio:4/3; overflow:hidden; background:#eeede6; display:grid; place-items:center; }
.tax-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.tax-caption { padding:20px; }
.tax-caption h2,.tax-caption h3 { font:27px Georgia,serif; margin:0 0 10px; }
.tax-caption p { font-size:13px; margin:0; }
.category-tile:hover,.brand-card:hover .tax-cover { outline:1px solid var(--accent); }
.cover-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:100%; height:100%; background:linear-gradient(135deg,#e8e5d9,#f3f1e8); color:#7d866b; font-size:12px; }
.brand-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 22px; }
.brand-card h2,.brand-card h3 { font-size:21px; margin:14px 0 5px; font-weight:400; }
.brand-card p { font-size:13px; margin:0; }
.values-section { background:#e9ecdf; }
.values-grid,.info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:30px; }
.values-grid span { color:var(--accent); font-size:13px; }
.values-grid h3 { margin:16px 0 10px; }
.values-grid p,.info-grid p { font-size:15px; margin:0; }
.info-grid a { border-top:1px solid var(--line); padding-top:20px; }
.info-grid h3 { margin-bottom:12px; }
.contact-band { background:#354135; color:white; padding:38px 0; }
.contact-band .container { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.contact-band h2 { margin-bottom:12px; }
.contact-band p { color:#e0e5d8; margin-bottom:0; }
.contact-band .eyebrow { margin-bottom:14px; }
.contact-band .button { background:var(--paper); color:var(--ink); white-space:nowrap; }
.site-footer { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-block:38px 24px; }
.site-footer p { font-size:14px; margin:14px 0 0; }
.site-footer nav { display:flex; justify-content:end; align-items:start; flex-wrap:wrap; gap:24px; font-size:14px; }
.site-footer small { grid-column:1/-1; font-size:12px; color:var(--muted); padding-top:20px; border-top:1px solid var(--line); }
.breadcrumbs { display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:13px; margin-bottom:28px; }
.page-heading { margin-bottom:30px; }
.page-heading p { max-width:760px; margin-bottom:0; }
.collection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; border-block:1px solid var(--line); padding:14px 0; margin:25px 0; font-size:14px; }
.sort-form { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.sort-form select { background:transparent; border:1px solid var(--line); padding:9px; }
.arrival-filters { display:flex; align-items:end; gap:16px; flex-wrap:wrap; padding:22px; background:var(--sand); border:1px solid var(--line); margin-bottom:22px; }
.arrival-filters label { display:flex; flex-direction:column; font-size:13px; gap:5px; }
.arrival-filters select,.arrival-filters input { background:var(--paper); border:1px solid #b7b7aa; padding:10px; min-height:44px; max-width:100%; min-width:135px; border-radius:0; }
.custom-dates { display:flex; gap:12px; flex-wrap:wrap; }
.filter-actions { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.filter-note { flex-basis:100%; font-size:12px; margin:0; }
.result-status { font-size:14px; margin-bottom:22px; }
.load-more-nav { text-align:center; margin-top:36px; }
.load-more-nav [aria-disabled=true] { pointer-events:none; opacity:.65; }
.pagination { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:35px; }
.page-numbers { border:1px solid var(--line); padding:8px 15px; }
.page-numbers.current { background:var(--ink); color:white; }
.page-numbers:hover { border-color:var(--accent); }
.single-item { display:grid; grid-template-columns:1.1fr 1fr; gap:55px; align-items:start; }
.single-image { position:relative; background:#eeede6; min-height:200px; }
.single-image img { display:block; width:100%; max-height:740px; object-fit:contain; }
.single-copy { padding-top:12px; }
.single-copy h1 { font-size:clamp(32px,3.8vw,52px); }
.single-code { display:flex; justify-content:space-between; border-block:1px solid var(--line); padding:18px 0; margin:24px 0; }
.single-copy dl { display:grid; grid-template-columns:100px 1fr; gap:12px; font-size:15px; }
.single-copy dd { margin:0; }
.single-copy dd a { text-decoration:underline; margin-right:10px; }
.single-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-block:24px; }
.single-actions .inquiry-add { font-size:14px; }
.fine-print { font-size:13px; }
.prose { max-width:800px; font-size:17px; line-height:1.9; padding-bottom:25px; }
.prose h2 { font-size:34px; }
.prose a:not(.button) { text-decoration:underline; }
.empty-state { text-align:center; border:1px solid var(--line); padding:40px 22px; }
.empty-state h2,.empty-state h3 { font:30px Georgia,serif; margin-bottom:15px; }
.empty-state p { margin-bottom:16px; }
.image-placeholder { display:grid; place-items:center; height:100%; min-height:160px; font-size:13px; color:var(--muted); }
.image-failed::after { content:'Image unavailable'; position:absolute; inset:0; display:grid; place-items:center; font-size:13px; color:var(--muted); background:#eeede6; pointer-events:none; }
.notice { border-left:3px solid var(--accent); padding:15px 20px; background:var(--sand); margin-bottom:20px; }
.notice p { margin-bottom:7px; }
.inquiry-row { display:grid; grid-template-columns:100px 1fr auto; gap:22px; align-items:center; border-bottom:1px solid var(--line); padding:20px 0; }
.inquiry-image { display:block; width:100px; height:110px; background:var(--sand); }
.inquiry-image img { width:100%; height:100%; object-fit:contain; }
.inquiry-row .eyebrow { margin-bottom:6px; }
.inquiry-row a:hover { text-decoration:underline; }
.inquiry-item-code { font-size:14px; margin:7px 0 0; }
.inquiry-controls { display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-block:26px; }
.inquiry-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:50; width:max-content; max-width:calc(100% - 32px); background:var(--ink); color:white; padding:15px 22px; box-shadow:0 5px 20px #0002; font-size:14px; }
.mobile-inquiry { display:none; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:absolute; left:-10000px; }
.skip-link:focus { position:fixed; top:10px; left:10px; z-index:100; padding:12px; background:white; }
dialog { max-width:94vw; max-height:94vh; border:0; padding:50px 20px 18px; background:var(--paper); }
dialog::backdrop { background:#000b; }
dialog img { display:block; max-height:72vh; max-width:85vw; margin:auto; }
dialog p { text-align:center; font-size:14px; margin:15px 0 0; }
.preview-close { position:absolute; top:8px; right:12px; border:0; background:none; padding:6px; font-size:14px; }
@media (min-width:1280px) {
    .product-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
    .latest-arrivals .product-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@media (max-width:1230px) {
    .primary-navigation { gap:13px; font-size:13px; }
    .header-contact { display:none; }
    .hero { gap:28px; }
}
@media (max-width:1040px) {
    .site-header { gap:18px; }
    .primary-navigation { width:100%; flex-direction:column; align-items:stretch; order:3; gap:0; }
    .primary-navigation a { border-top:1px solid var(--line); padding:12px 0; }
    .js-ready .primary-navigation { display:none; }
    .js-ready .primary-navigation.is-open { display:flex; }
    .js-ready .menu-toggle { display:block; margin-left:auto; }
    .hero { grid-template-columns:1.2fr 1fr; }
    .hero-actions .button { font-size:13px; padding:11px 14px; }
}
@media (max-width:960px) {
    .product-grid,.brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .single-item { gap:30px; }
    .values-grid,.info-grid { gap:24px; }
    .hero h1 { font-size:37px; }
}
@media (max-width:760px) {
    .hero { grid-template-columns:1fr; padding-block:30px; gap:26px; }
    .hero h1 { font-size:clamp(35px,6vw,46px); }
    .hero-art { aspect-ratio:2/1; }
    .hero-intro { max-width:none; }
    .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
    .single-item { grid-template-columns:1fr; gap:24px; }
    .values-grid,.info-grid { grid-template-columns:1fr; }
    .contact-band .container { flex-direction:column; align-items:start; }
    .site-footer { grid-template-columns:1fr; }
    .site-footer nav { justify-content:start; gap:18px; }
    .search-strip .container > span { display:none; }
}
@media (max-width:600px) {
    .container,.site-main,.site-header { width:calc(100% - 28px); }
    .section,.site-main { padding-block:34px; }
    .site-header { padding-block:18px; gap:12px; }
    .wordmark { font-size:28px; }
    .wordmark small { font-size:9px; }
    .header-actions { order:4; width:100%; justify-content:space-between; }
    .header-contact { display:block; }
    .header-actions .button { font-size:13px; }
    .product-grid,.brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 12px; }
    .item-meta { flex-wrap:wrap; gap:3px; font-size:12px; }
    .item-card h3 { font-size:13px; }
    .preview-trigger { width:34px; height:34px; }
    .item-inquiry,.inquiry-add { font-size:11px; }
    .inquiry-add { min-height:34px; }
    .section-heading,.group-heading { align-items:start; flex-wrap:wrap; gap:12px; margin-bottom:22px; }
    .section-heading h2 { font-size:32px; }
    .section-heading > a,.group-heading > a { font-size:13px; }
    .arrival-group + .arrival-group { margin-top:30px; }
    .group-heading h3 { font-size:25px; }
    .tax-caption { padding:14px; }
    .tax-caption h2,.tax-caption h3 { font-size:23px; }
    .tax-caption p { font-size:12px; }
    .brand-card h2,.brand-card h3 { font-size:19px; }
    .arrival-filters { padding:15px; gap:12px; }
    .arrival-filters > label { flex:1 1 calc(50% - 12px); min-width:0; }
    .arrival-filters input,.arrival-filters select { min-width:0; width:100%; font-size:14px; }
    .custom-dates { width:100%; }
    .custom-dates label { flex:1; min-width:0; }
    .filter-actions { width:100%; }
    .collection-toolbar { flex-wrap:wrap; }
    .sort-form { gap:8px; }
    .single-copy h1 { font-size:36px; }
    .inquiry-row { grid-template-columns:72px 1fr; gap:14px; }
    .inquiry-image { width:72px; height:90px; }
    .inquiry-row > button { grid-column:2; justify-self:start; padding:0; }
    .inquiry-controls { flex-direction:column; align-items:stretch; gap:12px; }
    .mobile-inquiry { position:fixed; bottom:12px; right:14px; z-index:30; display:flex; gap:12px; align-items:center; background:var(--ink); color:white; padding:11px 17px; font-size:13px; box-shadow:0 3px 12px #0003; }
    .inquiry-toast { bottom:80px; width:calc(100% - 28px); }
    .site-footer { padding-bottom:78px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; scroll-behavior:auto !important; } }
