.elementor-1141 .elementor-element.elementor-element-dcd2c9d{--display:flex;--min-height:850px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:75px 46px;--row-gap:75px;--column-gap:46px;--flex-wrap:wrap;--align-content:center;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1141 .elementor-element.elementor-element-dcd2c9d:not(.elementor-motion-effects-element-type-background), .elementor-1141 .elementor-element.elementor-element-dcd2c9d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#050505;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-1141 .elementor-element.elementor-element-ec7892b{width:var( --container-widget-width, 84% );max-width:84%;--container-widget-width:84%;--container-widget-flex-grow:0;}.elementor-1141 .elementor-element.elementor-element-ec7892b.elementor-element{--align-self:center;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-wrapper{text-align:center;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title{margin-block-end:0px;color:#E0A000;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title, .elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title a{font-family:"Poppins", Sans-serif;font-size:48px;font-weight:600;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-description{font-family:"Poppins", Sans-serif;font-size:30px;font-weight:600;color:#FFFFFF00;}.elementor-1141 .elementor-element.elementor-element-2145462{--display:flex;--min-height:522px;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1141 .elementor-element.elementor-element-1b30bfa{--display:flex;--min-height:163px;--justify-content:center;--border-radius:10px 10px 10px 10px;--margin-top:0px;--margin-bottom:-198px;--margin-left:0px;--margin-right:87px;}.elementor-1141 .elementor-element.elementor-element-1b30bfa:not(.elementor-motion-effects-element-type-background), .elementor-1141 .elementor-element.elementor-element-1b30bfa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #E0A00078 0%, #FFFFFF00 100%);}.elementor-1141 .elementor-element.elementor-element-1b30bfa.e-con{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1141 .elementor-element.elementor-element-a6bfd73{width:var( --container-widget-width, 96% );max-width:96%;--container-widget-width:96%;--container-widget-flex-grow:0;z-index:8;}.elementor-1141 .elementor-element.elementor-element-a6bfd73 > .elementor-widget-container{margin:-17px 0px 0px 0px;border-style:solid;border-width:0px 0px 0px 6px;border-color:#E0A000;border-radius:16px 16px 16px 16px;}.elementor-1141 .elementor-element.elementor-element-a6bfd73.elementor-element{--align-self:flex-start;}.elementor-1141 .elementor-element.elementor-element-a6bfd73 img{width:100%;max-width:100%;height:100%;filter:brightness( 99% ) contrast( 118% ) saturate( 121% ) blur( 0px ) hue-rotate( 0deg );border-radius:8px 8px 8px 8px;}.elementor-1141 .elementor-element.elementor-element-94cf6c5{--display:flex;--min-height:327px;--justify-content:center;--border-radius:10px 10px 10px 10px;--margin-top:-375px;--margin-bottom:0px;--margin-left:13px;--margin-right:0px;}.elementor-1141 .elementor-element.elementor-element-94cf6c5:not(.elementor-motion-effects-element-type-background), .elementor-1141 .elementor-element.elementor-element-94cf6c5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #E0A00078 0%, #FFFFFF00 100%);}.elementor-1141 .elementor-element.elementor-element-94cf6c5.e-con{--align-self:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1141 .elementor-element.elementor-element-d30ffbc{width:var( --container-widget-width, 42% );max-width:42%;--container-widget-width:42%;--container-widget-flex-grow:0;text-align:start;font-family:"Poppins", Sans-serif;font-size:19px;font-weight:300;color:#FFFFFF;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1141 .elementor-element.elementor-element-8bbe999 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1141 .elementor-element.elementor-element-8bbe999 .elementor-button{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:500;fill:#000000;color:#000000;border-radius:5px 5px 5px 5px;padding:18px 18px 18px 18px;}.elementor-1141 .elementor-element.elementor-element-a441adc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-1141 .elementor-element.elementor-element-2145462{--width:500px;}.elementor-1141 .elementor-element.elementor-element-1b30bfa{--width:95%;}}@media(max-width:1024px){.elementor-1141 .elementor-element.elementor-element-dcd2c9d{--padding-top:14px;--padding-bottom:14px;--padding-left:14px;--padding-right:14px;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title, .elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title a{font-size:38px;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-description{font-size:23px;}.elementor-1141 .elementor-element.elementor-element-d30ffbc{width:100%;max-width:100%;}}@media(max-width:767px){.elementor-1141 .elementor-element.elementor-element-dcd2c9d{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:50px;--padding-bottom:50px;--padding-left:12px;--padding-right:15px;}.elementor-1141 .elementor-element.elementor-element-ec7892b{width:var( --container-widget-width, 96% );max-width:96%;--container-widget-width:96%;--container-widget-flex-grow:0;}.elementor-1141 .elementor-element.elementor-element-ec7892b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title, .elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-title a{font-size:8vw;}.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-description{font-size:5vw;}.elementor-1141 .elementor-element.elementor-element-2145462{--width:96%;--min-height:440px;}.elementor-1141 .elementor-element.elementor-element-1b30bfa{--width:96%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1141 .elementor-element.elementor-element-a6bfd73 > .elementor-widget-container{margin:-230px -15px 0px 16px;}.elementor-1141 .elementor-element.elementor-element-a6bfd73{--container-widget-width:89%;--container-widget-flex-grow:0;width:var( --container-widget-width, 89% );max-width:89%;}.elementor-1141 .elementor-element.elementor-element-94cf6c5{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1141 .elementor-element.elementor-element-d30ffbc{font-size:4.7vw;}}/* Start custom CSS for icon-box, class: .elementor-element-ec7892b */.elementor-1141 .elementor-element.elementor-element-ec7892b .elementor-icon-box-description{
    background-image: linear-gradient(to right, #fff, #fafafa, #bc9600);
    background-clip: text;
    -webkit-background-clip: text;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8bbe999 */.elementor-1141 .elementor-element.elementor-element-8bbe999 .elementor-button{
    transition: 0.5s;
    background: linear-gradient(243deg, #d2b956, #fff, #d1a300);
    background-size: 200% 200%;

    -webkit-animation: AnimationName 3s ease infinite;
    -moz-animation: AnimationName 3s ease infinite;
    animation: AnimationName 3s ease infinite;
}

.elementor-1141 .elementor-element.elementor-element-8bbe999 .elementor-button:hover{
    scale : 0.99;
    background: linear-gradient(243deg, #d2b956, #d1a300);
    background-size: 300% 300%;

    -webkit-animation: AnimationName 1s ease infinite;
    -moz-animation: AnimationName 1s ease infinite;
    animation: AnimationName 1s ease infinite;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b11507c *//* ============================================================
   FLOR CABELEIREIRA — Ozonioterapia Capilar
   CSS para Elementor/WordPress
   Cole em: Aparência > Personalizar > CSS adicional
   OU no campo CSS do widget HTML do Elementor
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* --- TOKENS --- */
:root {
  --flor-gold: #D4A843;
  --flor-gold-dark: #c49a3a;
  --flor-bg-dark: #0d0d0d;
  --flor-bg-mid: #111111;
  --flor-text: #9ca3af;
  --flor-white: #ffffff;
  --flor-border: rgba(255,255,255,0.06);
  --flor-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --flor-radius: 16px;
  --flor-transition: all 0.3s ease;
}

/* --- BASE --- */
.flor-gold { color: var(--flor-gold) !important; }
.flor-white { color: var(--flor-white) !important; }
.flor-subheading { color: var(--flor-white); font-size: 1.1rem; font-weight: 600; padding-top: 8px; }
.flor-text-block p { color: var(--flor-text); line-height: 1.75; margin-bottom: 12px; }

/* --- CONTAINER --- */
.flor-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.flor-container--narrow { max-width: 768px; }

/* --- SECTIONS --- */
.flor-section { padding: 80px 0; position: relative; overflow: hidden; }
.flor-section--dark { background: #0d0d0d; }
.flor-section--darker { background: #090909; }
.flor-section--mid { background: #111111; }
.flor-accent-line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, rgba(212,168,67,0.2), transparent); }

/* --- SECTION HEADER --- */
.flor-section-header { text-align: center; max-width: 760px; margin: 0 auto 60px; }
.flor-section-title { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 700; color: var(--flor-white); line-height: 1.25; margin-bottom: 16px; }
.flor-section-title--left { text-align: left; }
.flor-section-subtitle { font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: var(--flor-text); line-height: 1.7; }
.flor-section-subtitle--left { text-align: left; margin-bottom: 28px; }

/* --- BADGE --- */
.flor-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.3); border-radius: 50px; padding: 6px 16px; font-size: 0.875rem; font-weight: 500; color: var(--flor-gold); letter-spacing: 0.02em; margin-bottom: 24px; }

/* --- BUTTON --- */
.flor-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; border-radius: 50px; cursor: pointer; text-decoration: none !important; transition: var(--flor-transition); border: none; outline: none; }
.flor-btn--primary { background: var(--flor-gold); color: #000 !important; padding: 16px 32px; font-size: 1rem; box-shadow: 0 8px 30px rgba(212,168,67,0.2); }
.flor-btn--primary:hover { background: var(--flor-gold-dark); transform: scale(1.04); }
.flor-btn--lg { padding: 20px 40px; font-size: 1.1rem; }

/* --- GLOW --- */
.flor-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; filter: blur(150px); pointer-events: none; }
.flor-glow--center { background: rgba(212,168,67,0.05); top: 50%; left: 50%; transform: translate(-50%,-50%); }
.flor-glow--right { background: rgba(212,168,67,0.05); top: 0; right: -200px; }

/* --- GRID --- */
.flor-grid { display: grid; gap: 24px; }
.flor-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* --- TWO COL --- */
.flor-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.flor-two-col--reverse .flor-two-col__img { order: 2; }
.flor-two-col--reverse .flor-two-col__content { order: 1; }
@media (max-width: 900px) {
  .flor-two-col { grid-template-columns: 1fr; gap: 36px; }
  .flor-two-col--reverse .flor-two-col__img,
  .flor-two-col--reverse .flor-two-col__content { order: unset; }
}

/* --- ROUNDED IMAGE --- */
.flor-rounded-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--flor-radius); display: block; }
.flor-two-col__img { border-radius: var(--flor-radius); overflow: hidden; }
.flor-two-col__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--flor-radius); }

