
/* Modern minimal styling for bakery site */
:root{
	--bg: #fbfbfb;
	--card: #ffffff;
	--muted: #8b7355;
	--accent: #6B4423;
	--accent-2: #8b6f47;
	--border: #e6e6e9;
	--radius: 12px;
	--font-serif: 'Playfair Display', Georgia, serif;
	--font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
*{box-sizing:border-box}
body{font-family: var(--font-sans); margin:0; color:#111; background:var(--bg); -webkit-font-smoothing:antialiased}
h1, h2, h3, h4, h5, h6{font-family: var(--font-serif); font-weight: 700}
body.index-page{margin:0;padding:0}
.site-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:26px;position:relative;z-index:1700;background:#fbfbfb;padding:16px 20px;border-radius:12px}
body.index-page .site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.3), transparent);padding:30px 20px 40px 20px;margin-bottom:0;border-radius:0}
.header-top{margin-bottom:12px}
.header-brand{display:flex;flex-direction:column;align-items:center;gap:8px;color:inherit;text-decoration:none;transition:transform 0.2s ease}
body.index-page .header-brand{color:#fff}
.header-brand:hover{transform:scale(1.02)}
.logo{width:80px;height:80px;border-radius:50%;display:block;object-fit:contain;transition:transform 0.3s ease}
body.index-page .logo{background:#fff;padding:4px;width:120px;height:120px}
.header-brand:hover .logo{transform:rotate(5deg)}
.header-brand h1{margin:8px 0 4px 0;font-size:1.3rem;transition:color 0.2s ease}
body.index-page .header-brand h1{color:#fff;font-size:1.8rem}
.header-brand:hover h1{color:var(--accent-2)}
body.index-page .header-brand:hover h1{color:rgba(255,255,255,0.9)}
.tagline{color:var(--muted);font-size:0.9rem;margin:0}
body.index-page .tagline{color:rgba(255,255,255,0.85);font-size:1.05rem}
.header-nav{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.header-nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:0.95rem;transition:all .25s ease;position:relative;padding:4px 8px}
body.index-page .header-nav a{color:rgba(255,255,255,0.95)}
.header-nav a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent-2);transition:all .3s ease;transform:translateX(-50%)}
body.index-page .header-nav a::after{background:#fff}
.header-nav a:hover{color:var(--accent-2);transform:translateY(-2px)}
body.index-page .header-nav a:hover{color:#fff}
.header-nav a:hover::after{width:80%}
.header-nav .btn{transform:none;box-shadow:0 2px 6px rgba(45,143,111,0.15);transition:all .18s ease;background:var(--accent);color:#fff;padding:8px 14px;border-radius:12px;font-weight:700;border:1px solid rgba(0,0,0,0.06)}
.header-nav .btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,0.12);background:var(--accent)}
.hamburger{display:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
body:not(.index-page) .container{margin:36px auto}
/* Keep page content clear of the fixed header */

/* Hamburger button */
.hamburger{display:none;background:transparent;border:0;padding:6px;border-radius:8px;cursor:pointer;z-index:9999}

.hero{background:linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));padding:18px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border)}
.hero .left{display:flex;flex-direction:column}
.hero .right{font-size:0.95rem;color:var(--muted)}

/* Fullscreen Hero Section */
.hero-fullscreen{position:relative;width:100vw;margin-left:calc(-50vw + 50%);height:100vh;min-height:600px;background-image:url('/assets/images/hero-dough.jpg');background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;margin-bottom:40px;margin-top:0}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(107,68,35,0.3), rgba(0,0,0,0.5))}
.hero-content{position:relative;z-index:10;max-width:800px;padding:20px}
.hero-content h2{font-size:3rem;margin:0 0 16px 0;font-weight:800;text-shadow:0 4px 12px rgba(0,0,0,0.5)}
.hero-content p{font-size:1.5rem;margin:0 0 12px 0;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,0.4)}
.hero-content .muted{color:rgba(255,255,255,0.9);font-size:1rem;text-shadow:0 2px 6px rgba(0,0,0,0.4)}

