.elementor-6 .elementor-element.elementor-element-49a0f682{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.36;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-6 .elementor-element.elementor-element-49a0f682:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-49a0f682 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.elan.jewelry/wp-content/uploads/2026/04/frontsLA-Model.gif");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-6 .elementor-element.elementor-element-49a0f682::before, .elementor-6 .elementor-element.elementor-element-49a0f682 > .elementor-background-video-container::before, .elementor-6 .elementor-element.elementor-element-49a0f682 > .e-con-inner > .elementor-background-video-container::before, .elementor-6 .elementor-element.elementor-element-49a0f682 > .elementor-background-slideshow::before, .elementor-6 .elementor-element.elementor-element-49a0f682 > .e-con-inner > .elementor-background-slideshow::before, .elementor-6 .elementor-element.elementor-element-49a0f682 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-6 .elementor-element.elementor-element-fb02b60{--spacer-size:394px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-6 .elementor-element.elementor-element-67ce19e{padding:0px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-67ce19e .elementor-heading-title{font-size:20px;font-weight:600;color:#FFFFFF;}.elementor-6 .elementor-element.elementor-element-e901020{padding:20px 0px 20px 0px;}.elementor-6 .elementor-element.elementor-element-e901020 .elementor-heading-title{font-size:68px;font-weight:600;color:#FFFFFF;}.elementor-6 .elementor-element.elementor-element-afee583{padding:0px 0px 20px 0px;}.elementor-6 .elementor-element.elementor-element-afee583 .elementor-heading-title{font-weight:400;text-shadow:1px 1px 0px rgba(0, 0, 0, 0.46);color:#ECB754;}.elementor-6 .elementor-element.elementor-element-81ec5ba{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:center;--align-items:center;}.elementor-6 .elementor-element.elementor-element-81ec5ba.e-con{--align-self:center;}.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-6 .elementor-element.elementor-element-93fd5b7.elementor-element{--order:-99999 /* order start hack */;}.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button{font-size:18px;font-weight:200;}.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button{background-color:#CEC96142;font-size:18px;font-weight:300;}.elementor-6 .elementor-element.elementor-element-c4ff757{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:5;}.elementor-6 .elementor-element.elementor-element-7f573297{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-3197ae71{--display:flex;--overlay-opacity:0.08;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6 .elementor-element.elementor-element-3197ae71:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-3197ae71 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0A0A0A;}.elementor-6 .elementor-element.elementor-element-3197ae71::before, .elementor-6 .elementor-element.elementor-element-3197ae71 > .elementor-background-video-container::before, .elementor-6 .elementor-element.elementor-element-3197ae71 > .e-con-inner > .elementor-background-video-container::before, .elementor-6 .elementor-element.elementor-element-3197ae71 > .elementor-background-slideshow::before, .elementor-6 .elementor-element.elementor-element-3197ae71 > .e-con-inner > .elementor-background-slideshow::before, .elementor-6 .elementor-element.elementor-element-3197ae71 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(146deg, #ECB754 0%, #000000 20%);}.elementor-6 .elementor-element.elementor-element-44b44a5{text-align:center;}.elementor-6 .elementor-element.elementor-element-44b44a5 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:20px;font-weight:300;color:#C9A96E;}.elementor-6 .elementor-element.elementor-element-d410c1d{padding:30px 0px 20px 0px;text-align:center;}.elementor-6 .elementor-element.elementor-element-d410c1d .elementor-heading-title{font-weight:300;}.elementor-widget-eael-filterable-gallery .fg-caption-head .fg-item-price{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-caption-head .fg-item-ratings{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-item-category span{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-filter-trigger > span{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-layout-3-filter-controls li.control{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .eael-gallery-load-more .eael-filterable-gallery-load-more-text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-gallery-grid-item .gallery-item-thumbnail-wrap, 
                    .elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-grid-fg-box .eael-grid-fg-img,
                    .elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-hg-grid__cell-img .grid__cell-img-inner{height:300px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap{transition:500ms;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filter-gallery-wrapper{background-color:#000000;border-radius:0px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filter-gallery-control ul li.control{color:#444;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filter-gallery-control ul > li.control{border-radius:0px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filter-gallery-control ul li.active{color:#fff;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filter-gallery-control ul li.control.active{background:#333;border-radius:0px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-gallery-grid-item, 
                    .elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-grid-fg-box,
                    .elementor-6 .elementor-element.elementor-element-2132d0ae .eael-filterable-gallery-item-wrap .eael-hg-grid__cell-img{border-radius:0px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap .gallery-item-hoverer-bg{background-color:rgba(0,0,0,0.7);}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap.caption-style-hoverer .fg-item-title{color:#ffffff;}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap.caption-style-hoverer .fg-item-content{color:#ffffff;}.elementor-6 .elementor-element.elementor-element-2132d0ae .video-popup-bg{background-color:rgba(0, 0, 0, .7);}.elementor-6 .elementor-element.elementor-element-2132d0ae .video-popup:hover > img{transform:scale(1.1);}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap .gallery-item-buttons > a span{background:#ff622a;color:#fff;height:50px;line-height:50px;width:50px;font-size:18px;border-radius:100px;transition:300ms;}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap .gallery-item-buttons > a span img{height:18px;width:18px;}.elementor-6 .elementor-element.elementor-element-2132d0ae .gallery-item-caption-wrap .gallery-item-buttons > a span:hover{background:#ff622a;color:#fff;border-radius:100px;}.elementor-6 .elementor-element.elementor-element-2132d0ae #eael-fg-no-items-found{text-align:center;color:#858e9a;border-radius:0px;}.elementor-6 .elementor-element.elementor-element-4ace3a3{padding:20px 0px 30px 0px;}.elementor-6 .elementor-element.elementor-element-4e40c975:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-4e40c975 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-6 .elementor-element.elementor-element-4e40c975 > .elementor-background-overlay{background-color:#000000;opacity:0;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6 .elementor-element.elementor-element-4e40c975 > .elementor-container{min-height:676px;}.elementor-6 .elementor-element.elementor-element-4e40c975{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 60px 0px;}.elementor-bc-flex-widget .elementor-6 .elementor-element.elementor-element-1dc6a482.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-6 .elementor-element.elementor-element-1dc6a482.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-6 .elementor-element.elementor-element-1dc6a482 > .elementor-element-populated{padding:0px 40px 0px 40px;}.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-6 .elementor-element.elementor-element-17f8945d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;columns:1;text-align:start;font-family:"Pinyon Script", Sans-serif;font-size:30px;font-weight:400;line-height:6px;letter-spacing:1.4px;color:#C9A96E;}.elementor-6 .elementor-element.elementor-element-ddfdd8e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:08px 0px 0px 0px;text-align:center;}.elementor-6 .elementor-element.elementor-element-ddfdd8e .elementor-heading-title{font-size:45px;font-weight:400;color:#E4E4E4;}.elementor-6 .elementor-element.elementor-element-bd74242{margin:10px 10px calc(var(--kit-widget-spacing, 0px) + 10px) 10px;padding:08px 0px 0px 0px;text-align:center;}.elementor-6 .elementor-element.elementor-element-bd74242 .elementor-heading-title{font-size:18px;font-weight:300;line-height:27px;color:#E4E4E4;}.elementor-6 .elementor-element.elementor-element-1e35f0ff > .elementor-element-populated{padding:0px 40px 0px 40px;}.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-6 .elementor-element.elementor-element-2401e1f0{width:var( --container-widget-width, 261px );max-width:261px;--container-widget-width:261px;--container-widget-flex-grow:0;top:-23px;}body:not(.rtl) .elementor-6 .elementor-element.elementor-element-2401e1f0{left:288px;}body.rtl .elementor-6 .elementor-element.elementor-element-2401e1f0{right:288px;}.elementor-6 .elementor-element.elementor-element-2401e1f0 img{filter:brightness( 56% ) contrast( 116% ) saturate( 100% ) blur( 0.8px ) hue-rotate( 0deg );border-radius:0px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-20fc7e13{z-index:2;}.elementor-6 .elementor-element.elementor-element-20fc7e13 img{width:68%;border-radius:0px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-5323786{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-5323786:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-5323786 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-6 .elementor-element.elementor-element-eebf3e5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:08px 0px 0px 0px;text-align:center;}.elementor-6 .elementor-element.elementor-element-eebf3e5 .elementor-heading-title{font-size:45px;font-weight:400;color:#E4E4E4;}.elementor-6 .elementor-element.elementor-element-e1ef041{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-6 .elementor-element.elementor-element-e1ef041:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-e1ef041 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-6 .elementor-element.elementor-element-5b5595b6:not(.elementor-motion-effects-element-type-background), .elementor-6 .elementor-element.elementor-element-5b5595b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-6 .elementor-element.elementor-element-5b5595b6{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:60px 60px 60px 60px;}.elementor-6 .elementor-element.elementor-element-5b5595b6 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-6 .elementor-element.elementor-element-1771f4b4 > .elementor-element-populated{margin:40px 40px 40px 40px;--e-column-margin-right:40px;--e-column-margin-left:40px;}.elementor-6 .elementor-element.elementor-element-70ed23fd{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-220af5e6 > .elementor-element-populated{margin:40px 40px 40px 40px;--e-column-margin-right:40px;--e-column-margin-left:40px;}.elementor-6 .elementor-element.elementor-element-6ef60918{font-size:14px;font-weight:400;color:#C9A96E;}.elementor-6 .elementor-element.elementor-element-2f6f2016{text-align:start;}.elementor-6 .elementor-element.elementor-element-2f6f2016 .elementor-heading-title{font-size:36px;font-weight:600;color:#FFFFFF;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-6 .elementor-element.elementor-element-5302fd4a{--divider-border-style:solid;--divider-color:#C9A96E;--divider-border-width:1px;}.elementor-6 .elementor-element.elementor-element-5302fd4a .elementor-divider-separator{width:16%;}.elementor-6 .elementor-element.elementor-element-5302fd4a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-6 .elementor-element.elementor-element-350ac9fb{font-size:18px;font-weight:200;color:#C9A96E;}.elementor-6 .elementor-element.elementor-element-2f1c74db{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-6 .elementor-element.elementor-element-2f1c74db .elementor-divider-separator{width:100%;}.elementor-6 .elementor-element.elementor-element-2f1c74db .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-6 .elementor-element.elementor-element-6f2cc93a{--divider-border-style:solid;--divider-color:#C9A96E;--divider-border-width:1px;}.elementor-6 .elementor-element.elementor-element-6f2cc93a .elementor-divider-separator{width:100%;}.elementor-6 .elementor-element.elementor-element-6f2cc93a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}body.elementor-page-6:not(.elementor-motion-effects-element-type-background), body.elementor-page-6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-6 .elementor-element.elementor-element-81ec5ba{--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-4e40c975{padding:50px 20px 50px 20px;}.elementor-6 .elementor-element.elementor-element-ddfdd8e .elementor-heading-title{font-size:38px;}.elementor-6 .elementor-element.elementor-element-bd74242 .elementor-heading-title{font-size:38px;}.elementor-6 .elementor-element.elementor-element-2401e1f0{width:var( --container-widget-width, 223.994px );max-width:223.994px;--container-widget-width:223.994px;--container-widget-flex-grow:0;top:0.006px;}body:not(.rtl) .elementor-6 .elementor-element.elementor-element-2401e1f0{left:108.993px;}body.rtl .elementor-6 .elementor-element.elementor-element-2401e1f0{right:108.993px;}.elementor-6 .elementor-element.elementor-element-5323786{--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-eebf3e5 .elementor-heading-title{font-size:38px;}.elementor-6 .elementor-element.elementor-element-5b5595b6{padding:0px 20px 0px 20px;}.elementor-6 .elementor-element.elementor-element-70ed23fd{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-6 .elementor-element.elementor-element-49a0f682{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-6 .elementor-element.elementor-element-67ce19e{text-align:center;}.elementor-6 .elementor-element.elementor-element-e901020{text-align:center;}.elementor-6 .elementor-element.elementor-element-e901020 .elementor-heading-title{font-size:38px;}.elementor-6 .elementor-element.elementor-element-afee583{text-align:center;}.elementor-6 .elementor-element.elementor-element-afee583 .elementor-heading-title{font-size:18px;line-height:1.4em;letter-spacing:0.6px;}.elementor-6 .elementor-element.elementor-element-81ec5ba{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-93fd5b7{padding:0px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-5726609{padding:20px 0px 0px 0px;}.elementor-6 .elementor-element.elementor-element-c4ff757{--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6 .elementor-element.elementor-element-7f573297{margin:-140px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-6 .elementor-element.elementor-element-3197ae71{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6 .elementor-element.elementor-element-1dc6a482 > .elementor-element-populated{padding:10px 10px 10px 10px;}.elementor-6 .elementor-element.elementor-element-bd74242{margin:15px 0px calc(var(--kit-widget-spacing, 0px) + 10px) 0px;}.elementor-6 .elementor-element.elementor-element-bd74242 .elementor-heading-title{font-size:13px;}body:not(.rtl) .elementor-6 .elementor-element.elementor-element-2401e1f0{left:111.991px;}body.rtl .elementor-6 .elementor-element.elementor-element-2401e1f0{right:111.991px;}.elementor-6 .elementor-element.elementor-element-2401e1f0{top:-9px;}.elementor-6 .elementor-element.elementor-element-20fc7e13 img{width:100%;}.elementor-6 .elementor-element.elementor-element-5323786{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-eebf3e5{margin:27px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-6 .elementor-element.elementor-element-70ed23fd{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-6 .elementor-element.elementor-element-220af5e6 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:10px 10px 10px 10px;}}/* Start custom CSS for heading, class: .elementor-element-67ce19e */.elan-eyebrow {
  font-family: var(--sans) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.55em !important;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 2.2rem !important;

  text-shadow: 1px 1px 0 rgba(0,0,0,0.6);

  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.1s forwards;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-e901020 */.elan-hero__title {
  font-family: var(--serif) !important;
  font-size: clamp(3.2rem, 8vw, 7rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.04em !important;
  color: var(--white) !important;
  margin-bottom: 2rem !important;

  text-shadow: 1px 1px 0 rgba(0,0,0,0.6);

  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.28s forwards;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-afee583 */.elan-hero__sub {
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase;

  color: #000000 !important;

  text-shadow: 1px 1px 0 rgba(201,169,110,0.85);

  margin-bottom: 3rem !important;

  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.44s forwards;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-93fd5b7 *//* =========================

/* ── Reseteo del botón base ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  cursor: pointer;

  /* Tamaño y espaciado */
  padding: 18px 52px;
  border-radius: 0;

  /* Tipografía */
  font-size: 11.5px;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #f0e6cc;
  font-family: inherit;
  text-decoration: none;

  /* Fondo oscuro con toque cálido */
  background: linear-gradient(
    135deg,
    #1a1408 0%,
    #0c0c0c 45%,
    #1c1608 100%
  );

  /* Borde dorado fino */
  border: 1px solid #b8922a;
  outline: none;

  /* Sombra ambiente */
  box-shadow:
    0 0 0 1px rgba(212, 175, 110, 0.07),
    0 4px 28px rgba(0, 0, 0, 0.65),
    inset 0 1px 0 rgba(212, 175, 110, 0.10);

  /* Transiciones */
  transition:
    border-color 0.45s ease,
    box-shadow   0.45s ease,
    color        0.35s ease;
}

/* ── Wrapper interior ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  transition: letter-spacing 0.4s ease;
  pointer-events: none;
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

/* ── Texto ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button .elementor-button-text {
  transition: letter-spacing 0.4s ease;
  letter-spacing: 0.26em;
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

/* ── Efecto shimmer dorado con pseudo-elemento ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    108deg,
    transparent 25%,
    rgba(212, 175, 110, 0.20) 50%,
    transparent 75%
  );
  transform: translateX(-110%);
  transition: transform 0s;
  pointer-events: none;
}

/* ── Líneas decorativas en esquina superior-izquierda ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button::before {
  content: '';
  position: absolute;
  top: -1px;
  left: -1px;
  width: 12px;
  height: 12px;
  border-top: 1px solid #d4af6e;
  border-left: 1px solid #d4af6e;
  opacity: 0;
  transform: translate(5px, 5px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 3;
}

/* ── HOVER ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button:hover {
  color: #fdf5e2;
  border-color: #d4af6e;
  box-shadow:
    0 0 0 1px rgba(212, 175, 110, 0.22),
    0 6px 40px rgba(0, 0, 0, 0.80),
    0 0 20px rgba(184, 146, 42, 0.13),
    inset 0 1px 0 rgba(212, 175, 110, 0.18);
}

.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button:hover .elementor-button-text {
  letter-spacing: 0.32em;
}

.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button:hover::after {
  animation: goldShimmer 0.72s ease forwards;
}

.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button:hover::before {
  opacity: 1;
  transform: translate(0, 0);
}

/* ── ACTIVE ── */
.elementor-6 .elementor-element.elementor-element-93fd5b7 .elementor-button:active {
  transform: scale(0.983);
  transition: transform 0.1s ease;
}

/* ── Animación shimmer ── */
@keyframes goldShimmer {
  0%   { transform: translateX(-110%); }
  100% { transform: translateX(210%);  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-5726609 *//* ================================================
   BOTÓN 2 — MARFIL & PLATA
   Joyería Luxury · Elementor Custom CSS
*/

/* ── Base del botón ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;

  /* Tamaño */
  padding: 20px 58px;
  border-radius: 0;

  /* Tipografía */
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #1c1c1c;
  text-decoration: none;

  /* Fondo base transparente sobre marfil */
  background: transparent;

  /* Sin borde nativo — lo controlamos con ::before */
  border: none;
  outline: none;

  /* Sombra ambiente suave */
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.04);

  /* Transición de fondo */
  transition:
    background  0.5s ease,
    color       0.4s ease,
    box-shadow  0.4s ease,
    letter-spacing 0.4s ease;
}

/* ── Borde animado vía ::before (gradiente que gira) ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid #b0b0b0;
  transition: border-color 0.4s ease;
  pointer-events: none;
  z-index: 0;
}

/* ── Línea inferior decorativa vía ::after ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  width: 0;
  height: 1px;
  background: #1c1c1c;
  transform: translateX(-50%);
  transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

/* ── Contenedor interior ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  transition: gap 0.4s ease;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
}

/* ── Ícono (si usas el ícono de Elementor) ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button .elementor-button-icon {
  font-size: 10px;
  color: #a8a8a8;
  transition: color 0.4s ease, transform 0.5s ease;
  display: inline-flex;
  align-items: center;
}

/* ── Texto ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button .elementor-button-text {
  letter-spacing: 0.26em;
  transition: letter-spacing 0.45s ease;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
}

/* ── HOVER ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover {
  background: #f5ede0;
  color: #111111;
  letter-spacing: 0.32em;
  box-shadow:
    0 8px 36px rgba(0, 0, 0, 0.07),
    inset 0 0 0 1px rgba(0,0,0,0.04);
}

.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover::before {
  border-color: #1c1c1c;
}

.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover::after {
  width: 40%;
}

.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover .elementor-button-text {
  letter-spacing: 0.32em;
}

.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover .elementor-button-content-wrapper {
  gap: 14px;
}

.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover .elementor-button-icon {
  color: #1c1c1c;
  transform: rotate(45deg);
}

/* ── ACTIVE ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:active {
  transform: scale(0.972);
  transition: transform 0.1s ease;
}

/* ── Efecto de padding lateral que "respira" en hover ── */
.elementor-6 .elementor-element.elementor-element-5726609 .elementor-button:hover {
  padding-left: 62px;
  padding-right: 62px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-49a0f682 */.elementor-6 .elementor-element.elementor-element-49a0f682 {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.elan-hero__content {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 2rem 1.5rem;
  max-width: 860px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7f573297 *//* ════════════════════════════════════════════════
   RING SHOWCASE — VIDEO REAL
════════════════════════════════════════════════ */
 
.ring-showcase {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5rem 2rem 4rem;
  background: #0a0a0a;
  overflow: hidden;
  min-height: 600px;
}
 
/* Luz ambiental dorada de fondo */
.ring-glow {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  height: 400px;
  background: radial-gradient(
    ellipse at center,
    rgba(201,169,110,0.12) 0%,
    rgba(201,169,110,0.04) 40%,
    transparent 70%
  );
  border-radius: 50%;
  animation: glowPulse 4s ease-in-out infinite;
  pointer-events: none;
}
 
@keyframes glowPulse {
  0%, 100% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  50%       { opacity: 1;   transform: translateX(-50%) scale(1.15); }
}
 
/* ── VIDEO DEL ANILLO ── */
.ring-scene {
  perspective: 900px;
  width: 220px;
  height: 220px;
  margin-bottom: 1rem;
  position: relative;
}
 
.ring-video-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 220px;
  height: 220px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  box-shadow:
    0 0 30px rgba(201,169,110,0.3),
    inset 0 0 20px rgba(201,169,110,0.1);
}
 
.ring-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
 
.ring-video-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at 35% 30%,
    rgba(201,169,110,0.15) 0%,
    transparent 60%
  );
  pointer-events: none;
  z-index: 3;
}
 
/* Brillo animado encima del video */
.ring-video-wrap::after {
  content: '';
  position: absolute;
  top: 18px; left: 30px;
  width: 30px;
  height: 6px;
  background: rgba(255,255,255,0.35);
  border-radius: 50%;
  filter: blur(3px);
  transform: rotate(-35deg);
  animation: shineMove 8s linear infinite;
  z-index: 4;
  pointer-events: none;
}
 
@keyframes shineMove {
  0%   { opacity: 0.35; left: 30px; }
  50%  { opacity: 0.6;  left: 155px; }
  100% { opacity: 0.35; left: 30px; }
}
 
/* ── REFLEJO EN EL PISO ── */
.ring-reflection {
  width: 140px;
  height: 20px;
  background: radial-gradient(
    ellipse at center,
    rgba(201,169,110,0.2) 0%,
    transparent 70%
  );
  border-radius: 50%;
  margin-top: 0.5rem;
  animation: reflectionPulse 8s linear infinite;
}
 
@keyframes reflectionPulse {
  0%, 100% { opacity: 0.4; transform: scaleX(0.9); }
  50%       { opacity: 0.7; transform: scaleX(1.1); }
}
 
/* ── LABEL ── */
.ring-label {
  text-align: center;
  margin-top: 2rem;
  font-family: inherit;
  font-style: normal;
}
 
.ring-label__cat {
  font-family: inherit !important;
  font-style: normal !important;
  font-size: 1.0rem !important;
  letter-spacing: 0.50em;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 0.8rem !important;
}
 
.ring-label__title {
  font-family: inherit !important;
  font-style: normal !important;
  font-size: 2.2rem !important;
  font-weight: 400 !important;
  color: var(--white) !important;
  margin-bottom: 0.8rem !important;
  letter-spacing: 0.04em;
}
 
.ring-label__sub {
  font-family: inherit !important;
  font-style: normal !important;
  font-size: 1.2rem !important;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--white-dim);
  margin-bottom: 1.5rem !important;
}
 
.ring-label__link {
  font-family: inherit !important;
  font-style: normal !important;
  font-size: 0.82rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-dim);
  padding-bottom: 3px;
  transition: color 0.3s, border-color 0.3s;
}

.ring-label__link:hover {
  color: var(--gold-light);
  border-color: var(--gold);
}
 
/* Responsive */
@media (max-width: 768px) {
  .ring-video-wrap {
    width: 180px;
    height: 180px;
  }
  .ring-scene {
    width: 180px;
    height: 180px;
  }
  .ring-reflection {
    width: 120px;
  }
}

.ring-video-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}

.ring-video,
.ring-youtube {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: cover;
}

.ring-youtube {
  position: absolute;
  inset: 0;
  transform: scale(1.22);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3197ae71 *//* ════════════════════════════════════════════════
   ÉLAN JEWELRY — CSS COMPLETO FINAL
   OceanWP + Elementor Free + Royal Addons
   Tipografía: Playfair Display + Tenor Sans + Jost
════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&family=Tenor+Sans&family=Jost:wght@200;300;400&display=swap');

:root {
  --gold:       #c9a96e;
  --gold-light: #e8d5a3;
  --gold-dim:   #8a6f3e;
  --black:      #0a0a0a;
  --black-card: #141414;
  --black-line: #222222;
  --white:      #f0ede8;
  --white-dim:  #9a9189;
  --serif:      'Playfair Display', Georgia, serif;
  --sans:       'Tenor Sans', sans-serif;
  --body:       'Jost', sans-serif;
}

body {
  background: var(--black) !important;
  color: var(--white) !important;
  font-family: var(--body) !important;
  font-weight: 300;
}

::selection {
  background: var(--gold);
  color: var(--black);
}

/* ════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════ */

#site-header,
#site-header .site-navigation-wrap {
  background: transparent !important;
  transition: background 0.5s ease, padding 0.5s ease;
}

#site-header.sticky-header {
  background: rgba(10,10,10,0.96) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--black-line) !important;
}

#site-logo a,
.site-logo-text a {
  font-family: var(--serif) !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.35em !important;
  color: var(--gold) !important;
  text-decoration: none !important;
}

#site-navigation ul li a,
.navigation-bar-menu ul li a {
  font-family: var(--sans) !important;
  font-size: 1.0rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--white-dim) !important;
  transition: color 0.3s !important;
  padding: 0 1.2rem !important;
}

#site-navigation ul li a:hover,
#site-navigation ul li.current-menu-item > a {
  color: var(--gold) !important;
}

#site-navigation ul li a::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s ease;
  margin-top: 3px;
}