/* --- IMAGE GRID --- */
.flor-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.flor-img-grid__col { display: flex; flex-direction: column; gap: 16px; }
.flor-img-grid__col img { border-radius: var(--flor-radius); object-fit: cover; width: 100%; }
.flor-img-grid__col img:first-child { aspect-ratio: 3/4; }
.flor-img-grid__col img:last-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset { margin-top: 32px; }
.flor-img-grid__col--offset img:first-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset img:last-child { aspect-ratio: 3/4; }

/* --- CARD --- */
.flor-card { background: linear-gradient(to bottom, rgba(255,255,255,0.05), transparent); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; transition: border-color 0.5s ease; }
.flor-card:hover { border-color: rgba(212,168,67,0.3); }
.flor-card__icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: background 0.4s; }
.flor-card:hover .flor-card__icon { background: rgba(212,168,67,0.2); }
.flor-card__title { font-size: 1.05rem; font-weight: 600; color: var(--flor-white); margin-bottom: 10px; }
.flor-card__text { color: var(--flor-text); font-size: 0.9rem; line-height: 1.7; }
.flor-card--img { padding: 0; overflow: hidden; }
.flor-card--img .flor-card__photo { aspect-ratio: 4/3; overflow: hidden; }
.flor-card--img .flor-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.flor-card--img:hover .flor-card__photo img { transform: scale(1.05); }
.flor-card--img .flor-card__body { padding: 20px 24px 24px; }

