@import "https://fonts.googleapis.com/css2?family=Caprasimo&family=Nunito:wght@300;400;500;600;700&display=swap";html{-webkit-text-size-adjust:100%}body{margin:0;overflow-x:hidden}#root{width:100%;min-height:100svh}:root{--primary:#a90e49;--primary-dark:#85093a;--light-pink:#f8c6e6;--background:#fff8f1;--card:#fff;--text:#65334a;--border:#f3d7e8;--shadow:#a90e4926}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--text);font-family:Nunito,sans-serif;line-height:1.6;overflow-x:hidden}.home-page,.login-page,.register-page,.portfolio-page,.webshop-page,.basket-page,.order-confirmation-page{z-index:1;flex-direction:column;width:100%;min-height:100svh;display:flex;position:relative}.floating-cakes{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-cake{color:#a90e49;opacity:.16;position:absolute}.floating-cake svg{width:100%;height:100%;display:block}.floating-cake-1{width:92px;animation:18s ease-in-out infinite cake-float-a;top:7%;left:3%}.floating-cake-2{width:78px;animation:22s ease-in-out infinite cake-float-b;top:12%;right:6%}.floating-cake-3{width:70px;animation:16s ease-in-out infinite cake-float-c;top:38%;left:6%}.floating-cake-4{width:96px;animation:20s ease-in-out .8s infinite cake-float-a;top:42%;right:8%}.floating-cake-5{width:64px;animation:19s ease-in-out .4s infinite cake-float-b;top:68%;left:10%}.floating-cake-6{width:74px;animation:17s ease-in-out 1.2s infinite cake-float-c;top:72%;right:12%}.floating-cake-7{width:86px;animation:21s ease-in-out .6s infinite cake-float-a;bottom:6%;left:38%}.floating-cake-8{width:58px;animation:24s ease-in-out 1.6s infinite cake-float-b;top:22%;left:42%}.floating-cake-9{width:80px;animation:15s ease-in-out .2s infinite cake-float-c;top:58%;left:48%}.floating-cake-10{width:68px;animation:19s ease-in-out 1s infinite cake-float-b;top:4%;left:22%}.floating-cake-11{width:72px;animation:21s ease-in-out .3s infinite cake-float-c;top:6%;right:22%}.floating-cake-12{width:84px;animation:17s ease-in-out 1.4s infinite cake-float-a;top:28%;left:22%}.floating-cake-13{width:62px;animation:23s ease-in-out .7s infinite cake-float-b;top:32%;right:28%}.floating-cake-14{width:76px;animation:18s ease-in-out 1.1s infinite cake-float-c;top:48%;left:28%}.floating-cake-15{width:66px;animation:16s ease-in-out 1.8s infinite cake-float-a;top:54%;right:2%}.floating-cake-16{width:90px;animation:20s ease-in-out .5s infinite cake-float-b;bottom:16%;left:20%}.floating-cake-17{width:70px;animation:22s ease-in-out 1.5s infinite cake-float-c;bottom:8%;right:4%}.floating-cake-18{width:60px;animation:15s ease-in-out .9s infinite cake-float-a;top:80%;left:58%}.floating-cake-19{width:54px;animation:19s ease-in-out .4s infinite cake-float-c;top:16%;left:12%}.floating-cake-20{width:82px;animation:21s ease-in-out 1.3s infinite cake-float-a;top:18%;right:14%}.floating-cake-21{width:72px;animation:17s ease-in-out .8s infinite cake-float-b;top:64%;left:36%}.floating-cake-22{width:64px;animation:23s ease-in-out 1.7s infinite cake-float-c;top:36%;left:58%}.floating-cake-23{width:88px;animation:18s ease-in-out .2s infinite cake-float-a;bottom:22%;right:22%}.floating-cake-24{width:58px;animation:16s ease-in-out 1.1s infinite cake-float-b;top:88%;left:8%}@keyframes cake-float-a{0%,to{transform:translate(0)rotate(-8deg)}50%{transform:translate(22px,-28px)rotate(7deg)}}@keyframes cake-float-b{0%,to{transform:translate(0)rotate(6deg)}50%{transform:translate(-24px,18px)rotate(-9deg)}}@keyframes cake-float-c{0%,to{transform:translate(0)rotate(-4deg)}50%{transform:translate(16px,22px)rotate(10deg)}}@media (prefers-reduced-motion:reduce){.floating-cake{animation:none}}.header{text-align:center;background:linear-gradient(#f9c9e8 0%,#ffddf1 100%);border-bottom-right-radius:45px;border-bottom-left-radius:45px;padding:70px 20px;box-shadow:0 8px 25px #0000000d}.header h1{color:var(--primary);letter-spacing:1px;text-shadow:2px 2px #ffffff59;margin-bottom:10px;font-family:Caprasimo,serif;font-size:72px}.header h2{color:var(--primary-dark);font-size:24px;font-weight:500}.header h3{color:var(--text);margin-top:15px;font-size:26px}.nav-buttons{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.nav-buttons a{display:flex}.nav-buttons button{background:var(--primary);color:#fff;cursor:pointer;box-shadow:0 8px 18px var(--shadow);border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:700;transition:all .3s}.nav-buttons button:hover{background:var(--primary-dark);transform:translateY(-4px)}.content{text-align:center;flex:1;width:100%;max-width:1100px;margin:auto;padding:60px 25px}.home-intro{text-align:left;max-width:680px;margin:24px auto 0}.home-intro p{margin-bottom:18px;font-size:18px}.home-portrait{object-fit:cover;object-position:center top;border:4px solid var(--border);border-radius:50%;width:220px;height:220px;margin:28px auto 8px;display:block;box-shadow:0 12px 30px #a90e491f}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:40px;display:grid}.portfolio-item{border:2px solid var(--border);background:var(--card);border-radius:24px;margin:0;overflow:hidden;box-shadow:0 12px 30px #a90e491a}.portfolio-item img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.card,.basket-item{background:var(--card);border:2px solid var(--border);border-radius:28px;padding:30px;box-shadow:0 12px 30px #a90e491a}.cake-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;margin-top:40px;display:grid}.cake-card{background:var(--card);border:2px solid var(--border);text-align:left;border-radius:28px;padding:30px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 12px 30px #a90e491a}.cake-card:before{content:"";background:var(--primary);width:100%;height:8px;position:absolute;top:0;left:0}.cake-card:hover{transform:translateY(-8px);box-shadow:0 20px 45px #a90e492e}.cake-card-media{aspect-ratio:3/4;background:var(--light-pink);border-radius:20px;position:relative;overflow:hidden}.cake-card-image{object-fit:cover;width:100%;height:100%;transition:opacity .35s,filter .35s;display:block}.cake-card-overlay{opacity:0;pointer-events:none;background:linear-gradient(#fff9fc47 0%,#fff9fcb8 55%,#fff9fcf0 100%);flex-direction:column;justify-content:flex-end;padding:20px;transition:opacity .35s;display:flex;position:absolute;inset:0}.cake-card-overlay p{margin-bottom:10px}.cake-card:hover .cake-card-image{opacity:.4;filter:blur(2px)}.cake-card:hover .cake-card-overlay{opacity:1;pointer-events:auto}.cake-card h3,.basket-item h3{color:var(--primary);margin-bottom:15px;font-family:Caprasimo,serif;font-size:28px}.cake-card h3{min-height:2.6em;font-size:22px;line-height:1.3}.cake-price{color:var(--primary-dark);font-size:22px;font-weight:800}.cake-card button,.basket-item button{background:var(--primary);color:#fff;cursor:pointer;width:100%;box-shadow:0 8px 18px var(--shadow);border:none;border-radius:50px;margin-top:15px;padding:14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:700;transition:all .3s}.cake-card button:hover,.basket-item button:hover{background:var(--primary-dark);transform:translateY(-4px)}.quantity-selector{justify-content:center;align-items:center;gap:12px;margin-top:20px;display:flex}.quantity-selector button{border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin:0;padding:0;font-size:20px;font-weight:700;line-height:1;display:flex}.quantity-selector span{text-align:center;min-width:30px;color:var(--primary);font-size:20px;font-weight:700}.basket-item{text-align:center;max-width:500px;margin:30px auto;transition:all .3s}.basket-item:hover{transform:translateY(-5px);box-shadow:0 20px 45px #a90e4926}.basket-item p{margin-top:10px;font-size:17px}.basket-item hr{border:none;border-top:2px solid var(--border);margin-top:25px}.basket-page h2,.basket-page h3{text-align:center;color:var(--primary-dark);margin-top:25px}.basket-actions{max-width:500px;margin:24px auto 0}.login-form,.register-form,.profile-form{border:2px solid var(--border);text-align:left;background:#fff;border-radius:28px;flex-direction:column;gap:14px;width:100%;max-width:400px;margin:40px auto;padding:40px;display:flex;box-shadow:0 15px 35px #a90e491a}.profile-form{max-width:520px}label{text-align:left;flex-direction:column;gap:6px;font-weight:600;display:flex}input{border:2px solid var(--border);border-radius:15px;width:100%;padding:14px;font-family:Nunito,sans-serif;font-size:16px}.login-form button,.register-form button,.profile-form button,.content>button,.basket-actions button{background:var(--primary);color:#fff;cursor:pointer;width:100%;box-shadow:0 8px 18px var(--shadow);border:none;border-radius:50px;padding:14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:700;transition:all .3s}.login-form button:hover,.register-form button:hover,.profile-form button:hover,.content>button:hover,.basket-actions button:hover{background:var(--primary-dark)}.order-item{background:var(--card);border:2px solid var(--border);text-align:left;border-radius:28px;max-width:500px;margin:20px auto;padding:24px}.app-prompt-overlay{z-index:1000;background:#65334a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.app-prompt{background:var(--card);border:2px solid var(--border);text-align:center;border-radius:28px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 20px 45px #a90e4938}.app-prompt-banner{background:linear-gradient(#f9c9e8 0%,#ffddf1 100%);justify-content:center;align-items:center;padding:18px 20px;display:flex}.app-prompt-logo{width:auto;height:48px;display:block}.app-prompt-message{color:var(--primary);padding:28px 24px 8px;font-family:Caprasimo,serif;font-size:22px;line-height:1.4}.app-prompt-actions{gap:12px;padding:20px 24px 28px;display:flex}.app-prompt-ok,.app-prompt-cancel{cursor:pointer;border-radius:50px;flex:1;padding:14px;font-family:Nunito,sans-serif;font-size:16px;font-weight:700;transition:all .3s}.app-prompt-ok{background:var(--primary);color:#fff;box-shadow:0 8px 18px var(--shadow);border:none}.app-prompt-ok:hover{background:var(--primary-dark)}.app-prompt-cancel{border:2px solid var(--border);background:var(--background);color:var(--text)}.app-prompt-cancel:hover{border-color:var(--primary);color:var(--primary)}.site-footer{margin-top:auto;padding:24px 20px 32px}.social-media{justify-content:center;margin-top:0;display:flex}.social-media-link{color:var(--primary);align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.social-media-link:hover{color:var(--primary-dark)}.social-media-icon{width:22px;height:22px;display:block}a{color:var(--primary);font-weight:600;text-decoration:none}a:hover{color:var(--primary-dark)}@media (hover:none){.nav-buttons button:hover,.cake-card:hover,.cake-card button:hover,.basket-item:hover,.basket-item button:hover{transform:none}.cake-card-overlay{opacity:1;pointer-events:auto}.cake-card-image{opacity:.4;filter:blur(2px)}}@media (width<=768px){.header{border-bottom-right-radius:28px;border-bottom-left-radius:28px;padding:28px 16px 24px}.header h1{margin-bottom:6px;font-size:clamp(32px,10vw,48px)}.header h2{font-size:16px}.header h3{font-size:20px}.nav-buttons{gap:8px}.nav-buttons button{width:auto;min-width:44px;min-height:44px;padding:10px 16px;font-size:14px}.content{padding:28px 16px 40px}.login-form,.register-form,.profile-form{border-radius:20px;margin:16px auto;padding:24px 16px}.cake-grid{grid-template-columns:1fr;gap:20px;margin-top:24px}.cake-card,.basket-item,.order-item{border-radius:20px;width:100%;max-width:100%;padding:20px 16px}.cake-card h3,.basket-item h3{font-size:22px}.cake-card h3{font-size:20px}.cake-card:hover,.basket-item:hover{transform:none}.cake-card-media{aspect-ratio:auto;overflow:visible}.cake-card-image{aspect-ratio:3/4;opacity:1;filter:none;border-radius:20px;width:100%;height:auto}.cake-card-overlay{opacity:1;pointer-events:auto;background:0 0;padding:16px 0 0;position:static}.cake-card:hover .cake-card-image{opacity:1;filter:none}.cake-card:hover .cake-card-overlay{opacity:1;pointer-events:auto}.quantity-selector button{width:44px;height:44px}.basket-actions{max-width:500px;margin:0 auto;padding:0 16px 40px}}@media (width<=480px){.header h1{font-size:32px}.nav-buttons a,.nav-buttons>button{flex:calc(50% - 8px)}.nav-buttons button{flex:calc(50% - 8px);width:100%}.app-prompt-actions{flex-direction:column}}