#site-navigation ul li a:hover::after {
  width: 100%;
}

.mobile-menu-toggle {
  color: var(--gold) !important;
}

#site-navigation.toggled {
  background: var(--black) !important;
  border-top: 1px solid var(--black-line) !important;
}

#site-navigation.toggled ul li a {
  border-bottom: 1px solid var(--black-line) !important;
  padding: 1rem 1.5rem !important;
}

/* ════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════ */

.elan-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

#elanCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.corner-tl,
.corner-br {
  position: absolute;
  width: 70px;
  height: 70px;
  border-color: var(--gold-dim);
  border-style: solid;
  opacity: 0.45;
  z-index: 2;
}
.corner-tl { top: 5rem;    left: 3rem;  border-width: 1px 0 0 1px; }
.corner-br { bottom: 4rem; right: 3rem; border-width: 0 1px 1px 0; }

.elan-hero__content {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 2rem 1.5rem;
  max-width: 860px;
}

.elan-eyebrow {
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.55em !important;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 2.2rem !important;
  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.1s forwards;
}

.elan-hero__title {
  font-family: var(--serif) !important;
  font-size: clamp(3.2rem, 8vw, 7rem) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 0.04em !important;
  color: var(--white) !important;
  margin-bottom: 2rem !important;
  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.28s forwards;
}