/* --- STEPS --- */
.flor-steps { display: flex; flex-direction: column; gap: 28px; margin-top: 24px; }
.flor-step { display: flex; gap: 20px; align-items: flex-start; }
.flor-step__num { min-width: 44px; height: 44px; border-radius: 12px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.2); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; color: var(--flor-gold); }
.flor-step__title { font-size: 0.95rem; font-weight: 600; color: var(--flor-white); margin-bottom: 6px; }
.flor-step__text { font-size: 0.875rem; color: var(--flor-text); line-height: 1.65; }

/* --- CHECKLIST --- */
.flor-checklist { list-style: none; display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.flor-checklist li { display: flex; align-items: flex-start; gap: 12px; color: #d1d5db; font-size: 0.95rem; }
.flor-checklist svg { flex-shrink: 0; margin-top: 2px; }

/* --- TESTIMONIAL --- */
.flor-testimonial { background: rgba(255,255,255,0.04); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; position: relative; }
.flor-stars { color: var(--flor-gold); font-size: 1.1rem; margin-bottom: 14px; letter-spacing: 2px; }
.flor-testimonial__text { color: #d1d5db; font-size: 0.9rem; line-height: 1.75; margin-bottom: 20px; }
.flor-testimonial__author { display: flex; align-items: center; gap: 12px; }
.flor-testimonial__author span { display: block; color: var(--flor-text); font-size: 0.8rem; margin-top: 2px; }
.flor-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; font-weight: 600; color: var(--flor-gold); }

/* --- FAQ --- */
.flor-faq { border-top: 1px solid var(--flor-border); }
.flor-faq__item { border-bottom: 1px solid var(--flor-border); }
.flor-faq__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; background: none; border: none; cursor: pointer; color: var(--flor-white); font-size: 0.95rem; font-weight: 500; text-align: left; gap: 24px; transition: color 0.2s; }
.flor-faq__btn:hover { color: var(--flor-gold); }
.flor-faq__btn span { flex: 1; }
.flor-faq__icon { flex-shrink: 0; transition: transform 0.3s ease; }
.flor-faq__icon.open { transform: rotate(180deg); }
.flor-faq__answer { overflow: hidden; max-height: 0; transition: max-height 0.35s ease, padding 0.35s ease; }
.flor-faq__answer.open { max-height: 400px; padding-bottom: 20px; }
.flor-faq__answer p { color: var(--flor-text); font-size: 0.9rem; line-height: 1.75; }

/* --- HERO --- */
.flor-hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.flor-hero__bg { position: absolute; inset: 0; }
.flor-hero__img { width: 100%; height: 100%; object-fit: cover; }
.flor-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.45) 100%); }
.flor-hero .flor-container { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 80px; }
.flor-hero__content { max-width: 680px; }
.flor-hero__title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; color: var(--flor-white); line-height: 1.15; margin-bottom: 20px; }
.flor-hero__subtitle { font-size: clamp(1rem, 2vw, 1.25rem); color: #d1d5db; line-height: 1.65; margin-bottom: 12px; font-weight: 300; }
.flor-hero__subtitle strong { color: var(--flor-white); font-weight: 500; }
.flor-hero__text { font-size: clamp(0.9rem, 1.5vw, 1.05rem); color: #9ca3af; line-height: 1.65; margin-bottom: 36px; }
.flor-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; }
.flor-scroll-indicator { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 1; width: 24px; height: 40px; border: 2px solid rgba(212,168,67,0.4); border-radius: 50px; display: flex; justify-content: center; padding-top: 6px; animation: florScrollBounce 2s infinite; }
.flor-scroll-indicator__inner { width: 5px; height: 5px; background: var(--flor-gold); border-radius: 50%; }

/* --- FINAL CTA --- */
.flor-cta { position: relative; padding: 100px 0; overflow: hidden; text-align: center; }
.flor-cta__bg { position: absolute; inset: 0; }
.flor-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.flor-cta__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.8); }

/* --- WHATSAPP FLOAT --- */
.flor-whatsapp-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(37,211,102,0.35); transition: transform 0.2s ease, opacity 0.3s ease; opacity: 0; pointer-events: none; }
.flor-whatsapp-float.visible { opacity: 1; pointer-events: all; }
.flor-whatsapp-float:hover { transform: scale(1.1); }

/* --- ANIMATION --- */
.flor-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.flor-fade-up.visible { opacity: 1; transform: translateY(0); }

@keyframes florScrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .flor-section { padding: 60px 0; }
  .flor-grid--3 { grid-template-columns: 1fr; }
  .flor-img-grid { display: none; }
  .flor-cta { padding: 80px 0; }
  .flor-hero { min-height: 85vh; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-81e7013 *//* ============================================================
   FLOR CABELEIREIRA — Ozonioterapia Capilar
   CSS para Elementor/WordPress
   Cole em: Aparência > Personalizar > CSS adicional
   OU no campo CSS do widget HTML do Elementor
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* --- TOKENS --- */
:root {
  --flor-gold: #D4A843;
  --flor-gold-dark: #c49a3a;
  --flor-bg-dark: #0d0d0d;
  --flor-bg-mid: #111111;
  --flor-text: #9ca3af;
  --flor-white: #ffffff;
  --flor-border: rgba(255,255,255,0.06);
  --flor-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --flor-radius: 16px;
  --flor-transition: all 0.3s ease;
}

/* --- BASE --- */
.flor-gold { color: var(--flor-gold) !important; }
.flor-white { color: var(--flor-white) !important; }
.flor-subheading { color: var(--flor-white); font-size: 1.1rem; font-weight: 600; padding-top: 8px; }
.flor-text-block p { color: var(--flor-text); line-height: 1.75; margin-bottom: 12px; }

/* --- CONTAINER --- */
.flor-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.flor-container--narrow { max-width: 768px; }

/* --- SECTIONS --- */
.flor-section { padding: 80px 0; position: relative; overflow: hidden; }
.flor-section--dark { background: #0d0d0d; }
.flor-section--darker { background: #090909; }
.flor-section--mid { background: #111111; }
.flor-accent-line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, rgba(212,168,67,0.2), transparent); }

/* --- SECTION HEADER --- */
.flor-section-header { text-align: center; max-width: 760px; margin: 0 auto 60px; }
.flor-section-title { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 700; color: var(--flor-white); line-height: 1.25; margin-bottom: 16px; }
.flor-section-title--left { text-align: left; }
.flor-section-subtitle { font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: var(--flor-text); line-height: 1.7; }
.flor-section-subtitle--left { text-align: left; margin-bottom: 28px; }

/* --- BADGE --- */
.flor-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.3); border-radius: 50px; padding: 6px 16px; font-size: 0.875rem; font-weight: 500; color: var(--flor-gold); letter-spacing: 0.02em; margin-bottom: 24px; }

