/* Visual identity: paper labels from the supplied logo, a compact shopfront,
   and a quiet catalog. All purchasing controls retain their familiar layout. */
:root{--paper:#f8f3e7;--line:#d4cdbd;--orange:#8e4032;--muted:#626963}
body{background:var(--paper)}
.wrap{width:min(1180px,calc(100% - 80px))}
.announcement{padding:5px 0;font-size:.75rem;letter-spacing:0;background:#e7dfce;color:var(--ink);border-bottom:1px solid #d4cdbd}
.announcement>.wrap{display:flex;justify-content:space-between;gap:16px}
.announcement span{color:inherit;margin:0}.announcement a:hover{text-decoration:underline}
.header{min-height:108px;gap:24px;border-bottom:2px solid var(--ink)}
.brand{font-size:1.5rem;gap:11px}.brand img{width:76px;height:76px}
.header nav{gap:27px}.header nav .current{border-bottom:0;text-decoration:underline;text-underline-offset:6px}
.selection-button{border-radius:2px;background:#fdfaf3;padding:10px 14px;border-color:var(--ink)}
.intro{grid-template-columns:minmax(0,1fr) 260px;gap:55px;align-items:center;padding:32px 0 34px;position:relative}
.intro-copy{min-width:0}.intro .eyebrow{text-transform:none;letter-spacing:0;font-size:.875rem;font-weight:400;margin-bottom:12px;color:#5d645e}
.intro h1{font-size:clamp(2rem,3.3vw,2.75rem);line-height:1.23;letter-spacing:-.035em;font-weight:500;overflow-wrap:break-word}
.intro-copy>p:not(.eyebrow){margin-top:19px;line-height:1.65;font-size:1rem;color:#52605d;width:auto}
.intro-copy>p a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.store-note{background:#dce4dc;border:1px solid #b6c4b7;padding:18px 21px 19px;transform:rotate(2deg);box-shadow:3px 4px 0 #294e3910;align-self:center}
.note-label{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:#46604e;display:block;margin-bottom:10px}
.store-note p{font:italic 1.2rem/1.4 var(--serif);color:#344c3f}
.store-note a{display:inline-block;border-bottom:1px solid #647b69;font-size:.75rem;margin-top:13px;color:#344c3f}
.catalog{padding-block:25px 47px;border-top:1px solid var(--line)}
.section-heading{margin-bottom:19px;align-items:center}.section-heading .eyebrow{font-size:.75rem;letter-spacing:.07em;margin-bottom:5px;color:var(--muted)}
.section-heading h2{font-size:2rem;letter-spacing:-.035em}#results-count{font-size:.75rem}
.catalog-controls{gap:18px}.search-field{border-radius:2px;min-height:47px;background:#fffdf6;border-color:#a9b4ad}.search-field input{font-size:1rem;padding-block:10px}
select{border-radius:2px;min-height:47px;padding-block:10px;font-size:.875rem}
.filters{border-bottom:1px solid #c9c3b5;margin-top:22px;gap:7px;padding-inline:3px;align-items:end}
.filters button{position:relative;border-radius:2px 2px 0 0;margin-bottom:-1px;border:1px solid transparent;padding:9px 19px;min-height:44px;background:#e5dfd3;transform-origin:bottom center;color:#313f44}
.filters button[data-filter=novo]{background:#d9e4e9;transform:rotate(-1deg)}
.filters button[data-filter=usado]{background:#d8e0d2;transform:rotate(.6deg)}
.filters button[data-filter=achadinho]{background:#ecd49d;transform:rotate(-.7deg)}
.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--ink);border-bottom:3px solid var(--ink);background:#fffcf2;font-weight:600;transform:none}
.filters button:hover:not([aria-pressed=true]){color:var(--ink);filter:brightness(.96)}
.demo-note{align-items:baseline;gap:12px;font-size:.75rem;margin:15px 0 23px;line-height:1.6}
.demo-note>.demo-label{color:#6e4c23;flex-shrink:0;background:none;font:500 .75rem var(--sans);border-bottom:1px solid #b1905c;padding-bottom:2px}
.demo-note a{text-decoration:underline;text-underline-offset:3px}
.products{gap:28px}.cover{border-radius:1px;box-shadow:0 1px 0 #8c928326}
.cover-button:hover img{transform:scale(1.015)}
.badge{border-radius:0;left:10px;bottom:10px;border:1px solid #183e5c35;box-shadow:1px 2px 0 #14263920;transform:rotate(-2deg);font-size:.75rem}
.badge.usado{transform:rotate(1deg)}.badge.achadinho{background:#efd08a;transform:rotate(-1deg)}
.product-author{font-size:.8125rem;margin-top:15px;margin-bottom:5px}
.product h3{font-size:1.25rem;min-height:2.4em;line-height:1.22;letter-spacing:-.025em}
.product-genre{margin-top:8px;font-size:.75rem;min-height:0}
.edition-note{font-size:.75rem;color:var(--muted);margin-top:2px}
.price-note{font-size:.875rem;margin-top:12px;font-weight:500}
.book-details-link{font-size:.8125rem;border:0;border-bottom:1px solid #a5afa8;background:none;padding:3px 0;margin-top:4px;color:#4b5b60;min-height:32px}
.book-details-link:hover{color:var(--orange);border-color:var(--orange)}
.product-actions{margin-top:12px}.add-button{border-radius:2px;background:#fffcf4;min-height:43px;font-size:.875rem}
.primary{border-radius:2px}.empty{border-radius:2px;background:#eee8da;border-style:solid}
.about{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr);gap:64px;align-items:start;border-radius:0;background:transparent;border-block:1px solid var(--line);padding:37px 0 39px}
.section-label{font-size:.75rem;letter-spacing:.02em;padding:4px 8px;display:inline-block;background:#e4c4b8;color:#643b33;transform:rotate(-1deg);margin-bottom:16px}
.about h2{font-size:1.8rem;font-weight:400;line-height:1.3;letter-spacing:-.035em}
.owner-note{max-width:640px;padding-top:3px}.owner-note>p{font-size:1.0625rem;line-height:1.8;color:#334b58}.owner-note>p+p{margin-top:12px}.owner-note .contact-link{margin-top:19px;font-size:.875rem;font-weight:400}
.purchase-note{display:grid;grid-template-columns:210px 1fr;gap:10px 40px;padding-block:26px 29px;align-items:start}
.purchase-note h2{font:500 1rem/1.5 var(--sans);letter-spacing:0}.purchase-note p{font-size:.875rem;color:var(--muted);line-height:1.8;max-width:690px}.purchase-note>a{grid-column:2;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;justify-self:start}
footer{padding-block:24px 30px;gap:25px}.footer-brand{font-size:1.2rem}footer>span{display:none}
.selection-empty>h3{font-size:1.45rem}.detail-facts>div{font-size:.875rem}.drawer-head .eyebrow{font-size:.75rem;letter-spacing:.035em}.detail-dialog,.selection-dialog{border-radius:3px}
@media(max-width:1000px){.wrap{width:calc(100% - 52px)}.intro{gap:34px;grid-template-columns:minmax(0,1fr) 220px}.intro h1{font-size:2.3rem}.store-note{padding:17px}.store-note p{font-size:1.08rem}.products{gap:20px}.about{gap:36px}.header nav{gap:18px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{padding-block:10px;min-height:92px}.header nav{border:0;padding-top:0;gap:28px}.brand img{width:56px;height:56px}.brand{font-size:1.3rem}.intro{grid-template-columns:minmax(0,1fr) 185px;gap:24px;padding-block:28px}.intro h1{font-size:2rem}.intro h1 br{display:block}.intro-copy>p:not(.eyebrow){font-size:.9375rem}.store-note{padding:14px}.store-note p{font-size:1rem}.store-note a{font-size:.75rem}.section-heading{display:flex;gap:20px}.section-heading h2{font-size:1.8rem}#results-count{margin:0;white-space:normal;text-align:right}.catalog{padding-block:22px 32px}.catalog-controls{gap:10px}.sort-field{margin-left:auto}.filters{margin-top:15px}.filters button{padding:9px 17px}.demo-note{align-items:start;flex-direction:column;gap:6px;margin-block:13px 21px}.products{gap:25px 19px}.product h3{font-size:1.15rem}.product-author{min-height:2.7em;display:flex;align-items:end}.product-genre{min-height:0}.about{grid-template-columns:1fr;gap:22px;padding-block:29px}.about-heading h2 br{display:none}.about h2{font-size:1.7rem}.section-label{margin-bottom:12px}.owner-note{padding-top:0}.owner-note>p{font-size:1rem}.purchase-note{grid-template-columns:1fr;gap:10px;padding-block:25px}.purchase-note>a{grid-column:1}.detail-dialog{padding:35px 24px 24px}.selection-dialog{border-radius:0}}
@media(max-width:520px){.announcement{padding-block:6px}.announcement .wrap>span{display:none}.announcement>.wrap{justify-content:center}.intro{grid-template-columns:1fr;padding-block:24px;gap:0}.intro h1{font-size:clamp(1.85rem,7.6vw,2.45rem);line-height:1.25}.intro .eyebrow{max-width:none;font-size:.8125rem;line-height:1.5;margin-bottom:10px}.intro-copy>p:not(.eyebrow){width:auto;font-size:1rem;line-height:1.65;margin-top:15px}.intro-copy>p br{display:none}.store-note{display:none}.brand{font-size:1.22rem}.brand img{width:55px;height:55px}.selection-button{padding:9px 10px}.selection-button>span{font-size:.8125rem}.header nav{gap:24px;font-size:.875rem}.catalog{padding-top:19px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:1.7rem}.search-field input{font-size:1rem}.search-field{gap:8px;padding-inline:11px}.filters{gap:5px;justify-content:space-between;padding-inline:0}.filters button{flex:1;justify-content:center;font-size:.875rem;padding:9px 8px}.filters button span{display:none}.products{gap:26px 16px}.product-author{font-size:.75rem;min-height:2.7em;margin-top:11px}.product h3{font-size:1.12rem;min-height:2.5em}.product-genre{font-size:.75rem;min-height:2.6em}.edition-note{font-size:.75rem;min-height:1.6em}.price-note{font-size:.875rem;margin-top:10px}.book-details-link{font-size:.8125rem}.badge{left:7px;bottom:7px;padding:3px 7px}.about{gap:19px}.owner-note>p{line-height:1.8}.add-button{font-size:.875rem}.footer-brand{font-size:1.15rem}footer{gap:20px}.sort-field select{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.cover-button:hover img{transform:none}}
#open-selection{width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:3px}#open-selection:hover{background:var(--blue)}#open-selection svg{width:25px;height:25px}

/* Requested header and catalog refinements. */
.header{display:grid;grid-template-columns:132px minmax(0,1fr) 44px;min-height:154px;gap:24px;padding-block:10px}
.header .brand{display:block;line-height:0}
.header .brand img{display:block;width:132px;height:132px;object-fit:contain}
.header nav{justify-self:center;justify-content:center;width:auto}
.header nav .current{border-bottom:0;text-decoration:none}
.intro{grid-template-columns:minmax(0,1fr);gap:0;padding-block:26px}
.intro-copy>p a{text-decoration:none}
.catalog-controls .search-field,.sort-field select{border-radius:8px}
.filters{border-bottom:0;margin-bottom:25px;padding-inline:0;gap:8px}
.filters button{border-radius:8px;margin-bottom:0}
@media(max-width:760px){
 .header{grid-template-columns:minmax(0,1fr) 44px;min-height:0;gap:12px;padding-block:10px 16px}
 .header .brand{justify-self:start}
 .header .brand img{width:104px;height:104px}
 .header nav{grid-column:1/-1;grid-row:2;justify-self:center;flex-wrap:wrap;gap:12px 25px}
 #open-selection{grid-column:2;grid-row:1;margin-left:0}
 .intro{padding-block:24px}
 .filters{gap:7px;margin-bottom:23px}
}

/* Deep blue shop header, with the original embroidered logo. */
.header-band{background:var(--ink);color:var(--paper)}
.header{grid-template-columns:132px minmax(0,1fr) 48px;min-height:140px;padding-block:4px;gap:32px;border-bottom:0}
.header nav{justify-self:end;gap:24px;font-size:.9375rem;font-weight:500}
.header nav a{color:var(--paper);padding:10px 4px;border-radius:4px}
.header nav a:hover{color:#efd49e}
.header a:focus-visible,.header button:focus-visible{outline-color:#efd49e}
#open-selection{width:48px;height:48px;border:1px solid #f8f3e766;border-radius:12px;background:#f8f3e70d;color:var(--paper)}
#open-selection:hover{background:var(--paper);color:var(--ink)}
.announcement{background:#e7dfce;border-bottom:0;padding-block:6px;letter-spacing:.01em}
@media(max-width:760px){
 .header{grid-template-columns:minmax(0,1fr) 48px;padding-block:8px 12px;gap:2px 20px;min-height:0}
 .header nav{justify-self:center;gap:8px 20px;font-size:.875rem}
 .header nav a{padding-block:10px}
}
@media(max-width:520px){
 .announcement .wrap>span{display:block}
 .announcement .wrap>a{display:none}
 .header nav{gap:6px 16px}
}

/* Compact mobile navigation, centered around the shop logo. */
.menu-toggle{display:none}
@media(max-width:760px){
 .header{grid-template-columns:44px minmax(0,1fr) 44px;gap:0 16px;padding-block:10px;min-height:116px}
 .header .brand{grid-column:2;grid-row:1;justify-self:center}
 .header .brand img{width:96px;height:96px}
 .header.menu-ready .menu-toggle{display:grid;place-items:center;grid-column:1;grid-row:1;width:44px;height:44px;border:1px solid #f8f3e740;border-radius:10px;background:transparent;color:var(--paper);padding:0}
 .menu-toggle:hover{background:#f8f3e71a}
 .menu-toggle .menu-close{display:none}
 .menu-toggle[aria-expanded=true] .menu-lines{display:none}
 .menu-toggle[aria-expanded=true] .menu-close{display:block}
 .header #open-selection{grid-column:3;grid-row:1;width:44px;height:44px;min-width:44px;border-radius:10px}
 .header nav{grid-column:1/-1;grid-row:2;justify-self:stretch;flex-direction:column;align-items:stretch;gap:0;width:100%;padding-top:10px;margin-top:10px;border-top:1px solid #f8f3e72b}
 .header nav a{display:block;min-height:46px;padding:11px 12px;font-size:.9375rem}
 .header nav a:hover{background:#f8f3e70d}
 .header.menu-ready nav{display:none}
 .header.menu-ready[data-menu-open=true] nav{display:flex}
 .announcement{font-size:.6875rem;padding-block:5px}
 .announcement .wrap>span{display:block}
 .announcement .wrap>a{display:none}
 .announcement>.wrap{justify-content:center}
}

/* Practical store information, with quiet dividers and readable mobile rows. */
.visit{padding-block:38px 34px;border-bottom:1px solid var(--line)}
.visit-heading{margin-bottom:28px}.visit-heading .eyebrow{font-size:.75rem;letter-spacing:.06em;color:var(--muted);margin-bottom:9px}
.visit-heading h2{font-size:1.85rem}
.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.visit-item{min-width:0}.visit-item+.visit-item{border-left:1px solid var(--line);padding-left:30px}
.visit-item h3{font-size:1.25rem;margin-bottom:12px}.visit-item p{font-size:.9375rem;line-height:1.75;color:#52605d}
.visit-hours{margin-top:12px}.visit-hours strong{font-weight:500;color:var(--ink)}
.visit-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:10px;color:var(--ink);font-size:.9375rem;font-weight:500}
.visit-link:hover{color:var(--orange)}
.payment-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}
.payment-list li{padding:4px 9px;border:1px solid var(--line);border-radius:6px;font-size:.8125rem;color:var(--ink)}
.visit-item .payment-note{margin-top:12px;font-size:.8125rem;line-height:1.65}
@media(min-width:761px) and (max-width:1000px){.header{gap:18px}.header nav{gap:12px;font-size:.875rem}}
@media(max-width:760px){
 .visit{padding-block:28px}.visit-heading{margin-bottom:24px}.visit-heading h2{font-size:1.7rem}
 .visit-grid{grid-template-columns:1fr;gap:23px}.visit-item+.visit-item{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}
 .visit-item h3{margin-bottom:9px}.visit-hours{margin-top:9px}
}

/* Social icons follow the shop palette and keep comfortable touch targets. */
.social-icon{display:block;flex-shrink:0;object-fit:contain}
.announcement a{display:inline-flex;align-items:center;gap:7px}
.footer-social>p{font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin-bottom:9px}
.social-links{display:flex;flex-wrap:wrap;gap:10px}
.social-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fffcf4;font-size:.875rem}
.social-link:hover{background:#e7edf0;border-color:#a5b7c3;color:var(--ink)}
footer.wrap{align-items:center}
@media(max-width:760px){.footer-social{width:100%}.footer-social>p{font-size:1.05rem}.social-link{flex:1}.announcement .wrap>a{display:none}}

.detail-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.detail-thumbs button{border:1px solid var(--line);background:transparent;border-radius:4px;padding:3px}.detail-thumbs img{display:block;object-fit:contain}.detail-gallery{min-width:0}