.elan-hero__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--gold);
  letter-spacing: 0.06em;
}

.elan-hero__sub {
  font-family: var(--sans) !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase;
  color: var(--white-dim) !important;
  margin-bottom: 3rem !important;
  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.44s forwards;
}

.elan-hero__cta {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.58s forwards;
}

.elan-btn-primary {
  display: inline-block;
  padding: 1rem 2.8rem;
  background: var(--gold);
  color: var(--black) !important;
  font-family: var(--sans) !important;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.elan-btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(201,169,110,0.2);
}

.elan-btn-ghost {
  display: inline-block;
  padding: 1rem 2.8rem;
  border: 1px solid var(--gold-dim);
  color: var(--gold-light) !important;
  font-family: var(--sans) !important;
  font-size: 0.62rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.elan-btn-ghost:hover {
  border-color: var(--gold);
  color: var(--gold) !important;
  transform: translateY(-3px);
}

.elan-scroll {
  position: absolute;
  bottom: 2.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  z-index: 3;
  opacity: 0;
  animation: heroUp 1s cubic-bezier(0.22,1,0.36,1) 0.9s forwards;
}

.elan-scroll span {
  font-family: var(--sans);
  font-size: 0.55rem;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold-dim);
}

.elan-scroll__line {
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, var(--gold-dim), transparent);
  animation: scrollPulse 2.2s ease-in-out infinite;
}

