/* Product-first handheld collection, with real WooCommerce catalog controls. */
.fan-collection-layout.section-layout { background:#fff; }
.fan-collection-layout .section-header { border-radius:0; background:#fff; border-bottom:1px solid #ededed; width:92%; max-width:1520px; margin-top:0; min-height:88px; }
.fan-collection-layout .section-main { width:92%; max-width:1520px; margin:24px auto 80px; }
.fan-collection-layout .breadcrumbs { color:#777; font-size:12px; gap:10px; }
.fan-collection-layout .fan-collection-heading { padding:44px 0 50px; text-align:center; }
.fan-collection-layout .fan-collection-heading h1 { font-size:clamp(32px,3.3vw,54px); font-weight:600; line-height:1.15; letter-spacing:-.035em; }
.fan-catalog-toolbar { display:flex; align-items:center; gap:22px; border-bottom:1px solid #e7e7e7; padding-bottom:22px; margin-bottom:30px; font-size:14px; }
.fan-product-count { margin-left:auto !important; color:#777; white-space:nowrap; }
.fan-filter-dropdown { position:relative; }
.fan-filter-dropdown > summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; min-height:44px; font-weight:600; }
.fan-filter-dropdown > summary::-webkit-details-marker,.fan-faq-item > summary::-webkit-details-marker { display:none; }
.fan-filter-dropdown > summary svg { width:20px; height:20px; }
.fan-filter-dropdown > summary > span { margin-left:12px; font-size:22px; font-weight:400; transition:transform .15s; }
.fan-filter-dropdown[open] > summary > span { transform:rotate(45deg); }
.fan-filter-form { position:absolute; z-index:12; top:calc(100% + 12px); left:0; width:320px; max-width:85vw; padding:25px; background:#fff; border:1px solid #e2e2e2; border-radius:12px; box-shadow:0 14px 40px #00000014; }
.fan-filter-form fieldset { border:0; padding:0; margin:0 0 24px; min-width:0; }
.fan-filter-form legend { padding:0; margin-bottom:16px; font-size:15px; font-weight:700; }
.fan-stock-option { display:flex; align-items:center; gap:9px; font-size:14px; margin:12px 0; }
.fan-stock-option input { accent-color:#ff8a00; width:16px; height:16px; }
.fan-price-fields { display:flex; align-items:center; gap:10px; }
.fan-price-fields label { flex:1; min-width:0; font-size:12px; color:#666; }
.fan-price-fields input { display:block; width:100%; min-width:0; box-sizing:border-box; padding:10px; margin-top:6px; border:1px solid #ccc; border-radius:5px; background:#fff; color:#111; }
.fan-filter-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fan-filter-actions button,.fan-sort-submit { background:#111; color:#fff; padding:10px 16px; border:0; border-radius:6px; cursor:pointer; }
.fan-filter-actions a { font-size:13px; text-decoration:underline; }
.fan-sort-form { display:flex; align-items:center; gap:9px; }
.fan-sort-form label { white-space:nowrap; color:#777; }
.fan-sort-form select { width:185px; max-width:100%; font:inherit; color:#111; border:0; background:#fff; padding:12px 25px 12px 8px; cursor:pointer; }
.fan-sort-form.fan-sort-enhanced .fan-sort-submit { display:none; }
.fan-active-filter { margin:0 0 25px !important; color:#666; font-size:13px; }
.fan-active-filter a { text-decoration:underline; }
.fan-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px 24px; }
.fan-product-card { min-width:0; }
.fan-product-photo { display:block; position:relative; overflow:hidden; aspect-ratio:1; border-radius:16px; background:#f5f5f5; }
.fan-product-photo img { display:block; width:100%; height:100%; object-fit:contain; transition:opacity .25s ease,transform .35s ease; }
.fan-product-photo .fan-card-secondary { position:absolute; inset:0; opacity:0; }
.fan-product-badge { position:absolute; top:15px; left:15px; z-index:2; border-radius:999px; padding:6px 12px; font-size:12px; line-height:1.2; background:#ff8a00; color:#fff; font-weight:600; }
.fan-product-soldout { background:#555; }
.fan-product-info { padding:20px 2px 0; }
.fan-product-info h2 { font-size:18px; font-weight:600; line-height:1.4; margin-bottom:12px; }
.fan-product-info h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.fan-product-price { font-size:17px; margin-bottom:18px; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.fan-product-price del { color:#888; font-size:14px; order:2; }
.fan-product-price ins { text-decoration:none; font-weight:600; color:#111; }
.fan-product-action .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; box-sizing:border-box; border:1px solid #ff8a00; border-radius:999px; background:#ff8a00; color:#fff; font-size:14px; font-weight:600; line-height:1.3; padding:12px 14px; transition:background .2s; }
.fan-product-action .button:hover { background:#e97800; border-color:#e97800; }
.fan-product-action .added_to_cart { display:block; margin-top:12px; text-align:center; font-size:13px; text-decoration:underline; }
.fan-empty { padding:60px 20px; text-align:center; background:#f7f7f7; border-radius:14px; }
.fan-empty h2 { font-size:28px; margin-bottom:15px; }
.fan-empty p { color:#666; margin-bottom:16px; }
.fan-empty a { text-decoration:underline; }
.fan-lifestyle { position:relative; overflow:hidden; border-radius:16px; margin-top:80px; background:#d9e4e5; }
.fan-lifestyle > img { display:block; width:100%; height:auto; aspect-ratio:2.7; object-fit:cover; }
.fan-lifestyle::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0005,transparent 70%); pointer-events:none; }
.fan-lifestyle-copy { position:absolute; z-index:1; top:50%; left:6%; width:43%; transform:translateY(-50%); color:#fff; }
.fan-lifestyle-copy p { font-size:11px; font-weight:700; letter-spacing:.14em; margin-bottom:16px; }
.fan-lifestyle-copy h2 { font-size:clamp(28px,3.6vw,58px); line-height:1.1; letter-spacing:-.03em; }
.fan-collection-story { max-width:980px; margin:65px auto; text-align:center; }
.fan-collection-story h2 { font-size:clamp(25px,2.5vw,38px); margin-bottom:24px; line-height:1.2; }
.fan-collection-story p { color:#666; font-size:16px; line-height:1.8; margin-top:14px; }
.fan-collection-story a,.fan-faq-item a { text-decoration:underline; text-underline-offset:3px; }
.fan-collection-faq { margin:70px auto 0; max-width:1040px; }
.fan-collection-faq > h2 { text-align:center; font-size:clamp(28px,3vw,42px); font-weight:600; margin-bottom:36px; line-height:1.2; }
.fan-faq-item { border-top:1px solid #ddd; }
.fan-faq-item:last-child { border-bottom:1px solid #ddd; }
.fan-faq-item > summary { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:24px 0; font-size:17px; line-height:1.4; font-weight:600; list-style:none; cursor:pointer; }
.fan-faq-item > summary span { font-size:23px; font-weight:400; flex-shrink:0; }
.fan-faq-item[open] > summary span { transform:rotate(45deg); }
.fan-faq-item p { max-width:900px; padding:0 30px 24px 0; color:#666; font-size:15px; line-height:1.8; }
@media (hover:hover) and (pointer:fine) {
 .fan-product-photo:has(.fan-card-secondary):hover .fan-card-primary { opacity:0; }
 .fan-product-photo:hover .fan-card-secondary { opacity:1; }
}
@media (max-width:1050px) {
 .fan-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 22px; }
 .fan-lifestyle-copy { width:45%; }
}
@media (max-width:680px) {
 .fan-collection-layout .section-header { min-height:70px; margin-top:0; width:92%; }
 .fan-collection-layout .section-main { width:92%; margin-top:18px; margin-bottom:50px; }
 .fan-collection-layout .fan-collection-heading { padding:30px 0 32px; }
 .fan-collection-heading h1 { font-size:32px; }
 .fan-catalog-toolbar { flex-wrap:wrap; gap:12px; margin-bottom:24px; padding-bottom:16px; }
 .fan-product-count { margin-left:auto !important; font-size:12px; }
 .fan-sort-form { width:100%; border-top:1px solid #eee; padding-top:8px; justify-content:flex-end; font-size:13px; }
 .fan-sort-form select { width:auto; max-width:65%; }
 .fan-product-grid { gap:30px 12px; }
 .fan-product-photo { border-radius:12px; }
 .fan-product-badge { top:9px; left:9px; font-size:10px; padding:5px 8px; }
 .fan-product-info { padding-top:14px; }
 .fan-product-info h2 { font-size:15px; margin-bottom:8px; }
 .fan-product-price { font-size:15px; margin-bottom:14px; gap:6px; }
 .fan-product-price del { font-size:12px; }
 .fan-product-action .button { min-height:42px; font-size:12px; padding:10px 8px; }
 .fan-lifestyle { margin-top:45px; border-radius:12px; }
 .fan-lifestyle > img { aspect-ratio:1.2; object-position:45% center; }
 .fan-lifestyle::after { background:linear-gradient(0deg,#0007,transparent 75%); }
 .fan-lifestyle-copy { top:auto; bottom:24px; left:7%; width:86%; transform:none; }
 .fan-lifestyle-copy h2 { font-size:30px; }
 .fan-lifestyle-copy p { font-size:10px; margin-bottom:12px; }
 .fan-collection-story { margin:40px auto; text-align:left; }
 .fan-collection-story p { font-size:15px; }
 .fan-collection-faq { margin-top:45px; }
 .fan-collection-faq > h2 { font-size:28px; margin-bottom:25px; }
 .fan-faq-item > summary { font-size:16px; padding:20px 0; gap:20px; }
 .fan-faq-item p { padding-right:5px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) { .fan-product-photo img { transition:none; } }
