/* Category photography, scoped to directory and product category headers. */
.qn-category-directory .category-grid.all,.qn-category-directory .qn-gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.qn-category-directory .category-tile{display:flex;flex-direction:column;align-items:stretch;min-width:0;background:#fff;border:1px solid #e9dfd2;border-radius:12px;overflow:hidden;height:100%;box-shadow:0 3px 14px #49382206}
.qn-category-directory .category-grid.all .category-tile>img,.qn-category-directory .qn-gift-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f5f0e7;max-width:none;border-radius:0}
.qn-category-directory .category-tile .tile-copy{padding:18px 20px;flex:1;align-items:flex-start;gap:12px}
.qn-category-directory .tile-copy h3{font-family:"Be Vietnam Pro",sans-serif;font-size:18px;line-height:1.4;margin:0 0 6px;font-weight:650}
.qn-category-directory .tile-copy p{display:block;font-size:13px;line-height:1.65;margin:0}
.qn-category-directory .tile-copy svg{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.qn-category-directory .link-card{padding:0;overflow:hidden;border:1px solid #e9dfd2;border-radius:12px;background:#fff;display:flex;flex-direction:column;min-width:0}
.qn-category-directory .qn-gift-photo{display:block}
.qn-category-directory .link-card h3{font-size:18px;line-height:1.4;margin:18px 20px 8px}
.qn-category-directory .link-card>p{font-size:13px;line-height:1.75;margin:0 20px 20px}
.qn-category-directory .qn-image-label{font:400 11px/1.5 var(--body);color:#746858;margin-top:8px;display:block}
.qn-category-directory .qn-gift-intro{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:36px;align-items:center;padding:28px 32px;border:1px solid #e9dfd2;border-radius:14px;background:#fcf8f1;margin:24px 0 32px}
.qn-category-directory .qn-gift-intro h2{margin:10px 0 12px}
.qn-category-directory .qn-gift-intro p{max-width:700px}
.qn-category-directory .qn-gift-intro img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:10px}
.qn-category-directory .qn-info-page{padding-top:10px;padding-bottom:64px}
.qn-category-directory a:focus-visible{outline:3px solid #a3271e;outline-offset:4px}
.qn-category-heading{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto auto auto;column-gap:42px;align-content:center;min-height:310px;padding-top:8px!important;padding-bottom:32px!important}
.qn-category-heading>.eyebrow,.qn-category-heading>h1,.qn-category-heading>.prose,.qn-category-heading>p{grid-column:1}
.qn-category-heading h1{align-self:end}
.qn-category-heading .qn-category-photo{grid-column:2;grid-row:1/5;margin:0;align-self:center}
.qn-category-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;border-radius:12px;background:#f5f0e7}
.qn-category-photo figcaption{font-size:11px;line-height:1.6;margin-top:8px;color:#746858}
@media(min-width:1700px){.qn-category-directory>.container{max-width:1600px}}
@media(max-width:1100px){.qn-category-directory .category-grid.all,.qn-category-directory .qn-gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.qn-category-heading{grid-template-columns:minmax(0,1fr) 230px;column-gap:26px}}
@media(max-width:700px){.qn-category-directory .category-grid.all,.qn-category-directory .qn-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.qn-category-directory .category-tile .tile-copy{padding:13px 12px}.qn-category-directory .tile-copy h3,.qn-category-directory .link-card h3{font-size:15px}.qn-category-directory .tile-copy p{font-size:12px}.qn-category-directory .tile-copy svg{display:none}.qn-category-directory .link-card h3{margin:13px 12px 7px}.qn-category-directory .link-card>p{margin:0 12px 14px;font-size:12px;line-height:1.65}.qn-category-directory .qn-gift-intro{grid-template-columns:minmax(0,1fr) 140px;gap:16px;padding:20px}.qn-category-heading{grid-template-columns:minmax(0,1fr) 180px;column-gap:20px}}
@media(max-width:520px){.qn-category-directory .qn-gift-intro{grid-template-columns:1fr;padding:20px}.qn-category-directory .qn-gift-intro img{max-width:220px;margin:auto}.qn-category-directory .qn-image-label{font-size:10px}.qn-category-heading{display:block;min-height:0}.qn-category-heading .qn-category-photo{max-width:280px;margin:22px auto 0}.qn-category-directory .page-heading h1{font-size:32px;line-height:1.25}}
@media(prefers-reduced-motion:reduce){.qn-category-directory *{transition:none!important}}

/* Text-first category archives: headings above products, selection guide below. */
body.woocommerce-page #main .kggqn-woo-catalog,
body.woocommerce-page #main .qn-gift-category { max-width:1320px; }
body.woocommerce-page #main .breadcrumb { font-size:13px; line-height:1.7; padding-block:22px; }
body.woocommerce-page #main .qn-category-heading { display:block; min-height:0; grid-template-columns:none; width:100%; max-width:1040px; padding:10px 0 30px!important; margin:0; }
body.woocommerce-page #main .qn-category-heading > .eyebrow { display:block; font-size:12px; line-height:1.6; letter-spacing:.13em; margin:0 0 12px; }
body.woocommerce-page #main .qn-category-heading h1 { font-size:44px; line-height:1.2; letter-spacing:-.025em; margin:0 0 18px; text-wrap:balance; }
body.woocommerce-page #main .qn-category-heading > p,
body.woocommerce-page #main .qn-category-heading .kggqn-category-description,
body.woocommerce-page #main .qn-category-heading .kggqn-category-description p { font-size:18px; line-height:1.8; color:#51453d; max-width:960px; margin:0; }
body.woocommerce-page #main .qn-category-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; }
body.woocommerce-page #main .qn-category-shortcuts a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 18px; border:1px solid #dccbbb; border-radius:9px; background:#fffaf3; color:#94231b; font:600 15px/1.5 var(--body); text-decoration:none; }
body.woocommerce-page #main .qn-category-shortcuts a:first-child { background:#b71913; border-color:#b71913; color:#fff; }
body.woocommerce-page #main :is(.qn-category-shortcuts,.qn-category-group-picker) a:focus-visible { outline:3px solid #b55c1b; outline-offset:4px; }
body.woocommerce-page #main :is(#qn-category-products,#qn-gift-bases,#qn-gift-groups,#qn-category-guide) { scroll-margin-top:185px; }
body.woocommerce-page #main .kggqn-woo-toolbar { margin-bottom:20px; }
body.woocommerce-page #main .kggqn-woo-toolbar .woocommerce-result-count { font-size:14px; line-height:1.6; }
body.woocommerce-page #main .kggqn-woo-toolbar select { font-size:14px; min-height:46px; }
body.woocommerce-page #main .catalog-sidebar { border-radius:12px; padding:22px 18px; }
body.woocommerce-page #main .catalog-sidebar h2 { font-size:16px; line-height:1.5; }
body.woocommerce-page #main .catalog-sidebar .side-group a { font-size:14px; line-height:1.6; padding:9px; }
body.woocommerce-page #main .qn-category-guide-section { padding:42px 0 58px; }
body.woocommerce-page #main .kggqn-category-guide { max-width:1040px; margin:0 auto; padding:36px 42px; border:1px solid #e4d7c7; border-radius:16px; background:#fff; font-size:18px; line-height:1.85; color:#382b24; }
body.woocommerce-page #main .kggqn-category-guide > h2:first-child { margin-top:0; }
body.woocommerce-page #main .kggqn-category-guide h2 { font-size:30px; line-height:1.3; margin:34px 0 16px; color:#382b24; text-wrap:balance; letter-spacing:-.015em; }
body.woocommerce-page #main .kggqn-category-guide h2:not(:first-child) { border-top:1px solid #ede3d7; padding-top:30px; }
body.woocommerce-page #main .kggqn-category-guide h3 { font-size:24px; line-height:1.4; margin:24px 0 14px; }
body.woocommerce-page #main .kggqn-category-guide p, body.woocommerce-page #main .kggqn-category-guide li { font-size:18px; line-height:1.85; }
body.woocommerce-page #main .kggqn-category-guide p { margin:0 0 18px; }
body.woocommerce-page #main .kggqn-category-guide p:last-child { margin-bottom:0; }
body.woocommerce-page #main .kggqn-category-guide a { color:#a32219; text-decoration:underline; text-underline-offset:4px; text-decoration-color:#c88a6c; }
body.woocommerce-page #main .qn-gift-category #qn-gift-bases { padding:12px 0 0; }
body.woocommerce-page #main .qn-gift-category #qn-gift-bases .section-head { margin-bottom:22px; }
body.woocommerce-page #main .qn-gift-category #qn-gift-bases .section-head h2 { font-size:30px; line-height:1.35; }
body.woocommerce-page #main .qn-gift-category #qn-gift-bases .section-head p { font-size:15px; line-height:1.75; max-width:900px; }
body.woocommerce-page #main .qn-gift-category .qn-gift-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0 0 32px; }
body.woocommerce-page #main .qn-gift-category .qn-gift-actions .btn { min-height:50px; font-size:16px; line-height:1.5; border-radius:10px; }
body.woocommerce-page #main .qn-gift-empty { padding:20px 24px; border:1px solid #e4d7c7; border-radius:12px; background:#faf5ed; font-size:17px; line-height:1.8; max-width:1040px; }
body.woocommerce-page #main .qn-gift-empty p { margin:0; }
body.woocommerce-page #main .qn-category-group-picker { margin-top:4px; font-size:18px; line-height:1.8; max-width:none; }
body.woocommerce-page #main .qn-category-group-picker > h2:first-child { margin-top:0; }
body.woocommerce-page #main .qn-category-group-picker > h2 { font-size:30px; line-height:1.3; margin-bottom:16px; }
body.woocommerce-page #main .qn-category-group-picker > p { max-width:960px; }
body.woocommerce-page #main .qn-category-group-picker h3 { font:700 23px/1.4 var(--body); margin:28px 0 16px; }
body.woocommerce-page #main .qn-category-group-picker .qn-gift-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.woocommerce-page #main .qn-category-group-picker .link-card { background:#fff; padding:24px; border:1px solid #e4d7c7; border-radius:12px; min-width:0; }
body.woocommerce-page #main .qn-category-group-picker .link-card h4 { font:700 19px/1.5 var(--body); margin:0 0 12px; }
body.woocommerce-page #main .qn-category-group-picker .link-card h4 a { color:#9d241b; }
body.woocommerce-page #main .qn-category-group-picker .link-card p { font-size:16px; line-height:1.75; margin:0; }
@media(hover:hover) {
 body.woocommerce-page #main .qn-category-shortcuts a:hover { background:#f3e6d5; border-color:#b78258; color:#94231b; }
}
@media(max-width:980px) {
 body.woocommerce-page #main .qn-category-group-picker .qn-gift-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.woocommerce-page #main .qn-category-heading h1 { font-size:38px; }
}
@media(max-width:640px) {
 body.woocommerce-page #main .breadcrumb { font-size:12px; padding-block:16px; }
 body.woocommerce-page #main .qn-category-heading { padding:4px 0 24px!important; }
 body.woocommerce-page #main .qn-category-heading > .eyebrow { font-size:11px; margin-bottom:10px; }
 body.woocommerce-page #main .qn-category-heading h1 { font-size:32px; line-height:1.25; margin-bottom:14px; }
 body.woocommerce-page #main .qn-category-heading > p,
 body.woocommerce-page #main .qn-category-heading .kggqn-category-description,
 body.woocommerce-page #main .qn-category-heading .kggqn-category-description p { font-size:17px; line-height:1.8; }
 body.woocommerce-page #main .qn-category-shortcuts { gap:8px; margin-top:18px; }
 body.woocommerce-page #main .qn-category-shortcuts a { font-size:14px; padding:10px 14px; min-height:46px; }
 body.woocommerce-page #main .kggqn-woo-toolbar { gap:12px; }
 body.woocommerce-page #main .kggqn-woo-toolbar select { font-size:15px; width:100%; }
 body.woocommerce-page #main .qn-category-guide-section { padding:28px 0 36px; }
 body.woocommerce-page #main .kggqn-category-guide { padding:24px 20px; border-radius:12px; font-size:17px; line-height:1.8; }
 body.woocommerce-page #main .kggqn-category-guide p,body.woocommerce-page #main .kggqn-category-guide li { font-size:17px; line-height:1.8; }
 body.woocommerce-page #main .kggqn-category-guide h2 { font-size:26px; line-height:1.35; margin-top:28px; }
 body.woocommerce-page #main .kggqn-category-guide h2:not(:first-child) { padding-top:24px; }
 body.woocommerce-page #main .qn-category-group-picker > h2,body.woocommerce-page #main .qn-gift-category #qn-gift-bases .section-head h2 { font-size:26px; line-height:1.35; max-width:none; }
 body.woocommerce-page #main .qn-category-group-picker h3 { font-size:21px; }
 body.woocommerce-page #main .qn-category-group-picker .qn-gift-grid { grid-template-columns:1fr; gap:12px; }
 body.woocommerce-page #main .qn-category-group-picker .link-card { padding:20px; }
 body.woocommerce-page #main .qn-gift-category .qn-gift-actions { flex-direction:column; }
 body.woocommerce-page #main .qn-gift-empty { padding:18px 20px; font-size:16px; }
 body.woocommerce-page #main :is(#qn-category-products,#qn-gift-bases,#qn-gift-groups,#qn-category-guide) { scroll-margin-top:100px; }
}
/* Product-base rows use their available width even when there are 3 cards. */
body.woocommerce-page #main #qn-gift-bases .product-grid { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
@media(max-width:640px) {
 body.woocommerce-page #main #qn-gift-bases .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