@keyframes heroUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes scrollPulse {
  0%, 100% { opacity: 0.25; transform: scaleY(0.7); }
  50%       { opacity: 1;    transform: scaleY(1); }
}

@media (max-width: 768px) {
  .corner-tl, .corner-br { display: none; }
  .elan-hero__cta { flex-direction: column; align-items: center; }
  .elan-btn-primary,
  .elan-btn-ghost { width: 100%; max-width: 280px; text-align: center; }
}

/* ════════════════════════════════════════════════
   MARQUEE
════════════════════════════════════════════════ */

.elan-marquee {
  width: 100%;
  overflow: hidden;
  background: var(--gold);
  padding: 0.9rem 0;
  border-top: 1px solid var(--gold-dim);
  border-bottom: 1px solid var(--gold-dim);
}

.elan-marquee__track {
  display: flex;
  align-items: center;
  gap: 2.2rem;
  white-space: nowrap;
  width: max-content;
  animation: marqueeScroll 28s linear infinite;
}

.elan-marquee__track span {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--black);
  flex-shrink: 0;
}

.elan-marquee__dot {
  color: rgba(10,10,10,0.35) !important;
  font-size: 0.5rem !important;
  letter-spacing: 0 !important;
}

.elan-marquee:hover .elan-marquee__track {
  animation-play-state: paused;
}

