/*
Theme Name: Creative Fingers
Theme URI: https://creativefingershairsalon.com/
Author: Creative Fingers Hair Salon
Description: A faithful, self-contained recreation of the Creative Fingers public website, with local assets, editable WordPress pages, native navigation, and enquiry handling.
Version: 1.9.1
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
Text Domain: creative-fingers
*/
.cf-skip-link{position:fixed;left:12px;top:-100px;z-index:100000;padding:12px 20px;background:white;color:#111}.cf-skip-link:focus{top:12px}
.cf-form .wpcf7-response-output:not(:empty){display:block!important;margin:15px 0;padding:12px;border:1px solid #c59d5f;color:inherit}
.cf-form [type=submit]:disabled{opacity:.6;cursor:wait}.cf-honeypot{position:absolute!important;left:-10000px!important}
.cf-results{max-width:1000px;margin:auto;padding:90px 30px 120px;min-height:60vh}.cf-results article{margin:40px 0}.cf-results h1{font-size:42px}.cf-results form{display:flex;gap:12px}.cf-results input{flex:1}
.cf-import-notice{padding:20px;background:#fff8e9;color:#222;text-align:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Client-supplied salon highlights: retain natural framing and the original spacing. */
.cf-highlights-grid{columns:3;column-gap:30px}
.cf-highlight{position:relative;display:block;break-inside:avoid;margin:0 0 30px;overflow:hidden;background:#f5f5f5}
.cf-highlight img{display:block;width:100%;height:auto;transition:transform .35s ease}
.cf-highlight-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.42);color:#fff;opacity:0;transition:opacity .25s ease;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center;padding:20px}
.cf-highlight-plus{font-size:32px;font-weight:300;line-height:1.6}
.cf-highlight:hover .cf-highlight-overlay,.cf-highlight:focus-visible .cf-highlight-overlay{opacity:1}
.cf-highlight:hover img{transform:scale(1.025)}
.cf-lightbox{border:0;padding:0;background:#111;color:#fff;width:calc(100vw - 40px);max-width:1500px;height:calc(100dvh - 40px);max-height:100dvh;overflow:hidden}
.cf-lightbox::backdrop{background:rgba(0,0,0,.9)}
.cf-lightbox-stage{height:100%;display:flex;align-items:center;justify-content:center;padding:55px 65px 65px;box-sizing:border-box}
.cf-lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cf-lightbox button{position:absolute;border:1px solid #666;background:rgba(15,15,15,.7);color:#fff;width:44px;height:44px;font-size:28px;line-height:1;cursor:pointer;padding:0}
.cf-lightbox button:hover,.cf-lightbox button:focus-visible{border-color:#c59d5f;color:#c59d5f;outline:2px solid #c59d5f;outline-offset:2px}
.cf-lightbox-close{top:12px;right:12px}.cf-lightbox-prev{top:calc(50% - 22px);left:10px}.cf-lightbox-next{top:calc(50% - 22px);right:10px}
.cf-lightbox-caption{position:absolute;bottom:12px;left:15px;right:15px;text-align:center;margin:0;font-size:13px;letter-spacing:1px;color:#fff}
html.cf-lightbox-open{overflow:hidden}
@media(max-width:1024px){.cf-highlights-grid{columns:2}}
@media(max-width:680px){.cf-highlights-grid{columns:1}.cf-lightbox{width:100vw;height:100dvh;max-width:100vw;margin:0}.cf-lightbox-stage{padding:65px 8px 65px}.cf-lightbox-prev,.cf-lightbox-next{top:auto;bottom:12px}.cf-lightbox-caption{bottom:22px;left:60px;right:60px}}
@media(prefers-reduced-motion:reduce){.cf-highlight img,.cf-highlight-overlay{transition:none}.cf-highlight:hover img{transform:none}}
.mkdf-vss-ms-section[style*="michelle-bernard-portrait.jpg"]{background-position:50% 35%!important}
/* Named client banner photographs; position group portraits to keep faces in frame. */
.cf-about-banner{background-position:center 15%!important;background-size:cover!important;background-attachment:scroll!important}
.cf-news-banner{background-position:center top;background-size:cover;background-repeat:no-repeat;position:relative}
.cf-about-banner:before,.cf-news-banner:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 45%,rgba(0,0,0,.55))}
.cf-about-banner .mkdf-title-wrapper,.cf-news-banner .mkdf-title-wrapper{position:relative;z-index:1}
.cf-news-banner .mkdf-page-title,.cf-news-banner .mkdf-breadcrumbs,.cf-news-banner .mkdf-breadcrumbs a,.cf-news-banner .mkdf-delimiter{color:#fff!important}
.cf-news-banner .mkdf-title-inner{vertical-align:bottom!important;padding-bottom:55px!important}
@media(max-width:680px){.cf-news-banner,.cf-news-banner .mkdf-title-wrapper{height:360px!important}.cf-news-banner{background-position:center top}.cf-news-banner .mkdf-title-inner{padding-bottom:35px!important}.cf-about-banner{background-position:center 25%!important}}

rs-slide[data-key="rs-cf-new-team"] rs-sbg-wrap::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none;z-index:1}
/* Stylist biographies: owner first, followed by Sanaa and Jamaia. */
.cf-team-section{max-width:1300px;width:calc(100% - 80px);margin:0 auto;padding:90px 0 95px;box-sizing:border-box}
.cf-team-heading{text-align:center;margin-bottom:45px}
.cf-team-script{display:block;color:#c59d5f;font-family:quentinregular,cursive;font-size:62px;line-height:1.15;margin-bottom:8px}
.cf-team-heading h2{margin:0;font-size:38px;line-height:1.25;text-transform:uppercase;letter-spacing:.5px}
.cf-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;align-items:start}
.cf-team-card{text-align:left;min-width:0}
.cf-team-portrait{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:#eee}
.cf-team-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%}
.cf-team-copy{padding:27px 0 0}
.cf-team-copy h3{font-size:22px;line-height:1.3;margin:0 0 8px;text-transform:uppercase}
.cf-team-copy p.cf-team-role{margin:0 0 22px;color:#a67c40;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase}
.cf-team-copy p{font-size:14px;line-height:1.85;margin:0 0 18px;color:#626262}
.cf-team-bio-link{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.6px;margin:2px 0 18px;border-bottom:1px solid #c59d5f;padding-bottom:5px;color:#222}
.cf-team-social{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:8px}
.cf-team-social a{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#6f522c;border-bottom:1px solid transparent}
.cf-team-social a:hover,.cf-team-social a:focus-visible{color:#222;border-bottom-color:#c59d5f}
.cf-team-copy .cf-team-follow{font-size:12px;margin-bottom:8px}
@media(min-width:1600px){.cf-team-section{max-width:1300px}}
@media(max-width:1024px){.cf-team-section{width:calc(100% - 60px)}.cf-team-grid{gap:24px}.cf-team-copy h3{font-size:19px}.cf-team-copy p{font-size:13px}}
@media(max-width:767px){.cf-team-section{width:calc(100% - 40px);max-width:520px;padding:60px 0}.cf-team-grid{grid-template-columns:1fr;gap:48px}.cf-team-heading h2{font-size:30px}.cf-team-script{font-size:54px}.cf-team-copy h3{font-size:23px}.cf-team-copy p{font-size:15px}.cf-team-portrait{aspect-ratio:4/5}}
.cf-full-bio{display:grid;grid-template-columns:1fr 1fr;max-width:1300px;margin:0 auto;padding:150px 40px 90px;gap:70px;align-items:center}
.cf-bio-photo img{display:block;width:100%;max-height:780px;object-fit:cover;object-position:center 25%}
.cf-bio-copy h1{font-size:42px;text-transform:uppercase;margin:14px 0}
.cf-bio-copy p{font-size:16px;line-height:1.9;margin:0 0 22px}
.cf-bio-copy .cf-team-role{color:#a67c40;text-transform:uppercase;letter-spacing:2px;font-size:12px}
.cf-bio-copy .cf-team-bio-link{margin-top:35px}
@media(max-width:767px){.cf-full-bio{grid-template-columns:1fr;padding:35px 20px 60px;gap:35px}.cf-bio-copy h1{font-size:32px}.cf-bio-photo img{max-height:600px}}
.cf-stylist-bio .mkdf-page-header{background:#080808}
.cf-stylist-bio .mkdf-page-header .mkdf-menu-area{background:#080808!important}
/* Subscription cards and portrait-safe team hero crop. */
.woocommerce ul.products.cf-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:35px 0 70px!important}
.woocommerce ul.products.cf-shop-grid:before,.woocommerce ul.products.cf-shop-grid:after{display:none}
.woocommerce ul.products.cf-shop-grid>li.product{float:none!important;width:auto!important;margin:0!important;padding:0!important;background:#faf8f5;border:1px solid #e8e1d6;display:flex;flex-direction:column}
.cf-shop-grid .mkdf-pl-image img{width:100%!important;height:260px!important;object-fit:cover}
.cf-shop-grid li:not(.cf-plan-card) .mkdf-pl-image img{object-fit:contain;background:#fff}
.cf-shop-grid .mkdf-pl-text-wrapper{padding:24px!important;flex:1;text-align:left!important}
.cf-shop-grid .mkdf-product-list-title{font-size:20px;line-height:1.4;margin:0 0 18px!important}
.cf-shop-grid .mkdf-pl-category{display:none}
.cf-shop-grid .mkdf-pl-cart-price-holder{height:auto!important;overflow:visible!important;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.cf-shop-grid .price{position:static!important;transform:none!important;opacity:1!important;font-size:19px!important;line-height:1.6}
.cf-shop-grid .button{position:static!important;transform:none!important;opacity:1!important;display:inline-block!important;background:#111!important;color:#fff!important;padding:12px 22px!important;font-size:11px!important;letter-spacing:1.5px;text-transform:uppercase}
rs-slide[data-key="rs-cf-new-team"] rs-sbg{background-position:center top!important}
@media(max-width:1024px){.woocommerce ul.products.cf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.woocommerce ul.products.cf-shop-grid{grid-template-columns:1fr}.cf-shop-grid .mkdf-pl-image img{height:280px!important}}
.woocommerce ul.products.cf-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cf-box-form{margin-top:22px}.cf-box-form label{display:block;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}
.cf-box-form select{display:block!important;width:100%;max-width:100%;height:auto;min-height:52px;border:1px solid #c9bfae;background:white;padding:12px;color:#222;font:inherit;white-space:normal}
.cf-box-price{font-size:20px!important;color:#222;margin:20px 0!important}
.cf-box-submit{border:0;background:#111;color:white;padding:16px 25px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
@media(max-width:680px){.woocommerce ul.products.cf-shop-grid{grid-template-columns:1fr}}

.cf-shop-grid .cf-subscription-box .mkdf-pl-image img{height:auto!important;aspect-ratio:3/2;object-fit:contain;background:#efe4d2}
.cf-gallery-banner{height:480px!important;background-image:linear-gradient(rgba(0,0,0,.15),rgba(0,0,0,.28)),url('assets/banners/gallery.webp');background-size:cover;background-position:center 15%;background-repeat:no-repeat}
.cf-gallery-banner .mkdf-title-wrapper{height:480px!important}
.cf-gallery-banner .mkdf-page-title,.cf-gallery-banner .mkdf-breadcrumbs,.cf-gallery-banner .mkdf-breadcrumbs a,.cf-gallery-banner .mkdf-current{color:#fff!important;text-shadow:0 1px 6px #222}
#rev_slider_3_1 rs-slide[data-key="rs-6"] rs-sbg{background-position:center top!important}
@media(max-width:680px){.cf-gallery-banner{height:300px!important;background-size:auto 300px;background-position:center top}.cf-gallery-banner .mkdf-title-wrapper{height:300px!important}}
/* The shop slider paints its image on a canvas; use a positioned photo instead. */
body.woocommerce-shop .mkdf-content{margin-top:0!important}
#rev_slider_3_1 rs-slide[data-key="rs-6"] rs-sbg{background-image:url('assets/banners/about-us.webp')!important;background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important}
#rev_slider_3_1 rs-slide[data-key="rs-6"] rs-sbg canvas{visibility:hidden!important}
/* Fit group photographs without cropping at wide desktop or mobile widths. */
.cf-about-banner,.cf-news-banner{background-size:contain!important;background-position:center center!important;background-repeat:no-repeat!important;background-attachment:scroll!important;background-color:#171717!important;height:clamp(360px,40vw,680px)!important}
.cf-about-banner .mkdf-title-wrapper,.cf-news-banner .mkdf-title-wrapper{height:100%!important}
.cf-about-banner .mkdf-title-image{display:none!important}
#rev_slider_3_1 rs-slide[data-key="rs-6"] rs-sbg{background-size:contain!important;background-position:center center!important;background-color:#171717!important}
@media(max-width:680px){.cf-about-banner,.cf-news-banner{height:360px!important}}
/* Full-width group banners: proportional height keeps the complete face area visible. */
.cf-about-banner,.cf-news-banner{height:45vw!important;min-height:0!important;max-height:none!important;background-size:cover!important;background-position:center 10%!important}
.cf-about-banner .mkdf-title-wrapper,.cf-news-banner .mkdf-title-wrapper{height:100%!important}
#rev_slider_3_1_wrapper,#rev_slider_3_1{height:45vw!important;min-height:0!important;max-height:none!important}
#rev_slider_3_1 rs-slide[data-key="rs-6"] rs-sbg{background-size:cover!important;background-position:center 10%!important}
@media(max-width:680px){.cf-about-banner .mkdf-page-title,.cf-news-banner .mkdf-page-title{font-size:26px!important}.cf-news-banner .mkdf-title-inner{padding-bottom:12px!important}}
/* News title follows the centered editorial treatment of the other banners. */
.cf-news-banner .mkdf-title-inner{vertical-align:middle!important;padding:0!important;text-align:center!important}
.cf-news-banner .mkdf-title-inner .mkdf-grid{width:100%!important;padding:0 20px;box-sizing:border-box}
.cf-news-banner .mkdf-title-info{display:block!important;width:100%!important;text-align:center!important;padding:0!important}
.cf-news-banner .mkdf-breadcrumbs-info{display:none!important}
.cf-news-banner .mkdf-page-title{font-size:clamp(32px,5vw,80px)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:1px;text-transform:uppercase;margin:0!important}
.cf-news-banner .mkdf-page-title:before{content:'Stay inspired';display:block;font-family:quentinregular,cursive;font-size:clamp(28px,4vw,66px);line-height:1.25;font-weight:400;letter-spacing:0;text-transform:none;margin-bottom:12px}
.cf-contact-visit{max-width:1100px;margin:0 auto;padding:48px 30px;display:flex;justify-content:space-between;align-items:center;gap:32px;box-sizing:border-box}
.cf-visit-eyebrow{color:#927344;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.cf-contact-visit h2{font-size:30px;line-height:1.25;margin:12px 0 15px;text-transform:uppercase}
.cf-contact-visit p{font-size:15px;line-height:1.8;margin:0}
.cf-visit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;flex-shrink:0}
.cf-visit-actions a{font-size:13px;font-weight:600}
.cf-visit-actions .cf-visit-book{background:#111;color:#fff;padding:16px 24px;letter-spacing:1px;text-transform:uppercase;font-size:11px}
@media(max-width:680px){.cf-contact-visit{flex-direction:column;align-items:flex-start;padding:32px 20px}.cf-contact-visit h2{font-size:25px}}
@media(min-width:1100px){.cf-team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}}
@media(min-width:768px) and (max-width:1099px){.cf-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
@media(min-width:1100px){.cf-team-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:36px}.cf-team-card{grid-column:span 2}.cf-team-card:nth-child(4){grid-column:2/span 2}.cf-team-card:nth-child(5){grid-column:4/span 2}}
rs-slide[data-key^="rs-cf-highlight-"] rs-sbg-wrap::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);pointer-events:none;z-index:1}
/* Homepage banner contrast: red script and white formerly red headings. */
#rev_slider_2_1 rs-layer[id$="-layer-2"],
#rev_slider_2_1 rs-layer[id$="-layer-2"] span{color:#c91f32!important;text-shadow:0 1px 3px rgba(0,0,0,.8)}
#rev_slider_2_1 #slider-2-slide-3-layer-1,
#rev_slider_2_1 #slider-2-slide-4-layer-3{color:#fff!important;text-shadow:0 2px 6px rgba(0,0,0,.65)}
@media(min-width:1100px){.cf-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cf-team-card,.cf-team-card:nth-child(4),.cf-team-card:nth-child(5){grid-column:auto}}
