.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:0.95rem;transition:transform 0.15s ease,box-shadow 0.15s ease;}.btn--primary{background:var(--color-primary);color:var(--color-white);}.btn--gold{background:var(--color-gold-500);color:var(--color-ink-900);}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text);}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);}.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none;}.product-card{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;}.product-card__media{position:relative;aspect-ratio:4 / 3;background:var(--color-surface-alt);}.product-card__media img{width:100%;height:100%;object-fit:cover;}.product-card__badges{position:absolute;top:var(--space-2);left:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);}.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:0.7rem;font-weight:700;letter-spacing:0.02em;color:var(--color-white);}.badge--new{background:var(--color-primary);}.badge--bestseller{background:var(--color-gold-500);color:#3b2a00;}.badge--discount{background:var(--color-danger);}.product-card__body{padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1;}.product-card__category{font-size:0.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.04em;}.product-card__title{font-family:var(--font-heading);font-size:1.05rem;margin:0;}.product-card__title a{color:inherit;}.product-card__price-row{margin-top:auto;display:flex;align-items:baseline;gap:var(--space-2);}.price{font-weight:700;font-size:1.1rem;color:var(--color-text);}.price--old{font-weight:400;font-size:0.9rem;color:var(--color-text-muted);text-decoration:line-through;}.category-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}.category-card__icon{width:56px;height:56px;border-radius:50%;background:var(--color-pink-50);display:flex;align-items:center;justify-content:center;font-size:1.5rem;}.category-card__title{font-weight:600;font-size:0.95rem;}.hero{border-radius:var(--radius-lg);overflow:hidden;position:relative;background:var(--color-surface-alt);}.hero__inner{display:grid;gap:var(--space-5);padding:var(--space-7) var(--space-5);}.hero__eyebrow{color:var(--color-primary);font-weight:600;letter-spacing:0.06em;text-transform:uppercase;font-size:0.8rem;}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4);}.hero__image{border-radius:var(--radius-md);overflow:hidden;}@media (min-width:900px){.hero__inner{grid-template-columns:1fr 1fr;align-items:center;}}.wedding-banner{background:linear-gradient(135deg,var(--color-beige-50),var(--color-pink-50));border:1px solid var(--color-gold-400);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;}.wedding-banner h2{color:var(--color-ink-900);}.wedding-banner .btn--gold{margin-top:var(--space-3);}.wedding-section__products{margin-top:var(--space-5);}.promo-banner{background:linear-gradient(135deg,var(--color-pink-50),var(--color-beige-50));border:1px dashed var(--color-pink-200);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;color:var(--color-text-muted);}.promo-banner h2{color:var(--color-ink-900);}.advantages{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);}.advantage{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;}.advantage__icon{font-size:1.8rem;margin-bottom:var(--space-2);}@media (min-width:700px){.advantages{grid-template-columns:repeat(4,1fr);}}.faq-item{border-bottom:1px solid var(--color-border);padding-block:var(--space-3);}.faq-item summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;}.faq-item summary::-webkit-details-marker{display:none;}.faq-item summary::after{content:'+';font-size:1.3rem;color:var(--color-primary);}.faq-item[open] summary::after{content:'−';}.faq-item p{margin-top:var(--space-2);color:var(--color-text-muted);}.info-cards{display:grid;gap:var(--space-4);grid-template-columns:1fr;}@media (min-width:700px){.info-cards{grid-template-columns:repeat(3,1fr);}}.info-card{padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}.rekvizity-list div{display:flex;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;}.rekvizity-list div:last-child{border-bottom:none;}.rekvizity-list dt{color:var(--color-text-muted);}.rekvizity-list dd{margin:0;font-weight:600;text-align:right;}.info-card__step{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:var(--color-white);font-weight:700;margin-bottom:var(--space-3);}.state-message{padding:var(--space-5);text-align:center;color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:var(--radius-md);}.state-message--error{color:var(--color-danger);}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-alt);border-radius:var(--radius-md);min-height:220px;}.skeleton::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent 25%,var(--color-beige-100) 50%,transparent 75%);animation:skeleton-loading 1.3s ease-in-out infinite;}@keyframes skeleton-loading{100%{transform:translateX(100%);}}.toast-container{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:100;display:flex;flex-direction:column;gap:var(--space-2);}.toast{padding:12px 18px;border-radius:var(--radius-sm);background:var(--color-ink-900);color:var(--color-white);box-shadow:var(--shadow-md);opacity:0;transform:translateY(8px);transition:opacity 0.2s ease,transform 0.2s ease;max-width:320px;}.toast.is-visible{opacity:1;transform:translateY(0);}.toast--error{background:var(--color-danger);}.form{display:flex;flex-direction:column;gap:var(--space-4);max-width:480px;}.form--wide{max-width:none;}.form__field{display:flex;flex-direction:column;gap:var(--space-2);}.form__field label{font-size:0.85rem;color:var(--color-text-muted);}.form__row{display:grid;gap:var(--space-3);grid-template-columns:1fr;}@media (min-width:600px){.form__row--2{grid-template-columns:1fr 1fr;}}.form input,.form select,.form textarea{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);width:100%;}.form textarea{resize:vertical;min-height:90px;}.form__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;}.form__error{color:var(--color-danger);font-size:0.85rem;}.form__hint{color:var(--color-text-muted);font-size:0.8rem;}.checkbox-row{display:flex;align-items:center;gap:var(--space-2);font-size:0.9rem;}.checkbox-row input{width:auto;}.checkbox-row__name{flex:1;}.checkbox-row__delta{width:5.5rem;flex:none;padding:var(--space-1) var(--space-2);}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--color-surface);}.data-table{width:100%;border-collapse:collapse;font-size:0.9rem;}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;}.data-table th{color:var(--color-text-muted);font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.03em;}.data-table tbody tr:last-child td{border-bottom:none;}.data-table tbody tr:hover{background:var(--color-surface-alt);}.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:0.75rem;font-weight:600;background:var(--color-beige-100);color:var(--color-ink-900);white-space:nowrap;}.status-badge--positive{background:#dff0d8;color:#3c763d;}.status-badge--warning{background:#fcf3cf;color:#8a6d3b;}.status-badge--negative{background:#f8d7da;color:#842029;}.admin-shell{display:grid;gap:var(--space-6);}.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);}.admin-nav__links{display:flex;flex-wrap:wrap;gap:var(--space-3);flex:1;}.admin-nav__link{font-size:0.9rem;color:var(--color-text-muted);padding-bottom:4px;border-bottom:2px solid transparent;}.admin-nav__link.is-active{color:var(--color-primary);border-color:var(--color-primary);font-weight:600;}.admin-nav__site-link{font-size:0.85rem;color:var(--color-text-muted);}.admin-nav__logout{font-size:0.85rem;color:var(--color-danger);font-weight:600;}.stat-cards{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr);}@media (min-width:700px){.stat-cards{grid-template-columns:repeat(4,1fr);}}.stat-card{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;}.stat-card__value{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary);}.stat-card__label{color:var(--color-text-muted);font-size:0.85rem;}.list-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:space-between;margin-bottom:var(--space-4);}.table-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;}.link-button{color:var(--color-primary);font-weight:600;font-size:0.85rem;}.link-button--danger{color:var(--color-danger);}.chat-panel{display:flex;flex-direction:column;height:420px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);}.chat-message{max-width:80%;padding:10px 14px;border-radius:var(--radius-sm);background:var(--color-surface-alt);align-self:flex-start;}.chat-message--mine{align-self:flex-end;background:var(--color-pink-50);}.chat-message__text{white-space:pre-wrap;word-break:break-word;}.chat-message__meta{margin-top:4px;font-size:0.7rem;color:var(--color-text-muted);}.chat-panel__form{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border);}.chat-panel__form textarea{flex:1;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:none;}.breadcrumbs{display:flex;flex-wrap:wrap;gap:var(--space-1);font-size:0.85rem;color:var(--color-text-muted);margin-bottom:var(--space-4);}.breadcrumbs a{color:var(--color-text-muted);}.breadcrumbs a:hover{color:var(--color-primary);}.allergen-inline{margin-top:var(--space-2);color:var(--color-danger);font-size:0.82rem;font-weight:600;}