@keyframes marqueeScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ════════════════════════════════════════════════
   RING SHOWCASE — VIDEO REAL
════════════════════════════════════════════════ */

.ring-showcase {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5rem 2rem 4rem;
  background: #0a0a0a;
  overflow: hidden;
  min-height: 600px;
}

.ring-glow {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  height: 400px;
  background: radial-gradient(
    ellipse at center,
    rgba(201,169,110,0.12) 0%,
    rgba(201,169,110,0.04) 40%,
    transparent 70%
  );
  border-radius: 50%;
  animation: glowPulse 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes glowPulse {
  0%, 100% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  50%       { opacity: 1;   transform: translateX(-50%) scale(1.15); }
}

.ring-scene {
  perspective: 900px;
  width: 220px;
  height: 220px;
  margin-bottom: 1rem;
  position: relative;
}

.ring-video-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 220px;
  height: 220px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
  box-shadow:
    0 0 30px rgba(201,169,110,0.3),
    inset 0 0 20px rgba(201,169,110,0.1);
}

.ring-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.ring-video-glow {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(
    ellipse at 35% 30%,
    rgba(201,169,110,0.15) 0%,
    transparent 60%
  );
  pointer-events: none;
  z-index: 3;
}

.ring-video-wrap::after {
  content: '';
  position: absolute;
  top: 18px; left: 30px;
  width: 30px;
  height: 6px;
  background: rgba(255,255,255,0.35);
  border-radius: 50%;
  filter: blur(3px);
  transform: rotate(-35deg);
  animation: shineMove 8s linear infinite;
  z-index: 4;
  pointer-events: none;
}

