/* generated 2026-06-10T18:43:42+00:00 by ns-css-consolidate-generate.php — regenerate after editing any source mu-plugin */

/* ── ns-advisor-cards.php (wp_head @10, line 8) ── */
/* Make CTA advisor cards fully clickable */
.elementor-widget-nested-carousel .swiper-slide > .e-con {
    transition: transform 0.2s, border-color 0.2s;
}
.elementor-widget-nested-carousel .swiper-slide > .e-con:hover {
    transform: translateY(-3px);
    border-color: rgba(255,255,255,0.3);
}

/* ── ns-homepage-fixes.php (wp_head @10, line 2) ── */
/* Play button — white instead of red */
.elementor-widget-video .elementor-custom-embed-play i,
.elementor-widget-video .elementor-custom-embed-play svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}
.elementor-widget-video .elementor-custom-embed-play {
    background: rgba(255,255,255,0.15) !important;
    border: 2px solid rgba(255,255,255,0.5) !important;
    transition: all 0.3s !important;
}
.elementor-widget-video .elementor-custom-embed-play:hover {
    background: rgba(255,255,255,0.25) !important;
    border-color: #ffffff !important;
}
/* Also target YouTube/self-hosted play buttons */
.elementor-widget-video .e-hosted-video .elementor-custom-embed-play,
.elementor-widget-video .elementor-wrapper .elementor-custom-embed-play {
    color: #ffffff !important;
}
.ytp-large-play-button { display: none !important; }

/* ── ns-homepage-fixes.php (wp_head @10, line 29) ── */
/* Keepsakes product images — bigger for readability */
.elementor-element-3dd29e5 .e-loop-item .elementor-widget-image img,
.elementor-element-3dd29e5 .elementor-widget-loop-carousel .e-loop-item img {
    height: 350px !important;
    width: 100% !important;
    object-fit: contain !important;
    padding: 10px !important;
}
.elementor-element-3dd29e5 .e-loop-item .elementor-widget-image .elementor-widget-container {
    max-height: 400px !important;
}

/* Video play button — remove square background */
.elementor-custom-embed-play {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}
.elementor-custom-embed-play i {
    color: #ffffff !important;
    font-size: 60px !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
}

/* CTA phone button — ring animation on hover */
@keyframes phone-ring {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(15deg); }
    20% { transform: rotate(-15deg); }
    30% { transform: rotate(10deg); }
    40% { transform: rotate(-10deg); }
    50% { transform: rotate(5deg); }
    60% { transform: rotate(0deg); }
    100% { transform: rotate(0deg); }
}
.elementor-element-e9b98d0:hover .elementor-button-icon i,
.elementor-element-e9b98d0:hover .elementor-button-icon svg,
.elementor-location-header .elementor-button:hover .elementor-button-icon i {
    animation: phone-ring 0.8s ease-in-out !important;
    display: inline-block !important;
}
/* Also add subtle scale on hover */
.elementor-element-e9b98d0 .elementor-button:hover,
.elementor-location-header .elementor-button:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2) !important;
}

/* ── ns-service-style.php (wp_head @10, line 8) ── */
/* Service cards on homepage — better readability */
.elementor-widget-nested-carousel .swiper-slide .elementor-heading-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    line-height: 1.3 !important;
}
.elementor-widget-nested-carousel .swiper-slide .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #b0b0b0 !important;
    font-weight: 400 !important;
}
/* Service card icons — lighter, more space below */
.elementor-widget-nested-carousel .swiper-slide .elementor-widget-image {
    margin-bottom: 12px !important;
}
.elementor-widget-nested-carousel .swiper-slide .elementor-widget-image img {
    opacity: 0.7;
    max-height: 48px !important;
}

/* Service sub-page content readability */
.elementor-element-698be02 .elementor-widget-text-editor p {
    font-size: 18px !important;
    line-height: 2.0 !important;
    color: #cccccc !important;
    max-width: 720px !important;
}
.elementor-element-698be02 .elementor-widget-text-editor h2,
.elementor-element-698be02 .elementor-widget-text-editor h3 {
    color: #ffffff !important;
    margin-top: 24px !important;
    margin-bottom: 12px !important;
}
/* More space between paragraphs */
.elementor-element-698be02 .elementor-widget-text-editor p + p {
    margin-top: 16px !important;
}

/* ── ns-service-style.php (wp_head @10, line 55) ── */
.elementor-element-8680f16 img,
.elementor-element-7529840 .gallery img,
.elementor-element-7529840 .elementor-widget-image-gallery img {
    border-radius: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
.elementor-element-aeee572 { padding-left: 0 !important; margin-left: -20px !important; }
.elementor-element-8680f16,
.elementor-element-7529840 .elementor-widget-image-gallery {
    width: 100% !important;
}

/* ── ns-video-style.php (wp_head @10, line 2) ── */
/* Hero video — bigger, no square on play button */
.elementor-widget-video .elementor-wrapper {
    border-radius: 16px !important;
    overflow: hidden !important;
    background: transparent !important;
}
.elementor-widget-video .elementor-wrapper video {
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 16px !important;
}
/* Kill ALL play button backgrounds/borders/squares */
.elementor-custom-embed-play,
.elementor-widget-video .elementor-custom-embed-play,
.elementor-widget-video .e-hosted-video .elementor-custom-embed-play {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}
.elementor-custom-embed-play i,
.elementor-custom-embed-play svg {
    color: #ffffff !important;
    fill: #ffffff !important;
    font-size: 64px !important;
    text-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
    filter: drop-shadow(0 4px 20px rgba(0,0,0,0.5)) !important;
}
/* Make video container take more horizontal space */
.elementor-element-4bea56f {
    width: 110% !important;
    max-width: 110% !important;
}
.elementor-element-ed4bede,
.elementor-element-ed4bede .elementor-widget-container {
    background: transparent !important;
}

/* ── ns-seo-faq-style.php (wp_head @20, line 10) ── */
.ns-faq{display:flex;flex-direction:column;gap:12px;margin:1.2em 0 2.2em}
.ns-faq details{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;overflow:hidden;transition:border-color .2s,background .2s}
.ns-faq details:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.14)}
.ns-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;font-weight:600;color:#fff;font-size:1.02em;line-height:1.35}
.ns-faq summary::-webkit-details-marker{display:none}
.ns-faq .ns-faq-chev{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,0.08);color:#fff;font-weight:400;font-size:16px;line-height:1;transition:transform .25s ease,background .2s ease}
.ns-faq details[open] .ns-faq-chev{transform:rotate(45deg);background:#8b1a1a}
.ns-faq .ns-faq-a{padding:0 22px 18px;color:#cfcfd2}
.ns-faq .ns-faq-a p{margin:0 0 .6em}
.ns-faq .ns-faq-a p:last-child{margin-bottom:0}
.ns-faq details[open] .ns-faq-a{animation:nsFaqIn .28s ease}
@keyframes nsFaqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ns-faq details[open] .ns-faq-a{animation:none}.ns-faq .ns-faq-chev{transition:none}}
@media (max-width:767px){.ns-faq summary{padding:15px 16px;font-size:.98em}.ns-faq .ns-faq-a{padding:0 16px 15px}}
.ns-box-grid .ns-box h4 a{color:#fff;text-decoration:none}.ns-box-grid .ns-box h4 a:hover{text-decoration:underline}