/* --- BUTTON --- */
.flor-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; border-radius: 50px; cursor: pointer; text-decoration: none !important; transition: var(--flor-transition); border: none; outline: none; }
.flor-btn--primary { background: var(--flor-gold); color: #000 !important; padding: 16px 32px; font-size: 1rem; box-shadow: 0 8px 30px rgba(212,168,67,0.2); }
.flor-btn--primary:hover { background: var(--flor-gold-dark); transform: scale(1.04); }
.flor-btn--lg { padding: 20px 40px; font-size: 1.1rem; }

/* --- GLOW --- */
.flor-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; filter: blur(150px); pointer-events: none; }
.flor-glow--center { background: rgba(212,168,67,0.05); top: 50%; left: 50%; transform: translate(-50%,-50%); }
.flor-glow--right { background: rgba(212,168,67,0.05); top: 0; right: -200px; }

/* --- GRID --- */
.flor-grid { display: grid; gap: 24px; }
.flor-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* --- TWO COL --- */
.flor-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.flor-two-col--reverse .flor-two-col__img { order: 2; }
.flor-two-col--reverse .flor-two-col__content { order: 1; }
@media (max-width: 900px) {
  .flor-two-col { grid-template-columns: 1fr; gap: 36px; }
  .flor-two-col--reverse .flor-two-col__img,
  .flor-two-col--reverse .flor-two-col__content { order: unset; }
}

/* --- ROUNDED IMAGE --- */
.flor-rounded-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--flor-radius); display: block; }
.flor-two-col__img { border-radius: var(--flor-radius); overflow: hidden; }
.flor-two-col__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--flor-radius); }

/* --- IMAGE GRID --- */
.flor-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.flor-img-grid__col { display: flex; flex-direction: column; gap: 16px; }
.flor-img-grid__col img { border-radius: var(--flor-radius); object-fit: cover; width: 100%; }
.flor-img-grid__col img:first-child { aspect-ratio: 3/4; }
.flor-img-grid__col img:last-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset { margin-top: 32px; }
.flor-img-grid__col--offset img:first-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset img:last-child { aspect-ratio: 3/4; }

/* --- CARD --- */
.flor-card { background: linear-gradient(to bottom, rgba(255,255,255,0.05), transparent); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; transition: border-color 0.5s ease; }
.flor-card:hover { border-color: rgba(212,168,67,0.3); }
.flor-card__icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: background 0.4s; }
.flor-card:hover .flor-card__icon { background: rgba(212,168,67,0.2); }
.flor-card__title { font-size: 1.05rem; font-weight: 600; color: var(--flor-white); margin-bottom: 10px; }
.flor-card__text { color: var(--flor-text); font-size: 0.9rem; line-height: 1.7; }
.flor-card--img { padding: 0; overflow: hidden; }
.flor-card--img .flor-card__photo { aspect-ratio: 4/3; overflow: hidden; }
.flor-card--img .flor-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.flor-card--img:hover .flor-card__photo img { transform: scale(1.05); }
.flor-card--img .flor-card__body { padding: 20px 24px 24px; }

/* --- STEPS --- */
.flor-steps { display: flex; flex-direction: column; gap: 28px; margin-top: 24px; }
.flor-step { display: flex; gap: 20px; align-items: flex-start; }
.flor-step__num { min-width: 44px; height: 44px; border-radius: 12px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.2); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; color: var(--flor-gold); }
.flor-step__title { font-size: 0.95rem; font-weight: 600; color: var(--flor-white); margin-bottom: 6px; }
.flor-step__text { font-size: 0.875rem; color: var(--flor-text); line-height: 1.65; }