@keyframes shineMove {
  0%   { opacity: 0.35; left: 30px; }
  50%  { opacity: 0.6;  left: 155px; }
  100% { opacity: 0.35; left: 30px; }
}

.ring-reflection {
  width: 140px;
  height: 20px;
  background: radial-gradient(
    ellipse at center,
    rgba(201,169,110,0.2) 0%,
    transparent 70%
  );
  border-radius: 50%;
  margin-top: 0.5rem;
  animation: reflectionPulse 8s linear infinite;
}

@keyframes reflectionPulse {
  0%, 100% { opacity: 0.4; transform: scaleX(0.9); }
  50%       { opacity: 0.7; transform: scaleX(1.1); }
}

.ring-label { text-align: center; margin-top: 2rem; }

.ring-label__cat {
  font-family: var(--sans) !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.45em;
  text-transform: uppercase;
  color: var(--gold-dim);
  margin-bottom: 0.6rem !important;
}

.ring-label__title {
  font-family: var(--serif) !important;
  font-size: 2rem !important;
  font-weight: 400 !important;
  color: var(--white) !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 0.04em;
}

.ring-label__sub {
  font-family: var(--sans) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--white-dim);
  margin-bottom: 1.5rem !important;
}

.ring-label__link {
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid var(--gold-dim);
  padding-bottom: 3px;
  transition: color 0.3s, border-color 0.3s;
}

.ring-label__link:hover {
  color: var(--gold-light);
  border-color: var(--gold);
}

@media (max-width: 768px) {
  .ring-video-wrap { width: 180px; height: 180px; }
  .ring-scene      { width: 180px; height: 180px; }
  .ring-reflection { width: 120px; }
}

/* ════════════════════════════════════════════════
   FILTERABLE GALLERY — EAEL
════════════════════════════════════════════════ */

.eael-filterable-gallery-item-wrap {
  overflow: hidden !important;
}

.eael-gallery-grid-item {
  overflow: hidden !important;
  height: 320px !important;
  position: relative !important;
}

.gallery-item-thumbnail-wrap {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.gallery-item-thumbnail-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.7s cubic-bezier(0.22,1,0.36,1) !important;
  display: block !important;
}

.eael-gallery-grid-item:hover .gallery-item-thumbnail-wrap img {
  transform: scale(1.06) !important;
}

.gallery-item-hoverer-bg {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(10,10,10,0.92) 0%,
    rgba(10,10,10,0.15) 50%,
    transparent 100%
  ) !important;
  z-index: 1 !important;
}

.gallery-item-caption-wrap.caption-style-hoverer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
}

.gallery-item-caption-over {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 1.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.3rem !important;
}

.fg-item-content {
  display: block !important;
}

.fg-item-content p:first-child {
  display: block !important;
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.45em !important;
  text-transform: uppercase !important;
  color: #c9a96e !important;
  margin: 0 0 0.3rem !important;
  line-height: 1 !important;
}

.fg-item-content p:not(:first-child) {
  display: none !important;
}

.fg-item-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: #f0ede8 !important;
  margin: 0 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.2 !important;
}

.fg-item-title::after {
  content: '';
  display: block;
  width: 0;
  height: 1px;
  background: #c9a96e;
  margin-top: 0.7rem;
  transition: width 0.5s cubic-bezier(0.22,1,0.36,1) 0.1s;
}

.eael-gallery-grid-item:hover .fg-item-title::after {
  width: 35px;
}

.gallery-item-buttons {
  display: none !important;
}

.eael-filter-gallery-control-container {
  display: none !important;
}

/* Primer item — fondo blanco, overlay claro */
.eael-filterable-gallery-item-wrap:first-child .gallery-item-hoverer-bg {
  background: linear-gradient(
    to top,
    rgba(245,242,236,0.97) 0%,
    rgba(245,242,236,0.6) 55%,
    transparent 100%
  ) !important;
}

.eael-filterable-gallery-item-wrap:first-child .fg-item-title {
  color: #0a0a0a !important;
}

.eael-filterable-gallery-item-wrap:first-child .fg-item-content p:first-child {
  color: #8a6f3e !important;
}

.eael-filterable-gallery-item-wrap:first-child .fg-item-title::after {
  background: #8a6f3e !important;
}

