:root{--ink-900:#16150f;--ink-700:#3d3a30;--ink-500:#6b675a;--ink-300:#a8a496;--ink-100:#ddd9cc;--ink-050:#f0ede4;--paper:#faf8f3;--surface:#fff;--accent-600:#b23a1c;--accent-500:#d4491f;--accent-100:#fbe6de;--positive-600:#1f6b46;--positive-100:#dff0e5;--warning-600:#8a5b00;--warning-100:#fbeecb;--danger-600:#a32218;--danger-100:#fbe2df;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--shadow-sm:0 1px 2px #16150f0f, 0 1px 3px #16150f0a;--shadow-md:0 4px 12px #16150f14, 0 1px 3px #16150f0d;--shadow-lg:0 18px 40px #16150f1f;--page-max:1180px;--gutter:24px;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}body{background:var(--paper);color:var(--ink-900);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{letter-spacing:-.015em;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px;border-radius:3px}.app{flex-direction:column;min-height:100vh;display:flex}.page{width:100%;max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.page-body{flex:1;padding-block:40px 72px}.stack{flex-direction:column;gap:16px;display:flex}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-100);background:#faf8f3e0;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex}.brand{letter-spacing:-.03em;align-items:baseline;gap:9px;font-size:1.2rem;font-weight:700;display:flex}.brand__mark{color:var(--accent-500)}.brand__store{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);font-size:.72rem;font-weight:500}.site-nav{align-items:center;gap:6px;display:flex}.site-nav__link{border-radius:var(--radius-sm);color:var(--ink-700);padding:8px 12px;font-size:.92rem;font-weight:500;transition:background .12s,color .12s}.site-nav__link:hover{background:var(--ink-050);color:var(--ink-900)}.site-nav__link.is-active{color:var(--accent-600);background:var(--accent-100)}.cart-pill{background:var(--ink-900);color:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:transform .12s,background .12s;display:inline-flex}.cart-pill:hover{background:var(--accent-600);transform:translateY(-1px)}.cart-pill__count{background:var(--accent-500);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;display:inline-flex}.site-footer{border-top:1px solid var(--ink-100);color:var(--ink-500);padding-block:24px;font-size:.83rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:8px 20px;display:flex}.site-footer code{font-family:var(--font-mono);color:var(--ink-700);font-size:.9em}.button{border-radius:var(--radius-sm);background:var(--accent-500);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:600;transition:background .12s,transform .12s,box-shadow .12s;display:inline-flex}.button:hover:not(:disabled){background:var(--accent-600);box-shadow:var(--shadow-sm)}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button--secondary{background:var(--surface);border-color:var(--ink-100);color:var(--ink-900)}.button--secondary:hover:not(:disabled){background:var(--ink-050);border-color:var(--ink-300)}.button--ghost{color:var(--ink-500);background:0 0;padding:8px 10px;font-weight:500}.button--ghost:hover:not(:disabled){background:var(--ink-050);color:var(--ink-900);box-shadow:none}.button--block{width:100%}.button--lg{padding:14px 26px;font-size:1rem}.field{flex-direction:column;gap:6px;display:flex}.field__label{letter-spacing:.02em;color:var(--ink-700);font-size:.82rem;font-weight:600}.field__hint{color:var(--ink-500);font-size:.78rem}.field__error{color:var(--danger-600);font-size:.8rem}.input,.select{border:1px solid var(--ink-100);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:10px 12px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100);outline:none}.input--invalid{border-color:var(--danger-600)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.option-list{flex-direction:column;gap:10px;display:flex}.option{border:1px solid var(--ink-100);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .12s,box-shadow .12s,background .12s;display:flex}.option:hover{border-color:var(--ink-300)}.option.is-selected{border-color:var(--accent-500);background:var(--accent-100);box-shadow:0 0 0 1px var(--accent-500)}.option input{accent-color:var(--accent-500);margin-top:4px}.option__label{font-size:.95rem;font-weight:600;display:block}.option__description{color:var(--ink-500);font-size:.83rem;display:block}.alert{border-radius:var(--radius-md);border:1px solid #0000;gap:10px;padding:12px 16px;font-size:.9rem;display:flex}.alert--error{background:var(--danger-100);color:var(--danger-600);border-color:#f0bdb7}.alert--warning{background:var(--warning-100);color:var(--warning-600);border-color:#eddaa4}.alert--success{background:var(--positive-100);color:var(--positive-600);border-color:#b6ddc6}.alert--info{background:var(--ink-050);border-color:var(--ink-100);color:var(--ink-700)}.alert__title{font-weight:700}.badge{letter-spacing:.05em;text-transform:uppercase;background:var(--ink-050);color:var(--ink-700);border-radius:999px;align-items:center;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.badge--rent{color:#234b96;background:#e4ecfb}.badge--buy{background:var(--positive-100);color:var(--positive-600)}.badge--both{background:var(--accent-100);color:var(--accent-600)}.badge--muted{background:var(--ink-050);color:var(--ink-500)}.skeleton{background:linear-gradient(90deg, var(--ink-050) 25%, #e7e3d8 37%, var(--ink-050) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.3s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}*{transition-duration:.01ms!important}}.empty-state{text-align:center;border:1px dashed var(--ink-100);border-radius:var(--radius-lg);background:var(--surface);padding:64px 24px}.empty-state__title{margin-bottom:6px;font-size:1.25rem;font-weight:700}.empty-state__text{color:var(--ink-500);max-width:44ch;margin:0 auto 20px}.page-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.page-intro__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-600);margin-bottom:6px;font-size:.75rem;font-weight:700}.page-intro__title{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800}.page-intro__subtitle{color:var(--ink-500);max-width:60ch;margin-top:6px}.catalog-toolbar{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:26px;padding:16px;display:flex}.catalog-toolbar .field{min-width:170px}.catalog-toolbar .field--grow{flex:240px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:20px;display:grid}.product-card{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);flex-direction:column;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--ink-300);transform:translateY(-3px)}.product-card__art{aspect-ratio:16/10;place-items:center;display:grid;position:relative}.product-card__initials{letter-spacing:-.04em;color:#ffffffe0;text-shadow:0 2px 10px #0000002e;font-size:2.4rem;font-weight:800}.product-card__flag{position:absolute;top:12px;left:12px}.product-card__body{flex-direction:column;flex:1;gap:10px;padding:18px;display:flex}.product-card__name{font-size:1.06rem;font-weight:700}.product-card__description{color:var(--ink-500);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.87rem;display:-webkit-box;overflow:hidden}.product-card__footer{border-top:1px solid var(--ink-050);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:12px;display:flex}.price-tag__amount{letter-spacing:-.02em;font-size:1.22rem;font-weight:800}.price-tag__unit{color:var(--ink-500);font-size:.78rem}.price-tag__strike{color:var(--ink-300);margin-right:6px;font-size:.8rem;text-decoration:line-through}.pagination{justify-content:center;align-items:center;gap:14px;margin-top:34px;display:flex}.pagination__status{color:var(--ink-500);font-size:.88rem}.detail-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:40px;display:grid}.detail-art{aspect-ratio:4/3;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);place-items:center;display:grid}.detail-art__initials{letter-spacing:-.05em;color:#ffffffe6;text-shadow:0 3px 18px #00000038;font-size:4.6rem;font-weight:800}.detail-title{margin-top:10px;font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:800}.detail-description{color:var(--ink-700);margin-top:12px}.spec-list{border-top:1px solid var(--ink-100);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:26px;padding-top:22px;display:grid}.spec__label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);font-size:.74rem;font-weight:700}.spec__value{margin-top:2px;font-weight:600}.booking-panel{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:18px;padding:22px;display:flex;position:sticky;top:92px}.booking-panel__title{font-size:1.06rem;font-weight:700}.tier-list{flex-direction:column;gap:8px;display:flex}.tier{border:1px solid var(--ink-100);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;transition:border-color .12s,background .12s;display:flex}.tier:hover{border-color:var(--ink-300)}.tier.is-selected{border-color:var(--accent-500);background:var(--accent-100);box-shadow:0 0 0 1px var(--accent-500)}.tier__label{font-size:.92rem;font-weight:600}.tier__meta{color:var(--ink-500);font-size:.78rem}.tier__price{white-space:nowrap;font-weight:800}.estimate{border-radius:var(--radius-md);background:var(--ink-050);justify-content:space-between;align-items:baseline;padding:14px 16px;display:flex}.estimate__label{color:var(--ink-700);font-size:.85rem}.estimate__value{font-size:1.2rem;font-weight:800}.quantity-stepper{border:1px solid var(--ink-100);border-radius:var(--radius-sm);background:var(--surface);align-items:center;display:inline-flex;overflow:hidden}.quantity-stepper button{width:38px;height:38px;color:var(--ink-700);cursor:pointer;background:0 0;border:none;font-size:1.1rem;font-weight:700;transition:background .12s}.quantity-stepper button:hover:not(:disabled){background:var(--ink-050)}.quantity-stepper button:disabled{opacity:.35;cursor:not-allowed}.quantity-stepper input{border:none;border-inline:1px solid var(--ink-100);text-align:center;background:0 0;width:52px;height:38px;font-weight:600}.quantity-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.quantity-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.quantity-stepper input[type=number]{appearance:textfield}.cart-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);align-items:start;gap:32px;display:grid}.line-list{flex-direction:column;gap:14px;display:flex}.line{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.line__art{aspect-ratio:1;border-radius:var(--radius-md);color:#ffffffe6;place-items:center;font-weight:800;display:grid}.line__name{font-weight:700}.line__meta{color:var(--ink-500);font-size:.82rem}.line__amounts{text-align:right}.line__total{font-size:1.05rem;font-weight:800}.line__unit{color:var(--ink-500);font-size:.78rem}.line__controls{align-items:center;gap:10px;margin-top:8px;display:flex}.summary{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:14px;padding:22px;display:flex;position:sticky;top:92px}.summary__title{font-size:1.06rem;font-weight:700}.summary__rows{flex-direction:column;gap:9px;display:flex}.summary__row{color:var(--ink-700);justify-content:space-between;gap:12px;font-size:.92rem;display:flex}.summary__row--discount{color:var(--positive-600)}.summary__total{border-top:1px solid var(--ink-100);justify-content:space-between;align-items:baseline;gap:12px;padding-top:14px;display:flex}.summary__total-label{font-weight:700}.summary__total-value{letter-spacing:-.02em;font-size:1.42rem;font-weight:800}.summary__note{color:var(--ink-500);font-size:.78rem}.checkout-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start;gap:32px;display:grid}.form-card{background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.form-card+.form-card{margin-top:20px}.form-card__header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.form-card__step{background:var(--ink-900);width:28px;height:28px;color:var(--paper);border-radius:999px;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:700;display:grid}.form-card__title{font-size:1.06rem;font-weight:700}.form-card__subtitle{color:var(--ink-500);font-size:.82rem}.thanks{text-align:center;max-width:660px;margin:0 auto}.thanks__seal{background:var(--positive-100);width:78px;height:78px;color:var(--positive-600);border-radius:999px;place-items:center;margin:0 auto 22px;font-size:2.1rem;animation:.32s cubic-bezier(.34,1.56,.64,1) pop;display:grid}.thanks__seal--failed{background:var(--danger-100);color:var(--danger-600)}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.thanks__title{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:800}.thanks__subtitle{color:var(--ink-500);margin-top:10px}.receipt{text-align:left;background:var(--surface);border:1px solid var(--ink-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:32px;overflow:hidden}.receipt__header{border-bottom:1px dashed var(--ink-100);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.receipt__number{font-family:var(--font-mono);font-size:1.3rem;font-weight:700}.receipt__rows{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;padding:20px 24px;display:grid}.receipt__id{font-family:var(--font-mono);color:var(--ink-500);word-break:break-all;font-size:.78rem}.thanks__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.muted{color:var(--ink-500)}.text-sm{font-size:.86rem}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row--between{justify-content:space-between}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.breadcrumb{color:var(--ink-500);margin-bottom:18px;font-size:.85rem}.breadcrumb a:hover{color:var(--accent-600);text-decoration:underline}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.detail-layout,.cart-layout,.checkout-layout{grid-template-columns:minmax(0,1fr)}.booking-panel,.summary{position:static}}@media (width<=620px){:root{--gutter:16px}.site-header__inner{height:60px}.site-nav__link{padding:8px;font-size:.86rem}.field-grid{grid-template-columns:minmax(0,1fr)}.line{grid-template-columns:56px minmax(0,1fr)}.line__amounts{text-align:left;border-top:1px solid var(--ink-050);grid-column:1/-1;padding-top:10px}}