@media (max-width:768px){
  .hero-fullscreen{height:100vh;min-height:100vh;margin-top:0}
  .hero-content{display:none}
  body.index-page .site-header{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh}
  body.index-page .header-brand{display:flex;flex-direction:column;justify-content:center;align-items:center}
  body.index-page .logo{width:150px;height:150px}
  body.index-page .header-brand h1{font-size:2rem}
  body.index-page .tagline{font-size:1.1rem;display:block}
}

/* Event Banner Section */
.event-banner{background:linear-gradient(135deg, rgba(239,108,74,0.08), rgba(45,143,111,0.08));padding:0;border-radius:var(--radius);margin-top:20px;border:1px solid var(--border);overflow:hidden}
.event-carousel{width:100%}
.carousel-container{width:100%;position:relative;overflow:hidden}
.carousel-track{display:flex;position:relative;width:100%;height:420px}
.carousel-slide{position:absolute;width:100%;height:100%;opacity:0;transition:opacity 0.6s ease-in-out;pointer-events:none}
.carousel-slide.active{opacity:1;pointer-events:auto}
.event-photo{width:100%;height:100%;object-fit:cover;border:none;box-shadow:none}
.carousel-dots{display:flex;gap:8px;justify-content:center;padding:12px 0;background:transparent}
.carousel-dot{width:10px;height:10px;border-radius:50%;background:rgba(45,143,111,0.3);cursor:pointer;transition:all 0.3s ease}
.carousel-dot:hover{background:rgba(45,143,111,0.5)}
.carousel-dot.active{background:var(--accent-2);width:24px;border-radius:5px}
.event-details{padding:20px 24px}
.event-details h3{margin:0 0 16px 0;color:var(--accent-2);font-size:1.3rem;text-align:center}
.event-info-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:12px}
.event-info{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:0.95rem;background:rgba(255,255,255,0.6);border-radius:8px}
.event-info strong{color:var(--accent-2);min-width:80px}

@media (max-width:768px){
  .carousel-track{height:280px}
  .event-info-grid{grid-template-columns:1fr}
  .event-details h3{font-size:1.2rem}
  .event-details{padding:16px}
}