/* ════════════════════════════════════════════════
   ÚLTIMO ITEM MANUAL — HTML WIDGET
════════════════════════════════════════════════ */

.elan-last-item {
  position: relative;
  width: 100%;
  height: 320px;
  overflow: hidden;
  background: #141414;
  border: 1px solid #222222;
  cursor: pointer;
}

.elan-last-item__img {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.elan-last-item__img img {
  max-width: 60%;
  max-height: 80%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.7s cubic-bezier(0.22,1,0.36,1);
  display: block;
}

.elan-last-item:hover .elan-last-item__img img {
  transform: scale(1.06);
}

.elan-last-item__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(245,242,236,0.97) 0%,
    rgba(245,242,236,0.5) 50%,
    transparent 100%
  );
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.22,1,0.36,1);
}

.elan-last-item:hover .elan-last-item__overlay {
  opacity: 1;
}

.elan-last-item__caption {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 2;
}

.elan-last-item__cat {
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.45em !important;
  text-transform: uppercase !important;
  color: #8a6f3e !important;
  margin: 0 0 0.4rem !important;
}

.elan-last-item__title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  color: #0a0a0a !important;
  margin: 0 0 0.7rem !important;
  letter-spacing: 0.03em !important;
}

.elan-last-item__line {
  display: block;
  width: 0;
  height: 1px;
  background: #8a6f3e;
  transition: width 0.5s cubic-bezier(0.22,1,0.36,1) 0.1s;
}

.elan-last-item:hover .elan-last-item__line {
  width: 35px;
}

/* ════════════════════════════════════════════════
   CLASES CUSTOM — HEADINGS Y BOTÓN
════════════════════════════════════════════════ */

.elan-label {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  justify-content: center !important;
}

.elan-label::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--gold);
  flex-shrink: 0;
}

.elan-label .elementor-heading-title {
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.5em !important;
  text-transform: uppercase !important;
  color: #8a6f3e !important;
  margin: 0 !important;
}

.elan-title .elementor-heading-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 400 !important;
  color: #f0ede8 !important;
  letter-spacing: 0.03em !important;
}

.elan-cta .elementor-button {
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  background: #c9a96e !important;
  color: #0a0a0a !important;
  border-radius: 0 !important;
  padding: 1rem 2.8rem !important;
  border: none !important;
  transition: background 0.3s ease !important;
}

.elan-cta .elementor-button:hover {
  background: #e8d5a3 !important;
  color: #0a0a0a !important;
}

/* ════════════════════════════════════════════════
   PRODUCTOS WOOCOMMERCE
════════════════════════════════════════════════ */

.lux-woo-grid .hfe-product-content {
  background: #141414 !important;
  border: 1px solid #222222 !important;
  border-radius: 0 !important;
  padding: 1.8rem !important;
  position: relative;
  transition: border-color 0.4s ease, transform 0.4s ease !important;
}

.lux-woo-grid .hfe-product-content:hover {
  border-color: #8a6f3e !important;
  transform: translateY(-4px) !important;
}

.lux-woo-grid .hfe-product-content .woocommerce-loop-product__title,
.lux-woo-grid .hfe-product-content h2,
.lux-woo-grid .hfe-product-content h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  color: #f0ede8 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.2 !important;
  margin-bottom: 1rem !important;
}

.lux-woo-grid .hfe-product-content .price,
.lux-woo-grid .hfe-product-content .price *,
.lux-woo-grid .hfe-product-content .woocommerce-Price-amount,
.lux-woo-grid .hfe-product-content .woocommerce-Price-amount *,
.lux-woo-grid .hfe-product-content .woocommerce-Price-currencySymbol,
.lux-woo-grid .hfe-product-content bdi,
.lux-woo-grid .hfe-product-content span.amount {
  color: #c9a96e !important;
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.2em !important;
}

.lux-woo-grid .hfe-product-content .button,
.lux-woo-grid .hfe-product-content .add_to_cart_button {
  font-family: 'Tenor Sans', sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #c9a96e !important;
  background: transparent !important;
  border: 1px solid #8a6f3e !important;
  border-radius: 0 !important;
  padding: 0.7rem 1.8rem !important;
  transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease !important;
}

.lux-woo-grid .hfe-product-content .button:hover,
.lux-woo-grid .hfe-product-content .add_to_cart_button:hover {
  background: #c9a96e !important;
  color: #0a0a0a !important;
  border-color: #c9a96e !important;
}

.lux-woo-grid .hfe-product-content::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c9a96e, transparent);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.lux-woo-grid .hfe-product-content:hover::before {
  opacity: 1;
}

.lux-woo-grid .hfe-product-image img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* SOLO el item del diamante específico */
.eael-filterable-gallery-item-wrap:has(img[src*="diamond-ring-1"]) .gallery-item-hoverer-bg {
    background: linear-gradient(
        to top,
        rgba(245,242,236,0.97),
        rgba(245,242,236,0.6),
        transparent
    ) !important;
}

.eael-filterable-gallery-item-wrap:has(img[src*="diamond-ring-1"]) .fg-item-title {
    color: #0a0a0a !important;
}