/* --- CHECKLIST --- */
.flor-checklist { list-style: none; display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.flor-checklist li { display: flex; align-items: flex-start; gap: 12px; color: #d1d5db; font-size: 0.95rem; }
.flor-checklist svg { flex-shrink: 0; margin-top: 2px; }

/* --- TESTIMONIAL --- */
.flor-testimonial { background: rgba(255,255,255,0.04); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; position: relative; }
.flor-stars { color: var(--flor-gold); font-size: 1.1rem; margin-bottom: 14px; letter-spacing: 2px; }
.flor-testimonial__text { color: #d1d5db; font-size: 0.9rem; line-height: 1.75; margin-bottom: 20px; }
.flor-testimonial__author { display: flex; align-items: center; gap: 12px; }
.flor-testimonial__author span { display: block; color: var(--flor-text); font-size: 0.8rem; margin-top: 2px; }
.flor-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; font-weight: 600; color: var(--flor-gold); }

/* --- FAQ --- */
.flor-faq { border-top: 1px solid var(--flor-border); }
.flor-faq__item { border-bottom: 1px solid var(--flor-border); }
.flor-faq__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; background: none; border: none; cursor: pointer; color: var(--flor-white); font-size: 0.95rem; font-weight: 500; text-align: left; gap: 24px; transition: color 0.2s; }
.flor-faq__btn:hover { color: var(--flor-gold); }
.flor-faq__btn span { flex: 1; }
.flor-faq__icon { flex-shrink: 0; transition: transform 0.3s ease; }
.flor-faq__icon.open { transform: rotate(180deg); }
.flor-faq__answer { overflow: hidden; max-height: 0; transition: max-height 0.35s ease, padding 0.35s ease; }
.flor-faq__answer.open { max-height: 400px; padding-bottom: 20px; }
.flor-faq__answer p { color: var(--flor-text); font-size: 0.9rem; line-height: 1.75; }

/* --- HERO --- */
.flor-hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.flor-hero__bg { position: absolute; inset: 0; }
.flor-hero__img { width: 100%; height: 100%; object-fit: cover; }
.flor-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.45) 100%); }
.flor-hero .flor-container { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 80px; }
.flor-hero__content { max-width: 680px; }
.flor-hero__title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; color: var(--flor-white); line-height: 1.15; margin-bottom: 20px; }
.flor-hero__subtitle { font-size: clamp(1rem, 2vw, 1.25rem); color: #d1d5db; line-height: 1.65; margin-bottom: 12px; font-weight: 300; }
.flor-hero__subtitle strong { color: var(--flor-white); font-weight: 500; }
.flor-hero__text { font-size: clamp(0.9rem, 1.5vw, 1.05rem); color: #9ca3af; line-height: 1.65; margin-bottom: 36px; }
.flor-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; }
.flor-scroll-indicator { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 1; width: 24px; height: 40px; border: 2px solid rgba(212,168,67,0.4); border-radius: 50px; display: flex; justify-content: center; padding-top: 6px; animation: florScrollBounce 2s infinite; }
.flor-scroll-indicator__inner { width: 5px; height: 5px; background: var(--flor-gold); border-radius: 50%; }

/* --- FINAL CTA --- */
.flor-cta { position: relative; padding: 100px 0; overflow: hidden; text-align: center; }
.flor-cta__bg { position: absolute; inset: 0; }
.flor-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.flor-cta__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.8); }

/* --- WHATSAPP FLOAT --- */
.flor-whatsapp-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(37,211,102,0.35); transition: transform 0.2s ease, opacity 0.3s ease; opacity: 0; pointer-events: none; }
.flor-whatsapp-float.visible { opacity: 1; pointer-events: all; }
.flor-whatsapp-float:hover { transform: scale(1.1); }

/* --- ANIMATION --- */
.flor-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.flor-fade-up.visible { opacity: 1; transform: translateY(0); }

@keyframes florScrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .flor-section { padding: 60px 0; }
  .flor-grid--3 { grid-template-columns: 1fr; }
  .flor-img-grid { display: none; }
  .flor-cta { padding: 80px 0; }
  .flor-hero { min-height: 85vh; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4ccd800 *//* ============================================================
   FLOR CABELEIREIRA — Ozonioterapia Capilar
   CSS para Elementor/WordPress
   Cole em: Aparência > Personalizar > CSS adicional
   OU no campo CSS do widget HTML do Elementor
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* --- TOKENS --- */
:root {
  --flor-gold: #D4A843;
  --flor-gold-dark: #c49a3a;
  --flor-bg-dark: #0d0d0d;
  --flor-bg-mid: #111111;
  --flor-text: #9ca3af;
  --flor-white: #ffffff;
  --flor-border: rgba(255,255,255,0.06);
  --flor-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --flor-radius: 16px;
  --flor-transition: all 0.3s ease;
}

/* --- BASE --- */
.flor-gold { color: var(--flor-gold) !important; }
.flor-white { color: var(--flor-white) !important; }
.flor-subheading { color: var(--flor-white); font-size: 1.1rem; font-weight: 600; padding-top: 8px; }
.flor-text-block p { color: var(--flor-text); line-height: 1.75; margin-bottom: 12px; }

/* --- CONTAINER --- */
.flor-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.flor-container--narrow { max-width: 768px; }

/* --- SECTIONS --- */
.flor-section { padding: 80px 0; position: relative; overflow: hidden; }
.flor-section--dark { background: #0d0d0d; }
.flor-section--darker { background: #090909; }
.flor-section--mid { background: #111111; }
.flor-accent-line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, rgba(212,168,67,0.2), transparent); }

/* --- SECTION HEADER --- */
.flor-section-header { text-align: center; max-width: 760px; margin: 0 auto 60px; }
.flor-section-title { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 700; color: var(--flor-white); line-height: 1.25; margin-bottom: 16px; }
.flor-section-title--left { text-align: left; }
.flor-section-subtitle { font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: var(--flor-text); line-height: 1.7; }
.flor-section-subtitle--left { text-align: left; margin-bottom: 28px; }

/* --- BADGE --- */
.flor-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.3); border-radius: 50px; padding: 6px 16px; font-size: 0.875rem; font-weight: 500; color: var(--flor-gold); letter-spacing: 0.02em; margin-bottom: 24px; }

/* --- BUTTON --- */
.flor-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; border-radius: 50px; cursor: pointer; text-decoration: none !important; transition: var(--flor-transition); border: none; outline: none; }
.flor-btn--primary { background: var(--flor-gold); color: #000 !important; padding: 16px 32px; font-size: 1rem; box-shadow: 0 8px 30px rgba(212,168,67,0.2); }
.flor-btn--primary:hover { background: var(--flor-gold-dark); transform: scale(1.04); }
.flor-btn--lg { padding: 20px 40px; font-size: 1.1rem; }

/* --- GLOW --- */
.flor-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; filter: blur(150px); pointer-events: none; }
.flor-glow--center { background: rgba(212,168,67,0.05); top: 50%; left: 50%; transform: translate(-50%,-50%); }
.flor-glow--right { background: rgba(212,168,67,0.05); top: 0; right: -200px; }