/* About page layout */
.about-section{margin-top:18px}
.about-grid{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:start}
.about-image img{width: 100%;height: auto;border-radius: 12px;object-fit: cover;padding: 40px;}
.about-card{background:var(--card);padding:22px;border-radius:12px;border:1px solid var(--border);box-shadow:0 8px 20px rgba(16,24,40,0.04)}
.about-desc{color:var(--muted);font-size:1rem;line-height:1.6;margin-bottom:12px}
.about-contact{color:var(--muted)}
.btn.btn-whatsapp{background:#25D366;color:#fff;text-decoration:none;border-radius:10px;font-weight:600;font-size:1rem;transition:all 0.25s ease;box-shadow:0 4px 12px rgba(37,211,102,0.2);margin-top:12px}
.btn-whatsapp:hover{background:#20BA5A;transform:translateY(-2px);box-shadow:0 6px 18px rgba(37,211,102,0.3)}


@media (max-width:900px){
	.about-grid{grid-template-columns:1fr}
	.about-image img{max-height:320px}
}

/* Menu page styles (moved into main stylesheet for SPA) */
.menu-hero {
	background: linear-gradient(135deg, rgba(239,108,74,0.12), rgba(45,143,111,0.12));
	padding: 32px 24px;
	border-radius: var(--radius);
	text-align: center;
	margin-bottom: 32px;
	border: 1px solid var(--border);
}
.menu-hero h2 { margin: 0 0 12px 0; font-size: 2rem; color: var(--accent-2); }
.menu-hero p { margin: 0; font-size: 1.1rem; color: var(--muted); max-width: 600px; margin: 0 auto; }
.menu-categories { display: grid; gap: 32px; }
.menu-category { background: var(--card); padding: 24px; border-radius: var(--radius); border: 1px solid var(--border); box-shadow: 0 4px 12px rgba(16,24,40,0.04); }
.menu-category h3 { margin: 0 0 8px 0; font-size: 1.5rem; color: var(--accent-2); display:flex; align-items:center; gap:10px }
.menu-category p.category-desc { margin: 0 0 20px 0; color: var(--muted); font-size: 0.95rem; }
.menu-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.menu-item { display: flex; gap: 14px; padding: 14px; border-radius: 10px; border: 1px solid rgba(0,0,0,0.04); background: rgba(255,255,255,0.5); transition: all 0.2s ease; }
.menu-item:hover { background: rgba(255,255,255,0.9); box-shadow: 0 4px 12px rgba(16,24,40,0.08); transform: translateY(-2px); }
.menu-item-image { width: 80px; height: 80px; border-radius: 8px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--border); }
.menu-item-content { flex: 1; display:flex; flex-direction:column; gap:4px }
.menu-item-content h4 { margin:0; font-size:1.05rem; color:#111 }
.menu-item-content p { margin:0; font-size:0.9rem; color:var(--muted); line-height:1.4 }
.menu-item-price { font-weight:700; color:var(--accent-2); font-size:1rem; margin-top:4px }
.menu-cta { text-align:center; margin-top:32px; padding:24px; background: linear-gradient(135deg, rgba(239,108,74,0.08), rgba(45,143,111,0.08)); border-radius: var(--radius); border:1px solid var(--border); }

@media (max-width:640px){
	.menu-items { grid-template-columns: 1fr; }
	.menu-hero h2 { font-size: 1.6rem; }
}

/* Gallery styles (moved into main stylesheet for SPA) */
.photo-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 40px; }
.gallery-item { position: relative; overflow: hidden; border-radius: 14px; aspect-ratio: 1 / 1; cursor: pointer; box-shadow: 0 6px 16px rgba(16,24,40,0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid var(--border); }
.gallery-item:hover { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(16,24,40,0.18); }
.gallery-photo { width:100%; height:100%; object-fit:cover; transition: transform 0.5s ease; }
.gallery-item:hover .gallery-photo { transform: scale(1.1); }
.gallery-overlay { position:absolute; bottom:0; left:0; right:0; background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.3), transparent); padding:20px; color:white; transform: translateY(100%); transition: transform 0.3s ease; }
.gallery-item:hover .gallery-overlay { transform: translateY(0); }
.gallery-overlay-title { font-weight:700; font-size:1.1rem; margin:0 0 4px 0 }
.gallery-overlay-desc { font-size:0.9rem; margin:0; opacity:0.9 }
.gallery-filters { display:flex; justify-content:center; gap:12px; margin-bottom:32px; flex-wrap:wrap }
.filter-btn { padding:10px 20px; border-radius:8px; border:1px solid var(--border); background:var(--card); color:var(--muted); cursor:pointer; font-weight:600; transition: all 0.2s ease }
.filter-btn:hover, .filter-btn.active { background:var(--accent-2); color:white; border-color:var(--accent-2) }
.gallery-cta { text-align:center; margin-top:48px; padding:32px; background: linear-gradient(135deg, rgba(239,108,74,0.08), rgba(45,143,111,0.08)); border-radius: var(--radius); border:1px solid var(--border); }
.gallery-cta h3 { margin:0 0 12px 0; color:var(--accent-2); font-size:1.6rem }
.gallery-cta p { margin:0 0 20px 0; color:var(--muted); font-size:1.05rem }

@media (max-width:768px){
	.photo-gallery { grid-template-columns: repeat(2, 1fr); gap:14px }
	.gallery-hero h2 { font-size:1.7rem }
}

@media (max-width:480px){
	.photo-gallery { grid-template-columns: 1fr; gap:16px }
}

.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:18px}

/* Explicit column classes driven by server-side product count
	 - cols-1: single column
	 - cols-2: two columns
	 - cols-3: up to three columns
	 Mobile fallback forces a single column for readability. */