.eael-filterable-gallery-item-wrap:has(img[src*="diamond-ring-1"]) .fg-item-title::after {
    background: #8a6f3e !important;
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-20fc7e13 */.lux-gallery img {
    filter: drop-shadow(0 10px 25px rgba(0,0,0,0.4));
    transition: all 1.2s cubic-bezier(0.22,1,0.36,1);
}

.lux-gallery img:hover {
    transform: scale(1.04);
    filter: drop-shadow(0 20px 50px rgba(0,0,0,0.6));
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e1ef041 *//* ===================================================
   ==================================================== */

:root {
  --item-w:  360px;
  --item-h:  360px;
  --gap:      24px;
  --speed:    36s;
}

/* ── 1. SECTION ──────────────────────────────────────── */
.carousel-section {
  overflow:       hidden !important;
  padding-top:    50px  !important;
  padding-bottom: 50px  !important;
}

.carousel-section:hover .e-con-inner {
  animation-play-state: paused;
}

/* ── 2. PISTA ANIMADA ────────────────────────────────── */
.carousel-section > .e-con-inner {
  display:         flex          !important;
  flex-direction:  row           !important;
  flex-wrap:       nowrap        !important;
  align-items:     center        !important;
  justify-content: flex-start    !important;
  width:           max-content   !important;
  max-width:       none          !important;
  gap:             var(--gap)    !important;
  padding:         0             !important;
  will-change:     transform;
  backface-visibility: hidden;
  animation: elan-marquee var(--speed) linear infinite;
  -webkit-animation: elan-marquee var(--speed) linear infinite;
}

@keyframes elan-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@-webkit-keyframes elan-marquee {
  0%   { -webkit-transform: translateX(0); }
  100% { -webkit-transform: translateX(-50%); }
}

/* ── 3. CADA IMAGEN ──────────────────────────────────── */
.carousel-section > .e-con-inner > .elementor-widget-image {
  flex:          0 0 var(--item-w) !important;
  width:         var(--item-w)     !important;
  max-width:     var(--item-w)     !important;
  height:        var(--item-h)     !important;
  overflow:      hidden            !important;
  position:      relative          !important;
  margin:        0                 !important;
  padding:       0                 !important;
  cursor:        pointer;
  border-radius: 4px;
  transition:
    transform  0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    box-shadow 0.5s ease;
}

.carousel-section > .e-con-inner > .elementor-widget-image:hover {
  transform:  translateY(-10px) scale(1.03) !important;
  box-shadow: 0 28px 60px rgba(0,0,0,0.4)  !important;
  z-index:    20 !important;
}

/* ── 4. IMG ──────────────────────────────────────────── */
.carousel-section > .e-con-inner > .elementor-widget-image img {
  width:           var(--item-w) !important;
  height:          var(--item-h) !important;
  object-fit:      cover         !important;
  object-position: center center !important;
  display:         block         !important;
  margin:          0             !important;
  padding:         0             !important;
  pointer-events:  none          !important;
  border-radius:   4px;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.carousel-section > .e-con-inner > .elementor-widget-image:hover img {
  transform: scale(1.07) !important;
}

/* ── 5. BORDE DORADO EN HOVER ────────────────────────── */
.carousel-section > .e-con-inner > .elementor-widget-image::before {
  content:        '';
  position:       absolute;
  inset:          0;
  border:         1px solid transparent;
  border-radius:  4px;
  transition:     border-color 0.45s ease;
  z-index:        3;
  pointer-events: none;
}

.carousel-section > .e-con-inner > .elementor-widget-image:hover::before {
  border-color: rgba(212, 175, 110, 0.6);
}

/* ── 6. OVERLAY EN HOVER ─────────────────────────────── */
.carousel-section > .e-con-inner > .elementor-widget-image::after {
  content:  '';
  position: absolute;
  inset:    0;
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 55%);
  opacity:        0;
  transition:     opacity 0.4s ease;
  border-radius:  4px;
  pointer-events: none;
  z-index:        2;
}

.carousel-section > .e-con-inner > .elementor-widget-image:hover::after {
  opacity: 1;
}

/* ── 7. RESPONSIVE ───────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --item-w: 260px; --item-h: 260px; --speed: 28s; }
}
@media (max-width: 767px) {
  :root { --item-w: 180px; --item-h: 180px; --speed: 22s; }
}

/* ── 8. ACCESIBILIDAD ────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .carousel-section > .e-con-inner {
    animation: none !important;
    flex-wrap: wrap !important;
    width:     100% !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-252675ca *//* ════════════════════════════════════════
   BOTÓN LUXURY — B + D
════════════════════════════════════════ */

.elan-custom__cta {
  font-family: 'Tenor Sans', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: #0d0d0d;
  background: #c9a96e;
  border: none;
  padding: 1.1rem 3rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 1.4rem;
  position: relative;
  overflow: hidden;
  transition: color 0.45s ease;
  text-decoration: none;
  align-self: flex-start;
}

/* Doble borde interior luxury */
.elan-custom__cta::after {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(10, 10, 10, 0.2);
  pointer-events: none;
  z-index: 2;
  transition: inset 0.45s cubic-bezier(0.76, 0, 0.24, 1),
              border-color 0.45s ease;
}

/* Fill oscuro sube desde abajo */
.elan-custom__cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #1c1510;
  transform: translateY(101%);
  transition: transform 0.55s cubic-bezier(0.76, 0, 0.24, 1);
  z-index: 0;
}

/* Hover — fill sube, borde interior se ajusta */
.elan-custom__cta:hover::before {
  transform: translateY(0);
}
.elan-custom__cta:hover::after {
  inset: 5px;
  border-color: rgba(201, 169, 110, 0.35);
}
.elan-custom__cta:hover {
  color: #c9a96e;
}

/* Texto siempre encima */
.elan-custom__cta span {
  position: relative;
  z-index: 1;
}

/* Separador vertical entre texto y flecha */
.elan-custom__cta-divider {
  position: relative;
  z-index: 1;
  width: 1px;
  height: 14px;
  background: rgba(10, 10, 10, 0.25);
  transition: background 0.45s ease;
}
.elan-custom__cta:hover .elan-custom__cta-divider {
  background: rgba(201, 169, 110, 0.3);
}

/* Flecha → */
.elan-custom__cta-arrow {
  position: relative;
  z-index: 1;
  font-size: 0.9rem;
  transition: transform 0.4s cubic-bezier(0.76, 0, 0.24, 1);
  color: inherit;
}
.elan-custom__cta:hover .elan-custom__cta-arrow {
  transform: translateX(4px);
}/* End custom CSS */
/* Start custom CSS for column, class: .elementor-element-220af5e6 */.elan-custom__content {
  display: flex;
  flex-direction: column;  /* apila de arriba a abajo */
  justify-content: center; /* centra verticalmente */
  gap: 1.5rem;             /* espacio entre elementos */
}/* End custom CSS */