:root{--color-primary:#e60012;--color-primary-dark:#c00010;--color-primary-light:#ff1a2e;--color-secondary:#2c3e50;--color-secondary-dark:#1a252f;--color-secondary-light:#34495e;--color-accent:#f39c12;--color-accent-dark:#d68910;--color-success:#27ae60;--color-warning:#f39c12;--color-error:#e74c3c;--color-info:#e60012;--color-white:#ffffff;--color-black:#000000;--color-gray-100:#f8f9fa;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#6c757d;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--font-family-base:'Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--font-family-heading:'Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out;--container-max-width:1200px;--container-padding:1rem}html{width:100%;max-width:100vw;margin:0;padding:0}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--color-gray-900);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;width:100%;max-width:100vw;margin:0;padding:0}*,*::before,*::after{box-sizing:border-box}.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);box-sizing:border-box}@media (max-width:767px){.container{padding-left:0.75rem;padding-right:0.75rem;max-width:100%;width:100%}.site-header .container{overflow-x:visible}html,body{width:100%!important;max-width:100vw!important}body{position:static!important}body::after{display:none!important}main,.main-content,.site-content{width:100%;max-width:100%;overflow-x:hidden}}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.btn{display:inline-block;padding:0.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:center;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);line-height:1.5}.btn-primary{background-color:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-sm{padding:0.5rem 1rem;font-size:var(--font-size-sm)}.btn-xs{padding:0.25rem 0.625rem;font-size:var(--font-size-xs)}.btn-large{padding:1rem 2rem;font-size:var(--font-size-lg)}.btn-block{display:block;width:100%}.site-header{background-color:var(--color-white);box-shadow:var(--shadow-md);position:-webkit-sticky;position:sticky;top:0;left:0;right:0;width:100%;z-index:1000;overflow:visible}.header-content{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:0.75rem 0;min-height:60px;transition:padding 0.3s cubic-bezier(0.4,0,0.2,1),min-height 0.3s cubic-bezier(0.4,0,0.2,1)}.logo{position:relative;z-index:1001;margin:-10px 0;grid-column:1}.logo a{display:block;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}.logo a:hover{transform:translateY(-2px);animation:logoFloat 2s ease-in-out infinite}@keyframes logoFloat{0%,100%{transform:translateY(-2px)}50%{transform:translateY(-4px)}}.logo img{height:75px;width:auto;display:block;transition:all 0.4s cubic-bezier(0.4,0,0.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,0.1))}.logo a:hover img{filter:drop-shadow(0 6px 12px rgba(230,0,18,0.25)) brightness(1.05)}.main-nav{display:none;grid-column:3;justify-self:end}.nav-list{display:flex;gap:2rem;list-style:none}.nav-list a{color:var(--color-gray-700);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none}.nav-list a:hover{color:var(--color-primary)}.nav-list a[href*="lp_app"]{background:linear-gradient(135deg,#e60012 0%,#ff1a2e 100%);color:white!important;padding:0.7rem 1.5rem;border-radius:var(--radius-full);font-weight:var(--font-weight-bold);box-shadow:0 4px 12px rgba(230,0,18,0.3);position:relative;transition:all var(--transition-base)}.nav-list a[href*="lp_app"]::before{content:'📱';margin-right:0.5rem;font-size:1.1rem}.nav-list a[href*="lp_app"]:hover{background:linear-gradient(135deg,#ff1a2e 0%,#e60012 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,0,18,0.4)}@keyframes pulse-glow{0%,100%{box-shadow:0 4px 12px rgba(230,0,18,0.3)}50%{box-shadow:0 4px 20px rgba(230,0,18,0.5)}}.footer-logo-section{text-align:center;margin-bottom:2.5rem;padding:2rem 0 2.5rem;border-bottom:2px solid rgba(255,255,255,0.15)}.footer-logo{max-width:200px;height:auto;display:inline-block;transition:all var(--transition-base);filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3))}.footer-logo:hover{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(230,0,18,0.3))}.header-selected-shop{display:none;align-items:center;justify-content:center;padding:0.5rem 1rem;background:var(--color-gray-100);border-radius:var(--radius-full);gap:0.5rem;grid-column:2;font-size:0.875rem;min-width:0;max-width:100%}.header-selected-shop .shop-icon{font-size:1rem;flex-shrink:0}.header-selected-shop .shop-name{font-weight:600!important;color:var(--color-secondary)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:150px!important;flex-shrink:1!important;font-size:0.875rem!important;line-height:1.4!important;margin:0!important;padding:0!important}.header-selected-shop .shop-change{color:var(--color-primary);font-weight:600;text-decoration:none;padding:0.25rem 0.75rem;background:white;border-radius:var(--radius-full);transition:all var(--transition-fast);flex-shrink:0}.header-selected-shop .shop-change:hover{background:var(--color-primary);color:white}.mobile-menu-toggle{display:flex;align-items:center;gap:0.5rem;padding:0.625rem 1rem;background:var(--color-primary);color:white;border:none;border-radius:var(--radius-md);cursor:pointer;grid-column:3;justify-self:end;font-size:0.9375rem;font-weight:600;transition:var(--transition-fast);box-shadow:0 2px 4px rgba(0,0,0,0.1)}.mobile-menu-toggle:hover{background:var(--color-primary-dark,#cc0010);box-shadow:0 3px 6px rgba(0,0,0,0.15);transform:translateY(-1px)}.mobile-menu-toggle:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.1)}.mobile-menu-toggle i{font-size:1.125rem;transition:var(--transition-fast)}.mobile-menu-toggle.active{background:var(--color-primary-dark,#cc0010)}.mobile-menu-toggle.active i{transform:rotate(90deg)}.mobile-menu-toggle .menu-text{display:inline-block;font-weight:600}@media (max-width:767px){.header-content{grid-template-columns:auto 1fr auto;padding:0.5rem 0}.header-selected-shop{display:flex;grid-column:2;padding:0.25rem 0.5rem;gap:0.25rem;background:var(--color-gray-100);border-radius:var(--radius-md);max-width:calc(100% - 10px);overflow:hidden}.header-selected-shop .shop-icon{font-size:0.875rem}.header-selected-shop .shop-name{max-width:80px!important;font-size:0.7rem!important;font-weight:600!important;line-height:1.3!important;margin:0!important;padding:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.header-selected-shop .shop-change{display:none}.logo img{height:50px;transition:height 0.3s ease}.site-header.scrolled{box-shadow:0 2px 8px rgba(0,0,0,0.1)}.site-header.scrolled .header-content{padding:0.35rem 0;min-height:50px;transition:padding 0.3s ease,min-height 0.3s ease}.site-header.scrolled .logo{margin:-5px 0;transition:margin 0.3s ease}.site-header.scrolled .logo img{height:40px}.site-header.scrolled .header-selected-shop{font-size:0.75rem;padding:0.2rem 0.45rem;max-width:calc(100% - 5px);transition:font-size 0.3s ease,padding 0.3s ease}.site-header.scrolled .header-selected-shop .shop-name{max-width:65px!important;font-size:0.65rem!important}.site-header.scrolled .header-selected-shop .shop-icon{font-size:0.75rem}.site-header.scrolled .mobile-menu-toggle{padding:0.35rem 0.6rem;font-size:0.85rem;transition:padding 0.3s ease,font-size 0.3s ease}.site-header.scrolled .mobile-menu-toggle .menu-text{display:none}.main-nav{display:none;position:fixed;top:60px;left:0.75rem;right:0.75rem;background:white;border-radius:var(--radius-lg);box-shadow:0 10px 40px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.05);z-index:999;overflow:hidden;margin-top:0.5rem}.main-nav.active{display:block;animation:slideInFade 0.3s cubic-bezier(0.4,0,0.2,1)}.nav-list{flex-direction:column;gap:0.5rem;padding:0.75rem;list-style:none}.nav-list li{border-bottom:none;border-radius:var(--radius-md);overflow:hidden;transition:all var(--transition-fast)}.nav-list li:hover{background:var(--color-gray-50);transform:translateX(4px)}.nav-list a{display:block;padding:1rem 1.25rem;font-size:1.05rem;border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative;color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.nav-list a:hover{background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%);color:var(--color-primary);padding-left:1.5rem}.nav-list a::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--color-primary);border-radius:0 2px 2px 0;transition:height var(--transition-base)}.nav-list a:hover::before{height:60%}.nav-list a[href*="lp_app"]{margin:0.5rem 0;padding:1.125rem 1.5rem;text-align:center;border-radius:var(--radius-lg);background:linear-gradient(135deg,#e60012 0%,#ff1a2e 100%);color:white!important;box-shadow:none;font-weight:var(--font-weight-bold)}.nav-list a[href*="lp_app"]::before{display:none}.nav-list a[href*="lp_app"]:hover{background:linear-gradient(135deg,#ff1a2e 0%,#e60012 100%);transform:translateY(-2px);box-shadow:none;padding-left:1.5rem}}.breadcrumb{background-color:var(--color-gray-100);padding:1rem 0}.breadcrumb-list{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}.breadcrumb-list li:not(:last-child)::after{content:'›';margin-left:0.5rem;color:var(--color-gray-500)}.breadcrumb-list a{color:var(--color-gray-600)}.breadcrumb-list a:hover{color:var(--color-primary)}.breadcrumb-list span{color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.page-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:white;padding:3rem 0 2.5rem;text-align:center;position:relative}.page-header .page-title{font-size:2.5rem;font-weight:900;margin-bottom:0.5rem;color:white}.page-header .page-subtitle{font-size:1.125rem;opacity:0.95;color:white;font-weight:400}@media (max-width:767px){.page-header{padding:2.5rem 0 2rem}.page-header .page-title{font-size:1.75rem}.page-header .page-subtitle{font-size:1rem}}.site-footer{background-color:var(--color-secondary);color:var(--color-white);padding:3rem 0 1rem;margin-top:2rem;position:relative;width:100%;max-width:100vw;overflow:hidden}.site-main{width:100%;max-width:100vw;overflow-x:hidden}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem;color:var(--color-white)}.footer-links{display:flex;flex-direction:column;gap:0.5rem}.footer-links a{color:var(--color-gray-300);transition:all var(--transition-fast);position:relative;padding-left:0}.footer-links a::before{content:'→';position:absolute;left:-15px;opacity:0;transition:all var(--transition-fast)}.footer-links a:hover{color:var(--color-white);padding-left:20px}.footer-links a:hover::before{opacity:1;left:0}.footer-banners-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0}.footer-banner-item,.footer-banner-link{display:block;text-decoration:none}.footer-banner,.footer-banner-item img{width:220px;height:60px;object-fit:contain;display:block;border-radius:var(--radius-md);transition:all var(--transition-base);box-shadow:0 2px 8px rgba(0,0,0,0.2)}.footer-banner:hover,.footer-banner-item:hover img,.footer-banner-link:hover .footer-banner{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,0.3)}@media (max-width:767px){.site-footer{margin-top:1rem;padding:2rem 0 1rem}.site-footer .container{padding-left:0.75rem;padding-right:0.75rem}.footer-section{text-align:center}.footer-banners-grid{gap:0.75rem;justify-content:center}.footer-banner,.footer-banner-item img{width:160px;height:45px}.social-links{gap:0.75rem}.social-link{width:36px;height:36px}.social-link i{font-size:1.1rem}.footer-bottom{padding-bottom:0;margin-bottom:0}.site-main{min-height:auto}body{margin:0!important;padding:0!important;min-height:100vh;min-height:-webkit-fill-available}html{height:-webkit-fill-available}.site-footer{margin-bottom:0!important;padding-bottom:env(safe-area-inset-bottom,0.5rem)}.footer-bottom{padding-bottom:env(safe-area-inset-bottom,0.5rem);margin-bottom:0}}.social-links{display:flex;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.social-link{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%;background-color:rgba(255,255,255,0.1);color:var(--color-white);text-decoration:none;transition:all var(--transition-base)}.social-link:hover{background-color:var(--color-primary);transform:translateY(-2px)}.social-link i{font-size:1.2rem;transition:all var(--transition-base)}.social-link.instagram i{color:#E1306C}.social-link.instagram:hover i{color:var(--color-white);transform:scale(1.15) translateY(-1px);filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3))}.social-link.twitter i{color:#1DA1F2}.social-link.twitter:hover i{color:var(--color-white);transform:scale(1.15) translateY(-1px);filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3))}.footer-bottom{border-top:1px solid var(--color-gray-600);padding-top:1rem;text-align:center;color:var(--color-gray-400)}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:0.5rem;font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.required{color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:0.75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(231,76,60,0.1)}.form-textarea{resize:vertical;min-height:120px}.alert{padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.alert h3{margin-bottom:0.5rem;font-size:var(--font-size-lg)}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeeba}.alert-info{background-color:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.no-items{text-align:center;padding:3rem 1rem;color:var(--color-gray-600)}@media (min-width:768px){.main-nav{display:block}.header-selected-shop{display:flex}.mobile-menu-toggle{display:none}.container{--container-padding:2rem}}@media (min-width:1024px){:root{--container-padding:2rem}}@keyframes fadeInSlideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.site-header{animation:fadeInSlideDown 0.6s cubic-bezier(0.4,0,0.2,1)}@keyframes logoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.logo a:hover{animation:logoPulse 1.5s ease-in-out infinite}.nav-list a{position:relative}.nav-list a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--color-primary);transition:width 0.3s cubic-bezier(0.4,0,0.2,1)}.nav-list a:hover::after{width:100%}.nav-list a[href*="lp_app"]::after{display:none}@keyframes slideInFade{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.main-nav.active{animation:slideInFade 0.3s cubic-bezier(0.4,0,0.2,1)}@keyframes rotateBounce{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(-5deg)}50%{transform:translateY(-12px) rotate(5deg)}75%{transform:translateY(-4px) rotate(-3deg)}}.social-link:hover{animation:rotateBounce 0.6s cubic-bezier(0.68,-0.55,0.265,1.55)}@keyframes staggerFadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.footer-banner-item,.footer-banner-link{opacity:0;animation:staggerFadeIn 0.6s cubic-bezier(0.4,0,0.2,1) forwards}.footer-banner-item:nth-child(1),.footer-banner-link:nth-child(1){animation-delay:0.1s}.footer-banner-item:nth-child(2),.footer-banner-link:nth-child(2){animation-delay:0.2s}.footer-banner-item:nth-child(3),.footer-banner-link:nth-child(3){animation-delay:0.3s}.footer-banner-item:nth-child(4),.footer-banner-link:nth-child(4){animation-delay:0.4s}.footer-banner-item:nth-child(5),.footer-banner-link:nth-child(5){animation-delay:0.5s}@keyframes footerLogoGlow{0%,100%{filter:drop-shadow(0 2px 8px rgba(0,0,0,0.3))}50%{filter:drop-shadow(0 6px 20px rgba(230,0,18,0.5))}}.footer-logo:hover{animation:footerLogoGlow 1s ease-in-out}.btn{position:relative;overflow:hidden}.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.5);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}.btn:active::before{width:300px;height:300px}@keyframes gradientMove{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}.nav-list a[href*="lp_app"]{background-size:200% 200%;animation:gradientMove 3s ease infinite}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--color-primary);color:white;padding:1rem 2rem;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:10000;text-decoration:none;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg);transition:top 0.3s ease}.skip-link:focus{top:0;outline:3px solid var(--color-accent);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-100) 50%,var(--color-gray-200) 100%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:0.5em;border-radius:var(--radius-sm)}.skeleton-text.skeleton-title{height:1.5em;width:60%;margin-bottom:1em}.skeleton-text.skeleton-subtitle{height:1.2em;width:80%}.skeleton-text:last-child{width:40%}.skeleton-image{width:100%;aspect-ratio:1;border-radius:var(--radius-md)}.skeleton-image.skeleton-image-rect{aspect-ratio:16/9}.skeleton-card{background:white;border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm)}.skeleton-card .skeleton-image{margin-bottom:1rem}.skeleton-button{height:44px;width:120px;border-radius:var(--radius-md)}.skeleton-avatar{width:48px;height:48px;border-radius:var(--radius-full)}.skeleton-product-card{background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.skeleton-product-card .skeleton-image{aspect-ratio:1;border-radius:0}.skeleton-product-card .skeleton-content{padding:1rem}.skeleton-shop-card{background:white;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md)}.skeleton-shop-card .skeleton-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.skeleton-shop-card .skeleton-body{display:flex;flex-direction:column;gap:0.75rem}.skeleton-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.is-loading .content-loaded{display:none}.is-loading .skeleton-placeholder{display:block}.skeleton-placeholder{display:none}.skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.site-main{animation:fadeInUp 0.5s ease-out}.product-card,.shop-card,.faq-item{opacity:0;animation:fadeInUp 0.5s ease-out forwards}.product-card:nth-child(1),.shop-card:nth-child(1),.faq-item:nth-child(1){animation-delay:0.1s}.product-card:nth-child(2),.shop-card:nth-child(2),.faq-item:nth-child(2){animation-delay:0.15s}.product-card:nth-child(3),.shop-card:nth-child(3),.faq-item:nth-child(3){animation-delay:0.2s}.product-card:nth-child(4),.shop-card:nth-child(4),.faq-item:nth-child(4){animation-delay:0.25s}.product-card:nth-child(5),.shop-card:nth-child(5),.faq-item:nth-child(5){animation-delay:0.3s}.product-card:nth-child(6),.shop-card:nth-child(6),.faq-item:nth-child(6){animation-delay:0.35s}.product-card:nth-child(n+7),.shop-card:nth-child(n+7),.faq-item:nth-child(n+7){animation-delay:0.4s}.product-card,.shop-card{transition:transform 0.3s ease,box-shadow 0.3s ease}.product-card:hover,.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.product-card img,.shop-card img{transition:transform 0.4s ease}.product-card:hover img,.shop-card:hover img{transform:scale(1.05)}.btn{transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.loading,.loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--color-gray-600)}.loading::before,.loading-spinner::before{content:'';width:24px;height:24px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;margin-right:0.75rem;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{display:inline-flex;gap:4px}.loading-dots::after{content:'';display:inline-block;animation:loadingDots 1.5s steps(4) infinite}@keyframes loadingDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}100%{content:''}}.form-input,.form-textarea,.form-select{transition:border-color 0.3s ease,box-shadow 0.3s ease,transform 0.2s ease}.form-input:focus,.form-textarea:focus,.form-select:focus{transform:translateY(-1px)}input[type="checkbox"],input[type="radio"]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary)}.alert{animation:alertSlideIn 0.4s ease-out}@keyframes alertSlideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.breadcrumb-list a{transition:color 0.2s ease,padding-left 0.2s ease}.breadcrumb-list a:hover{padding-left:4px}.badge,.discount-badge{transition:transform 0.2s ease}.badge:hover,.discount-badge:hover{transform:scale(1.05)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}