section {
  position: relative;
  overflow: hidden;
}

/* *     * SVG Divider System v1.0     * Un sistema de divisores SVG para crear transiciones elegantes entre secciones     *      * GUÍA DE IMPLEMENTACIÓN:     * 1. Añade la clase base 'divider-shape' al contenedor del divisor     * 2. Especifica la posición con 'divider-top' o 'divider-bottom'     * 3. Elige un estilo con 'divider-style-*' (wave, waves, layers)     * 4. Personaliza con modificadores (altura, anchura, flip, color)     *      * Ejemplo básico:     * <div class="divider-shape divider-bottom divider-style-wave">     *   <svg viewBox="0 0 1200 120" preserveAspectRatio="none">     *     <path class="divider-fill"></path>     *   </svg>     * </div> */

/* Estilos base */

.hero, .hero-alt, .hero-third, .hero-fourth {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

.content, .content-alt, .content-third, .content-fourth {
  background: white;
  color: black;
  padding: 100px 20px;
  margin-top: -1px;
}

/* *     * Sistema de Clases Atómico para Divisores     * ----------------------------------------     *      * 1. CLASE BASE     * divider-shape - Contenedor principal del divisor     *      * 2. POSICIONAMIENTO     * divider-top    - Coloca el divisor en la parte superior     * divider-bottom - Coloca el divisor en la parte inferior     *      * 3. ESTILOS DE FORMA     * divider-style-wave   - Onda simple y suave     * divider-style-waves  - Múltiples ondas superpuestas     * divider-style-layers - Capas diagonales superpuestas     *      * 4. TRANSFORMACIONES     * divider-flip-h - Volteo horizontal     * divider-flip-v - Volteo vertical     *      * 5. DIMENSIONES     * divider-height-sm  - Altura pequeña (50px)     * divider-height-md  - Altura mediana (100px)     * divider-height-lg  - Altura grande (150px)     * divider-width-full - Ancho normal     * divider-width-wide - Ancho extendido (150%)     *      * 6. COLOR     * divider-color-dark - Cambia el relleno a negro     *      * 7. ELEMENTO DE RELLENO     * divider-fill - Clase para el path/grupo SVG */

/* Base styles for shape dividers */

.divider-shape {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 1;
}

.divider-shape svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 100px;
}

.divider-shape .divider-fill {
  fill: #FFFFFF;
}

/* Position variants */

.divider-shape.divider-bottom {
  bottom: 0;
}

.divider-shape.divider-top {
  top: 0;
}

/* Orientation modifiers */

.divider-shape.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-flip-v {
  transform: rotateX(180deg);
}

.divider-shape.divider-color-dark .divider-fill {
  fill: #000000;
}

/* Combined transforms */

.divider-shape.divider-bottom.divider-flip-v {
  transform: rotateX(180deg);
  bottom: -1px;
}

.divider-shape.divider-bottom.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-bottom.divider-flip-v.divider-flip-h {
  transform: rotate(180deg) rotateY(180deg);
}

/* Height variants */

.divider-shape.divider-height-sm svg {
  height: 50px;
}

.divider-shape.divider-height-md svg {
  height: 100px;
}

.divider-shape.divider-height-lg svg {
  height: 150px;
}

/* Width variants */

.divider-shape.divider-width-full svg {
  width: calc(100% + 1.3px);
}

.divider-shape.divider-width-wide svg {
  width: calc(150% + 1.3px);
}

/* Shape Variants */

.divider-shape.divider-style-wave svg path {
  d: path("M0,0V6c0,21.6,291,111.46,741,110.26,445.39,3.6,459-88.3,459-110.26V0Z");
}

.divider-shape.divider-style-waves svg {
  height: 150px;
}

.divider-shape.divider-style-waves path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

/* Example usage with new component structure */

