.shop-info-section{padding:2rem 0 2rem;background:linear-gradient(to bottom,#f8f9fa 0%,#ffffff 100%)}.price-row{display:grid;grid-template-columns:80px 1fr;align-items:center;margin-bottom:4px;gap:10px}.product-price-details .price-row{grid-template-columns:80px 1fr}.product-price-details .price-label{width:80px;min-width:80px;max-width:80px;flex-shrink:0}.price-row:not(:has(.price-label)){display:flex;justify-content:flex-end;grid-template-columns:none;gap:0}.price-row>.price-val:first-child:last-child{grid-column:1 / -1;justify-self:end;display:flex;justify-content:flex-end}.price-row:last-child{margin-bottom:0}.price-label{font-size:0.8rem;color:#666;text-align:left;white-space:nowrap}.price-val{text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:5px}.shop-top-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid var(--color-primary)}.shop-name-wrapper{flex:1}.shop-name{font-size:2.25rem;font-weight:900;color:var(--color-secondary);margin:0;line-height:1.2}.localized-seo-card{display:flex;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,#fff9f5 0%,#ffffff 100%);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #ffe5d4;margin-bottom:2rem;transition:all 0.3s ease}.localized-seo-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.localized-seo-icon{font-size:2rem;flex-shrink:0;line-height:1;margin-top:0.125rem}.localized-seo-content{flex:1}.localized-intro{font-size:0.9375rem;line-height:1.8;color:var(--color-gray-700);margin:0}.localized-intro .area-badge{display:inline-block;background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);color:white;padding:0.25rem 0.625rem;border-radius:var(--radius-sm);font-weight:600;font-size:0.875rem;margin-right:0.5rem;vertical-align:middle;box-shadow:0 2px 4px rgba(74,144,226,0.2);transition:all 0.2s ease}.localized-intro .area-badge:hover{box-shadow:0 3px 6px rgba(74,144,226,0.3);transform:translateY(-1px)}.localized-intro strong{color:var(--color-secondary);font-weight:700}.localized-intro .highlight-text{color:var(--color-primary);font-weight:600}.shop-main-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch;min-height:0}.shop-details-column{display:flex;flex-direction:column;gap:1.5rem;min-height:0}.desktop-video{display:block}.mobile-video{display:none}.shop-info-card{background:white;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);flex-shrink:0}.info-card-title{font-size:1.125rem;font-weight:700;color:var(--color-secondary);margin:0 0 1rem 0;display:flex;align-items:center;gap:0.5rem;line-height:1.3}.info-card-title::before{content:'ℹ️';font-size:1.25rem}.shop-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.detail-item{display:flex;align-items:center;gap:0.75rem;font-size:1rem}.detail-icon{font-size:1.25rem;flex-shrink:0}.detail-text{color:var(--color-gray-700)}.detail-link{color:var(--color-primary);font-weight:600;text-decoration:none}.detail-link:hover{text-decoration:underline}.shop-status-item{margin-bottom:1rem}.shop-status-badge-large{display:inline-flex;align-items:center;gap:0.75rem;padding:0.875rem 1.25rem;border-radius:var(--radius-md);font-size:0.9375rem;font-weight:600;transition:all 0.3s ease;width:100%;justify-content:flex-start;border:1px solid}.shop-status-badge-large:hover{transform:translateY(-1px)}.shop-status-badge-large .status-icon{font-size:1.125rem;flex-shrink:0}.shop-status-badge-large .status-text{flex:1;text-align:left}.shop-status-badge-large.status-open{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.shop-status-badge-large.status-closed{background:#fef2f2;color:#991b1b;border-color:#fecaca}.shop-status-badge-large.status-on-break{background:#fffbeb;color:#92400e;border-color:#fde68a}.shop-status-badge-large.status-closing-soon,.shop-status-badge-large.status-opening-soon,.shop-status-badge-large.status-break-ending-soon{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.shop-status-badge-large.status-opens-tomorrow{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.shop-status-badge-large.status-closing-soon-permanent{background:#fef2f2;color:#991b1b;border-color:#fecaca}.shop-status-badge-large.status-closed-permanent{background:#f9fafb;color:#4b5563;border-color:#e5e7eb}.shop-status-badge-large.status-unknown{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}.shop-hours-item{align-items:flex-start}.detail-hours{flex:1}.shop-hours{font-family:'Segoe UI','Hiragino Sans','Hiragino Kaku Gothic ProN','Meiryo',sans-serif;line-height:1.7;color:var(--color-gray-700);word-break:break-word}.detail-hours .hours-note-text{display:block;font-size:0.9rem;color:var(--color-gray-700);font-weight:500;margin-top:0.75rem;padding-top:0.75rem;border-top:1px dashed var(--color-gray-300);line-height:1.6}.closure-alert-item{align-items:flex-start;padding:1rem;background:linear-gradient(135deg,#fff3cd 0%,#ffe69c 100%);border:2px solid #ffc107;border-radius:var(--radius-md);margin-top:0.5rem;box-shadow:0 2px 8px rgba(255,193,7,0.15)}.detail-closure{flex:1}.closure-header{margin-bottom:0.5rem}.closure-title{font-size:1rem;font-weight:700;color:#856404;display:block}.closure-comment{font-size:0.9rem;color:#856404;line-height:1.6;margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid rgba(133,100,4,0.2)}.shop-video-card{background:white;padding:0.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-gray-200);overflow:hidden;flex:1 1 auto;min-height:0;display:flex;align-items:center}.shop-video-card video{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--radius-md)}.shop-map-column{display:flex;flex-direction:column;gap:1.5rem;min-height:0}.shop-map-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);overflow:hidden;display:flex;flex-direction:column;flex:1 1 0;min-height:0}.shop-leaflet-map{width:100%;flex:1 1 0;min-height:300px;border-radius:var(--radius-md);z-index:1;cursor:pointer;background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 100%)}.shop-leaflet-map.active{cursor:grab}.shop-leaflet-map.active:active{cursor:grabbing}.shop-map-link{padding:1rem;text-align:center;background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.btn-icon{margin-right:0.5rem}.btn-block{width:100%;justify-content:center;display:inline-flex;align-items:center}.shop-line-card{background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-gray-200);padding:1.5rem;flex:0 0 auto;min-height:0}.line-title{font-size:1rem;font-weight:700;color:var(--color-secondary);text-align:center;margin:0 0 1rem 0;line-height:1.4}.line-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.line-qr-code{display:flex;justify-content:center;align-items:center;padding:0.75rem;background:var(--color-gray-50);border-radius:var(--radius-md);border:1px solid var(--color-gray-200)}.line-qr-code img{max-width:150px;max-height:150px;width:auto;height:auto;display:block}.line-button{display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;padding:0.875rem 1.75rem;background:linear-gradient(135deg,#00C300 0%,#00B300 100%);color:white;text-decoration:none;border-radius:50px;font-weight:700;font-size:1rem;box-shadow:0 4px 12px rgba(0,195,0,0.3);transition:all 0.3s ease;min-width:200px;position:relative;overflow:hidden}.line-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s ease}.line-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,195,0,0.4);background:linear-gradient(135deg,#00D300 0%,#00C300 100%)}.line-button:hover::before{left:100%}.line-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,195,0,0.3)}.line-button-icon{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.1))}.line-button-text{font-size:1rem;font-weight:700;letter-spacing:0.5px;text-shadow:0 1px 2px rgba(0,0,0,0.1)}@media (max-width:768px){.shop-line-card{margin-top:1rem;padding:1.25rem}.line-title{font-size:0.9rem;margin-bottom:0.875rem}.line-qr-code{display:none}.line-button{min-width:180px;padding:0.75rem 1.5rem;font-size:0.9rem}.line-button-icon{font-size:1.25rem}}.discount-card{background:linear-gradient(135deg,#e60012 0%,#ff1a2e 100%);color:white;padding:1rem 1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-shrink:0}.discount-title{font-size:0.875rem;font-weight:700;margin:0 0 0.75rem 0;display:flex;align-items:center;gap:0.5rem}.discount-details{display:flex;gap:0.75rem}.discount-item{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.75rem;background:rgba(255,255,255,0.15);border-radius:var(--radius-md);flex:1}.discount-icon{font-size:1.25rem;flex-shrink:0}.discount-content{flex:1}.discount-type{display:block;font-size:0.625rem;font-weight:600;opacity:0.9;margin-bottom:0.125rem;text-transform:uppercase}.discount-value{display:block;font-size:1rem;font-weight:900;line-height:1}.category-nav{background:white;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.category-toggle-btn{display:none}.category-nav.sticky{box-shadow:var(--shadow-lg)}.category-dropdown-wrapper{display:flex;align-items:center;gap:1rem;padding:1rem}.category-all-link{padding:0.75rem 1.5rem;background:var(--color-gray-100);color:var(--color-gray-700);text-decoration:none;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);white-space:nowrap}.category-all-link:hover,.category-all-link.active{background:var(--color-primary);color:white}.category-dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:var(--color-gray-100);color:var(--color-gray-700);border:none;border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:1rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.dropdown-trigger:hover{background:var(--color-primary);color:white}.category-dropdown.open .dropdown-trigger{background:var(--color-primary);color:white}.dropdown-arrow{font-size:0.625rem;transition:transform var(--transition-fast)}.category-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:0.5rem;background:white;border-radius:var(--radius-lg);box-shadow:0 10px 30px rgba(0,0,0,0.15);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast);z-index:1000}.category-dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:0.75rem 1.25rem;color:var(--color-gray-700);text-decoration:none;transition:all var(--transition-fast);border-bottom:1px solid var(--color-gray-200)}.dropdown-item:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.dropdown-item:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-bottom:none}.dropdown-item:hover{background:var(--color-gray-100);color:var(--color-primary);padding-left:1.5rem}.dropdown-item.active{background:var(--color-primary);color:white;font-weight:var(--font-weight-bold)}.mobile-category-accordions{display:none}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:767px){.desktop-only{display:none!important}.mobile-only{display:block!important}.category-nav{position:relative!important;background:white!important;box-shadow:0 2px 8px rgba(0,0,0,0.1)!important;padding:1rem!important}.mobile-category-accordions{display:flex;flex-direction:column;gap:0.5rem}.mobile-all-link{display:block;padding:1rem 1.5rem;background:var(--color-gray-100);color:var(--color-gray-700);text-decoration:none;border-radius:var(--radius-md);font-weight:600;text-align:center;transition:all var(--transition-fast)}.mobile-all-link.active,.mobile-all-link:hover{background:var(--color-primary);color:white}.mobile-accordion{border:1px solid var(--color-gray-200);border-radius:var(--radius-md);overflow:hidden}.mobile-accordion-trigger{width:100%;padding:1rem 1.5rem;background:var(--color-gray-100);color:var(--color-gray-700);border:none;font-size:1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.mobile-accordion-trigger:hover{background:var(--color-gray-200)}.mobile-accordion.open .mobile-accordion-trigger{background:var(--color-primary);color:white}.mobile-arrow{font-size:0.75rem;transition:transform var(--transition-fast)}.mobile-accordion.open .mobile-arrow{transform:rotate(180deg)}.mobile-accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease-out;background:white}.mobile-accordion.open .mobile-accordion-content{max-height:500px}.mobile-accordion-item{display:block;padding:0.875rem 1.5rem;color:var(--color-gray-700);text-decoration:none;border-top:1px solid var(--color-gray-200);transition:all var(--transition-fast)}.mobile-accordion-item:hover{background:var(--color-gray-100);color:var(--color-primary);padding-left:2rem}.mobile-accordion-item.active{background:var(--color-primary);color:white;font-weight:600}}.category-item.active a{background:var(--color-primary);color:white;box-shadow:var(--shadow-md)}.menu-section{padding:3rem 0;min-height:50vh;margin-top:2rem}@media (max-width:767px){.menu-section{margin-top:3rem}}.category-section{margin-bottom:4rem}.category-section:last-child{margin-bottom:0}.category-title{font-size:2rem;font-weight:900;color:var(--color-secondary);margin-bottom:2rem;padding-bottom:0.75rem;border-bottom:3px solid var(--color-primary);display:inline-block}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin-bottom:40px}.product-card{background:white;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:box-shadow 0.3s ease;position:relative;display:flex;flex-direction:column;height:100%}.product-card:hover{box-shadow:0 20px 40px rgba(0,0,0,0.15)}.product-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1;height:100%}.product-image{position:relative;width:100%;height:200px;overflow:hidden;flex-shrink:0}.product-image picture{display:block;width:100%;height:100%}.product-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform var(--transition-slow)}.product-card:hover .product-image img{transform:scale(1.15)}.product-info{padding:1.5rem;display:flex;flex-direction:column;flex:1}.product-name{font-size:1.25rem;font-weight:700;margin-bottom:0.5rem;color:var(--color-secondary);transition:color 0.3s ease;position:relative;min-height:1.5em;line-height:1.2;will-change:color;contain:layout style}.product-card:hover .product-name{color:var(--color-primary)}.product-description{font-size:0.875rem;color:var(--color-gray-600);margin-bottom:1rem;line-height:1.5;flex-shrink:0}.product-price{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-top:auto}.discount-price-table{position:absolute;bottom:14px;right:14px;z-index:10;max-width:65%;background:linear-gradient(135deg,rgba(255,255,255,0.65) 0%,rgba(255,255,255,0.6) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:6px;padding:5px 7px;box-shadow:0 2px 8px rgba(0,0,0,0.25),0 0 0 1px rgba(255,255,255,0.5) inset;border:1px solid rgba(255,255,255,0.5);pointer-events:none}.discount-price-table table{width:100%;border-collapse:separate;border-spacing:0;margin:0}.discount-price-table th{padding:3px 5px;text-align:center;font-size:10px;font-weight:700;color:#1d1c1c;background:rgba(230,0,18,0.1);border-bottom:1px solid rgba(230,0,18,0.3);white-space:nowrap}.discount-price-table th:first-child{border-top-left-radius:3px}.discount-price-table th:last-child{border-top-right-radius:3px}.discount-price-table td{padding:3px 5px;text-align:center;font-size:12px;white-space:nowrap;border-bottom:1px solid rgba(0,0,0,0.05)}.discount-price-table tr:last-child td{border-bottom:none}.discount-price-table .size-col{font-weight:700;color:#1d1c1c;background:rgba(0,0,0,0.02);font-size:10px}.discount-price-table .price-col{color:#e60012;font-weight:700;font-size:12px}.product-card{display:flex;flex-direction:column}.product-link{display:flex;flex-direction:column;flex:1}.product-info{padding:1rem;display:flex;flex-direction:column;flex:1;min-height:0}.product-name{font-size:1.125rem;font-weight:700;color:var(--color-secondary);margin-bottom:0.5rem;transition:color 0.3s ease;position:relative}.product-card:hover .product-name{color:var(--color-primary)}.product-description{font-size:0.875rem;color:var(--color-gray-600);line-height:1.4;margin-bottom:0.75rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:60px;flex-shrink:0}.product-price{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.price{display:inline-block}.letter-anim{display:inline-block;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1),color 0.3s cubic-bezier(0.4,0,0.2,1),text-shadow 0.3s cubic-bezier(0.4,0,0.2,1);transform:translateY(0) rotate(0deg);will-change:transform,color}.letter-anim.letter-hover{transform:translateY(-3px) rotate(2deg);color:#e60012;text-shadow:0 2px 4px rgba(230,0,18,0.5)}.product-prices-list{display:flex;flex-direction:column;gap:0.625rem;font-size:0.875rem;margin-top:auto;padding-top:1rem;border-top:2px solid var(--color-gray-100)}.product-prices-list .price-row{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:0.75rem;padding:0.625rem 0.75rem;background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%);border-radius:8px;border-left:3px solid var(--color-primary);transition:all 0.2s ease}.product-prices-list .price-row:hover{background:linear-gradient(135deg,#f0f0f0 0%,#ebebeb 100%);border-left-width:4px;transform:translateX(2px)}.product-prices-list .price-size{font-weight:900;color:var(--color-secondary);font-size:0.9375rem;text-align:center;background:white;padding:0.375rem;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,0.08);border:1px solid #e0e0e0}.product-prices-list .price-values{display:flex;flex-direction:column;gap:0.375rem;flex:1}.product-prices-list .price-type{display:flex;align-items:center;gap:0.5rem;justify-content:space-between}.product-prices-list .price-label{font-size:0.6875rem;padding:0.3rem 0.6rem;background:linear-gradient(135deg,#ffffff 0%,#f8f8f8 100%);border-radius:6px;font-weight:700;min-width:44px;text-align:center;color:var(--color-gray-700);border:1.5px solid #e0e0e0;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,0.05)}.product-prices-list .price-old{text-decoration:line-through;color:var(--color-gray-400);font-size:0.75rem;font-weight:500}.product-prices-list .price-new{font-weight:900;color:var(--color-primary);font-size:1.0625rem;white-space:normal;word-break:keep-all;text-shadow:0 1px 1px rgba(230,0,18,0.1)}.product-prices-list .price-regular{font-weight:700;color:var(--color-secondary);font-size:0.9375rem;white-space:nowrap}@media (max-width:767px){.product-prices-list .price-row{grid-template-columns:45px 1fr;gap:0.5rem;padding:0.5rem 0.625rem}.product-prices-list .price-size{font-size:0.875rem;padding:0.3rem}.product-prices-list .price-new{font-size:1rem}.product-prices-list .price-label{min-width:40px;padding:0.25rem 0.5rem}}.product-price-details{display:flex;flex-direction:column;gap:0.75rem;margin-top:auto;padding-top:0.75rem;flex-shrink:0}.price-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem;background:white;border-radius:var(--radius-md);border-left:3px solid var(--color-primary);border:1px solid var(--color-gray-200);box-shadow:0 1px 3px rgba(0,0,0,0.05)}.price-size{font-weight:700;font-size:0.9rem;color:var(--color-secondary);min-width:60px;flex-shrink:0}.price-values{display:flex;flex-direction:column;gap:0.5rem;flex:1;min-width:0}.price-value{display:flex;flex-direction:column;gap:0.25rem}.price-value small{font-size:0.75rem;color:var(--color-gray-600);font-weight:500}.price-value strong{font-size:1.1rem;color:var(--color-primary)}.price-value.pickup strong{color:#e60012}.price-value.delivery strong{color:#ff6b00}.original-price{font-size:0.8rem;color:var(--color-gray-500);margin-left:0.25rem}.no-items{text-align:center;padding:4rem 2rem;color:var(--color-gray-500);font-size:1.125rem}@media (max-width:1199px){.shop-main-content{grid-template-columns:1fr;align-items:start}.shop-details-column,.shop-map-column{height:auto}.shop-leaflet-map{height:350px;min-height:350px}.shop-map-card{height:auto}}@media (max-width:767px){.shop-top-row{flex-direction:column;align-items:stretch;gap:1rem}.shop-name{font-size:1.75rem}.localized-seo-card{flex-direction:column;gap:0.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem}.localized-seo-icon{font-size:1.5rem;margin-top:0}.localized-intro{font-size:0.875rem;line-height:1.7}.localized-intro .area-badge{font-size:0.8125rem;padding:0.2rem 0.5rem;margin-right:0.375rem}.discount-card{min-width:auto}.discount-details{flex-direction:column}.discount-item{min-width:auto}.shop-main-content{grid-template-columns:1fr;gap:1.5rem;align-items:start}.shop-details-column{order:1;height:auto}.shop-map-column{order:2;height:auto;display:flex!important;flex-direction:column;gap:1rem}.shop-video-column.mobile-video{order:3}.desktop-video{display:none}.mobile-video{display:block}.shop-video-card{flex:none}.shop-video-card video{height:auto;object-fit:contain}.shop-map-card{flex:none}.shop-leaflet-map{min-height:250px;height:250px}}@media (max-width:767px){.shop-info-section{padding:0.5rem 0 0.5rem}.shop-main-info{padding:1.5rem}.shop-name{font-size:1.5rem}.discount-card{padding:1.5rem}.discount-title{font-size:1.25rem}.discount-value{font-size:1.25rem}.category-nav{top:60px}.category-title{font-size:1.5rem;display:block}.product-grid{grid-template-columns:1fr}.product-image{height:200px;width:100%}.product-image img{width:100%;height:100%;object-fit:cover}}@media (min-width:768px) and (max-width:1023px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.shop-main-content{min-height:600px}.shop-details-column{min-height:600px}.shop-map-column{min-height:600px}.shop-leaflet-map{min-height:500px}}@media (min-width:1400px){.shop-main-content{max-width:1400px;margin:0 auto}}.leaflet-control-attribution,.leaflet-control-attribution.leaflet-control,.shop-leaflet-map .leaflet-control-attribution,.leaflet-bottom,.leaflet-bottom.leaflet-right,.leaflet-bottom.leaflet-left,.leaflet-control-container .leaflet-bottom,#shopMap .leaflet-control-attribution,#shopMap .leaflet-bottom{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important;position:absolute!important;left:-9999px!important;pointer-events:none!important;background:transparent!important}.shop-map-card::after,.shop-leaflet-map::after{display:none!important}.shop-leaflet-map{border-bottom:none!important}@media (max-width:767px){.shop-info-section .container{padding-left:0.75rem;padding-right:0.75rem}.product-grid{grid-template-columns:1fr;gap:1.5rem;padding:0 0.25rem}.product-card{margin:0;border-radius:var(--radius-md);overflow:hidden}.product-image{height:220px}.product-image img{width:100%;height:100%;object-fit:cover}.product-prices-list .price-new{font-size:0.75rem;white-space:nowrap!important;overflow:visible}.product-prices-list .price-regular{font-size:0.7rem;white-space:nowrap!important}.product-prices-list .price-row{grid-template-columns:35px 1fr;gap:0.3rem;padding:0.35rem 0.4rem}.product-prices-list .price-size{font-size:0.75rem;padding:0.2rem}.product-prices-list .price-values{gap:0.25rem}.product-prices-list .price-type{gap:0.3rem}.product-prices-list .price-label{font-size:0.55rem;min-width:32px;padding:0.15rem 0.3rem}.product-prices-list .price-old{font-size:0.6rem;display:none}.product-price-details .price-val strong{font-size:0.85rem!important;white-space:nowrap!important}.product-price-details .price-val .original-price{font-size:0.7rem!important}.product-price-details .price-row{grid-template-columns:70px 1fr;gap:0.5rem}.product-price-details .price-label{width:70px;min-width:70px;max-width:70px;flex-shrink:0}.product-price-details .price-row:not(:has(.price-label)){display:flex;justify-content:flex-end;grid-template-columns:none;gap:0}.product-price-details .price-label{font-size:0.7rem}.discount-price-table{max-width:70%;padding:4px 6px;bottom:8px;right:8px}.discount-price-table th{font-size:9px;padding:2px 3px}.discount-price-table td{font-size:10px;padding:2px 3px}.discount-price-table .size-col{font-size:9px}.discount-price-table .price-col{font-size:10px}.shop-map-card{margin-top:1rem}}.special-days-button-item{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-gray-200)}.btn-special-days{width:100%;padding:8px 12px;background:#f8f9fa;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:6px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:6px}.btn-special-days:hover{background:var(--color-primary);color:white;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1)}.btn-special-days i{font-size:0.9rem}.btn-special-days:disabled,.btn-special-days-disabled{opacity:0.5;cursor:not-allowed;background:#e5e7eb;color:#9ca3af;border-color:#d1d5db}.btn-special-days:disabled:hover,.btn-special-days-disabled:hover{background:#e5e7eb;color:#9ca3af;transform:none;box-shadow:none}.modal-special-days{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);align-items:center;justify-content:center;animation:fadeIn 0.3s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-special-days-content{background-color:white;border-radius:8px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:slideUp 0.3s;overflow:hidden}@keyframes slideUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-special-days-header{padding:18px 24px;border-bottom:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-primary) 0%,#b8000f 100%);display:flex;justify-content:space-between;align-items:center}.modal-special-days-header h3{margin:0;font-size:1.2rem;font-weight:700;color:white}.modal-special-days-close{background:rgba(255,255,255,0.2);border:none;font-size:1.8rem;color:white;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.2s;line-height:1}.modal-special-days-close:hover{background:rgba(255,255,255,0.3);transform:scale(1.1)}.modal-special-days-body{padding:24px;overflow-y:auto;flex:1}.special-days-list{min-height:200px}.special-days-table{width:100%}.special-days-header{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:12px;padding:14px 4px;border-bottom:2px solid var(--color-gray-300);font-weight:700;font-size:0.9rem;color:var(--color-gray-800);background:#f8f9fa}.special-days-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr;gap:12px;padding:14px 4px;border-bottom:1px solid var(--color-gray-200);align-items:center;transition:background 0.2s}.special-days-row:hover{background:#f8f9fa}.special-days-row.special-days-today{background:#fff7ed;border-left:3px solid var(--color-primary);padding-left:8px}.special-days-row.special-days-today:hover{background:#ffedd5}.special-days-row:last-child{border-bottom:none}.special-days-col-date{display:flex;flex-direction:row;align-items:baseline;gap:6px;flex-wrap:wrap}.special-days-date{font-weight:600;color:var(--color-gray-900);font-size:0.95rem}.special-days-day{font-size:0.8rem;color:var(--color-gray-600)}.special-days-status{display:inline-block;padding:4px 12px;border-radius:4px;font-size:0.875rem;font-weight:600}.special-days-status.closed{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.special-days-status.normal{background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0}.special-days-status.special{background:#dbeafe;color:#2563eb;border:1px solid #bfdbfe}.special-days-hours{font-weight:500;color:var(--color-gray-800);font-size:0.9rem}.no-special-days,.loading,.error{text-align:center;padding:40px 20px;color:var(--color-gray-600)}.error{color:#c33}@media (max-width:767px){.modal-special-days-content{width:95%;max-width:100%;max-height:90vh;border-radius:8px 8px 0 0;margin:0}.modal-special-days-header{padding:14px 16px}.modal-special-days-header h3{font-size:1.1rem}.modal-special-days-close{width:28px;height:28px;font-size:1.5rem}.modal-special-days-body{padding:16px}.special-days-header{grid-template-columns:1.5fr 1fr 1fr;gap:8px;padding:10px 4px;font-size:0.8rem}.special-days-row{grid-template-columns:1.5fr 1fr 1fr;gap:8px;padding:12px 4px}.special-days-col-date{flex-direction:column;gap:2px;align-items:flex-start}.special-days-date{font-size:0.85rem}.special-days-day{font-size:0.75rem}.special-days-status{padding:3px 8px;font-size:0.75rem;white-space:nowrap}.special-days-hours{font-size:0.8rem;white-space:nowrap}.special-days-row.special-days-today{padding-left:6px}}.shop-hours-container{display:flex;flex-direction:column;width:100%}.hours-line{padding:2px 0;width:fit-content}.current-day-mark{position:relative;display:inline-block;color:#e60012;margin:0 1px;z-index:1}.current-day-mark::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) rotate(-5deg);width:1.3em;height:1.3em;border:2px solid #e60012;border-radius:50% 45% 55% 40% / 40% 55% 45% 60%;z-index:-1;pointer-events:none}.current-day-mark-pill{display:inline-block;padding:1px 8px;border-radius:20px;border:2px solid #e60012;background-color:transparent;color:#e60012}.current-time-mark{font-weight:700;background:linear-gradient(transparent 85%,rgba(230,0,18,0.4) 85%);padding:0 2px}