.product-grid.cols-1 { grid-template-columns: 1fr; }
.product-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.product-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width:700px){
	.product-grid.cols-2, .product-grid.cols-3 { grid-template-columns: 1fr; }
}
.card{background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(16,24,40,0.06);border:1px solid var(--border);display:flex;flex-direction:column;transform:translateY(0);opacity:0;animation:cardEnter 420ms ease forwards}
.card{position:relative}
.card img{
	width:100%;
	height:auto;
	aspect-ratio:1/1;
	object-fit:cover;
	display:block;
	transition:transform .35s ease;
}
.placeholder{height:170px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f7f7f8,#fafafa);color:#bdbdbd}
.card-body{padding:14px;flex:1;display:flex;flex-direction:column}
.card-body h2{margin:0 0 6px 0;font-size:1.05rem}
.desc{margin:0 0 12px 0;color:var(--muted);font-size:0.95rem}
.price{font-weight:700;margin-top:auto;font-size:1rem}
.actions{margin-top:12px;display:flex;gap:8px}

/* hover/interactive */
.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(16,24,40,0.12)}
.card:hover img{transform:scale(1.04)}

/* (Hot badge and sprinkle effects removed per user request) */

@keyframes cardEnter{
	from{opacity:0;transform:translateY(8px)}
	to{opacity:1;transform:translateY(0)}
}

/* stagger animations for children */
.product-grid .card{animation-delay: 0ms}
.product-grid .card:nth-child(1){animation-delay:40ms}
.product-grid .card:nth-child(2){animation-delay:80ms}
.product-grid .card:nth-child(3){animation-delay:120ms}
.product-grid .card:nth-child(4){animation-delay:160ms}
.product-grid .card:nth-child(5){animation-delay:200ms}

@media (min-width:1100px){
	/* max 3 columns on large screens */
	.product-grid{grid-template-columns:repeat(3,1fr)}
}
.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-2);color:#fff;border-radius:10px;text-decoration:none;border:none;cursor:pointer}
.btn.secondary{background:transparent;color:var(--accent-2);border:1px solid rgba(45,143,111,0.12)}
.btn.full{display:block;width:100%;justify-content:center;padding:12px 16px;border-radius:10px}

.lydia-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:28px;background:rgba(17,24,39,0.95);color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;z-index:999;opacity:0;transition:opacity .18s ease,transform .18s ease}
.lydia-toast.visible{opacity:1;transform:translateX(-50%) translateY(-6px)}

.cta-wrap{margin:14px 0}

/* Footer slogan rotate */
#footer-slogan{color:var(--muted);transition:opacity .9s ease, transform .9s ease}
#footer-slogan.fading-out{opacity:0;transform:translateY(6px)}
#footer-slogan.fading-in{opacity:1;transform:translateY(0)}

/* Form inputs styling to match site theme */
input[type="text"], input[type="number"], input[type="email"], textarea, select {
	font-family: inherit;
	font-size: 1rem;
	padding: 8px 10px;
	border-radius: 8px;
	border: 1px solid #ececec;
	background: #fff;
	color: #111;
	outline: none;
	transition: box-shadow .15s ease, border-color .12s ease;
}
textarea{min-height:90px}
select{appearance:none;background-image:none}
input[type="number"]{width:100px}

input[type="text"]:focus, input[type="number"]:focus, textarea:focus, select:focus{
	border-color: rgba(45,143,111,0.9);
	box-shadow: 0 6px 18px rgba(45,143,111,0.08);
}

/* small quantity input used in cart */
.qty{width:80px;padding:6px 8px}

/* make table buttons line up */
table .btn{padding:6px 10px;font-size:0.95rem}

.site-footer{margin-top:22px;padding:18px;border-radius:8px;background:transparent;text-align:center;color:var(--muted)}