/* --- GRID --- */
.flor-grid { display: grid; gap: 24px; }
.flor-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* --- TWO COL --- */
.flor-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.flor-two-col--reverse .flor-two-col__img { order: 2; }
.flor-two-col--reverse .flor-two-col__content { order: 1; }
@media (max-width: 900px) {
  .flor-two-col { grid-template-columns: 1fr; gap: 36px; }
  .flor-two-col--reverse .flor-two-col__img,
  .flor-two-col--reverse .flor-two-col__content { order: unset; }
}

/* --- ROUNDED IMAGE --- */
.flor-rounded-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--flor-radius); display: block; }
.flor-two-col__img { border-radius: var(--flor-radius); overflow: hidden; }
.flor-two-col__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--flor-radius); }

/* --- IMAGE GRID --- */
.flor-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.flor-img-grid__col { display: flex; flex-direction: column; gap: 16px; }
.flor-img-grid__col img { border-radius: var(--flor-radius); object-fit: cover; width: 100%; }
.flor-img-grid__col img:first-child { aspect-ratio: 3/4; }
.flor-img-grid__col img:last-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset { margin-top: 32px; }
.flor-img-grid__col--offset img:first-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset img:last-child { aspect-ratio: 3/4; }

/* --- CARD --- */
.flor-card { background: linear-gradient(to bottom, rgba(255,255,255,0.05), transparent); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; transition: border-color 0.5s ease; }
.flor-card:hover { border-color: rgba(212,168,67,0.3); }
.flor-card__icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: background 0.4s; }
.flor-card:hover .flor-card__icon { background: rgba(212,168,67,0.2); }
.flor-card__title { font-size: 1.05rem; font-weight: 600; color: var(--flor-white); margin-bottom: 10px; }
.flor-card__text { color: var(--flor-text); font-size: 0.9rem; line-height: 1.7; }
.flor-card--img { padding: 0; overflow: hidden; }
.flor-card--img .flor-card__photo { aspect-ratio: 4/3; overflow: hidden; }
.flor-card--img .flor-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.flor-card--img:hover .flor-card__photo img { transform: scale(1.05); }
.flor-card--img .flor-card__body { padding: 20px 24px 24px; }

/* --- STEPS --- */
.flor-steps { display: flex; flex-direction: column; gap: 28px; margin-top: 24px; }
.flor-step { display: flex; gap: 20px; align-items: flex-start; }
.flor-step__num { min-width: 44px; height: 44px; border-radius: 12px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.2); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; color: var(--flor-gold); }
.flor-step__title { font-size: 0.95rem; font-weight: 600; color: var(--flor-white); margin-bottom: 6px; }
.flor-step__text { font-size: 0.875rem; color: var(--flor-text); line-height: 1.65; }

/* --- CHECKLIST --- */
.flor-checklist { list-style: none; display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.flor-checklist li { display: flex; align-items: flex-start; gap: 12px; color: #d1d5db; font-size: 0.95rem; }
.flor-checklist svg { flex-shrink: 0; margin-top: 2px; }

/* --- TESTIMONIAL --- */
.flor-testimonial { background: rgba(255,255,255,0.04); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; position: relative; }
.flor-stars { color: var(--flor-gold); font-size: 1.1rem; margin-bottom: 14px; letter-spacing: 2px; }
.flor-testimonial__text { color: #d1d5db; font-size: 0.9rem; line-height: 1.75; margin-bottom: 20px; }
.flor-testimonial__author { display: flex; align-items: center; gap: 12px; }
.flor-testimonial__author span { display: block; color: var(--flor-text); font-size: 0.8rem; margin-top: 2px; }
.flor-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; font-weight: 600; color: var(--flor-gold); }

/* --- FAQ --- */
.flor-faq { border-top: 1px solid var(--flor-border); }
.flor-faq__item { border-bottom: 1px solid var(--flor-border); }
.flor-faq__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; background: none; border: none; cursor: pointer; color: var(--flor-white); font-size: 0.95rem; font-weight: 500; text-align: left; gap: 24px; transition: color 0.2s; }
.flor-faq__btn:hover { color: var(--flor-gold); }
.flor-faq__btn span { flex: 1; }
.flor-faq__icon { flex-shrink: 0; transition: transform 0.3s ease; }
.flor-faq__icon.open { transform: rotate(180deg); }
.flor-faq__answer { overflow: hidden; max-height: 0; transition: max-height 0.35s ease, padding 0.35s ease; }
.flor-faq__answer.open { max-height: 400px; padding-bottom: 20px; }
.flor-faq__answer p { color: var(--flor-text); font-size: 0.9rem; line-height: 1.75; }

/* --- HERO --- */
.flor-hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.flor-hero__bg { position: absolute; inset: 0; }
.flor-hero__img { width: 100%; height: 100%; object-fit: cover; }
.flor-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.45) 100%); }
.flor-hero .flor-container { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 80px; }
.flor-hero__content { max-width: 680px; }
.flor-hero__title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; color: var(--flor-white); line-height: 1.15; margin-bottom: 20px; }
.flor-hero__subtitle { font-size: clamp(1rem, 2vw, 1.25rem); color: #d1d5db; line-height: 1.65; margin-bottom: 12px; font-weight: 300; }
.flor-hero__subtitle strong { color: var(--flor-white); font-weight: 500; }
.flor-hero__text { font-size: clamp(0.9rem, 1.5vw, 1.05rem); color: #9ca3af; line-height: 1.65; margin-bottom: 36px; }
.flor-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; }
.flor-scroll-indicator { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 1; width: 24px; height: 40px; border: 2px solid rgba(212,168,67,0.4); border-radius: 50px; display: flex; justify-content: center; padding-top: 6px; animation: florScrollBounce 2s infinite; }
.flor-scroll-indicator__inner { width: 5px; height: 5px; background: var(--flor-gold); border-radius: 50%; }

/* --- FINAL CTA --- */
.flor-cta { position: relative; padding: 100px 0; overflow: hidden; text-align: center; }
.flor-cta__bg { position: absolute; inset: 0; }
.flor-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.flor-cta__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.8); }

