.elementor-2330 .elementor-element.elementor-element-2d7e858{--display:flex;--min-height:35vh;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2330 .elementor-element.elementor-element-2d7e858:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-2d7e858 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-a53998c{--e-image-carousel-slides-to-show:3;width:100%;max-width:100%;}.elementor-2330 .elementor-element.elementor-element-a53998c .elementor-swiper-button.elementor-swiper-button-prev, .elementor-2330 .elementor-element.elementor-element-a53998c .elementor-swiper-button.elementor-swiper-button-next{font-size:20px;}.elementor-2330 .elementor-element.elementor-element-51317ef{--display:flex;--min-height:70px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-2330 .elementor-element.elementor-element-51317ef:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-51317ef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-6ba6887{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2330 .elementor-element.elementor-element-a5a9365{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2330 .elementor-element.elementor-element-a5a9365:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-a5a9365 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(10px/2);}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(10px/2);}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(10px/2);}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-10px/2);}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-10px/2);}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-icon i{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-icon svg{fill:var( --e-global-color-text );transition:fill 0.3s;}.elementor-2330 .elementor-element.elementor-element-bf6ebd3{--e-icon-list-icon-size:24px;--icon-vertical-offset:0px;}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-bf6ebd3 .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-2330 .elementor-element.elementor-element-69707e9{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2330 .elementor-element.elementor-element-69707e9:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-69707e9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-ee381c0{--display:flex;}.elementor-2330 .elementor-element.elementor-element-5c86c7d{font-weight:400;}.elementor-2330 .elementor-element.elementor-element-106c98f{--display:flex;}.elementor-2330 .elementor-element.elementor-element-7ce8b8b{--display:flex;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-title{font-family:"Montserrat", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-151db2c.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-151db2c.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-151db2c.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-title{font-size:18px;}.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-c4878d5.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-c4878d5.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-c4878d5.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-title{font-size:18px;}.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-3c0938c{--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;}.elementor-2330 .elementor-element.elementor-element-3c0938c:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-3c0938c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-55b468d{--display:flex;}.elementor-2330 .elementor-element.elementor-element-526922b{font-weight:500;}.elementor-2330 .elementor-element.elementor-element-52b0bef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2330 .elementor-element.elementor-element-52b0bef:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-52b0bef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-1ce69f3{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2330 .elementor-element.elementor-element-a669539{--display:flex;}.elementor-2330 .elementor-element.elementor-element-ed03f12.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-ed03f12.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-ed03f12.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-title{font-family:"Montserrat", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-74fe2fa.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-title{font-size:18px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-965aa7b.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-965aa7b.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-965aa7b.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-title{font-size:18px;}.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-c705054{--display:flex;}.elementor-2330 .elementor-element.elementor-element-a7dd31c.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-title{font-family:"Montserrat", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-0952833.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-0952833.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-0952833.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-title{font-family:"Montserrat", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-9bde7a9.elementor-position-right .elementor-image-box-img{margin-left:15px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9.elementor-position-left .elementor-image-box-img{margin-right:15px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9.elementor-position-top .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-wrapper .elementor-image-box-img{width:36px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-img img{height:36px;object-fit:contain;object-position:center center;border-style:none;transition-duration:0.3s;}.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-title{font-family:"Montserrat", Sans-serif;font-size:18px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-description{font-family:"Roboto", Sans-serif;font-size:14px;color:#C39D81;}.elementor-2330 .elementor-element.elementor-element-6626926{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2330 .elementor-element.elementor-element-6626926:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-6626926 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-e2c5d3e{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2330 .elementor-element.elementor-element-e2c5d3e:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-e2c5d3e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-851a431{--display:flex;}.elementor-2330 .elementor-element.elementor-element-d85767e{font-weight:500;}.elementor-2330 .elementor-element.elementor-element-5912d2e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2330 .elementor-element.elementor-element-5912d2e:not(.elementor-motion-effects-element-type-background), .elementor-2330 .elementor-element.elementor-element-5912d2e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F8F6;}.elementor-2330 .elementor-element.elementor-element-afdc950{padding:10px 10px 10px 10px;}@media(min-width:768px){.elementor-2330 .elementor-element.elementor-element-55b468d{--width:60%;}.elementor-2330 .elementor-element.elementor-element-851a431{--width:60%;}}@media(max-width:1024px){.elementor-2330 .elementor-element.elementor-element-69707e9{--grid-auto-flow:row;}.elementor-2330 .elementor-element.elementor-element-1ce69f3{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2330 .elementor-element.elementor-element-69707e9{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-2330 .elementor-element.elementor-element-106c98f{--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-1ce69f3{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-img{margin-bottom:15px;}.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-img{margin-bottom:15px;}}/* Start custom CSS for image-carousel, class: .elementor-element-a53998c *//* 强制所有轮播图片绝对等高，且不拉伸变形 */
.elementor-2330 .elementor-element.elementor-element-a53998c .swiper-slide img {
    height: 480px !important; /* 🌟 重点：这里控制图片的高度，你可以根据喜好改成 400px 或 550px */
    width: 100% !important;
    object-fit: cover !important; /* 魔法属性：保证图片铺满且绝不变形，自动裁剪多余部分 */
    object-position: center center !important; /* 让画面重心保持在正中间 */
    border-radius: 2px !important; /* 极轻微的圆角，增加精致感，如果不喜欢可以删掉这行 */
}

/* 隐藏轮播图默认可能存在的底部多余空隙 */
.elementor-2330 .elementor-element.elementor-element-a53998c .elementor-image-carousel-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6ba6887 *//* ==========================================================
   JOUVA PARIS - 终极预订条 (PC端网格单行 + 手机端弹性竖排)
   ========================================================== */

/* ----------------------------------------------------------
   【第一部分】 PC端基础设定 (你的 Grid 绝对重叠版)
   ---------------------------------------------------------- */

/* 1. 启动绝对网格：划分 3 个雷打不动的列 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1.5fr !important; 
    grid-template-rows: 70px !important; 
    width: 100% !important;
    height: 70px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    font-size: 0 !important; 
    color: transparent !important;
    overflow: hidden !important; 
}

/* 2. 隐藏所有的干扰元素 (标签、日历提示等) */
.elementor-2330 .elementor-element.elementor-element-6ba6887 label,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-calendar,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-required-fields-tip,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-availability-infos,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-price-breakdown {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
    left: -9999px !important;
}

/* 3. 第一格 & 第二格：日期输入框 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-in-date-wrapper { grid-column: 1 / 2 !important; grid-row: 1 / 2 !important; }
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-out-date-wrapper { grid-column: 2 / 3 !important; grid-row: 1 / 2 !important; }

.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-in-date-wrapper,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-out-date-wrapper {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border-right: 1px solid #eaeaea !important;
    box-sizing: border-box !important;
}

/* 恢复输入框文字 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="text"],
.elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="date"] {
    font-size: 15px !important;
    color: #333333 !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    height: 100% !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 4. 第三格：按钮外壳 (强行重叠) */
.elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form > p.mphb-reserve-btn-wrapper,
.elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form > div:not(.mphb-errors-wrapper):not(.mphb-calendar) {
    grid-column: 3 / 4 !important; 
    grid-row: 1 / 2 !important;    
    width: 100% !important;
    height: 100% !important; 
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: flex !important;
}

/* 5. 严格执行隐藏命令 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-hide,
.elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form [style*="display: none"] {
    display: none !important;
    opacity: 0 !important;
    z-index: -999 !important;
    pointer-events: none !important;
}

/* 6. 按钮本体：撑满外壳 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="submit"].mphb-book-button,
.elementor-2330 .elementor-element.elementor-element-6ba6887 button[type="submit"].mphb-book-button,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-reserve-btn-wrapper input,
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-reserve-btn-wrapper button {
    font-size: 14px !important;
    color: #ffffff !important;
    background-color: #222222 !important; 
    border: none !important;
    width: 100% !important;
    height: 100% !important; 
    font-weight: 600 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important; 
    justify-content: center !important; 
    white-space: normal !important;
    transition: background-color 0.3s ease !important;
}

.elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="submit"].mphb-book-button:hover,
.elementor-2330 .elementor-element.elementor-element-6ba6887 button[type="submit"].mphb-book-button:hover {
    background-color: #000000 !important;
}

/* 7. 错误提示框 */
.elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-errors-wrapper {
    position: absolute !important;
    top: 70px !important;
    left: 0 !important;
    width: 100% !important;
    background: #fff0f0 !important;
    color: #d00 !important;
    font-size: 14px !important;
    padding: 10px !important;
    text-align: center !important;
    z-index: 99 !important;
}

/* ----------------------------------------------------------
   【第二部分】 手机端专属释放 (打碎网格，变为竖排)
   ---------------------------------------------------------- */
@media (max-width: 767px) {
    
    /* 1. 废除网格，取消高度限制，改为弹性竖排 */
    .elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form {
        display: flex !important;
        flex-direction: column !important; 
        height: auto !important;         /* 核心释放：取消 70px 限制 */
        overflow: visible !important;    /* 核心释放：允许向下撑开 */
        background: transparent !important;
        gap: 12px !important;            /* 各框间距 */
    }

    /* 2. 解除所有格子的定位，变为普通块 */
    .elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-in-date-wrapper,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-check-out-date-wrapper,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form > p.mphb-reserve-btn-wrapper,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 form.mphb-booking-form > div:not(.mphb-errors-wrapper):not(.mphb-calendar) {
        grid-column: auto !important;
        grid-row: auto !important;
        height: 50px !important;         /* 恢复适合手指点击的高度 */
        border-right: none !important;   /* 去掉横向时的竖线 */
        padding: 0 !important;
    }

    /* 3. 手机端输入框添加边框和圆角 */
    .elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="text"],
    .elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="date"] {
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        background: #f9f9f9 !important;
        padding: 0 15px !important;
    }

    /* 4. 手机端按钮添加圆角 */
    .elementor-2330 .elementor-element.elementor-element-6ba6887 input[type="submit"].mphb-book-button,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 button[type="submit"].mphb-book-button,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-reserve-btn-wrapper input,
    .elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-reserve-btn-wrapper button {
        border-radius: 4px !important;
        height: 52px !important;         /* 按钮稍微厚一点 */
    }

    /* 5. 修复手机端错误提示框位置 */
    .elementor-2330 .elementor-element.elementor-element-6ba6887 .mphb-errors-wrapper {
        position: relative !important;   /* 手机端不要绝对定位，跟着内容走 */
        top: 0 !important;
        margin-bottom: 10px !important;
        border-radius: 4px !important;
    }
}/* End custom CSS */
/* Start custom CSS for theme-post-content, class: .elementor-element-5c86c7d *//* 让文本框默认只显示 4 行，多余的隐藏并显示省略号 */
.elementor-2330 .elementor-element.elementor-element-5c86c7d {
    display: -webkit-box;
    -webkit-line-clamp: 4; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: all 0.3s ease;
}

/* 当它被加上 expanded 标签时，解除行数限制 */
.elementor-2330 .elementor-element.elementor-element-5c86c7d.expanded {
    -webkit-line-clamp: unset;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-fd4a9c6 *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-fd4a9c6 .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-151db2c *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-151db2c .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-c4878d5 *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-c4878d5 .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-106c98f *//* ====================================================
   JOUVA PARIS - 房型设施 Image Box 强制左对齐 (移动端)
   ==================================================== */
@media (max-width: 767px) {

    /* 1. 强制打破 Elementor 默认的上下堆叠，改回左右并排 */
    .room-facilities-list .elementor-image-box-wrapper {
        display: flex !important;
        flex-direction: row !important;      /* 魔法：强制图标在左，文字在右 */
        align-items: flex-start !important;  /* 整体顶部对齐，防止文字多时图标跑中间 */
        justify-content: flex-start !important;
        margin-bottom: 25px !important;      /* 每项服务之间的距离 */
    }

    /* 2. 锁定图标的宽度和位置 (绝不允许它变大或乱飘) */
    .room-facilities-list .elementor-image-box-img {
        width: 32px !important;              /* 固定图标大小，显得精致 */
        min-width: 32px !important;          /* 防止被右侧长文字挤压变形 */
        margin-right: 18px !important;       /* 图标与右侧文字的呼吸空间 */
        margin-bottom: 0 !important;         /* 清除默认的底部间距 */
        padding: 0 !important;
        display: flex !important;
        align-items: flex-start !important;
    }

    /* 确保图标图片本身完全填充设定的 32px 宽度 */
    .room-facilities-list .elementor-image-box-img img {
        width: 100% !important;
        height: auto !important;
    }

    /* 3. 强制右侧文字内容区左对齐并占满剩余空间 */
    .room-facilities-list .elementor-image-box-content {
        width: 100% !important;
        text-align: left !important;         /* 强制文字靠左！解决右侧悬空 */
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }

    /* 4. 优化标题文字 ("Intérieur contemporain") */
    .room-facilities-list .elementor-image-box-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #1a1a1a !important;
        margin-bottom: 6px !important;
        margin-top: -2px !important;         /* 微调标题位置，使其与左侧图标视线平齐 */
        text-align: left !important;         /* 双保险：标题靠左 */
    }

    /* 5. 优化描述文字 ("Tout équipé...") */
    .room-facilities-list .elementor-image-box-description {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #666666 !important;
        margin: 0 !important;
        text-align: left !important;         /* 双保险：描述靠左 */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-69707e9 *//* ====================================================
   JOUVA PARIS - 房型详情：描述与设施区 (移动端竖排适配)
   ==================================================== */
@media (max-width: 767px) {

    /* 1. 外层总容器：强制变成上下堆叠，并调整四周留白 */
    .room-info-section {
        display: flex !important;
        flex-direction: column !important; /* 核心魔法：左右排变成上下排 */
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        gap: 40px !important;              /* 左侧文字和右侧设施之间的上下间距 */
    }

    /* 2. 让左右两个内层容器在手机上都占据 100% 宽度 */
    .room-info-section > .e-con,
    .room-info-section > .e-container {
        width: 100% !important;
        padding: 0 !important;
    }

    /* ==========================================
       左侧区域：公寓长段落描述优化
       ========================================== */
    .room-info-section .elementor-widget-text-editor {
        font-size: 14px !important;
        line-height: 1.65 !important;    /* 增大行高，让长文阅读更舒适 */
        color: #444444 !important;
    }

    /* 优化 "Lire la suite" (阅读更多) 链接 */
    .room-info-section .elementor-widget-text-editor a {
        display: inline-block !important;
        margin-top: 10px !important;
        font-weight: 600 !important;
        color: #000000 !important;
        text-decoration: underline !important;
        text-underline-offset: 4px !important;
    }

    /* ==========================================
       右侧区域：设施列表 (Icon Box / Icon List) 优化
       ========================================== */
    /* 调整设施标题 (如: Intérieur contemporain) */
    .room-info-section .elementor-icon-box-title,
    .room-info-section .elementor-icon-list-text {
        font-size: 16px !important;
        font-weight: 600 !important;
        margin-bottom: 5px !important;
        color: #1a1a1a !important;
    }

    /* 调整设施描述文字 (如: Tout équipé...) */
    .room-info-section .elementor-icon-box-description {
        font-size: 13px !important;
        line-height: 1.4 !important;
        color: #666666 !important;
    }

    /* 确保图标大小合适，不显得喧宾夺主 */
    .room-info-section .elementor-icon-box-icon {
        margin-right: 15px !important;   /* 图标和文字的距离 */
    }
}

/* ====================================================
       修复 Image Box (图像框) 手机端乱飘的问题
       ==================================================== */
    
    /* 1. 强制最外层横向排列 (左图右文)，并靠左对齐 */
    .room-info-section .elementor-image-box-wrapper {
        display: flex !important;
        flex-direction: row !important;      /* 核心：强制图标在左，文字在右 */
        align-items: flex-start !important;  /* 顶部对齐 */
        text-align: left !important;         /* 强制左对齐 */
        margin-bottom: 25px !important;      /* 每项之间的距离 */
    }

    /* 2. 锁定左侧图标的宽度和边距 */
    .room-info-section .elementor-image-box-img {
        width: 35px !important;              /* 锁定图标大小，防止忽大忽小 */
        min-width: 35px !important;
        margin-right: 15px !important;       /* 图标与右侧文字的间距 */
        margin-bottom: 0 !important;         /* 干掉 Elementor 默认的底部边距 */
    }

    /* 3. 让右侧文字区域占满剩余空间 */
    .room-info-section .elementor-image-box-content {
        width: 100% !important;
        text-align: left !important;         /* 再次强调左对齐 */
    }

    /* 4. 优化标题和描述的字号 */
    .room-info-section .elementor-image-box-title {
        font-size: 16px !important;
        margin-bottom: 5px !important;
        margin-top: 0 !important;
    }

    .room-info-section .elementor-image-box-description {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-ed03f12 *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-ed03f12 .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-74fe2fa *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-74fe2fa .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-965aa7b *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-965aa7b .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-a7dd31c *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-a7dd31c .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-0952833 *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-0952833 .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for image-box, class: .elementor-element-9bde7a9 *//* 1. 针对图标的纯白方块背景（无阴影版） */
.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-img {
    background-color: ##F9F8F6;    /* 纯白背景 */
    width: 60px !important;      /* 方块宽度 */
    height: 60px !important;     /* 方块高度 */
    display: flex !important;    /* 居中对齐图标 */
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border-radius: 12px;         /* 圆角保持 */
    box-shadow: none !important; /* 彻底去掉阴影 */
    margin-right: 20px !important;
    flex-shrink: 0;
}

/* 2. 控制图标大小 */
.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-img img {
    width: 32px !important;      /* 调整这个数值可以改变图标大小 */
    height: auto !important;
}

/* 3. 让右侧文字垂直居中 */
.elementor-2330 .elementor-element.elementor-element-9bde7a9 .elementor-image-box-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-52b0bef *//* ====================================================
       修复 Image Box (图像框) 手机端乱飘的问题
       ==================================================== */
    
    /* 1. 强制最外层横向排列 (左图右文)，并靠左对齐 */
    .room-info-section .elementor-image-box-wrapper {
        display: flex !important;
        flex-direction: row !important;      /* 核心：强制图标在左，文字在右 */
        align-items: flex-start !important;  /* 顶部对齐 */
        text-align: left !important;         /* 强制左对齐 */
        margin-bottom: 25px !important;      /* 每项之间的距离 */
    }

    /* 2. 锁定左侧图标的宽度和边距 */
    .room-info-section .elementor-image-box-img {
        width: 35px !important;              /* 锁定图标大小，防止忽大忽小 */
        min-width: 35px !important;
        margin-right: 15px !important;       /* 图标与右侧文字的间距 */
        margin-bottom: 0 !important;         /* 干掉 Elementor 默认的底部边距 */
    }

    /* 3. 让右侧文字区域占满剩余空间 */
    .room-info-section .elementor-image-box-content {
        width: 100% !important;
        text-align: left !important;         /* 再次强调左对齐 */
    }

    /* 4. 优化标题和描述的字号 */
    .room-info-section .elementor-image-box-title {
        font-size: 16px !important;
        margin-bottom: 5px !important;
        margin-top: 0 !important;
    }

    .room-info-section .elementor-image-box-description {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-78f2950 *//* =========================================
   法式高级画廊 - 动态版 (包含字体同步)
   ========================================= */

/* 外层包装间距：留出呼吸感 */
.french-gallery-wrapper {
    margin-top: 60px; /* 稍微加大了顶部的呼吸空间 */
}

/* 头部排版：标题与箭头左右对齐 */
.gallery-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px; /* 稍微加大了标题和图片的距离 */
}

/* 🌟 核心修改：让 GALERIE 标题与全站 Services 标题字体保持一致 */
.gallery-title {
    /* 强行调用 Elementor 的全局主字体，如果没有则回退到现代无衬线字体 */
    font-family: var(--e-global-typography-primary-font-family), "Montserrat", "Jost", "Inter", sans-serif !important;
    font-size: 24px !important; /* 字体改大了，与 Services 的 H2/H3 级别看齐 */
    font-weight: 600 !important; /* 保持半粗体 */
    color: #222222 !important; /* 高级深灰黑 */
    text-transform: uppercase !important; /* 强制大写，法式灵魂 */
    letter-spacing: 2px !important; /* 字间距，增加疏离感 */
    margin: 0 !important;
    line-height: 1 !important;
}

/* 箭头区域：极简装饰，悬浮变黑 */
.gallery-arrows .nav-arrow {
    cursor: pointer;
    color: #888888; /* 默认浅灰色更优雅 */
    margin-left: 20px; /* 两个箭头之间的距离 */
    transition: color 0.3s ease;
    display: inline-flex;
    align-items: center;
}
.gallery-arrows .nav-arrow:hover {
    color: #000000;
}

/* -----------------------------------------
   核心网格排版魔法 (1大 + 3小)
   ----------------------------------------- */
.gallery-grid-custom {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 底部强制均分 3 列 */
    gap: 15px; /* 图片之间的白色缝隙 */
    transition: opacity 0.3s ease-in-out; /* 配合 JS 的淡入淡出动画 */
}

/* 第一张图撑满整个宽度 */
.gallery-item.large-img {
    grid-column: 1 / -1; 
}

/* 控制图片比例和裁切：保证不变形 */
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover !important; /* 这个魔法保证无论怎么切，照片绝不拉伸 */
    display: block;
    border-radius: 2px; /* 可选：极小的圆角增加精致度 */
}

/* 第一张大图的高度 */
.gallery-item.large-img img {
    height: 60/* End custom CSS */