@import url('https://fonts.bunny.net/css?family=inter:400,500,600|plus-jakarta-sans:600,700,800&display=swap');

:root {
    --brand-50: #e8f2fc;
    --brand-100: #cce4f9;
    --brand-200: #99c9f3;
    --brand-500: #0066cc;
    --brand-600: #0056b3;
    --brand-700: #004494;
    --brand-800: #003673;
    --brand-900: #002752;
    --accent-400: #ffb033;
    --accent-500: #f39200;
    --accent-600: #d97f00;
    --success-400: #6bc948;
    --success-500: #4db02a;
    --success-600: #3d8c22;
    --font-sans: 'Inter', system-ui, sans-serif;
    --font-display: 'Plus Jakarta Sans', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-sans); background: #f9fafb; color: #111827; line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,.font-display,.section-title { font-family: var(--font-display); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

/* Layout utilities */
.min-h-screen{min-height:100vh}.mx-auto{margin-left:auto;margin-right:auto}
.max-w-7xl{max-width:80rem}.max-w-3xl{max-width:48rem}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}
.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}
.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}
.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-10{padding-top:2.5rem}
.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}
.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}
.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.shrink-0{flex-shrink:0}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}.justify-center{justify-content:center}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}
.w-full{width:100%}.w-auto{width:auto}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}
.text-center{text-align:center}.text-left{text-align:left}
.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.05em}.uppercase{text-transform:uppercase}
.leading-relaxed{line-height:1.625}
.text-white{color:#fff}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}
.text-brand-100\/90{color:rgba(204,228,249,.9)}.text-brand-100\/80{color:rgba(204,228,249,.8)}.text-brand-200{color:var(--brand-200)}.text-brand-500{color:var(--brand-500)}.text-brand-600{color:var(--brand-600)}.text-brand-700{color:var(--brand-700)}.text-brand-800{color:var(--brand-800)}
.text-accent-400{color:var(--accent-400)}.text-accent-500{color:var(--accent-500)}.text-success-400{color:var(--success-400)}.text-success-600{color:var(--success-600)}.text-red-800{color:#991b1b}
.bg-white{background:#fff}.bg-gray-50{background:#f9fafb}.bg-brand-50{background:var(--brand-50)}.bg-brand-600{background:var(--brand-600)}
.bg-white\/10{background:rgba(255,255,255,.1)}.bg-success-500\/10{background:rgba(77,176,42,.1)}
.bg-gradient-to-b{background:linear-gradient(to bottom,var(--tw-gradient-stops, #fff, rgba(232,242,252,.4)))}
.border{border:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.border-t{border-top:1px solid #e5e7eb}
.border-gray-100{border-color:#f3f4f6}.border-gray-200{border-color:#e5e7eb}.border-brand-100{border-color:var(--brand-100)}
.border-success-500\/20{border-color:rgba(77,176,42,.2)}.border-red-200{border-color:#fecaca}
.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.ring-1{box-shadow:0 0 0 1px var(--ring-color, rgba(0,0,0,.1))}.ring-white\/20{--ring-color:rgba(255,255,255,.2)}.ring-brand-100{--ring-color:var(--brand-100)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px)}
.sticky{position:sticky}.fixed{position:fixed}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}
.top-0{top:0}.left-0{left:0}.z-50{z-index:50}.z-\[60\]{z-index:60}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.opacity-\[0\.04\]{opacity:.04}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.transition{transition:all .15s ease}.transition-all{transition:all .3s ease}.transition-colors{transition:color .2s}.transition-opacity{transition:opacity .2s}.transition-transform{transition:transform .2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}
.group:hover .group-hover\:text-brand-600{color:var(--brand-600)}.group:hover .group-hover\:text-brand-700{color:var(--brand-700)}.group:hover .group-hover\:gap-2{gap:.5rem}.group:hover .group-hover\:translate-x-0\.5{transform:translateX(2px)}.group:hover .group-hover\:scale-110{transform:scale(1.1)}
.hover\:opacity-90:hover{opacity:.9}.hover\:text-brand-600:hover{color:var(--brand-600)}.hover\:text-brand-700:hover{color:var(--brand-700)}.hover\:gap-2:hover{gap:.5rem}

/* Components */
.scroll-progress{position:fixed;left:0;top:0;z-index:60;height:2px;width:0;background:linear-gradient(to right,var(--accent-500),var(--success-500),var(--brand-600));transition:width .15s}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(204,228,249,.8);background:rgba(255,255,255,.9);backdrop-filter:blur(12px);transition:all .3s}
.site-header.is-scrolled{border-color:rgba(153,201,243,.6);background:rgba(255,255,255,.95);box-shadow:0 8px 30px rgba(0,86,179,.08)}
.hero-gradient{background:linear-gradient(135deg,#003673 0%,#0056b3 45%,#0066cc 100%)}
.hero-glow{background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(243,146,0,.18),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(77,176,42,.12),transparent)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;background:linear-gradient(to right,var(--brand-600),var(--brand-700));color:#fff;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(0,86,179,.25);transition:all .3s}
.btn-primary:hover{transform:translateY(-2px);background:linear-gradient(to right,var(--brand-700),var(--brand-800));box-shadow:0 8px 20px rgba(0,86,179,.3)}
.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;background:linear-gradient(to right,var(--accent-500),var(--accent-600));color:#fff;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(243,146,0,.3);transition:all .3s}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(243,146,0,.35)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;border:1px solid var(--brand-200);background:#fff;color:var(--brand-700);padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s}
.btn-secondary:hover{transform:translateY(-2px);background:var(--brand-50);box-shadow:0 4px 12px rgba(0,86,179,.1)}
.card{border-radius:1rem;border:1px solid rgba(243,244,246,.8);background:#fff;padding:1.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .3s}
.card:hover{border-color:rgba(153,201,243,.6);box-shadow:0 12px 40px rgba(0,86,179,.08)}
.card-hover-lift:hover{transform:translateY(-4px)}
.input-field{display:block;width:100%;border-radius:.75rem;border:1px solid #e5e7eb;background:#fff;padding:.625rem 1rem;font-size:.875rem;transition:all .2s}
.input-field:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px rgba(0,86,179,.15)}
.badge-verified{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;background:rgba(77,176,42,.1);padding:.125rem .625rem;font-size:.75rem;font-weight:600;color:var(--success-600);box-shadow:0 0 0 1px rgba(77,176,42,.2)}
.badge-featured{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;background:linear-gradient(to right,var(--accent-500),var(--accent-600));padding:.125rem .625rem;font-size:.75rem;font-weight:600;color:#fff}
.badge-tier-pro{display:inline-flex;border-radius:9999px;background:var(--brand-100);padding:.125rem .625rem;font-size:.75rem;font-weight:600;color:var(--brand-700)}
.badge-tier-premium{display:inline-flex;border-radius:9999px;background:linear-gradient(to right,var(--brand-600),var(--brand-700));padding:.125rem .625rem;font-size:.75rem;font-weight:600;color:#fff}
.nav-link{position:relative;font-size:.875rem;font-weight:500;color:#4b5563;transition:color .2s}
.nav-link:hover{color:var(--brand-600)}
.nav-link::after{content:'';position:absolute;bottom:-4px;left:0;height:2px;width:0;border-radius:9999px;background:linear-gradient(to right,var(--accent-500),var(--success-500));transition:width .3s}
.nav-link:hover::after{width:100%}
.nav-item{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-radius:.875rem;font-family:var(--font-display);font-size:.875rem;font-weight:600;letter-spacing:-.01em;color:#374151;transition:all .25s cubic-bezier(.22,1,.36,1)}
.nav-item:hover{color:var(--brand-700);background:linear-gradient(135deg,var(--brand-50),#fff);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,86,179,.12)}
.nav-item__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.625rem;background:linear-gradient(145deg,#fff,var(--brand-50));color:var(--brand-600);box-shadow:0 0 0 1px var(--brand-100);transition:all .25s cubic-bezier(.22,1,.36,1)}
.nav-item:hover .nav-item__icon{background:linear-gradient(145deg,var(--brand-600),var(--brand-700));color:#fff;box-shadow:0 6px 16px rgba(0,86,179,.28);transform:scale(1.05)}
.nav-text-btn{font-family:var(--font-display);font-size:.875rem;font-weight:600;color:#4b5563;background:none;border:none;cursor:pointer;padding:.375rem .5rem;border-radius:.5rem;transition:all .2s}
.nav-text-btn:hover{color:var(--brand-600);background:var(--brand-50)}
.hero-home{position:relative;overflow:hidden;color:#fff}
.hero-home__bg,.hero-home__glow,.hero-home__pattern{position:absolute;inset:0;pointer-events:none}
.hero-home__pattern{opacity:.04;background-image:url('data:image/svg+xml,%3Csvg width=\"60\" height=\"60\" viewBox=\"0 0 60 60\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cg fill=\"%23ffffff\" fill-opacity=\"1\"%3E%3Cpath d=\"M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z\"/%3E%3C/g%3E%3C/svg%3E')}
.hero-home__inner{position:relative;z-index:1}
.hero-home__grid{display:grid;gap:2.5rem;align-items:center}
.hero-home__main{display:flex;flex-direction:column;gap:1.5rem}
.hero-search{position:relative;border-radius:1.5rem;background:rgba(255,255,255,.97);padding:1.25rem;box-shadow:0 24px 60px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.25);backdrop-filter:blur(16px);transition:box-shadow .35s ease,transform .35s ease}
.hero-search::before{content:'';position:absolute;inset:-2px;border-radius:1.6rem;background:linear-gradient(135deg,rgba(243,146,0,.45),rgba(0,102,204,.35),rgba(77,176,42,.35));z-index:-1;opacity:0;transition:opacity .35s ease}
.hero-search.is-focused,.hero-search:focus-within{transform:translateY(-2px);box-shadow:0 32px 70px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.4),0 0 40px rgba(0,102,204,.15)}
.hero-search.is-focused::before,.hero-search:focus-within::before{opacity:1}
.hero-search__header{margin-bottom:1.25rem}
.hero-search__badge{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;background:linear-gradient(135deg,var(--brand-50),#fff);padding:.375rem .875rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-700);box-shadow:0 0 0 1px var(--brand-100)}
.hero-search__title{margin:.75rem 0 0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#111827}
.hero-search__subtitle{margin:.5rem 0 0;font-size:.9375rem;color:#6b7280;line-height:1.5}
.hero-search__fields{display:grid;gap:1rem}
.hero-search__field{display:flex;flex-direction:column;gap:.375rem}
.hero-search__label{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#6b7280}
.hero-search__input{width:100%;border-radius:.875rem;border:2px solid #e5e7eb;background:#f9fafb;padding:.75rem 1rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;color:#111827;transition:all .2s ease;cursor:pointer}
.hero-search__input:hover{border-color:var(--brand-200);background:#fff}
.hero-search__input:focus{outline:none;border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px rgba(0,102,204,.12)}
.hero-search__submit{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;width:100%;border:none;border-radius:.875rem;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));padding:1rem 1.5rem;font-family:var(--font-display);font-size:1rem;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(243,146,0,.35);transition:all .3s cubic-bezier(.22,1,.36,1)}
.hero-search__submit:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(243,146,0,.45);background:linear-gradient(135deg,var(--accent-400),var(--accent-600))}
.hero-search__submit:active{transform:translateY(0)}
.hero-search__quick{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f3f4f6}
.hero-search__quick-label{font-family:var(--font-display);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}
.hero-search__pill{display:inline-flex;align-items:center;border-radius:9999px;background:var(--brand-50);padding:.375rem .875rem;font-family:var(--font-display);font-size:.8125rem;font-weight:600;color:var(--brand-700);transition:all .2s ease;box-shadow:0 0 0 1px var(--brand-100)}
.hero-search__pill:hover{background:var(--brand-600);color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,86,179,.2)}
.hero-home__trust{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}
.hero-trust-item{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.875rem;font-weight:600;color:rgba(204,228,249,.95)}
.hero-home__visual{position:relative;display:flex;justify-content:center;align-items:center}
.hero-home__visual-glow{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,rgba(243,146,0,.25),transparent 70%);filter:blur(24px);animation:hero-pulse 4s ease-in-out infinite}
.hero-home__image{position:relative;width:100%;max-width:36rem;border-radius:1.25rem;box-shadow:0 32px 64px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.15);animation:hero-float 5s ease-in-out infinite}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes hero-pulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.category-card{border-radius:1rem;border:1px solid rgba(243,244,246,.8);background:#fff;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;transition:all .3s}
.category-card:hover{transform:translateY(-4px);border-color:rgba(153,201,243,.6);box-shadow:0 12px 40px rgba(0,86,179,.08)}
.category-card .icon-wrap{display:flex;height:3.5rem;width:3.5rem;align-items:center;justify-content:center;border-radius:1rem;background:var(--brand-50);color:var(--brand-600);box-shadow:0 0 0 1px var(--brand-100);transition:all .3s}
.category-card:hover .icon-wrap{transform:scale(1.1);background:var(--brand-600);color:#fff;box-shadow:0 8px 20px rgba(0,86,179,.25)}
.section-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:#111827}
.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-transparent{color:transparent}
.bg-gradient-to-r{background:linear-gradient(to right,var(--tw-gradient-stops,var(--accent-400),var(--accent-500)))}
.from-accent-400{--tw-gradient-from:var(--accent-400)}.to-accent-500{--tw-gradient-to:var(--accent-500)}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-visible{opacity:1;transform:translateY(0)}
[data-reveal-delay="1"]{transition-delay:.1s}[data-reveal-delay="2"]{transition-delay:.2s}[data-reveal-delay="3"]{transition-delay:.3s}[data-reveal-delay="4"]{transition-delay:.4s}
.space-y-2\.5>*+*{margin-top:.625rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-x-2>*+*{margin-left:.5rem}
.antialiased{-webkit-font-smoothing:antialiased}

@media(min-width:640px){
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sm\:text-3xl{font-size:1.875rem}.sm\:text-5xl{font-size:3rem}.sm\:p-6{padding:1.5rem}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:h-11{height:2.75rem}
}
@media(min-width:768px){
.md\:flex{display:flex}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}
}
@media(min-width:640px){
.hero-search{padding:1.5rem}
.hero-search__title{font-size:2rem}
.hero-search__fields{grid-template-columns:1fr 1fr;align-items:end}
.hero-search__submit{grid-column:span 2}
}
@media(min-width:1024px){
.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}
.lg\:text-6xl{font-size:3.75rem}
.hero-home__grid{grid-template-columns:1.05fr .95fr;gap:3rem}
.hero-search{padding:1.75rem}
.hero-search__title{font-size:2.125rem}
.hero-search__fields{grid-template-columns:1fr 1fr auto}
.hero-search__submit{grid-column:auto;width:auto;min-width:11rem;padding:1rem 1.75rem}
}
@media(prefers-reduced-motion:reduce){
[data-reveal]{opacity:1;transform:none;transition:none}
.btn-primary,.btn-accent,.btn-secondary,.card,.category-card .icon-wrap{transition:none}
.hero-home__image,.hero-home__visual-glow{animation:none}
.nav-item,.nav-item__icon,.hero-search,.hero-search__submit,.hero-search__pill{transition:none}
}

/* Admin panel */
.admin-shell{background:linear-gradient(180deg,#f0f6fc 0%,#f9fafb 240px)}
.admin-shell__inner{padding-bottom:3rem}
.admin-topbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.admin-topbar__eyebrow{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-600)}
.admin-topbar__title{margin:.25rem 0 0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:#111827}
.admin-topbar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;padding:.5rem;border-radius:1rem;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 20px rgba(0,86,179,.06)}
.admin-nav__link{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:.75rem;font-family:var(--font-display);font-size:.875rem;font-weight:600;color:#4b5563;transition:all .2s}
.admin-nav__link:hover{color:var(--brand-700);background:var(--brand-50)}
.admin-nav__link.is-active{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));box-shadow:0 6px 16px rgba(0,86,179,.25)}
.admin-nav__icon{font-size:1rem;line-height:1}
.admin-nav__badge{display:inline-flex;min-width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--accent-500);padding:0 .375rem;font-size:.6875rem;font-weight:700;color:#fff}
.admin-nav__link.is-active .admin-nav__badge{background:#fff;color:var(--accent-600)}
.admin-card{border-radius:1rem;border:1px solid #e5e7eb;background:#fff;padding:1.5rem;box-shadow:0 4px 24px rgba(0,86,179,.05)}
.admin-card__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:#111827}
.admin-card__desc{margin:0 0 1.25rem;font-size:.875rem;color:#6b7280;line-height:1.5}
.admin-grid{display:grid;gap:1.5rem}
.admin-grid--2{grid-template-columns:1fr}
.admin-form{display:flex;flex-direction:column;gap:1rem}
.admin-form__field{display:flex;flex-direction:column;gap:.375rem}
.admin-form__label{font-size:.8125rem;font-weight:600;color:#374151}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5625rem 1rem;border-radius:.75rem;font-family:var(--font-display);font-size:.8125rem;font-weight:700;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap}
.admin-btn__icon{font-size:.875rem}
.admin-btn--primary{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));box-shadow:0 4px 12px rgba(0,86,179,.22)}
.admin-btn--primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,86,179,.28)}
.admin-btn--secondary{color:var(--brand-700);background:#fff;border-color:var(--brand-200)}
.admin-btn--secondary:hover{background:var(--brand-50)}
.admin-btn--success{color:#fff;background:linear-gradient(135deg,var(--success-500),var(--success-600));box-shadow:0 4px 12px rgba(77,176,42,.22)}
.admin-btn--success:hover{transform:translateY(-1px)}
.admin-btn--danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px rgba(220,38,38,.2)}
.admin-btn--danger:hover{transform:translateY(-1px)}
.admin-btn--ghost{color:#374151;background:#f9fafb;border-color:#e5e7eb}
.admin-btn--ghost:hover{background:#fff;border-color:var(--brand-200);color:var(--brand-700)}
.admin-btn--sm{padding:.375rem .75rem;font-size:.75rem;border-radius:.625rem}
.admin-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;border-radius:.875rem;font-size:.875rem;line-height:1.5}
.admin-alert--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}
.admin-alert--info{color:var(--brand-800);background:var(--brand-50);border:1px solid var(--brand-100)}
.admin-stats{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-stat{border-radius:1rem;border:1px solid #e5e7eb;background:#fff;padding:1.25rem;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.04);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.admin-stat--link:hover{transform:translateY(-2px);border-color:var(--brand-200);box-shadow:0 8px 24px rgba(0,86,179,.1)}
.admin-stat__value{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1;color:var(--brand-600)}
.admin-stat__value--amber{color:#d97706}.admin-stat__value--accent{color:var(--accent-500)}.admin-stat__value--green{color:var(--success-600)}
.admin-stat__label{margin-top:.375rem;font-size:.8125rem;color:#6b7280}
.admin-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.admin-filter{display:inline-flex;padding:.4375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;background:#f3f4f6;color:#4b5563;transition:all .2s}
.admin-filter:hover{background:#e5e7eb}
.admin-filter.is-active{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700))}
.admin-filter.is-active--amber{background:linear-gradient(135deg,#f59e0b,#d97706)}
.admin-filter.is-active--green{background:linear-gradient(135deg,var(--success-500),var(--success-600))}
.admin-filter.is-active--red{background:linear-gradient(135deg,#ef4444,#dc2626)}
.admin-table-wrap{overflow-x:auto;border-radius:1rem;border:1px solid #e5e7eb;background:#fff;box-shadow:0 4px 24px rgba(0,86,179,.05)}
.admin-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}
.admin-table thead{background:#f9fafb;border-bottom:1px solid #e5e7eb}
.admin-table th{padding:.875rem 1rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}
.admin-table td{padding:1rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}
.admin-table tr:last-child td{border-bottom:none}
.admin-table__actions{display:flex;flex-wrap:wrap;gap:.375rem}
.admin-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:700}
.admin-badge--pending{color:#92400e;background:#fef3c7}
.admin-badge--approved{color:#166534;background:#dcfce7}
.admin-badge--rejected{color:#991b1b;background:#fee2e2}
.admin-page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
@media(min-width:768px){.admin-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1280px){.admin-stats{grid-template-columns:repeat(7,minmax(0,1fr))}}

/* Shops — public pages & carousel */
.shops-page-hero{background:linear-gradient(135deg,var(--brand-700),var(--brand-900));color:#fff}
.shops-page-hero__inner{max-width:40rem}
.shops-page-hero__badge{display:inline-flex;padding:.35rem .875rem;border-radius:9999px;background:rgba(255,255,255,.12);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.shops-page-hero__title{margin:.75rem 0 0;font-family:var(--font-display);font-size:2.25rem;font-weight:800;letter-spacing:-.03em}
.shops-page-hero__desc{margin-top:.75rem;color:rgba(255,255,255,.85);line-height:1.6}
.shops-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(1,minmax(0,1fr))}
@media(min-width:640px){.shops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.shops-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.shop-card{border-radius:1rem;overflow:hidden;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 24px rgba(0,86,179,.06);transition:transform .25s,box-shadow .25s}
.shop-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,86,179,.12)}
.shop-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.shop-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--brand-50),#e5e7eb)}
.shop-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.shop-card:hover .shop-card__img{transform:scale(1.05)}
.shop-card__placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(135deg,var(--brand-50),var(--brand-100))}
.shop-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.35));pointer-events:none}
.shop-card__badge{position:absolute;top:.75rem;left:.75rem;z-index:2;padding:.25rem .625rem;border-radius:9999px;background:rgba(255,255,255,.95);font-size:.6875rem;font-weight:800;color:var(--accent-600);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.shop-card__body{padding:1.125rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1}
.shop-card__title{margin:0;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:#111827;line-height:1.3}
.shop-card__meta{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.8125rem;color:#6b7280}
.shop-card__desc{margin:.625rem 0 0;font-size:.8125rem;line-height:1.5;color:#6b7280;flex:1}
.shop-card__cta{margin-top:.875rem;font-size:.8125rem;font-weight:700;color:var(--brand-600)}
.shop-card--carousel{height:100%}
.shops-carousel-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--brand-50) 100%)}
.shops-carousel-section__bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(0,86,179,.08),transparent);pointer-events:none}
.shops-carousel-section__head{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.shops-carousel-section__eyebrow{display:inline-flex;padding:.3rem .75rem;border-radius:9999px;background:var(--brand-100);font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-700)}
.shops-carousel-section__title{margin-top:.5rem}
.shops-carousel-section__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.craftsmen-carousel-section{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--brand-800) 0%,var(--brand-900) 55%,#0a2540 100%);color:#fff}
.craftsmen-carousel-section__bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(245,158,11,.18),transparent 55%),radial-gradient(ellipse 50% 40% at 10% 90%,rgba(59,130,246,.15),transparent);pointer-events:none}
.craftsmen-carousel-section__head{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.craftsmen-carousel-section__eyebrow{display:inline-flex;padding:.3rem .75rem;border-radius:9999px;background:rgba(255,255,255,.12);font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fde68a}
.craftsmen-carousel-section__title{margin-top:.5rem;color:#fff}
.craftsmen-carousel-section__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.home-carousel{position:relative;display:flex;align-items:center;gap:.5rem;min-width:0}
.home-carousel__viewport{flex:1;min-width:0;overflow:hidden;border-radius:1rem;-webkit-overflow-scrolling:touch}
.home-carousel__track{display:flex;gap:1rem;transition:transform .45s cubic-bezier(.25,.8,.25,1);will-change:transform}
.home-carousel__viewport.is-scroll-fallback{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.home-carousel__viewport.is-scroll-fallback::-webkit-scrollbar{display:none}
.home-carousel__viewport.is-scroll-fallback .home-carousel__track{transform:none!important}
.home-carousel__viewport.is-scroll-fallback .home-carousel__slide{scroll-snap-align:start}
.home-carousel__slide{flex:0 0 min(100%,320px);width:min(100%,320px);max-width:100%;box-sizing:border-box}
.home-carousel__slide--craftsman{flex:0 0 min(100%,340px);width:min(100%,340px);max-width:100%}
@media(max-width:767px){
.home-carousel{gap:0}
.home-carousel__nav{position:absolute;top:50%;z-index:2;width:2.125rem;height:2.125rem;font-size:1.35rem;transform:translateY(-50%);box-shadow:0 4px 16px rgba(0,0,0,.22)}
.home-carousel__nav--prev{left:.35rem}
.home-carousel__nav--next{right:.35rem}
.home-carousel__viewport{width:100%;border-radius:.875rem}
.home-carousel__slide,.home-carousel__slide--craftsman{flex:0 0 100%;width:100%;max-width:100%}
}
@media(min-width:768px){
.home-carousel__slide{flex:0 0 min(85vw,320px);width:min(85vw,320px)}
.home-carousel__slide--craftsman{flex:0 0 min(85vw,340px);width:min(85vw,340px)}
}
.home-carousel__nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;border:1px solid #e5e7eb;background:#fff;font-size:1.5rem;line-height:1;color:var(--brand-700);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.06);transition:all .2s}
.home-carousel__nav:hover{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}
.home-carousel__nav--light{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(6px)}
.home-carousel__nav--light:hover{background:#fff;color:var(--brand-800);border-color:#fff}
.craftsman-carousel-card{height:100%;border-radius:1.125rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.98);box-shadow:0 12px 40px rgba(0,0,0,.18);overflow:hidden;transition:transform .25s,box-shadow .25s;min-width:0}
.craftsman-carousel-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.22)}
.craftsman-carousel-card__link{display:flex;flex-direction:column;height:100%;min-width:0;text-decoration:none;color:inherit}
.craftsman-carousel-card__media{position:relative;height:10rem;overflow:hidden;background:linear-gradient(135deg,var(--brand-100),var(--brand-200))}
@media(min-width:640px){.craftsman-carousel-card__media{height:11rem}}
.craftsman-carousel-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.craftsman-carousel-card:hover .craftsman-carousel-card__media img{transform:scale(1.05)}
.craftsman-carousel-card__media-placeholder{display:flex;align-items:center;justify-content:center;height:100%}
.craftsman-carousel-card__media-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 55%);pointer-events:none}
.craftsman-carousel-card__badge{position:absolute;top:.75rem;left:.75rem;z-index:1;display:inline-flex;padding:.25rem .55rem;border-radius:9999px;background:rgba(255,255,255,.95);font-size:.625rem;font-weight:800;color:#047857;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.craftsman-carousel-card__rating--overlay{position:absolute;bottom:.65rem;right:.75rem;z-index:1;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:9999px;background:rgba(0,0,0,.55);font-size:.75rem;font-weight:700;color:#fde68a;backdrop-filter:blur(4px)}
.craftsman-carousel-card__rating--overlay span{color:rgba(255,255,255,.75);font-weight:500}
.craftsman-carousel-card__rating--overlay svg{width:1rem;height:1rem;flex-shrink:0}
.craftsman-carousel-card__initials{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--brand-700)}
.craftsman-carousel-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:.875rem 1rem 1rem;box-sizing:border-box}
.craftsman-carousel-card__title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:800;color:#111827;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}
@media(min-width:640px){.craftsman-carousel-card__title{font-size:1.0625rem}}
.craftsman-carousel-card__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}
.craftsman-carousel-card__tags span{padding:.2rem .5rem;border-radius:9999px;background:var(--brand-50);font-size:.6875rem;font-weight:600;color:var(--brand-700);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.craftsman-carousel-card__location{display:flex;align-items:flex-start;gap:.375rem;margin-top:.5rem;font-size:.8125rem;line-height:1.4;color:#6b7280;overflow-wrap:anywhere;word-break:break-word}
.craftsman-carousel-card__location svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.1rem}
.craftsman-carousel-card__desc{margin:.5rem 0 0;font-size:.8125rem;line-height:1.5;color:#6b7280;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.craftsman-carousel-card__cta{margin-top:.75rem;font-size:.8125rem;font-weight:700;color:var(--brand-600)}
.portfolio-gallery__trigger{border:0;background:transparent;padding:0;width:100%}
.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
@media(min-width:640px){.portfolio-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}
.portfolio-gallery__item{margin:0;border-radius:.75rem;border:1px solid #f3f4f6;overflow:hidden;background:#fff}
.portfolio-gallery__trigger{position:relative;display:block;width:100%;cursor:zoom-in;overflow:hidden;-webkit-tap-highlight-color:transparent}
.portfolio-gallery__image{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .35s ease}
.portfolio-gallery__trigger:hover .portfolio-gallery__image,.portfolio-gallery__trigger:focus-visible .portfolio-gallery__image{transform:scale(1.03)}
.portfolio-gallery__overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .25s ease;pointer-events:none}
.portfolio-gallery__trigger:hover .portfolio-gallery__overlay,.portfolio-gallery__trigger:focus-visible .portfolio-gallery__overlay{background:rgba(0,0,0,.18)}
.portfolio-gallery__zoom{position:absolute;right:.5rem;bottom:.5rem;z-index:1;display:flex;align-items:center;justify-content:center;width:1.625rem;height:1.625rem;border-radius:9999px;background:rgba(15,23,42,.55);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:none;opacity:.88;transition:opacity .2s,transform .2s,background .2s}
.portfolio-gallery__zoom svg{width:.8125rem;height:.8125rem;stroke:currentColor;fill:none;stroke-width:2.25}
@media(min-width:640px){.portfolio-gallery__zoom{width:1.75rem;height:1.75rem}.portfolio-gallery__zoom svg{width:.875rem;height:.875rem}}
@media(hover:hover) and (pointer:fine){.portfolio-gallery__zoom{opacity:0;transform:scale(.92)}.portfolio-gallery__trigger:hover .portfolio-gallery__zoom,.portfolio-gallery__trigger:focus-visible .portfolio-gallery__zoom{opacity:1;transform:scale(1)}}
.portfolio-gallery__caption{margin:0;padding:.375rem .5rem .5rem;font-size:.75rem;line-height:1.35;color:#6b7280}
.lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}
.lightbox[hidden]{display:none!important}
.lightbox__backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.88);cursor:pointer}
.lightbox__dialog{position:relative;z-index:1;max-width:min(96vw,1100px);max-height:min(92vh,900px);width:100%;display:flex;flex-direction:column;align-items:center}
.lightbox__image{display:block;max-width:100%;max-height:min(calc(92vh - 4rem),80dvh);width:auto;height:auto;margin:0 auto;border-radius:.75rem;box-shadow:0 24px 80px rgba(0,0,0,.45);object-fit:contain}
.lightbox__caption{margin-top:.75rem;max-width:100%;padding:0 .5rem;text-align:center;font-size:.875rem;line-height:1.4;color:rgba(255,255,255,.85)}
.lightbox__close{position:absolute;top:-2.25rem;right:0;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:0;border-radius:9999px;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s}
@media(max-width:639px){.lightbox__close{top:auto;bottom:calc(100% + .5rem);right:50%;transform:translateX(50%)}}
.lightbox__close:hover{background:rgba(255,255,255,.28)}
.shops-carousel{position:relative;display:flex;align-items:center;gap:.5rem}
.shops-carousel__viewport{flex:1;overflow:hidden;border-radius:1rem;-webkit-overflow-scrolling:touch}
.shops-carousel__track{display:flex;gap:1rem;transition:transform .45s cubic-bezier(.25,.8,.25,1);will-change:transform}
.shops-carousel__viewport.is-scroll-fallback{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.shops-carousel__viewport.is-scroll-fallback::-webkit-scrollbar{display:none}
.shops-carousel__viewport.is-scroll-fallback .shops-carousel__track{transform:none!important}
.shops-carousel__viewport.is-scroll-fallback .shops-carousel__slide{scroll-snap-align:start}
.shops-carousel__slide{flex:0 0 min(85vw,320px)}
.shops-carousel__nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:9999px;border:1px solid #e5e7eb;background:#fff;font-size:1.5rem;line-height:1;color:var(--brand-700);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.06);transition:all .2s}
.shops-carousel__nav:hover{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:1rem;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -8px 32px rgba(0,0,0,.08);transform:translateY(110%);transition:transform .35s ease}
.cookie-banner.is-visible{transform:translateY(0)}
.cookie-banner__inner{max-width:72rem;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.cookie-banner__text{flex:1;min-width:16rem;font-size:.875rem;line-height:1.5;color:#4b5563}
.cookie-banner__text a{color:var(--brand-600);font-weight:600;text-decoration:underline}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.625rem}

.dev-notice{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.dev-notice.is-visible{opacity:1;visibility:visible}
.dev-notice__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.dev-notice__dialog{position:relative;max-width:28rem;width:100%;background:#fff;border-radius:1rem;padding:2rem 1.75rem;text-align:center;box-shadow:0 24px 48px rgba(0,0,0,.18);transform:translateY(12px) scale(.98);transition:transform .35s ease}
.dev-notice.is-visible .dev-notice__dialog{transform:translateY(0) scale(1)}
.dev-notice__icon{font-size:2.5rem;line-height:1;display:block;margin-bottom:1rem}
.dev-notice__title{font-family:var(--font-display,inherit);font-size:1.375rem;font-weight:700;color:#111827;line-height:1.3}
.dev-notice__text{margin-top:.75rem;font-size:1rem;color:#4b5563}
.dev-notice__btn{margin-top:1.5rem;width:100%;max-width:14rem}
.legal-page{max-width:48rem;margin:0 auto;padding:2.5rem 1rem 4rem}
.legal-page h1{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;color:#111827;margin-bottom:.5rem}
.legal-page__updated{font-size:.875rem;color:#6b7280;margin-bottom:2rem}
.legal-page h2{margin-top:2rem;margin-bottom:.75rem;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:#1f2937}
.legal-page p,.legal-page li{font-size:.9375rem;line-height:1.7;color:#4b5563}
.legal-page ul{margin:.75rem 0;padding-left:1.25rem}
.legal-page ul li{margin:.375rem 0}
.shop-detail__hero{position:relative;min-height:20rem;max-height:28rem;overflow:hidden;background:var(--brand-900)}
.shop-detail__hero-img{width:100%;height:100%;min-height:20rem;max-height:28rem;object-fit:cover}
.shop-detail__hero-placeholder{min-height:20rem;background:linear-gradient(135deg,var(--brand-700),var(--brand-900))}
.shop-detail__hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.65) 100%)}
.shop-detail__hero-content{position:absolute;inset:auto 0 0 0;padding-bottom:2.5rem;color:#fff}
.shop-detail__featured{display:inline-flex;margin-bottom:.75rem;padding:.3rem .75rem;border-radius:9999px;background:rgba(255,255,255,.15);font-size:.75rem;font-weight:700;backdrop-filter:blur(4px)}
.shop-detail__title{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.shop-detail__address{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:1rem;color:rgba(255,255,255,.9)}
.shop-detail__contact{display:flex;align-items:center;gap:.875rem;padding:.875rem;border-radius:.875rem;border:1px solid #f3f4f6;background:#f9fafb;text-decoration:none;transition:all .2s}
.shop-detail__contact:hover{border-color:var(--brand-200);background:var(--brand-50)}
.shop-detail__contact-icon{font-size:1.25rem;line-height:1}
.shop-detail__contact-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}
.shop-detail__contact-value{display:block;font-size:.9375rem;font-weight:600;color:var(--brand-700)}
.shop-detail__social{display:inline-flex;padding:.4375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:700;text-decoration:none;transition:transform .2s}
.shop-detail__social:hover{transform:translateY(-1px)}
.shop-detail__social--facebook{color:#fff;background:#1877f2}
.shop-detail__social--instagram{color:#fff;background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}
.shop-detail__social--tiktok{color:#fff;background:#010101}
.shop-image-preview{border-radius:1rem;overflow:hidden;border:1px solid #e5e7eb;background:#f9fafb}
.shop-image-preview--form{max-width:20rem}
.shop-image-preview__img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.panel-shell--shop .admin-topbar__eyebrow{color:var(--accent-600)}

/* Admin sidebar layout */
.admin-layout{display:flex;flex-direction:column;min-height:calc(100vh - 4rem);background:linear-gradient(180deg,#eef4fb 0%,#f9fafb 280px)}
@media(min-width:1024px){.admin-layout{flex-direction:row;align-items:stretch}}
.admin-sidebar{flex-shrink:0;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 4px 24px rgba(0,86,179,.06)}
@media(min-width:1024px){.admin-sidebar{width:17.5rem;border-bottom:none;border-right:1px solid #e5e7eb;min-height:calc(100vh - 4rem);position:sticky;top:0;align-self:flex-start}}
.admin-sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #f3f4f6}
.admin-sidebar__brand-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:#fff;font-size:1.125rem}
.admin-sidebar__brand strong{display:block;font-family:var(--font-display);font-size:.9375rem;color:#111827}
.admin-sidebar__brand span{display:block;font-size:.75rem;color:#6b7280}
.admin-sidebar__nav{padding:1rem 1rem 1.5rem;max-height:70vh;overflow-y:auto}
@media(min-width:1024px){.admin-sidebar__nav{max-height:calc(100vh - 6rem)}}
.admin-sidebar__group{margin-bottom:1.25rem}
.admin-sidebar__group:last-child{margin-bottom:0}
.admin-sidebar__label{margin:0 0 .5rem;padding:0 .75rem;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}
.admin-sidebar__link,.admin-sidebar__sublink{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:.75rem;font-family:var(--font-display);font-size:.875rem;font-weight:600;color:#374151;text-decoration:none;transition:all .2s;margin-bottom:.25rem}
.admin-sidebar__sublink{padding-left:2.5rem;font-size:.8125rem;font-weight:600;color:var(--brand-700)}
.admin-sidebar__link:hover,.admin-sidebar__sublink:hover{background:var(--brand-50);color:var(--brand-700)}
.admin-sidebar__link.is-active,.admin-sidebar__sublink.is-active{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));box-shadow:0 4px 14px rgba(0,86,179,.22)}
.admin-sidebar__icon{font-size:1rem;line-height:1;width:1.25rem;text-align:center}
.admin-sidebar__badge{margin-left:auto;display:inline-flex;min-width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--accent-500);padding:0 .375rem;font-size:.6875rem;font-weight:800;color:#fff}
.admin-sidebar__link.is-active .admin-sidebar__badge{background:#fff;color:var(--accent-600)}
.admin-layout__main{flex:1;min-width:0;padding:1.25rem 1rem 2.5rem}
@media(min-width:640px){.admin-layout__main{padding:1.5rem 1.5rem 3rem}}
@media(min-width:1024px){.admin-layout__main{padding:2rem 2rem 3rem}}
.admin-layout__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.admin-layout__content{max-width:80rem}

/* Panel navigation (craftsman + shop) */
.panel-nav-wrap{display:grid;gap:1rem;margin-bottom:1.75rem;padding:1rem;border-radius:1rem;background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 20px rgba(0,86,179,.06)}
@media(min-width:768px){.panel-nav-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.panel-nav-wrap{grid-template-columns:repeat(4,minmax(0,1fr))}}
.panel-nav-section{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:.875rem;background:linear-gradient(180deg,#f9fafb,#fff);border:1px solid #f3f4f6}
.panel-nav-section__label{margin:0;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}
.panel-nav-section__items{display:flex;flex-wrap:wrap;gap:.375rem}
.panel-nav-link,.panel-nav-action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-radius:.625rem;font-family:var(--font-display);font-size:.8125rem;font-weight:600;color:#374151;text-decoration:none;transition:all .2s;border:1px solid transparent}
.panel-nav-link:hover{background:var(--brand-50);color:var(--brand-700)}
.panel-nav-link.is-active{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));box-shadow:0 4px 12px rgba(0,86,179,.22)}
.panel-nav-action{color:var(--brand-700);background:#fff;border-color:var(--brand-200)}
.panel-nav-action:hover{background:var(--brand-50);transform:translateY(-1px)}
.panel-nav-action.is-active{color:#fff;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));border-color:transparent}
.panel-nav-link__icon{font-size:.875rem;line-height:1}
.panel-nav-badge{display:inline-flex;min-width:1.125rem;align-items:center;justify-content:center;border-radius:9999px;background:var(--accent-500);padding:0 .35rem;font-size:.625rem;font-weight:800;color:#fff}
.panel-nav-link.is-active .panel-nav-badge{background:#fff;color:var(--accent-600)}
.panel-nav-hint{display:inline-flex;align-items:center;padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:#92400e;background:#fef3c7;border-radius:.625rem}
.panel-shell--craftsman .admin-topbar__eyebrow{color:var(--success-600)}
.panel-sections-grid{display:grid;gap:1rem;margin-bottom:2rem}
@media(min-width:640px){.panel-sections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.panel-sections-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.panel-section-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;border-radius:1rem;border:1px solid #e5e7eb;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.panel-section-card__title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:#111827}
.panel-section-card__desc{margin:0;font-size:.8125rem;color:#6b7280;line-height:1.45}
.panel-section-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}
.panel-topbar__actions{flex-wrap:wrap}

/* Shop filters & categories */
.shops-filters{margin-bottom:0;padding:1.25rem 1.5rem}
.shops-filters__grid{display:grid;gap:1.25rem}
@media(min-width:768px){.shops-filters__grid{grid-template-columns:minmax(220px,280px) 1fr;align-items:start}}
.shops-filters__label{display:block;margin-bottom:.5rem;font-size:.8125rem;font-weight:700;color:#374151}
.shops-filters__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.shops-filters__summary{margin:1rem 0 0;font-size:.875rem;color:#6b7280}
.shops-filter-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.shops-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.4375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:600;background:#f3f4f6;color:#374151;transition:all .2s}
.shops-filter-chip:hover{background:var(--brand-50);color:var(--brand-700)}
.shops-filter-chip.is-active{color:#fff;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));box-shadow:0 4px 12px rgba(0,86,179,.2)}
.shops-filter-chip--other.is-active{background:linear-gradient(135deg,#6b7280,#4b5563)}
.shop-category-picker{padding:1rem;border-radius:1rem;border:1px solid #e5e7eb;background:#f9fafb}
.shop-category-picker__heading{margin:0 0 .75rem;font-size:.6875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}
.shop-category-picker__heading--other{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}
.shop-category-picker__grid{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:640px){.shop-category-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.shop-category-picker__grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.shop-category-picker__item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-radius:.75rem;border:1px solid #e5e7eb;background:#fff;cursor:pointer;transition:all .2s;font-size:.8125rem;font-weight:600;color:#374151}
.shop-category-picker__item:has(input:checked){border-color:var(--brand-400);background:var(--brand-50);color:var(--brand-800);box-shadow:0 0 0 2px rgba(0,86,179,.12)}
.shop-category-picker__item--other{max-width:12rem}
.shop-category-picker__item input{accent-color:var(--brand-600)}
.shop-category-picker__icon{font-size:1rem;line-height:1}
.shop-card__tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}
.shop-card__tag{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:700;background:var(--brand-50);color:var(--brand-700)}
.shop-card--compact .shop-card__media{aspect-ratio:4/3}
.shop-detail__category{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(4px);margin-right:.375rem;margin-bottom:.375rem}
.shop-detail__category:hover{background:rgba(255,255,255,.28)}
.related-shops{padding:0;overflow:hidden}
.related-shops__head{display:flex;gap:.875rem;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid #f3f4f6;background:linear-gradient(180deg,var(--brand-50),#fff)}
.related-shops__icon{font-size:1.5rem;line-height:1}
.related-shops__title{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:#111827}
.related-shops__desc{margin:.25rem 0 0;font-size:.75rem;color:#6b7280}
.related-shops__list{display:flex;flex-direction:column}
.related-shops__item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.25rem;border-bottom:1px solid #f3f4f6;text-decoration:none;color:inherit;transition:background .2s}
.related-shops__item:hover{background:var(--brand-50)}
.related-shops__thumb{flex-shrink:0;width:3.5rem;height:3.5rem;border-radius:.75rem;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.related-shops__thumb img{width:100%;height:100%;object-fit:cover}
.related-shops__info{flex:1;min-width:0}
.related-shops__info strong{display:block;font-size:.875rem;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related-shops__cat{display:block;font-size:.6875rem;font-weight:700;color:var(--brand-600);margin-bottom:.125rem}
.related-shops__loc{display:block;font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related-shops__arrow{flex-shrink:0;font-size:1.125rem;font-weight:700;color:var(--brand-500)}
.related-shops__all{display:block;padding:.875rem 1.25rem;text-align:center;font-size:.8125rem;font-weight:700;color:var(--brand-600);background:#fafafa;border-top:1px solid #f3f4f6}
.related-shops__all:hover{background:var(--brand-50)}
.space-y-6>*+*{margin-top:1.5rem}

/* Search sidebar — related shops panel */
.search-shops-panel{position:relative;overflow:hidden;border-radius:1.125rem;border:1px solid rgba(0,86,179,.12);background:linear-gradient(165deg,#fff 0%,var(--brand-50) 120%);box-shadow:0 12px 40px rgba(0,86,179,.1)}
.search-shops-panel__glow{position:absolute;top:-40%;right:-20%;width:70%;height:70%;background:radial-gradient(circle,rgba(243,146,0,.15),transparent 70%);pointer-events:none;animation:search-shops-glow 6s ease-in-out infinite}
@keyframes search-shops-glow{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.search-shops-panel__head{position:relative;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(0,86,179,.08)}
.search-shops-panel__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .75rem;border-radius:9999px;background:rgba(0,86,179,.08);font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-700)}
.search-shops-panel__badge-dot{width:.5rem;height:.5rem;border-radius:9999px;background:var(--accent-500);box-shadow:0 0 0 0 rgba(243,146,0,.5);animation:search-shops-pulse 2s ease-out infinite}
@keyframes search-shops-pulse{0%{box-shadow:0 0 0 0 rgba(243,146,0,.45)}70%{box-shadow:0 0 0 8px rgba(243,146,0,0)}100%{box-shadow:0 0 0 0 rgba(243,146,0,0)}}
.search-shops-panel__title{margin:.75rem 0 0;font-family:var(--font-display);font-size:1.0625rem;font-weight:800;line-height:1.3;color:#111827;letter-spacing:-.02em}
.search-shops-panel__desc{margin:.5rem 0 0;font-size:.8125rem;line-height:1.5;color:#6b7280}
.search-shops-panel__desc strong{color:var(--brand-700);font-weight:700}
.search-shops-panel__list{position:relative;display:flex;flex-direction:column;padding:.5rem}
.search-shops-panel__item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;margin:.25rem;border-radius:.875rem;text-decoration:none;color:inherit;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s}
.search-shops-panel__item:hover{transform:translateX(4px);background:#fff;box-shadow:0 8px 24px rgba(0,86,179,.1)}
.search-shops-panel__thumb{position:relative;flex-shrink:0;width:3.75rem;height:3.75rem;border-radius:.875rem;overflow:hidden;background:linear-gradient(135deg,var(--brand-100),var(--brand-50));box-shadow:0 4px 12px rgba(0,86,179,.12)}
.search-shops-panel__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.search-shops-panel__item:hover .search-shops-panel__thumb img{transform:scale(1.08)}
.search-shops-panel__thumb-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1.5rem}
.search-shops-panel__featured{position:absolute;top:.25rem;right:.25rem;display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border-radius:9999px;background:var(--accent-500);color:#fff;font-size:.5625rem;font-weight:800;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.search-shops-panel__body{flex:1;min-width:0}
.search-shops-panel__cat{display:block;font-size:.6875rem;font-weight:700;color:var(--brand-600);margin-bottom:.125rem}
.search-shops-panel__name{display:block;font-size:.875rem;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-shops-panel__loc{display:flex;align-items:center;gap:.25rem;margin-top:.25rem;font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-shops-panel__arrow{flex-shrink:0;font-size:1.125rem;font-weight:800;color:var(--brand-400);transition:transform .25s,color .25s}
.search-shops-panel__item:hover .search-shops-panel__arrow{transform:translateX(3px);color:var(--brand-600)}
.search-shops-panel__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid rgba(0,86,179,.08);font-family:var(--font-display);font-size:.8125rem;font-weight:700;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--brand-600),var(--brand-700));transition:filter .2s,transform .2s}
.search-shops-panel__cta:hover{filter:brightness(1.06);transform:translateY(-1px)}
.z-10{z-index:10}
@media(min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}}
.mt-8{margin-top:2rem}
.portfolio-photo-notice{margin-top:1rem;margin-bottom:.75rem;padding:.875rem 1rem;border-radius:.75rem;border:1px solid #e5e7eb;background:#f9fafb;font-size:.8125rem;line-height:1.5;color:#4b5563}
.portfolio-photo-notice--active{border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#ecfdf5);color:#1e3a8a}
.portfolio-photo-notice__hint{color:#6b7280;font-weight:400}
.portfolio-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
@media(min-width:640px){.portfolio-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.portfolio-photo-card{border-radius:.875rem;border:2px solid #e5e7eb;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04);transition:border-color .2s,box-shadow .2s}
.portfolio-photo-card.is-slider{border-color:var(--brand-600);box-shadow:0 0 0 3px rgba(0,86,179,.15),0 8px 24px rgba(0,86,179,.12)}
.portfolio-photo-card__image-wrap{position:relative;aspect-ratio:1/1;background:#f3f4f6}
.portfolio-photo-card__image{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-photo-card__slider-badge{position:absolute;top:.5rem;left:.5rem;z-index:1;display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;border-radius:9999px;background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;font-size:.6875rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.portfolio-photo-card__caption{margin:0;padding:.5rem .75rem 0;font-size:.75rem;color:#6b7280;line-height:1.4}
.portfolio-photo-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border-top:1px solid #f3f4f6;background:#fafafa}
.portfolio-photo-card__form{margin:0;flex:1;min-width:calc(50% - .25rem)}
.portfolio-photo-card__btn{display:flex;width:100%;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .65rem;border-radius:.5rem;border:1px solid transparent;font-size:.75rem;font-weight:700;line-height:1.2;cursor:pointer;transition:filter .15s,transform .15s}
.portfolio-photo-card__btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.portfolio-photo-card__btn--slider{border-color:var(--brand-200);background:#fff;color:var(--brand-700)}
.portfolio-photo-card__btn--slider:hover{background:var(--brand-50)}
.portfolio-photo-card__btn--muted{border-color:#d1d5db;background:#fff;color:#374151}
.portfolio-photo-card__btn--delete{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.portfolio-photo-card__btn--delete:hover{background:#fee2e2}