/* --- WHATSAPP FLOAT --- */
.flor-whatsapp-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(37,211,102,0.35); transition: transform 0.2s ease, opacity 0.3s ease; opacity: 0; pointer-events: none; }
.flor-whatsapp-float.visible { opacity: 1; pointer-events: all; }
.flor-whatsapp-float:hover { transform: scale(1.1); }

/* --- ANIMATION --- */
.flor-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.flor-fade-up.visible { opacity: 1; transform: translateY(0); }

@keyframes florScrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .flor-section { padding: 60px 0; }
  .flor-grid--3 { grid-template-columns: 1fr; }
  .flor-img-grid { display: none; }
  .flor-cta { padding: 80px 0; }
  .flor-hero { min-height: 85vh; }
}/* End custom CSS */
/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* --- TOKENS --- */
:root {
  --flor-gold: #D4A843;
  --flor-gold-dark: #c49a3a;
  --flor-bg-dark: #0d0d0d;
  --flor-bg-mid: #111111;
  --flor-text: #9ca3af;
  --flor-white: #ffffff;
  --flor-border: rgba(255,255,255,0.06);
  --flor-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --flor-radius: 16px;
  --flor-transition: all 0.3s ease;
}

/* --- BASE --- */
.flor-gold { color: var(--flor-gold) !important; }
.flor-white { color: var(--flor-white) !important; }
.flor-subheading { color: var(--flor-white); font-size: 1.1rem; font-weight: 600; padding-top: 8px; }
.flor-text-block p { color: var(--flor-text); line-height: 1.75; margin-bottom: 12px; }

/* --- CONTAINER --- */
.flor-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.flor-container--narrow { max-width: 768px; }

/* --- SECTIONS --- */
.flor-section { padding: 80px 0; position: relative; overflow: hidden; }
.flor-section--dark { background: #0d0d0d; }
.flor-section--darker { background: #090909; }
.flor-section--mid { background: #111111; }
.flor-accent-line { position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, rgba(212,168,67,0.2), transparent); }

/* --- SECTION HEADER --- */
.flor-section-header { text-align: center; max-width: 760px; margin: 0 auto 60px; }
.flor-section-title { font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 700; color: var(--flor-white); line-height: 1.25; margin-bottom: 16px; }
.flor-section-title--left { text-align: left; }
.flor-section-subtitle { font-size: clamp(0.95rem, 1.5vw, 1.1rem); color: var(--flor-text); line-height: 1.7; }
.flor-section-subtitle--left { text-align: left; margin-bottom: 28px; }

/* --- BADGE --- */
.flor-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.3); border-radius: 50px; padding: 6px 16px; font-size: 0.875rem; font-weight: 500; color: var(--flor-gold); letter-spacing: 0.02em; margin-bottom: 24px; }

/* --- BUTTON --- */
.flor-btn { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; border-radius: 50px; cursor: pointer; text-decoration: none !important; transition: var(--flor-transition); border: none; outline: none; }
.flor-btn--primary { background: var(--flor-gold); color: #000 !important; padding: 16px 32px; font-size: 1rem; box-shadow: 0 8px 30px rgba(212,168,67,0.2); }
.flor-btn--primary:hover { background: var(--flor-gold-dark); transform: scale(1.04); }
.flor-btn--lg { padding: 20px 40px; font-size: 1.1rem; }

/* --- GLOW --- */
.flor-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; filter: blur(150px); pointer-events: none; }
.flor-glow--center { background: rgba(212,168,67,0.05); top: 50%; left: 50%; transform: translate(-50%,-50%); }
.flor-glow--right { background: rgba(212,168,67,0.05); top: 0; right: -200px; }

/* --- GRID --- */
.flor-grid { display: grid; gap: 24px; }
.flor-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* --- TWO COL --- */
.flor-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.flor-two-col--reverse .flor-two-col__img { order: 2; }
.flor-two-col--reverse .flor-two-col__content { order: 1; }
@media (max-width: 900px) {
  .flor-two-col { grid-template-columns: 1fr; gap: 36px; }
  .flor-two-col--reverse .flor-two-col__img,
  .flor-two-col--reverse .flor-two-col__content { order: unset; }
}

/* --- ROUNDED IMAGE --- */
.flor-rounded-img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--flor-radius); display: block; }
.flor-two-col__img { border-radius: var(--flor-radius); overflow: hidden; }
.flor-two-col__img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--flor-radius); }

/* --- IMAGE GRID --- */
.flor-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.flor-img-grid__col { display: flex; flex-direction: column; gap: 16px; }
.flor-img-grid__col img { border-radius: var(--flor-radius); object-fit: cover; width: 100%; }
.flor-img-grid__col img:first-child { aspect-ratio: 3/4; }
.flor-img-grid__col img:last-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset { margin-top: 32px; }
.flor-img-grid__col--offset img:first-child { aspect-ratio: 1/1; }
.flor-img-grid__col--offset img:last-child { aspect-ratio: 3/4; }