/* Admin styles */
.admin-card{background:var(--card);padding:14px;border-radius:12px;border:1px solid var(--border);box-shadow:0 8px 20px rgba(16,24,40,0.04)}
table{width:100%;border-collapse:collapse}
table th, table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}
table th{color:var(--muted);font-size:0.9rem}
input.share-url{width:100%;padding:8px;border-radius:8px;border:1px solid #ececec}
.copy-btn{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}

@media (max-width:640px){
	.site-header{padding:12px 16px}
	.header-nav{display:none}
	.hamburger{display:inline-flex;position:absolute;right:16px;top:16px}
	.header-brand h1{font-size:1.1rem}
	.logo{width:64px;height:64px}
}

/* On small screens hide the subtitle under the brand to reduce header height */
@media (max-width:640px){
  .tagline{display:none}
}

/* Hamburger button */
.hamburger{display:none;background:transparent;border:0;padding:6px;border-radius:8px;cursor:pointer;z-index:9999}

.cart-badge{position:relative;display:inline-block}
.cart-badge .count{position:absolute;right:-8px;top:-8px;background:#ef4444;color:#fff;border-radius:999px;padding:3px 7px;font-size:12px}
.muted{color:var(--muted);font-size:0.95rem}

.hamburger-box{display:inline-block;width:28px;height:18px;position:relative}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{display:block;background:#2d8f6f;border-radius:2px;height:2px;position:absolute;width:100%;transition:transform .18s ease,opacity .18s ease}
body.index-page .hamburger-inner, body.index-page .hamburger-inner::before, body.index-page .hamburger-inner::after{background:#fff}
.hamburger-inner{top:50%;transform:translateY(-50%)}
.hamburger-inner::before{content:'';top:-8px}
.hamburger-inner::after{content:'';bottom:-8px}
.hamburger[aria-expanded="true"] .hamburger-inner{background:transparent}
.hamburger[aria-expanded="true"] .hamburger-inner::before{transform:translateY(8px) rotate(45deg)}
.hamburger[aria-expanded="true"] .hamburger-inner::after{transform:translateY(-8px) rotate(-45deg)}
.header-nav.open{display:flex;flex-direction:column;gap:10px;margin-top:10px;z-index:1500;padding:18px 18px 14px 18px;border-radius:14px;box-shadow:0 20px 48px rgba(16,24,40,0.22);position:fixed;left:50%;transform:translateX(-50%);top:78px;min-width:280px;max-width:420px;background:rgba(255,255,255,0.78);backdrop-filter:blur(12px) saturate(120%);border:1px solid rgba(255,255,255,0.7)}

/* backdrop that appears behind the mobile menu to blur/dim page content */
.nav-backdrop{position:fixed;inset:0;background:rgba(12,18,22,0.28);backdrop-filter:blur(6px) saturate(120%);z-index:1400;opacity:0;transition:opacity .18s ease}
.nav-backdrop.visible{opacity:1}

/* menu link appearance inside modal */
.header-nav.open a{display:block;padding:10px 12px;border-radius:8px;color:var(--accent-2) !important;background:transparent;text-decoration:none;font-weight:600;text-align:center}
.header-nav.open a:hover{background:rgba(45,143,111,0.06);color:var(--accent-2) !important}

/* close button inside modal */
.nav-close{position:absolute;right:10px;top:8px;background:transparent;border:0;color:var(--muted);font-size:20px;line-height:1;padding:6px;border-radius:8px;cursor:pointer}
.nav-close:focus{outline:2px solid rgba(45,143,111,0.14)}

/* ensure header spacing on small screens */
@media (max-width:640px){
	.site-header{margin-bottom:18px}
	.container{margin-top:0px}
}

/* Explicit mobile rule placed after the main .hamburger declaration so it wins
	 (the plain .hamburger rule below previously overrode the earlier media query) */
@media (max-width:480px){
	/* make the hamburger a block-level, larger hit target on mobile */
	.site-header .hamburger{display:block !important;width:44px;height:44px;padding:8px;border-radius:10px;z-index: 10;}
	/* hide nav by default on small screens, but allow the .open state to display it */
	.site-header .header-nav:not(.open){display:none}
}

/* Full-screen slide-in menu on small devices for easier navigation and focus trap */
@media (max-width:640px){
	.nav-backdrop{background:rgba(12,18,22,0.36);backdrop-filter:blur(6px) saturate(120%)}
	.header-nav.open{
		position:fixed;right:0;top:0;left:auto;transform:none;bottom:0;height:100vh;width:320px;max-width:86%;border-radius:0;padding:20px 16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;box-shadow:-24px 0 48px rgba(16,24,40,0.18);background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.92));border-left:1px solid rgba(0,0,0,0.04);backdrop-filter:blur(6px) saturate(115%);z-index:1600;transition:transform .28s ease}
	/* make panel content scrollable and keep header static */
	.header-nav{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:54px}
	.nav-panel-header{position:sticky;top:0;background:transparent;padding:10px 6px 8px 6px;z-index:1620;display:flex;align-items:center;gap:10px}
	.nav-panel-header .logo{width:36px;height:36px}
	/* slide-in start state (when not open) */
	.header-nav{transition:transform .28s ease;transform:translateX(100%)}
	.header-nav.open{transform:translateX(0)}
	.nav-close{right:12px;top:10px}
	.header-nav.open a{width:100%}
}

/* Product detail layout */
.detail-wrap{margin-top:18px}
.detail-grid{display:grid;grid-template-columns:1fr;gap:20px;position:relative}
.product-detail-hero{display:grid;grid-template-columns:1fr 440px;gap:24px;align-items:start}
.product-visual{position:relative}
.gallery-main img.gallery-main-img{width:100%;height:520px;object-fit:cover;border-radius:12px}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs img{width:84px;height:64px;object-fit:cover;border-radius:8px;cursor:pointer;border:1px solid var(--border)}

/* Floating product info card on large screens */
.product-info-card{max-width:100%;background:var(--card);padding:22px;border-radius:14px;border:1px solid var(--border);box-shadow:0 18px 50px rgba(16,24,40,0.12)}
.product-info-card.sticky-float{position:sticky;top:100px;align-self:start}
.product-title{font-size:1.4rem;font-weight:800;margin:0 0 6px 0}
.product-sub{color:var(--muted);font-size:0.95rem;margin-bottom:12px}
.product-price{font-size:1.25rem;font-weight:800;color:var(--accent-2);margin:10px 0}
.color-palette{display:flex;gap:8px;align-items:center;margin:8px 0}
.color-dot{width:18px;height:18px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(16,24,40,0.08);cursor:pointer}
.size-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.size-btn{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}
.size-btn.active{background:var(--accent-2);color:#fff;border-color:var(--accent-2)}
.buy-row{display:flex;gap:12px;align-items:center;margin-top:14px}
.buy-btn{background:#0b5fff;color:#fff;padding:12px 18px;border-radius:12px;border:none;cursor:pointer;font-weight:700}
.buy-ghost{background:transparent;border:1px solid rgba(0,0,0,0.06);padding:10px 12px;border-radius:10px}

.option-row{margin-bottom:12px;display:flex;flex-direction:column}
.option-row label{font-weight:600;color:var(--accent-2);margin-bottom:6px}
.option-row .muted{color:var(--muted);font-weight:400}
.order-actions{display:flex;gap:10px;margin-top:12px}
.order-actions .btn.full{padding:10px}

/* responsive adjustments */
@media (max-width:900px){
	.detail-grid{grid-template-columns:1fr}
	.product-detail-hero{grid-template-columns:1fr}
	.gallery-main img.gallery-main-img{height:380px}
	.product-info-card.sticky-float{position:relative;top:auto}
}

/* SweetAlert2 z-index override to ensure it's above header */
.swal2-container{z-index:10000 !important}
.swal2-overlay{z-index:9999 !important}

.footer-disclaimer {
	font-size: 0.7em;
}