#root{margin:0;padding-bottom:0;padding-top:0;text-align:center}.contact-page{min-height:90vh}.contact-page .content-container{max-width:600px;text-align:center}.contact-page__title{font-family:Italiana,serif;margin-bottom:.5rem;color:var(--color-text-primary)}.contact-page__text{font-family:Poppins,sans-serif;font-weight:300;color:var(--color-text-secondary);margin-bottom:3.5rem}.contact-form{display:flex;flex-direction:column;gap:1.5rem;text-align:left;margin-bottom:1.5rem}.contact-form .form-group{display:flex;flex-direction:column}.contact-form .form-group label{font-family:Poppins,sans-serif;font-weight:300;margin-bottom:.5rem;color:var(--color-text-primary)}.contact-form .form-group input,.contact-form .form-group textarea{font-family:Poppins,sans-serif;font-weight:300;padding:1rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;background-color:var(--color-surface);color:var(--color-text-primary);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.contact-form .form-group input::placeholder,.contact-form .form-group textarea::placeholder{color:var(--color-text-muted)}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1abc9c33}.contact-form .form-group textarea{resize:vertical;min-height:150px}.contact-form button{background-color:#323232;color:#fff;padding:1rem 2rem;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s ease-in-out;font-family:Poppins,sans-serif;font-weight:400;font-size:1rem;margin-top:1rem}.contact-form button:hover:not(:disabled){background-color:#28a745;box-shadow:0 4px 8px var(--color-primary-mid)}.contact-form button:disabled{opacity:.7;cursor:not-allowed}.form-status{margin-top:1.5rem;font-family:Poppins,sans-serif;font-weight:400;color:var(--color-text-primary);margin-bottom:2rem}.nav{display:flex;align-items:center;justify-content:space-between;height:80px;padding:.5rem 2rem;background:var(--nav-gradient);background-size:400% 400%;animation:subtleGlobalBackgroundRipple 10s ease infinite;animation-delay:-3s;animation-play-state:running;position:relative;z-index:1000}.nav__section{display:flex;align-items:center;flex:1}.nav__section--left{justify-content:flex-start}.nav__section--center{flex:0 1 auto;justify-content:center;min-width:0}.nav__section--right{justify-content:flex-end}.nav__logo-link,.nav__main-link{text-decoration:none;color:var(--color-text-primary)}.nav__logo{font-size:2.5rem;color:var(--color-text-primary);margin:0}.nav__text-wrapper{text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__text,.nav__title{margin:0;line-height:1.2}.nav__text{font-size:.9rem;font-weight:300;color:var(--color-text-secondary)}.nav__title{font-size:1.5rem;color:var(--color-text-primary)}.nav__links{display:flex;align-items:center;gap:2rem}.nav__link{font-size:1rem;color:var(--color-text-secondary);text-decoration:none;transition:color .25s ease-in-out}.nav__link:hover{color:var(--color-text-primary)}.nav__link:not(.nav__link--button):not(.nav__link--icon){position:relative;padding-bottom:.25rem}.nav__link:not(.nav__link--button):not(.nav__link--icon):after{content:"";position:absolute;width:100%;transform:scaleX(0);height:1px;bottom:0;left:0;background-color:var(--color-text-primary);transform-origin:bottom right;transition:transform .25s ease-out}.nav__link:not(.nav__link--button):not(.nav__link--icon):hover:after{transform:scaleX(1);transform-origin:bottom left}.nav__link--button{padding:.5rem 1rem;border:1px solid var(--color-text-secondary);border-radius:4px;background:none;cursor:pointer;font-size:.9rem;transition:background-color .25s,color .25s;font-family:inherit}.nav__link--button:hover{background-color:var(--color-text-secondary);color:var(--color-primary-light)}.nav__icon{height:24px;width:24px;display:block;transition:transform .25s ease-in-out}.nav__icon:hover{transform:scale(1.1)}.nav__hamburger{display:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;padding:0;z-index:20;color:var(--color-text-primary)}.nav__hamburger:focus{outline:none}.nav__hamburger span{width:2rem;height:3px;background:var(--color-text-primary);border-radius:10px;transition:all .3s linear;position:relative;transform-origin:1px}@media(max-width:1250px){.nav{padding:.5rem 1rem}.nav__links{display:none}.nav__hamburger{display:flex;transition:opacity .2s ease-out,transform .2s ease-out,visibility 0s linear .2s}.nav__links--open{display:flex;flex-direction:column;align-items:center;gap:2.5rem;position:absolute;top:100%;right:0;width:30%;padding:2.5rem;min-height:95vh;background:var(--nav-gradient);background-size:400% 400%;animation:subtleGlobalBackgroundRipple 10s ease infinite;animation-delay:-3s;animation-play-state:running;box-shadow:0 4px 6px #0000001a;transition:opacity .2s ease-out,transform .2s ease-out}.nav__links--open .nav__link{font-size:1.2rem;color:var(--color-text-primary)}.nav__hamburger[aria-expanded=true] span:first-child{transform:rotate(45deg)}.nav__hamburger[aria-expanded=true] span:nth-child(2){opacity:0;transform:translate(20px)}.nav__hamburger[aria-expanded=true] span:last-child{transform:rotate(-45deg)}}.nav__cart-link{position:relative}.nav__cart-link:hover{transform:scale(1.1)}.nav__icon[alt=Cart]{transform:scaleX(-1)}.nav__cart-badge{position:absolute;top:-5px;right:-8px;background-color:var(--color-error);color:var(--color-primary-light);border-radius:50%;padding:.15em .45em;font-size:.75rem;font-weight:700;line-height:1;display:flex;justify-content:center;align-items:center;min-width:1.25em;min-height:1.25em;box-sizing:border-box;transform:scale(1);transition:transform .2s ease-in-out}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;cursor:pointer;border-radius:50%;transition:transform .15s ease,opacity .15s ease;background:none}.theme-toggle:hover{transform:translateY(-2px);opacity:.95}.theme-toggle:active{transform:translateY(0)}.theme-toggle:focus{outline:none}.theme-toggle__icon{width:22px;height:22px;display:block;object-fit:contain;pointer-events:none;transition:filter .3s ease}[data-theme=dark] .theme-toggle__icon{filter:invert(1);transform:rotate(0);transition:filter .3s ease,transform .3s ease}[data-theme=light] .theme-toggle__icon{filter:invert(0);transform:rotate(-180deg);transition:filter .3s ease,transform .3s ease}@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle__icon{transition:none}}.site-footer{background:linear-gradient(270deg,var(--color-primary-dark),var(--color-primary-dark),var(--color-secondary-dark));background-size:400% 400%;animation:subtleGlobalBackgroundRipple 10s ease infinite;color:var(--color-text-primary);font-size:.9rem;text-align:center;width:100vw;justify-self:center}.site-footer .footer-content{max-width:100vw;margin:0 auto;display:flex;flex-direction:row;align-items:center;gap:1rem;justify-content:space-between}@media screen and (max-width:767px){.site-footer .footer-content{flex-direction:column;gap:0}}.site-footer .footer-links a{color:var(--color-primary-light);text-decoration:none;margin:0 .75rem 0 1rem;transition:color .3s ease}.site-footer .footer-links a:hover{color:var(--color-primary-mid)}.site-footer .footer-copyright p{margin:0;font-size:.8rem;color:var(--color-text-secondary);margin-right:1rem}@media(min-width:768px){.site-footer .footer-content{flex-direction:row;justify-content:space-between}.site-footer{text-align:left}}.break{display:none}@media screen and (max-width:767px){.break{display:block}}.back-to-top{position:fixed;bottom:65px;right:15px;z-index:1000;cursor:pointer;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s}.back-to-top__icon{cursor:pointer;width:2rem;height:2rem;display:block;background-color:#f0f8ff71;border:#FFFFFF;border-radius:20px;padding:5px}.back-to-top__icon:hover{opacity:1;transform:scale(1.2)}@media screen and (min-width:1024px){.back-to-top{right:20px}}@media screen and (min-width:768px){.back-to-top{right:10px}}@media screen and (max-width:767px){.back-to-top{right:0}}.back-to-top .up-arrow-icon{display:block;width:32px;height:32px;color:#000}.back-to-top .up-arrow-icon:hover{opacity:.7}.back-to-top.visible{opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s,0s,0s,0s;color:#000;border:#D22D2D}.button{background-color:transparent}.button__symbol{color:#000;border:#D22D2D}.photo-link{display:block;text-decoration:none;color:inherit;overflow:hidden;border-radius:4px}@media screen and (max-width:767px){.photo-link{padding:2rem}}.photo-link .photo-item img{display:block;width:100%;height:auto;opacity:0;transform:translateY(15px);transition:opacity .6s ease-out,transform .6s ease-out}.photo-link .photo-item img.loaded{opacity:1;transform:translateY(0)}.photo-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block;transition:transform .2s ease}@media screen and (max-width:767px){.photo-thumbnail{padding:1rem 2rem}}.photo-thumbnail:hover{transform:scale(1.02);box-shadow:0 4px 8px var(--color-primary-mid)}@media screen and (max-width:767px){.photo-thumbnail:hover{box-shadow:none}}.size-button{border:1px solid #ccc;margin:.5rem;padding:.5rem;background:#fff;cursor:pointer}.size-button.selected{border:2px solid #000;background-color:#f0f0f0}.size-button .preview-img{width:100px;height:auto;margin-bottom:.5rem}.gallery-grid{margin-top:1rem;padding:0rem .25rem;display:grid}@media screen and (min-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;margin-top:2rem;margin-bottom:2rem;padding:0rem 2rem;display:grid;gap:1rem 2rem}}@media screen and (min-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-status{text-align:center;padding:20px;font-size:1.2em}.gallery-status.error{color:red}.gallery-loader-container{display:flex;justify-content:center;align-items:center;min-height:300px;width:100%}.gallery-loader-container .gallery-status{font-size:1.2rem;color:#555}.gallery-grid{opacity:0;transition:opacity .5s ease-in-out}.gallery-grid.loaded{opacity:1}.gallery-status{text-align:center;padding:2rem;font-size:1.1rem;color:#333}.gallery-status.error{color:red;font-weight:700}.photo-page{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:0;margin:0;text-align:center}@media screen and (min-width:768px){.photo-page{padding:2rem}}.photo-page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:1200px;width:100%;padding:1rem;box-sizing:border-box}.photo-detail{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin:0}.photo-detail .photo-detail-image{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 15px #0000001a;cursor:zoom-in}.photo-detail .photo-info{max-width:800px}.photo-detail .photo-info h1{margin:0;font-size:2em;color:var(--color-text-primary)}.photo-detail .photo-info .photo-description{font-size:1rem;line-height:1.6;margin:1rem 0;color:var(--color-text-secondary)}.photo-detail .photo-info .purchase-button{margin-top:1rem;padding:.75rem 1.5rem;font-size:1.1rem}.photo-detail .photo-info .purchase-status{margin-top:.75rem;font-style:italic}.photo-page-status{text-align:center;padding:2rem;font-size:1.2rem}.photo-page-status.error{color:var(--color-error)}.cart-message{margin-top:.5rem;color:var(--color-success);font-weight:500;font-size:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.purchase-button{display:inline-block;padding:12px 24px;margin:10px;font-size:1rem;font-weight:600;color:var(--color-primary-light);background-color:var(--color-primary-mid);border:none;border-radius:6px;cursor:pointer;min-width:2rem;transition:background-color .25s ease,transform .2s ease,box-shadow .25s ease}.purchase-button:hover{background-color:var(--color-primary-light);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 6px 12px #3498db4d}.purchase-button:active{background-color:var(--color-primary-dark);transform:translateY(0);box-shadow:0 2px 4px #3498db33}.purchase-button:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px;box-shadow:none}.purchase-status,.cart-message{margin-top:15px;font-size:.9em;text-align:center;color:var(--color-text-secondary)}.cart-message{color:var(--color-success);font-weight:500}.checkout-now-button{background-color:var(--color-success)}.checkout-now-button:hover{background-color:#218838}.purchase-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;width:100%}.size-selector .selector-title{font-family:Poppins,sans-serif;font-weight:500;font-size:1.2rem;margin-bottom:.75rem;text-align:center;color:var(--color-text-primary)}.size-selector .size-options{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.size-selector .size-option{background:none;border:3px solid transparent;border-radius:8px;padding:5px;cursor:pointer;transition:all .2s ease-in-out}.size-selector .size-option:hover{border-color:var(--color-primary-mid)}.size-selector .size-option.selected{border-color:var(--color-primary-dark);transform:scale(1.05);box-shadow:0 4px 12px #0000001a}.size-selector .size-option .size-preview-image{width:100px;height:auto;display:block;border-radius:4px;cursor:zoom-in}.selected-size-info{display:flex;justify-content:space-between;align-items:center;font-family:Poppins,sans-serif;font-size:1.1rem;padding:.75rem 0;border-bottom:1px solid var(--color-primary-dark);margin-bottom:1rem;color:var(--color-text-primary)}.selected-size-info span:first-child{font-weight:500}.action-area{display:flex;gap:1rem;align-items:center}.add-to-cart-button,.checkout-now-button{font-family:Poppins,sans-serif;font-weight:500;font-size:1rem;padding:.9rem 1.5rem;border-radius:4px;cursor:pointer;text-align:center;transition:all .2s ease-in-out;flex-grow:1}.add-to-cart-button{background-color:var(--color-primary-dark);color:var(--color-primary-light);border:1px solid var(--color-secondary-mid)}.add-to-cart-button:hover:not(:disabled){background-color:#28a745;border-color:var(--color-secondary-mid);box-shadow:0 4px 8px var(--color-primary-mid)}.add-to-cart-button:disabled{background-color:var(--color-primary-mid);border-color:var(--color-primary-mid);cursor:not-allowed}.checkout-now-button{background-color:var(--color-primary-mid);color:#fff;border:1px solid var(--color-primary-mid);text-decoration:none}.checkout-now-button:hover{background-color:#28a745;box-shadow:0 4px 8px var(--color-primary-mid)}.cart-message{font-family:Poppins,sans-serif;color:var(--color-success);font-weight:500;text-align:center;margin-top:-1rem;margin-bottom:-1rem}.selector-disclaimer{font-size:.75rem;color:var(--color-text-secondary)}@media(max-width:768px){.photo-metadata{padding:1rem}.size-selector .size-preview-image{width:80px}.action-area{flex-direction:column;align-items:stretch}}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;justify-content:center;z-index:1001;opacity:0;animation:fadeIn .3s forwards;cursor:pointer;align-items:center;padding:1rem;box-sizing:border-box}@media(min-width:768px){.image-modal-overlay{align-items:flex-start;overflow-y:auto;padding:3rem}}.image-modal-content{position:relative;cursor:default;transform:scale(.95);animation:zoomIn .3s forwards;line-height:0}.image-modal-image{display:block;border-radius:4px;max-width:100%;max-height:100%;min-width:100%}@media(min-width:768px){.image-modal-image{max-height:none}}.image-modal-close{position:absolute;top:.5rem;right:1rem;color:#fff;font-size:3rem;font-weight:300;line-height:1;background:none;border:none;cursor:pointer;z-index:1002;transition:color .2s ease-in-out}.image-modal-close:hover{color:#ccc}@keyframes fadeIn{to{opacity:1}}@keyframes zoomIn{to{transform:scale(1)}}.cancel-page{max-width:800px;margin:20px auto;padding:40px 20px;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;min-height:calc(100vh - var(--nav-height, 80px) - var(--footer-height, 50px) - 40px);display:flex;flex-direction:column;align-items:center}.cancel-page h1{color:#dc3545;margin-bottom:20px;font-size:2em}.cancel-text{color:#323232}.cancel-page-button{display:inline-block;margin-top:20px;padding:10px 20px;background-color:#323232;color:#fff;text-decoration:none;border-radius:5px;font-weight:500;transition:background-color .2s ease,transform .1s ease}.cancel-page-button:hover{background-color:#afafaf;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.success-page{max-width:800px;margin:20px auto;padding:40px 20px;background-color:#afafaf;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;min-height:calc(100vh - var(--nav-height, 80px) - var(--footer-height, 50px) - 40px);display:flex;flex-direction:column;align-items:center;min-height:80vh}.success-page h1{color:#28a745;margin-bottom:20px;font-size:2em}.success-page-button{display:inline-block;margin-top:20px;padding:10px 20px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:5px;font-weight:500;transition:background-color .2s ease,transform .1s ease}.success-page-button:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.success-page{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.success-page .content-header{width:100%}.success-page .content-header .order-id{margin-top:1rem;font-weight:300}.success-page .content-header .order-id strong{font-weight:700}.success-page .error-container .error-message{color:#000;margin-bottom:1rem}.success-page .order-summary-card{width:100%;max-width:600px;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;text-align:left}.success-page .order-summary-card .summary-title{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem}.success-page .order-summary-card .item-list{list-style:none;padding:0;margin:0 0 1.5rem}.success-page .order-summary-card .purchased-item{display:flex;justify-content:space-between;padding:.5rem 0}.success-page .order-summary-card .purchased-item:last-child{border-bottom:none}.success-page .totals-summary{margin-top:1.5rem;padding-top:1rem}.success-page .totals-summary .summary-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.success-page .totals-summary .summary-row.grand-total{margin-top:1rem;padding-top:1rem}.success-page .cart-page-button{margin-top:1rem}.about-page .profile-image-container{margin-top:2rem;margin-bottom:2rem}.about-page .about-image{width:200px;height:200px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #0000001a;border:4px solid var(--color-surface)}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#f0f0f0;z-index:9999;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .3s ease-out}.not-found-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90vh;padding:2rem;text-align:center;color:#323232}.not-found-page .not-found-title{font-size:8rem;margin-bottom:1rem}@media screen and (min-width:768px){.not-found-page .not-found-title{font-size:10rem}}.not-found-page .not-found-message{font-size:1.5rem;margin-bottom:.5rem}@media screen and (min-width:768px){.not-found-page .not-found-message{font-size:1.8rem}}.not-found-page .not-found-suggestion{font-size:1rem;color:#323232;margin-bottom:2rem}.not-found-page .not-found-button{color:#000;margin-bottom:1rem;padding:.8rem 1.5rem;font-size:1.1rem}.not-found-page .not-found-button:hover{color:#323232}.not-found-page .not-found-link{color:#000;text-decoration:none;transition:color .2s ease-in-out}.not-found-page .not-found-link:hover{color:#323232}.cart-page{max-width:1200px;min-height:90vh;margin:20px auto;padding:20px;background-color:var(--color-background);border-radius:8px;box-shadow:0 2px 4px #0000001a;font-family:Arial,sans-serif}.cart-page h1{text-align:center;color:var(--color-text-primary);margin-top:0;margin-bottom:30px;font-size:2.5em}.cart-page .empty-cart{text-align:center;font-size:1.2em;color:var(--color-primary-mid);margin-bottom:20px}.cart-page .empty-cart-container{text-align:center;padding:40px 0;display:flex;flex-direction:column;align-items:center}.cart-page .cart-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.cart-page .cart-item{display:flex;background-color:var(--color-background-secondary);border:1px solid var(--color-secondary-mid);border-radius:8px;overflow:hidden;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;box-shadow:0 4px 8px var(--color-primary-mid)}.cart-page .cart-item:hover{transform:translateY(-5px);box-shadow:0 8px 10px var(--color-primary-mid)}.cart-page .cart-image{width:150px;height:200px;object-fit:cover;border-right:1px solid var(--color-secondary-light)}.cart-page .cart-details{height:200px;padding:15px;flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.cart-page .cart-details h2{font-size:1.4em;margin-bottom:10px;color:var(--color-text-primary)}.cart-page .cart-details p{font-size:1em;color:var(--color-text-primary);margin-bottom:8px}.cart-page .quantity-controls{display:flex;align-items:center;margin-bottom:10px}.cart-page .quantity-controls button{background-color:var(--color-background);color:var(--color-secondary-mid-dark);border:none;padding:5px 10px;border-radius:4px;cursor:pointer;margin:0 5px;transition:background-color .2s ease}.cart-page .quantity-controls button:hover{background-color:var(--color-secondary-dark);color:var(--color-text-secondary)}.cart-page .quantity-controls span{font-size:1.1em;min-width:20px;text-align:center;color:var(--color-text-primary)}.cart-page .remove-button{background-color:var(--color-error);color:var(--color-primary-light);border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color .2s ease}.cart-page .remove-button:hover{background-color:#ff0000a1}.cart-page .cart-summary{padding:20px;background-color:var(--color-background);border:1px solid var(--color-secondary-mid);border-radius:8px;margin-top:30px;display:flex;flex-direction:column;align-items:stretch;box-shadow:0 4px 8px var(--color-primary-mid)}.cart-page .cart-summary h2{font-size:1.8em;margin-bottom:20px;color:var(--color-text-primary);text-align:right;margin-top:20px}.cart-page .cart-summary .cart-totals{width:100%;margin:1.5rem 0;padding-top:1.5rem;border-top:1px solid var(--color-primary-light);color:var(--color-secondary-dark)}.cart-page .cart-summary .cart-totals .summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:1rem;color:var(--color-text-primary)}.cart-page .cart-summary .cart-totals .summary-row span:first-child{color:var(--color-text-primary)}.cart-page .cart-summary .cart-totals .grand-total{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-secondary-mid);font-size:1.25rem;color:var(--color-text-primary)}.cart-page .cart-summary .checkout-button{width:100%;margin-top:1rem}.cart-page .customer-info{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.cart-page .customer-info input[type=text],.cart-page .customer-info input[type=email]{color:var(--color-text-primary);background-color:var(--color-primary-mid);padding:10px;border:1px solid var(--color-secondary-mid);border-radius:4px;font-size:1em;width:100%;box-sizing:border-box}.cart-page .customer-info input::placeholder{color:var(--color-primary-light);font-size:.875rem;font-family:Poppins,sans-serif;font-weight:300;opacity:1}.cart-page .checkout-button{background-color:var(--color-primary-mid);color:var(--color-primary-light);padding:12px 20px;border-radius:5px;cursor:pointer;font-size:1.1em;transition:background-color .2s ease,transform .1s ease;align-self:flex-end}.cart-page .checkout-button:hover{background-color:#218838;transform:translateY(-2px);box-shadow:0 2px 6px #0003;box-shadow:0 4px 8px var(--color-primary-mid)}.cart-page .checkout-button:active{transform:translateY(0);box-shadow:none}.cart-page .cart-page-button{display:inline-block;margin-top:15px;padding:10px 20px;color:var(--color-primary-light);text-decoration:none;border-radius:5px;font-weight:500;transition:background-color .2s ease,transform .1s ease;border:none;cursor:pointer}.cart-page .back-to-home-button{background-color:var(--color-primary-dark)}.cart-page .back-to-home-button:hover{background-color:var(--color-secondary-dark);transform:translateY(-1px)}.checkout-error-message{color:var(--color-error);background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;border-radius:4px;margin-bottom:15px;text-align:center}.quantity{color:#000}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-secondary-light);z-index:9999;display:flex;justify-content:center;align-items:center;opacity:1;transition:opacity .3s ease-out}.portrait-page-content{opacity:0;transition:opacity .3s ease-in .1s}.portrait-page-content.loaded{opacity:1}.input{background-color:var(--color-background);color:var(--color-primary-light)}.custom-select{position:relative;font-family:Poppins,sans-serif}.select-selected{background-color:var(--color-primary-mid);padding:.8rem 1rem;border-radius:4px;font-size:1rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var --color-text-primary}.select-selected:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;transition:transform .2s ease-in-out}.select-items{position:absolute;background-color:var(--color-background-secondary);top:100%;left:0;right:0;z-index:99;border-radius:0 0 4px 4px;box-shadow:0 4px 8px #0000001a}.select-items .select-item{padding:.8rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--color-primary-mid)}.select-items .select-item:hover{background-color:var(--color-text-secondary)}.content-page-layout{width:100%;padding:4rem 0 0;box-sizing:border-box;display:flow-root}.content-container{max-width:800px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box}.content-container h1{font-family:Italiana,serif;margin-bottom:.5rem;color:var(--color-texy-primary)}.content-container h2,.content-container p,.content-container li,.content-container a{font-family:Poppins,sans-serif;font-weight:300;line-height:1.7;color:var(--color-text-primary)}.content-container .content-header{text-align:center;margin-bottom:3rem}.content-container .content-section{margin-bottom:2.5rem}.content-container .content-section h2{margin-bottom:1rem}ul{list-style:none}.service-link{display:inline-block;padding:10px 20px;background-color:var(--color-primary-mid-light);color:var(--color-black);text-decoration:none;border-radius:4px;transition:background-color .3s ease;margin-top:1rem}.service-link:hover{background-color:#fff;box-shadow:0 4px 8px var(--color-primary-mid)}.page-container{display:flex;flex-direction:column;min-height:100vh}.auth-page{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}.auth-page h1{font-family:Italiana,serif;font-size:2.5rem;margin-bottom:2rem;color:var(--color-text-primary);text-align:center}.auth-page form{display:flex;flex-direction:column;width:100%;max-width:400px;background:var(--color-background);padding:2.5rem;border-radius:8px;box-shadow:0 6px 20px var(--color-black)}.auth-page .input{font-family:Poppins,sans-serif;padding:.8rem 1rem;margin-bottom:1.25rem;border:1px solid var(--color-secondary-mid);background:var(--color-secondary-mid);color:#000;border-radius:4px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-page .input::placeholder{color:#000;opacity:1}.auth-page .input:focus{outline:none;border-color:var(--color-primary-dark);box-shadow:0 0 0 3px #3333331a}.auth-page .auth-button{font-family:Poppins,sans-serif;background-color:var(--color-primary-dark);color:var(--color-primary-light);padding:.9rem 1rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-page .auth-button:hover{background-color:#28a745}.auth-page .error{color:var(--color-error);background-color:#ff00001a;border:1px solid rgba(255,0,0,.3);padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center}.auth-page .redirect-link{margin-top:1.5rem;font-family:Poppins,sans-serif;color:var(--color-text-primary)}.auth-page .redirect-link a{color:var(--color-text-primary);text-decoration:none;font-weight:600}.auth-page .redirect-link a:hover{text-decoration:underline}.admin-dashboard{min-height:100vh;background-color:#f5f5f5;padding:2rem}.admin-content{max-width:100vw;margin:0 auto;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.admin-content h1{color:#333;margin-bottom:2rem;font-size:2rem}.status-message{padding:1rem;margin-bottom:1.5rem;border-radius:4px;font-weight:500}.status-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.loading,.error{text-align:center;padding:2rem;font-size:1.2rem;color:#666}.error{color:#dc3545}.admin-section{margin-bottom:2rem;padding:1.5rem;background-color:#f9f9f9;border-radius:6px}.admin-section h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;line-height:1.5;resize:vertical;min-height:100px}.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.image-upload-container{display:flex;flex-direction:column;gap:1rem;align-items:center;padding:1rem;border:2px dashed #ddd;border-radius:8px;background-color:#fafafa;transition:all .3s ease}.image-upload-container:hover{border-color:#3498db;background-color:#f0f7ff}.upload-instructions{text-align:center;color:#666;margin-bottom:1rem}.upload-instructions p{margin:.25rem 0}.upload-instructions .upload-hint{font-size:.9rem;color:#999}.image-upload-input{display:none}.upload-label{display:inline-block;padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:500}.upload-label:hover{background-color:#2980b9}.image-preview{position:relative;width:300px;height:300px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.image-preview img{width:100%;height:100%;object-fit:cover}.preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.preview-overlay p{color:#fff;font-weight:500;margin:0}.image-preview:hover .preview-overlay{opacity:1}.portfolio-upload{margin-bottom:2rem}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.portfolio-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s;cursor:move}.portfolio-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.portfolio-item.dragging{opacity:.5}.portfolio-image{position:relative;padding-top:75%;background:#f0f0f0}.portfolio-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.delete-button{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:none;color:#e74c3c;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.delete-button:hover{background:#fff}.portfolio-item:hover .delete-button{opacity:1}.portfolio-details{padding:1rem}.portfolio-details input,.portfolio-details textarea{width:100%;padding:.5rem;margin-bottom:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.portfolio-details input:focus,.portfolio-details textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.portfolio-details textarea{resize:vertical;min-height:60px}.save-button{background-color:#3498db;color:#fff;padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.save-button:hover{background-color:#2980b9}.save-button:active{transform:translateY(1px)}@media(max-width:768px){.admin-dashboard,.admin-content,.admin-section{padding:1rem}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.admin-nav{width:240px;flex-shrink:0;background-color:#2c3e50;color:#ecf0f1;min-height:40vh;display:flex;flex-direction:column}.admin-nav .admin-nav-header{padding:1.5rem;border-bottom:1px solid #34495e}.admin-nav .admin-nav-header h3{margin:0;text-align:center;font-family:Italiana,serif}.admin-nav .admin-nav-links{display:flex;flex-direction:column;padding-top:1rem}.admin-nav .admin-nav-links a{padding:1rem 1.5rem;color:#ecf0f1;text-decoration:none;font-size:1rem;transition:background-color .2s ease}.admin-nav .admin-nav-links a:hover{background-color:#34495e}.admin-nav .admin-nav-links a.active{background-color:#1abc9c;color:#fff}.admin-main-content h1{margin-bottom:2rem;color:#333}.admin-main-content .error-message{color:red;background-color:#fcc;padding:1rem;border-radius:4px}.orders-list{display:flex;flex-direction:column;gap:1rem}.order-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:box-shadow .2s ease-in-out;border:1px solid #e0e0e0}.order-card:hover{box-shadow:0 4px 12px #0000001a}.order-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem 1.5rem;cursor:pointer;align-items:center}.order-summary .summary-item{display:flex;flex-direction:column}.order-summary .summary-item strong{font-size:.75rem;color:#777;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.order-summary .summary-item span{font-size:.95rem;color:#333}.order-summary .summary-item-toggle{justify-self:end;font-size:1.2rem;color:#aaa}.order-details{border-top:1px solid #eee;padding:1.5rem;background-color:#fdfdfd}.order-details h4{margin-top:0;margin-bottom:.75rem;color:#555}.order-details ul{list-style:none;padding-left:0;margin:0 0 1rem}.order-details li,.order-details p{padding:.5rem 0;font-size:.9rem;color:#444}.admin_layout{min-width:100vw}.order-history-page{padding:2rem 1rem;max-width:1200px;margin:0 auto;color:var(--color-text-primary);min-height:90vh}.order-history-page h1{font-family:Italiana,serif;font-size:2.5rem;text-align:center;margin-bottom:2rem;color:var(--color-text-primary)}.order-history-page .empty-message{text-align:center;font-family:Poppins,sans-serif;font-size:1.2rem;color:var(--color-text-primary);opacity:.8}.order-history-page .order-card{background-color:var(--color-bg-secondary);border:1px solid #E1E1E1;border-radius:8px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 12px #0000000d;transition:background-color .3s;display:flex;flex-direction:column;align-items:center;justify-content:center}.order-history-page .order-card .order-header{border-bottom:1px solid #E1E1E1;margin-bottom:1rem;padding-bottom:1rem}.order-history-page .order-card .order-header h2{font-family:Poppins,sans-serif;font-size:1.4rem;margin-bottom:.3rem;color:var(--color-text-primary)}.order-history-page .order-card .order-header p{margin:.25rem 0;font-size:.95rem;color:var(--color-text-primary);opacity:.85}.order-history-page .order-card .order-header p strong{color:var(--color-text-primary)}.order-history-page .order-card .order-header .order-date{font-style:italic;font-size:.85rem;opacity:.7}.order-history-page .order-card .order-items{display:flex;flex-direction:column;gap:1.25rem;justify-content:center;align-items:center}.order-history-page .order-card .order-items .order-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-self:center;align-self:center;gap:1.25rem;padding:.75rem 0;border-top:1px solid #E1E1E1}.order-history-page .order-card .order-items .order-item:first-child{border-top:none}.order-history-page .order-card .order-items .order-item .item-image{flex:0 0 120px}.order-history-page .order-card .order-items .order-item .item-image img{width:100%;height:auto;border-radius:6px;object-fit:cover;border:1px solid #E1E1E1}.order-history-page .order-card .order-items .order-item .item-details{flex:1;font-family:Poppins,sans-serif;display:flex;flex-direction:column;justify-content:center;align-items:center}.order-history-page .order-card .order-items .order-item .item-details h3.item-title{font-size:1.1rem;margin-bottom:.25rem;color:var(--color-text-primary)}.order-history-page .order-card .order-items .order-item .item-details p{margin:.2rem 0;font-size:.95rem;color:var(--color-text-primary);opacity:.9}.order-history-page .order-card .order-items .order-item .item-details p strong{color:var(--color-text-primary)}@media(max-width:768px){.order-history-page,.order-card{padding:1rem}.order-items .order-item{flex-direction:column;align-items:center;justify-content:center;text-align:center}.order-items .order-item .item-image{flex:0 0 auto}.order-items .order-item .item-details{padding-top:.5rem}}.item-details{flex:1;font-family:Poppins,sans-serif;display:flex;flex-direction:column;align-self:center;align-items:center;justify-content:center}.item-details h3.item-title{font-size:1.1rem;margin-bottom:.25rem;color:var(--color-text-primary)}.item-details p{margin:.2rem 0;font-size:.95rem;color:var(--color-text-primary);opacity:.9}.item-details p strong{color:var(--color-text-primary)}:root{--color-primary-dark: #323232;--color-primary-mid: #AFAFAF;--color-primary-light: #FFFFFF;--color-primary-green: #28a745;--color-secondary-dark: #000000;--color-secondary-mid: #E1E1E1;--color-secondary-light: #FAFAFA;--color-error: #D22D2D;--color-primary: var(--color-primary-dark);--color-secondary: var(--color-secondary-dark);--color-primary-mid-light: var(--color-primary-mid);--color-secondary-mid-light: var(--color-secondary-mid);--color-background: var(--color-primary-light);--color-background-secondary: var(--color-secondary-light);--color-surface: var(--color-primary-light);--color-surface-secondary: var(--color-secondary-light);--color-text-primary: #212529;--color-text-secondary: #808080;--color-border: var(--color-primary-mid);--color-border-light: var(--color-secondary-mid);--color-accent: #e53e3e;--color-link: #3498db;--color-link-hover: #2980b9;--color-error-background: #f8d7da;--color-white: #ffffff;--color-success: $primary-green --color-black: #000000;--color-overlay: rgba(0, 0, 0, .9);--nav-gradient: linear-gradient( 270deg, var(--color-primary-light), var(--color-primary-mid), var(--color-secondary-mid) )}[data-theme=dark]{--color-primary: var(--color-secondary-dark);--color-secondary: var(--color-primary-dark)}[data-theme=dark] .nav__icon{filter:brightness(0) invert(1);transition:filter .3 ease}[data-theme=dark]{--color-primary-mid-dark: #5a5a5a;--color-secondary-mid-dark: #7d7d7d;--color-primary-mid-light: var(--color-primary-mid-dark);--color-secondary-mid-light: var(--color-secondary-mid-dark);--color-background: #121212;--color-background-secondary: #2e2e2e;--color-surface: #1e1e1e;--color-surface-secondary: #2e2e2e;--color-text-primary: #f5f5f5;--color-text-secondary: #b0b0b0;--color-border: var(--color-primary-mid-light);--color-border-light: var(--color-secondary-mid-light);--color-accent: #e53e3e;--color-link: #82cfff;--color-link-hover: #63b3ed;--color-error: #e53e3e;--color-error-background: #721c24;--color-white: #000000;--color-black: #ffffff;--nav-gradient: linear-gradient( 270deg, var(--color-primary-dark), var(--color-secondary-dark), var(--color-primary-dark) )}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#000000de;background:linear-gradient(270deg,var(--color-primary-light, #ffffff),var(--color-primary-mid, #afafaf),var(--color-secondary-mid, #e1e1e1));background-size:400% 400%;animation:subtleGlobalBackgroundRipple 10s ease infinite;min-height:100vh;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes subtleGlobalBackgroundRipple{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}[data-theme=dark]{color-scheme:dark;color:#f8f8f8de;background:linear-gradient(270deg,var(--color-primary-dark, #323232),var(--color-primary-mid, #afafaf),var(--color-secondary-mid, #555555))}body{margin:0;padding:0;display:flex;place-items:center;justify-content:center;align-items:center;min-height:100vh;background-color:var(--color-background, #ffffff);color:var(--color-text-primary, #212529);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif}h1{font-size:3.2em;line-height:1.1;font-family:Italiana,serif;color:var(--color-primary-dark, #323232)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-primary-dark, #323232);color:var(--color-primary-light, #ffffff);cursor:pointer;transition:border-color .25s}*{box-sizing:border-box;margin:0;padding:0}main{flex:1}h2,h3,h4,h5,h6,p,span,li,a,blockquote{font-family:Poppins,sans-serif;font-weight:300;color:var(--color-text-primary, #212529)}body{height:100%;margin:0;padding:0}.italiana-regular{font-family:Italiana,sans-serif;font-weight:400;font-style:normal}.poppins-thin{font-family:Poppins,sans-serif;font-weight:100;font-style:normal}.poppins-extralight{font-weight:200;font-style:normal}.poppins-light{font-weight:300;font-style:normal}.poppins-regular{font-weight:400;font-style:normal}.poppins-medium{font-weight:500;font-style:normal}.poppins-semibold{font-weight:600;font-style:normal}.poppins-bold{font-weight:700;font-style:normal}.poppins-extrabold{font-weight:800;font-style:normal}.poppins-black{font-weight:900;font-style:normal}.poppins-thin-italic{font-weight:100;font-style:italic}.poppins-extralight-italic{font-weight:200;font-style:italic}.poppins-light-italic{font-weight:300;font-style:italic}.poppins-regular-italic{font-weight:400;font-style:italic}.poppins-medium-italic{font-weight:500;font-style:italic}.poppins-semibold-italic{font-weight:600;font-style:italic}.poppins-bold-italic{font-weight:700;font-style:italic}.poppins-extrabold-italic{font-weight:800;font-style:italic}.poppins-black-italic{font-weight:900;font-style:italic}[class*=poppins]{font-family:Poppins,sans-serif}
