/* v4.4.0 Lovable chrome extras for Funeral Services pages. lov.css is the saved Lovable stylesheet, unchanged.
   These rules only add what the saved app did not compile (sub-page components, menu dropdown, mobile menu, slider a11y). */
.border-ivory\/40{border-color:color-mix(in oklab,var(--ivory) 40%,transparent)}
.hover\:bg-ivory:hover{background-color:var(--ivory)}
.hover\:text-heading:hover{color:var(--heading)}
.pt-20{padding-top:calc(var(--spacing)*20)}.pt-32{padding-top:calc(var(--spacing)*32)}
@media (width>=64rem){.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-start-7{grid-column-start:7}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.lv-doc{margin:0}
.lv-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ivory);padding:10px 14px}.lv-skip:focus{left:8px}
.lv-doc :focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.lv-doc #wpadminbar~main header.fixed,.admin-bar main header.fixed{top:32px}
@media (max-width:782px){.admin-bar main header.fixed{top:46px}}
/* hero slider: larger hit area on the 1px indicator bars, no layout change */
[data-lv-dot]{position:relative;cursor:pointer;border:0;padding:0}
[data-lv-dot]:after{content:"";position:absolute;left:0;right:0;top:-12px;bottom:-12px}
[data-lv-slide][aria-hidden=true]{pointer-events:none}
@media (prefers-reduced-motion:reduce){.animate-rise,.animate-kenburns{animation:none!important}[data-lv-slide],[data-lv-dot]{transition:none!important}}
/* desktop "More" dropdown */
.lv-dd{position:relative}
.lv-dd-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.lv-dd-menu{position:absolute;right:0;top:calc(100% + 18px);min-width:250px;background:var(--ivory);border:1px solid var(--border);border-radius:2px;box-shadow:var(--shadow-card);padding:10px 0;display:none}
.lv-dd.open .lv-dd-menu{display:block}
@media (hover:hover){.lv-dd:hover .lv-dd-menu{display:block}.lv-dd:hover .lv-dd-menu:before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}}
.lv-dd-menu a,.lv-mnav a{display:block;padding:10px 20px;font-size:.875rem;letter-spacing:.025em;color:var(--heading);text-decoration:none}
.lv-dd-menu a:hover,.lv-mnav a:hover,.lv-dd-menu a[aria-current],.lv-mnav a[aria-current]{color:var(--primary)}
.lv-dd-sep{display:block;height:1px;background:var(--border);margin:8px 20px}
/* mobile menu panel */
.lv-mnav{background:var(--ivory);border-top:1px solid var(--border);padding:8px 0 20px;max-height:calc(100svh - 5rem);overflow:auto}
.lv-mnav[hidden]{display:none}
.lv-mnav a{padding:12px 24px;font-size:1rem}
.lv-mnav .lv-mnav-call{margin:12px 24px 0;display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:var(--primary-foreground);border-radius:2px;padding:12px 20px;font-size:.875rem}
@media (width>=48rem){.lv-mnav{display:none!important}}
/* sub-page hero */
.lv-subhero{min-height:68svh}
.lv-subhero-in{min-height:68svh}
.lv-crumbs{font-size:.8rem;color:var(--taupe);margin-bottom:24px}.lv-crumbs a{color:var(--taupe);text-decoration:none}.lv-crumbs a:hover{color:var(--primary)}
/* table */
.lv-x-table{overflow-x:auto;border:1px solid var(--border);border-radius:2px;background:var(--card);box-shadow:var(--shadow-card)}
.lv-x-table table{width:100%;border-collapse:collapse;min-width:640px;font-size:.875rem}
.lv-x-table th,.lv-x-table td{padding:16px 20px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.lv-x-table thead th{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--heading);font-style:italic}
.lv-x-table tbody th{font-weight:400;color:var(--taupe)}
.lv-x-table tr:last-child>*{border-bottom:0}
.lv-x-y{color:var(--primary)}
/* bands and buttons on dark */
.lv-x-band{display:grid;gap:24px;align-items:end}
@media (width>=64rem){.lv-x-band{grid-template-columns:1fr auto}}
.lv-x-btn-on-dark{background:var(--ivory)!important;color:var(--heading)!important}
.lv-x-btn-light:hover{color:var(--heading)}
.lv-x-two{max-width:880px}
.lv-x-ikhokha{max-width:180px}
.lv-x-iso-img{max-width:420px;display:block}
.lv-x-candle{max-height:420px;object-fit:cover}
@media (width>=64rem){.lv-x-sticky{position:sticky;top:120px}}
/* steps */
.lv-x-steps{margin:0;padding:0;display:grid;gap:0}
.lv-x-steps li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:28px 0;border-top:1px solid var(--border)}
.lv-x-steps li:first-child{border-top:0;padding-top:0}
/* FAQ */
.lv-x-faq{display:grid;gap:12px;max-width:880px}
.lv-x-faq details{border:1px solid var(--border);border-radius:2px;background:var(--card);box-shadow:var(--shadow-card)}
.lv-x-faq summary{cursor:pointer;list-style:none;padding:22px 28px;font-family:var(--font-serif);font-size:1.4rem;color:var(--heading);display:flex;justify-content:space-between;gap:16px}
.lv-x-faq summary::-webkit-details-marker{display:none}
.lv-x-faq summary:after{content:"+";color:var(--primary);font-family:var(--font-sans);font-weight:300}
.lv-x-faq details[open] summary:after{content:"–"}
.lv-x-faq p{margin:0;padding:0 28px 24px;color:var(--taupe);line-height:1.625}
/* form (sib_contact_form markup) */
.lv-x-form .form{background:var(--card);border:1px solid var(--border);border-radius:2px;box-shadow:var(--shadow-card);padding:32px}
.lv-x-form .row{display:grid;gap:16px}
@media (width>=40rem){.lv-x-form .row{grid-template-columns:1fr 1fr}}
.lv-x-form .field{margin-bottom:16px}
.lv-x-form label{display:block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px}
.lv-x-form input,.lv-x-form select,.lv-x-form textarea{width:100%;border:1px solid var(--border);border-radius:2px;background:var(--ivory);padding:12px 14px;font:inherit;font-size:1rem;color:var(--foreground)}
.lv-x-form .phone-wrap{display:flex;gap:8px}.lv-x-form .phone-wrap select{width:auto;flex:none}
.lv-x-form .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lv-x-form .btn{display:inline-block;border:0;border-radius:2px;background:var(--primary);color:var(--primary-foreground);padding:16px 32px;font:inherit;font-size:.875rem;letter-spacing:.025em;cursor:pointer}
.lv-x-form .btn:hover{box-shadow:var(--shadow-lift)}
.lv-x-form .alert{padding:14px 18px;border-radius:2px;margin-bottom:16px;font-size:.9rem}.lv-x-form .alert.ok{background:#e8f3ea;color:#1f5130}.lv-x-form .alert.err{background:#f8e7e5;color:#7a2a22}
.lv-x-form p a{color:var(--primary)}
.lv-x-dark-list{border-top:1px solid color-mix(in oklab,var(--ivory) 20%,transparent)}
@media (width>=64rem){.lv-x-dark-list{border-top:0;border-left:1px solid color-mix(in oklab,var(--ivory) 20%,transparent)}}
.lv-foot-x a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* v4.4.1: 2s hero slider - short crossfade and a zoom scaled to the 2s dwell */
[data-lv-slider] [data-lv-slide]{transition-duration:650ms!important}
[data-lv-slider] .animate-kenburns{animation:2.65s linear both lv-kb2}
@keyframes lv-kb2{0%{transform:scale(1.04)}to{transform:scale(1.075)}}
@media (prefers-reduced-motion:reduce){[data-lv-slider] .animate-kenburns{animation:none!important}}
/* v4.4.1: sub-page hero outline button - solid ivory backing so it stays readable (AA) over photos */
.lv-subhero a.border-heading{background:var(--ivory);color:var(--heading)}
.lv-subhero a.border-heading:hover{background:var(--heading);color:var(--ivory)}

/* v4.4.2: reduced motion keeps the 2s auto-advance but drops the zoom and uses a short fade */
@media (prefers-reduced-motion:reduce){[data-lv-slider] [data-lv-slide]{transition-duration:200ms!important}[data-lv-slider] [data-lv-dot]{transition:none!important}}