/* --- CARD --- */
.flor-card { background: linear-gradient(to bottom, rgba(255,255,255,0.05), transparent); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; transition: border-color 0.5s ease; }
.flor-card:hover { border-color: rgba(212,168,67,0.3); }
.flor-card__icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: background 0.4s; }
.flor-card:hover .flor-card__icon { background: rgba(212,168,67,0.2); }
.flor-card__title { font-size: 1.05rem; font-weight: 600; color: var(--flor-white); margin-bottom: 10px; }
.flor-card__text { color: var(--flor-text); font-size: 0.9rem; line-height: 1.7; }
.flor-card--img { padding: 0; overflow: hidden; }
.flor-card--img .flor-card__photo { aspect-ratio: 4/3; overflow: hidden; }
.flor-card--img .flor-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.flor-card--img:hover .flor-card__photo img { transform: scale(1.05); }
.flor-card--img .flor-card__body { padding: 20px 24px 24px; }

/* --- STEPS --- */
.flor-steps { display: flex; flex-direction: column; gap: 28px; margin-top: 24px; }
.flor-step { display: flex; gap: 20px; align-items: flex-start; }
.flor-step__num { min-width: 44px; height: 44px; border-radius: 12px; background: rgba(212,168,67,0.1); border: 1px solid rgba(212,168,67,0.2); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; color: var(--flor-gold); }
.flor-step__title { font-size: 0.95rem; font-weight: 600; color: var(--flor-white); margin-bottom: 6px; }
.flor-step__text { font-size: 0.875rem; color: var(--flor-text); line-height: 1.65; }

/* --- CHECKLIST --- */
.flor-checklist { list-style: none; display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.flor-checklist li { display: flex; align-items: flex-start; gap: 12px; color: #d1d5db; font-size: 0.95rem; }
.flor-checklist svg { flex-shrink: 0; margin-top: 2px; }

/* --- TESTIMONIAL --- */
.flor-testimonial { background: rgba(255,255,255,0.04); border: 1px solid var(--flor-border); border-radius: var(--flor-radius); padding: 28px 32px; position: relative; }
.flor-stars { color: var(--flor-gold); font-size: 1.1rem; margin-bottom: 14px; letter-spacing: 2px; }
.flor-testimonial__text { color: #d1d5db; font-size: 0.9rem; line-height: 1.75; margin-bottom: 20px; }
.flor-testimonial__author { display: flex; align-items: center; gap: 12px; }
.flor-testimonial__author span { display: block; color: var(--flor-text); font-size: 0.8rem; margin-top: 2px; }
.flor-avatar { width: 40px; height: 40px; border-radius: 50%; background: rgba(212,168,67,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; font-weight: 600; color: var(--flor-gold); }

/* --- FAQ --- */
.flor-faq { border-top: 1px solid var(--flor-border); }
.flor-faq__item { border-bottom: 1px solid var(--flor-border); }
.flor-faq__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 20px 0; background: none; border: none; cursor: pointer; color: var(--flor-white); font-size: 0.95rem; font-weight: 500; text-align: left; gap: 24px; transition: color 0.2s; }
.flor-faq__btn:hover { color: var(--flor-gold); }
.flor-faq__btn span { flex: 1; }
.flor-faq__icon { flex-shrink: 0; transition: transform 0.3s ease; }
.flor-faq__icon.open { transform: rotate(180deg); }
.flor-faq__answer { overflow: hidden; max-height: 0; transition: max-height 0.35s ease, padding 0.35s ease; }
.flor-faq__answer.open { max-height: 400px; padding-bottom: 20px; }
.flor-faq__answer p { color: var(--flor-text); font-size: 0.9rem; line-height: 1.75; }

/* --- HERO --- */
.flor-hero { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.flor-hero__bg { position: absolute; inset: 0; }
.flor-hero__img { width: 100%; height: 100%; object-fit: cover; }
.flor-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.45) 100%); }
.flor-hero .flor-container { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 80px; }
.flor-hero__content { max-width: 680px; }
.flor-hero__title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; color: var(--flor-white); line-height: 1.15; margin-bottom: 20px; }
.flor-hero__subtitle { font-size: clamp(1rem, 2vw, 1.25rem); color: #d1d5db; line-height: 1.65; margin-bottom: 12px; font-weight: 300; }
.flor-hero__subtitle strong { color: var(--flor-white); font-weight: 500; }
.flor-hero__text { font-size: clamp(0.9rem, 1.5vw, 1.05rem); color: #9ca3af; line-height: 1.65; margin-bottom: 36px; }
.flor-hero__cta { display: flex; flex-wrap: wrap; gap: 16px; }
.flor-scroll-indicator { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 1; width: 24px; height: 40px; border: 2px solid rgba(212,168,67,0.4); border-radius: 50px; display: flex; justify-content: center; padding-top: 6px; animation: florScrollBounce 2s infinite; }
.flor-scroll-indicator__inner { width: 5px; height: 5px; background: var(--flor-gold); border-radius: 50%; }

/* --- FINAL CTA --- */
.flor-cta { position: relative; padding: 100px 0; overflow: hidden; text-align: center; }
.flor-cta__bg { position: absolute; inset: 0; }
.flor-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.flor-cta__overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.8); }

/* --- WHATSAPP FLOAT --- */
.flor-whatsapp-float { position: fixed; bottom: 24px; right: 24px; z-index: 9999; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(37,211,102,0.35); transition: transform 0.2s ease, opacity 0.3s ease; opacity: 0; pointer-events: none; }
.flor-whatsapp-float.visible { opacity: 1; pointer-events: all; }
.flor-whatsapp-float:hover { transform: scale(1.1); }

/* --- ANIMATION --- */
.flor-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.flor-fade-up.visible { opacity: 1; transform: translateY(0); }

@keyframes florScrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .flor-section { padding: 60px 0; }
  .flor-grid--3 { grid-template-columns: 1fr; }
  .flor-img-grid { display: none; }
  .flor-cta { padding: 80px 0; }
  .flor-hero { min-height: 85vh; }
}`;/* End custom CSS */