.hero-example {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

/* Divisor v1 */

.custom-shape-divider-v1 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v1 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 97px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v1 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v2 */

.custom-shape-divider-v2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v2 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 191px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v2 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v3 */

.custom-shape-divider-v3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.custom-shape-divider-v3 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v3 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v4 - Layered Slants */

.custom-shape-divider-v4 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v4 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v4 .shape-fill {
  fill: #FFFFFF;
}

.hero-fourth {
  position: relative;
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  padding: 100px 20px 150px;
}

/* Shape Variants */

.divider-shape.divider-style-waves-multi svg {
  height: 150px;
}

.divider-shape.divider-style-waves-multi path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

section {
  position: relative;
  overflow: hidden;
}

/* *     * SVG Divider System v1.0     * Un sistema de divisores SVG para crear transiciones elegantes entre secciones     *      * GUÍA DE IMPLEMENTACIÓN:     * 1. Añade la clase base 'divider-shape' al contenedor del divisor     * 2. Especifica la posición con 'divider-top' o 'divider-bottom'     * 3. Elige un estilo con 'divider-style-*' (wave, waves, layers)     * 4. Personaliza con modificadores (altura, anchura, flip, color)     *      * Ejemplo básico:     * <div class="divider-shape divider-bottom divider-style-wave">     *   <svg viewBox="0 0 1200 120" preserveAspectRatio="none">     *     <path class="divider-fill"></path>     *   </svg>     * </div> */

/* Estilos base */

.hero, .hero-alt, .hero-third, .hero-fourth {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

.content, .content-alt, .content-third, .content-fourth {
  background: white;
  color: black;
  padding: 100px 20px;
  margin-top: -1px;
}

/* *     * Sistema de Clases Atómico para Divisores     * ----------------------------------------     *      * 1. CLASE BASE     * divider-shape - Contenedor principal del divisor     *      * 2. POSICIONAMIENTO     * divider-top    - Coloca el divisor en la parte superior     * divider-bottom - Coloca el divisor en la parte inferior     *      * 3. ESTILOS DE FORMA     * divider-style-wave   - Onda simple y suave     * divider-style-waves  - Múltiples ondas superpuestas     * divider-style-layers - Capas diagonales superpuestas     *      * 4. TRANSFORMACIONES     * divider-flip-h - Volteo horizontal     * divider-flip-v - Volteo vertical     *      * 5. DIMENSIONES     * divider-height-sm  - Altura pequeña (50px)     * divider-height-md  - Altura mediana (100px)     * divider-height-lg  - Altura grande (150px)     * divider-width-full - Ancho normal     * divider-width-wide - Ancho extendido (150%)     *      * 6. COLOR     * divider-color-dark - Cambia el relleno a negro     *      * 7. ELEMENTO DE RELLENO     * divider-fill - Clase para el path/grupo SVG */

/* Base styles for shape dividers */

.divider-shape {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 1;
}

.divider-shape svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 100px;
}

.divider-shape .divider-fill {
  fill: #FFFFFF;
}

/* Position variants */

.divider-shape.divider-bottom {
  bottom: 0;
}

.divider-shape.divider-top {
  top: 0;
}

/* Orientation modifiers */

.divider-shape.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-flip-v {
  transform: rotateX(180deg);
}

.divider-shape.divider-color-dark .divider-fill {
  fill: #000000;
}

/* Combined transforms */

.divider-shape.divider-bottom.divider-flip-v {
  transform: rotateX(180deg);
  bottom: -1px;
}

.divider-shape.divider-bottom.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-bottom.divider-flip-v.divider-flip-h {
  transform: rotate(180deg) rotateY(180deg);
}

/* Height variants */

.divider-shape.divider-height-sm svg {
  height: 50px;
}

.divider-shape.divider-height-md svg {
  height: 100px;
}

.divider-shape.divider-height-lg svg {
  height: 150px;
}

/* Width variants */

.divider-shape.divider-width-full svg {
  width: calc(100% + 1.3px);
}

.divider-shape.divider-width-wide svg {
  width: calc(150% + 1.3px);
}

/* Shape Variants */

.divider-shape.divider-style-wave svg path {
  d: path("M0,0V6c0,21.6,291,111.46,741,110.26,445.39,3.6,459-88.3,459-110.26V0Z");
}

.divider-shape.divider-style-waves svg {
  height: 150px;
}

.divider-shape.divider-style-waves path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

/* Example usage with new component structure */

.hero-example {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

/* Divisor v1 */

.custom-shape-divider-v1 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v1 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 97px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v1 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v2 */

.custom-shape-divider-v2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v2 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 191px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v2 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v3 */

.custom-shape-divider-v3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.custom-shape-divider-v3 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v3 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v4 - Layered Slants */

.custom-shape-divider-v4 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v4 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v4 .shape-fill {
  fill: #FFFFFF;
}

.hero-fourth {
  position: relative;
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  padding: 100px 20px 150px;
}

/* Shape Variants */

.divider-shape.divider-style-waves-multi svg {
  height: 150px;
}

.divider-shape.divider-style-waves-multi path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

section {
  position: relative;
  overflow: hidden;
}

/* *     * SVG Divider System v1.0     * Un sistema de divisores SVG para crear transiciones elegantes entre secciones     *      * GUÍA DE IMPLEMENTACIÓN:     * 1. Añade la clase base 'divider-shape' al contenedor del divisor     * 2. Especifica la posición con 'divider-top' o 'divider-bottom'     * 3. Elige un estilo con 'divider-style-*' (wave, waves, layers)     * 4. Personaliza con modificadores (altura, anchura, flip, color)     *      * Ejemplo básico:     * <div class="divider-shape divider-bottom divider-style-wave">     *   <svg viewBox="0 0 1200 120" preserveAspectRatio="none">     *     <path class="divider-fill"></path>     *   </svg>     * </div> */

/* Estilos base */

.hero, .hero-alt, .hero-third, .hero-fourth {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

.content, .content-alt, .content-third, .content-fourth {
  background: white;
  color: black;
  padding: 100px 20px;
  margin-top: -1px;
}

/* *     * Sistema de Clases Atómico para Divisores     * ----------------------------------------     *      * 1. CLASE BASE     * divider-shape - Contenedor principal del divisor     *      * 2. POSICIONAMIENTO     * divider-top    - Coloca el divisor en la parte superior     * divider-bottom - Coloca el divisor en la parte inferior     *      * 3. ESTILOS DE FORMA     * divider-style-wave   - Onda simple y suave     * divider-style-waves  - Múltiples ondas superpuestas     * divider-style-layers - Capas diagonales superpuestas     *      * 4. TRANSFORMACIONES     * divider-flip-h - Volteo horizontal     * divider-flip-v - Volteo vertical     *      * 5. DIMENSIONES     * divider-height-sm  - Altura pequeña (50px)     * divider-height-md  - Altura mediana (100px)     * divider-height-lg  - Altura grande (150px)     * divider-width-full - Ancho normal     * divider-width-wide - Ancho extendido (150%)     *      * 6. COLOR     * divider-color-dark - Cambia el relleno a negro     *      * 7. ELEMENTO DE RELLENO     * divider-fill - Clase para el path/grupo SVG */

/* Base styles for shape dividers */

.divider-shape {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  z-index: 1;
}

.divider-shape svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 100px;
}

.divider-shape .divider-fill {
  fill: #FFFFFF;
}

/* Position variants */

.divider-shape.divider-bottom {
  bottom: 0;
}

.divider-shape.divider-top {
  top: 0;
}

/* Orientation modifiers */

.divider-shape.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-flip-v {
  transform: rotateX(180deg);
}

.divider-shape.divider-color-dark .divider-fill {
  fill: #000000;
}

/* Combined transforms */

.divider-shape.divider-bottom.divider-flip-v {
  transform: rotateX(180deg);
  bottom: -1px;
}

.divider-shape.divider-bottom.divider-flip-h {
  transform: rotateY(180deg);
}

.divider-shape.divider-bottom.divider-flip-v.divider-flip-h {
  transform: rotate(180deg) rotateY(180deg);
}

/* Height variants */

.divider-shape.divider-height-sm svg {
  height: 50px;
}

.divider-shape.divider-height-md svg {
  height: 100px;
}

.divider-shape.divider-height-lg svg {
  height: 150px;
}

/* Width variants */

.divider-shape.divider-width-full svg {
  width: calc(100% + 1.3px);
}

.divider-shape.divider-width-wide svg {
  width: calc(150% + 1.3px);
}

/* Shape Variants */

.divider-shape.divider-style-wave svg path {
  d: path("M0,0V6c0,21.6,291,111.46,741,110.26,445.39,3.6,459-88.3,459-110.26V0Z");
}

.divider-shape.divider-style-waves svg {
  height: 150px;
}

.divider-shape.divider-style-waves path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

/* Example usage with new component structure */

.hero-example {
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  color: white;
  padding: 100px 20px;
  position: relative;
}

/* Divisor v1 */

.custom-shape-divider-v1 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v1 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 97px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v1 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v2 */

.custom-shape-divider-v2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v2 svg {
  position: relative;
  display: block;
  width: calc(127% + 1.3px);
  height: 191px;
  transform: rotateY(180deg);
}

.custom-shape-divider-v2 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v3 */

.custom-shape-divider-v3 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.custom-shape-divider-v3 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v3 .shape-fill {
  fill: #FFFFFF;
}

/* Divisor v4 - Layered Slants */

.custom-shape-divider-v4 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-v4 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 150px;
}

.custom-shape-divider-v4 .shape-fill {
  fill: #FFFFFF;
}

.hero-fourth {
  position: relative;
  background: linear-gradient(135deg, #46bdf4 0%, #3e5bff 100%);
  padding: 100px 20px 150px;
}

/* Shape Variants */

.divider-shape.divider-style-waves-multi svg {
  height: 150px;
}

.divider-shape.divider-style-waves-multi path:nth-child(1) {
  opacity: .25;
  d: path("M0,0V46.29c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113-14.29,1200,52.47V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(2) {
  opacity: .5;
  d: path("M0,0V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-49.24V0Z");
}

.divider-shape.divider-style-waves-multi path:nth-child(3) {
  d: path("M0,0V5.63C149.93,59,314.09,71.32,475.83,42.57c43-7.64,84.23-20.12,127.61-26.46,59-8.63,112.48,12.24,165.56,35.4C827.93,77.22,886,95.24,951.2,90c86.53-7,172.46-45.71,248.8-84.81V0Z");
}

.divider-shape.divider-style-layers g path:nth-child(1) {
  d: path("M0 100V0h1000v4L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(2) {
  opacity: .5;
  d: path("M0 100V0h1000v24L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(3) {
  opacity: .4;
  d: path("M0 100V0h1000v44L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(4) {
  opacity: .4;
  d: path("M0 100V0h1000v64L0 100z");
}

.divider-shape.divider-style-layers g path:nth-child(5) {
  opacity: .2;
  d: path("M0 100V0h1000v84L0 100z");
}

