/* Bibi Bibs: original blush, rose and soft fairy accents. */
[hidden]{display:none!important}
header{position:sticky;top:0;z-index:10;height:108px;gap:22px}
.brand{width:230px;height:74px}.brand img{width:300px;height:300px;left:-35px;top:-116px;max-width:none}
nav{gap:24px}.cart-link{display:flex;align-items:center;gap:7px;font-size:.9rem;white-space:nowrap;color:var(--rose)}#cart-count{min-width:26px;height:26px;border-radius:50%;background:var(--rose);color:white;display:grid;place-items:center;font-size:.8rem}
.hero-photo>img{object-position:center;object-fit:cover}.eyebrow{font-size:.8rem}.currency-note{font-size:.875rem;line-height:1.6}.section-lead{max-width:760px}.card-image img{object-fit:contain;transform:none!important}.card h3{font-family:var(--sans);font-size:1rem;font-weight:500;line-height:1.45;text-transform:none}.card-buttons{display:flex;gap:12px;align-items:center;justify-content:space-between}.card-action{width:auto;flex:1}.add-card{font-size:.875rem;padding:10px 14px;min-height:46px}.photo-count{position:absolute;right:10px;bottom:10px;background:#fffdfbed;color:var(--ink);font-size:.8rem;padding:3px 9px}.card{display:flex;flex-direction:column}.card-buttons{margin-top:auto}
.accessories-section{background:#fbf1f4;border-top:1px solid var(--line)}.section-fairy{width:110px;max-height:130px;object-fit:contain;mix-blend-mode:multiply}.category-nav{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 40px}.category-nav a{padding:8px 18px;border:1px solid #c993a0;border-radius:30px;color:var(--rose);font-size:.9rem}.category-nav a:hover{background:var(--pink)}.accessory-group{margin-top:55px;scroll-margin-top:135px}.accessory-group>h3{border-bottom:1px solid var(--line);padding-bottom:18px;font-size:2.7rem}.accessory-group .catalog{grid-template-columns:repeat(4,minmax(0,1fr))}.accessory-group .card-buttons{flex-direction:column;align-items:stretch;gap:4px}.accessory-group .card-image img{aspect-ratio:1;object-fit:contain}.accessory-group .card-action{justify-content:center}.accessory-group .card-price{font-size:.9rem}
.detail-visual{padding:20px;align-self:start}.detail-visual>img{position:static;width:100%;height:480px;max-height:65dvh;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:.9rem}.gallery-controls button{height:42px;width:42px;border:1px solid var(--line);background:white;font-size:1.7rem}.gallery-controls+div{display:flex;gap:10px;overflow:auto;padding:5px 2px 12px}.gallery-controls+div button{flex:0 0 65px;border:2px solid transparent;background:none;padding:3px}.gallery-controls+div button[aria-pressed=true]{border-color:var(--rose)}.gallery-controls+div img{width:60px;height:75px;object-fit:contain}.detail-copy h2{font-size:2rem;line-height:1.2}.detail-copy>p{line-height:1.7}#product-description{font-size:.95rem;white-space:pre-line}#detail-add{width:100%}.detail-copy>a{width:100%;color:var(--rose)}
.cart-page>.eyebrow{margin-top:40px}.cart-page>h1{font-size:clamp(2.8rem,5vw,4.5rem);margin-bottom:45px}.cart-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:55px;align-items:start}.cart-summary{background:var(--pink);padding:30px;position:sticky;top:135px}.cart-summary h2{font-size:2.4rem}.cart-summary .button{width:100%}.cart-summary .currency-note{border:0;margin:18px 0;padding:0;font-size:.8rem}.subtotal{font-family:var(--serif);font-size:2.7rem;font-weight:500}.cart-fairy{width:120px;margin:20px auto 0;mix-blend-mode:multiply}.cart-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--line);position:relative}.cart-item h3{font-family:var(--sans);font-size:1rem;line-height:1.5}.cart-item label{font-size:.875rem}.cart-item select{padding:6px 12px;margin:5px 0}.cart-item p{margin:10px 0}.cart-photo{padding:0;border:0;background:#f6eeee;align-self:start}.cart-photo img{width:120px;height:160px;object-fit:contain}.line-total{grid-column:2;font-weight:500;color:var(--rose)}.quantity{display:flex;align-items:center;gap:12px}.quantity button{border:1px solid var(--line);background:var(--paper);min-width:36px;min-height:36px}.quantity button:disabled{opacity:.4;cursor:default}.quantity .remove{border:0;text-decoration:underline;color:var(--muted);margin-left:10px;font-size:.875rem}.pending-price{font-size:.9rem;color:var(--rose)}.empty-cart{text-align:center;padding:20px}.empty-cart>img{width:130px;margin:0 auto 25px}.empty-cart h2{font-size:2.1rem}
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:white;padding:13px 24px;border-radius:4px;z-index:40;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
#page-magic{position:fixed;left:-150px;top:45%;width:110px;z-index:35;pointer-events:none;opacity:0}#page-magic img{width:100%;filter:drop-shadow(0 4px 10px #ba819660)}#page-magic.fly{animation:fairy-flight .75s ease-in-out}.magic-spark{position:fixed;z-index:50;color:#b38a36;pointer-events:none;font-size:18px;animation:spark .65s ease-out forwards}
#bibi-loader{position:fixed;inset:0;background:#fcebf1;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;pointer-events:none;animation:loader-failsafe 2s forwards}#bibi-loader>span{font-family:var(--serif);font-size:2rem;color:var(--rose)}#bibi-loader.loaded{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.bibi-face{width:135px;height:135px;overflow:hidden;border-radius:50%;background:#fcebf1;position:relative}.bibi-face img{position:absolute;width:170px;max-width:none;left:-16px;top:-8px}
@keyframes fairy-flight{0%{transform:translate(0,30px) rotate(-12deg);opacity:0}15%{opacity:1}50%{transform:translate(45vw,-40px) rotate(8deg)}85%{opacity:1}100%{transform:translate(calc(100vw + 160px),-5px) rotate(-8deg);opacity:0}}
@keyframes spark{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}
@keyframes loader-failsafe{0%,75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){body,a,button,select,summary{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M8 8L27 28' stroke='%239b4258' stroke-width='3'/%3E%3Cpath d='M8 1l2 4 5 1-4 3 1 5-4-2-4 2 1-5-4-3 5-1z' fill='%23eadb85' stroke='%239b4258'/%3E%3C/svg%3E") 8 8,pointer}}
@media(max-width:1100px){header{padding-inline:4%;gap:15px}nav{gap:15px}nav a:last-child{display:none}.brand{width:180px}.brand img{left:-65px}.card-buttons{flex-direction:column;align-items:stretch;gap:5px}.card-action{padding:7px 0}.accessory-group .catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.cart-layout{gap:30px;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}}
@media(max-width:700px){header{height:auto;min-height:100px;flex-wrap:wrap;gap:4px 14px;padding:5px 5% 10px}.brand{width:170px;height:65px;margin-right:auto}.brand img{width:295px;height:295px;left:-62px;top:-115px}nav{order:4;width:100%;justify-content:center;gap:30px}nav a:last-child{display:block}nav a:nth-last-child(2){display:none}#language{padding:5px;font-size:.9rem}.cart-link{font-size:.875rem}.hero-photo{min-height:500px}.accessory-group .catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.section-fairy{width:75px;position:absolute;right:6%;top:30px}.accessories-section .section-heading{position:relative;padding-right:75px}.section-fairy{top:0;right:0}.card h3{font-size:.875rem}.card-price{font-size:.9rem}.add-card{font-size:.875rem;padding:10px 6px}.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-item{grid-template-columns:95px minmax(0,1fr);gap:15px}.cart-photo img{width:95px;height:130px}.detail-visual>img{height:370px}.detail-visual{padding:16px}.detail-copy{padding:22px}.detail-copy h2{font-size:1.65rem}.cart-page>h1{font-size:3rem}#page-magic{width:80px}}
@media(prefers-reduced-motion:reduce){.magic-spark,#page-magic,#bibi-loader{display:none!important}*{animation:none!important;scroll-behavior:auto!important}}
@media(min-width:701px) and (max-width:1100px){.brand{width:180px;height:65px}.brand img{width:250px;height:250px;left:-35px;top:-96px}}
@media(max-width:700px){.brand{width:170px}.brand img{width:220px;height:220px;left:-25px;top:-78px}}
