.forge-button{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:1;text-decoration:none;text-align:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);white-space:nowrap;user-select:none;padding:12px 24px}.forge-button:focus{outline:none;box-shadow:var(--shadow-focus)}.forge-button:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.forge-button--primary{background-color:var(--forge-accent);color:var(--forge-white);border:2px solid var(--forge-accent)}.forge-button--primary:hover{background-color:var(--forge-accent-hover);border-color:var(--forge-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.forge-button--primary:active{transform:translateY(0);box-shadow:var(--shadow-md)}.forge-button--secondary{background-color:transparent;color:var(--forge-accent);border:2px solid var(--forge-accent)}.forge-button--secondary:hover{background-color:var(--forge-accent);color:var(--forge-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.forge-button--secondary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.forge-button--small{padding:8px 16px;font-size:var(--font-size-small)}.forge-button--medium{padding:12px 24px;font-size:var(--font-size-base)}.forge-button--large{padding:16px 32px;font-size:var(--font-size-large)}.forge-button--full{width:100%}.forge-product-card{display:flex;flex-direction:column;background-color:var(--forge-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition-all);height:100%;min-height:400px}.forge-product-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-xl)}.forge-product-card__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}.forge-product-card__image-wrapper{position:relative;width:100%;padding-top:100%;background-color:var(--forge-background);overflow:hidden;flex-shrink:0}.forge-product-card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.25s ease}.forge-product-card:hover .forge-product-card__image{transform:scale(1.05)}.forge-product-card__image--placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--forge-hover)}.forge-product-card__placeholder-svg{width:50%;height:50%;opacity:0.3}.forge-product-card__badge{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;line-height:1;white-space:nowrap;box-shadow:var(--shadow-sm)}.forge-product-card__badge--nouveau{background-color:var(--forge-accent);color:var(--forge-white)}.forge-product-card__badge--bestseller{background-color:var(--forge-text);color:var(--forge-white)}.forge-product-card__badge--personnalise{background-color:var(--forge-secondary);color:var(--forge-white)}.forge-product-card__content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);flex-grow:1;min-height:0}.forge-product-card__title{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--forge-text);line-height:1.4;margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em}.forge-product-card__price-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.forge-product-card__price{font-size:20px;font-weight:600;color:var(--forge-accent);margin:0;line-height:1}.forge-product-card__price--sale{color:var(--forge-accent);font-weight:700;font-size:22px}.forge-product-card__price--compare{text-decoration:line-through;color:var(--forge-secondary);font-size:16px;opacity:0.7;font-weight:500}.forge-product-card__button{margin-top:auto;width:100%;padding:12px 20px;font-size:14px;font-weight:600}@media (max-width:750px){.forge-product-card{min-height:350px}.forge-product-card__content{padding:var(--spacing-md)}.forge-product-card__title{font-size:16px;min-height:2.6em}.forge-product-card__price{font-size:18px}.forge-product-card__price--sale{font-size:20px}.forge-product-card__badge{top:var(--spacing-sm);right:var(--spacing-sm);padding:4px 10px;font-size:11px}.forge-product-card__button{padding:10px 16px;font-size:13px}}.forge-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.5px;line-height:1;white-space:nowrap}.forge-badge--new, .forge-badge--nouveau{background-color:var(--forge-accent);color:var(--forge-white)}.forge-badge--bestseller{background-color:var(--forge-text);color:var(--forge-white)}.forge-badge--custom, .forge-badge--personnalise{background-color:var(--forge-secondary);color:var(--forge-white)}.forge-badge--sale{background-color:var(--color-error);color:var(--forge-white)}.forge-badge--soldout{background-color:var(--forge-secondary);color:var(--forge-white);opacity:0.8}.forge-badge--stock{background-color:var(--color-success);color:var(--forge-white)}.forge-badge--top-left{position:absolute;top:var(--spacing-md);left:var(--spacing-md)}.forge-badge--top-right{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.forge-badge--bottom-left{position:absolute;bottom:var(--spacing-md);left:var(--spacing-md)}.forge-badge--bottom-right{position:absolute;bottom:var(--spacing-md);right:var(--spacing-md)}.forge-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition-colors)}.forge-icon__svg{width:100%;height:100%;object-fit:contain}.forge-icon--primary{color:var(--forge-text)}.forge-icon--primary svg, .forge-icon--primary img{filter:brightness(0) saturate(100%)}.forge-icon--secondary{color:var(--forge-secondary)}.forge-icon--secondary svg, .forge-icon--secondary img{filter:brightness(0) saturate(100%) opacity(0.6)}.forge-icon--accent{color:var(--forge-accent)}.forge-icon--accent svg, .forge-icon--accent img{filter:brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(360deg) brightness(98%) contrast(119%)}.forge-icon--white{color:var(--forge-white)}.forge-icon--white svg, .forge-icon--white img{filter:brightness(0) saturate(100%) invert(100%)}.forge-icon:hover{opacity:0.8}.forge-form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.forge-form-label{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--forge-text);line-height:var(--line-height-normal)}.forge-form-label--required::after{content:' *';color:var(--color-error)}.forge-form-input, .forge-form-textarea, .forge-form-select{width:100%;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--forge-text);background-color:var(--forge-white);border:2px solid var(--forge-hover);border-radius:var(--radius-sm);padding:12px 16px;transition:var(--transition-all);outline:none}.forge-form-input::placeholder, .forge-form-textarea::placeholder{color:var(--forge-secondary);opacity:0.7}.forge-form-input:focus, .forge-form-textarea:focus, .forge-form-select:focus{border-color:var(--forge-accent);box-shadow:var(--shadow-focus)}.forge-form-input:hover:not(:focus), .forge-form-textarea:hover:not(:focus), .forge-form-select:hover:not(:focus){border-color:var(--forge-secondary)}.forge-form-textarea{min-height:120px;resize:vertical;line-height:var(--line-height-normal)}.forge-form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.forge-form-input:disabled, .forge-form-textarea:disabled, .forge-form-select:disabled{background-color:var(--forge-hover);cursor:not-allowed;opacity:0.6}.forge-form-input--error, .forge-form-textarea--error, .forge-form-select--error{border-color:var(--color-error)}.forge-form-input--error:focus, .forge-form-textarea--error:focus, .forge-form-select--error:focus{box-shadow:0 0 0 3px rgba(239, 68, 68, 0.3)}.forge-form-input--success, .forge-form-textarea--success, .forge-form-select--success{border-color:var(--color-success)}.forge-form-helper{font-size:var(--font-size-small);color:var(--forge-secondary);line-height:var(--line-height-normal)}.forge-form-helper--error{color:var(--color-error)}.forge-form-helper--success{color:var(--color-success)}.forge-form-checkbox, .forge-form-radio{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;user-select:none}.forge-form-checkbox input[type="checkbox"], .forge-form-radio input[type="radio"]{width:20px;height:20px;border:2px solid var(--forge-hover);cursor:pointer;transition:var(--transition-all)}.forge-form-checkbox input[type="checkbox"]:checked, .forge-form-radio input[type="radio"]:checked{accent-color:var(--forge-accent)}.forge-form-checkbox input[type="checkbox"]:focus, .forge-form-radio input[type="radio"]:focus{outline:none;box-shadow:var(--shadow-focus)}.forge-card{background-color:var(--forge-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:var(--transition-all)}.forge-card:hover{box-shadow:var(--shadow-md)}.forge-card--elevated{box-shadow:var(--shadow-md)}.forge-card--elevated:hover{box-shadow:var(--shadow-lg)}.forge-link{color:var(--forge-accent);text-decoration:none;transition:var(--transition-colors);cursor:pointer}.forge-link:hover{color:var(--forge-accent-hover);text-decoration:underline}.forge-link:focus{outline:none;box-shadow:var(--shadow-focus);border-radius:2px}.forge-container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.forge-container--narrow{max-width:var(--container-narrow)}.forge-container--wide{max-width:var(--container-wide)}.forge-grid{display:grid;gap:var(--spacing-lg)}.forge-grid--2{grid-template-columns:repeat(2, 1fr)}.forge-grid--3{grid-template-columns:repeat(3, 1fr)}.forge-grid--4{grid-template-columns:repeat(4, 1fr)}@media (max-width:990px){.forge-grid--4{grid-template-columns:repeat(3, 1fr)}}@media (max-width:750px){.forge-grid--2, .forge-grid--3, .forge-grid--4{grid-template-columns:1fr}}.forge-notification{position:fixed;top:20px;right:20px;padding:16px 24px;background:var(--forge-white);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:10000;opacity:0;transform:translateX(400px);transition:opacity 0.3s ease, transform 0.3s ease;max-width:400px;font-size:14px;font-weight:500;pointer-events:none}.forge-notification.show{opacity:1;transform:translateX(0);pointer-events:auto}.forge-notification--success{border-left:4px solid #10B981;color:#065F46}.forge-notification--error{border-left:4px solid #DC2626;color:#991B1B}.forge-notification--info{border-left:4px solid var(--forge-accent);color:var(--forge-text)}@media (max-width:749px){.forge-notification{top:10px;right:10px;left:10px;max-width:none;transform:translateY(-100px)}.forge-notification.show{transform:translateY(0)}}.forge-form-field{position:relative;margin-bottom:20px}.forge-form-field--error input, .forge-form-field--error textarea, .forge-form-field--error select{border-color:#DC2626;background-color:#FEF2F2}.forge-form-field--error input:focus, .forge-form-field--error textarea:focus, .forge-form-field--error select:focus{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220, 38, 38, 0.1)}.forge-form-error{display:block;margin-top:6px;font-size:14px;color:#DC2626;font-weight:500}.forge-button.loading{position:relative;color:transparent;pointer-events:none}.forge-button.loading::after{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border:2px solid rgba(255, 255, 255, 0.3);border-top-color:var(--forge-white);border-radius:50%;animation:rotate 0.6s linear infinite}.forge-cart-count{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 6px;background:var(--forge-accent);color:var(--forge-white);border-radius:10px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:opacity 0.25s ease, transform 0.25s ease}.forge-cart-count.visible{opacity:1;transform:scale(1)}
