/* Giao diện Flamenco Stage cho Tumbadora Band. Đen trắng xen kẽ, nét thư pháp uốn lượn, màu đến từ ảnh biểu diễn. */
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-vietnamese-400-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:500;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-vietnamese-500-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-vietnamese-600-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:700;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-vietnamese-700-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:500;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:700;font-display:swap;src:url(../fonts/bevietnam/be-vietnam-pro-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/playfair/playfair-vietnamese-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/playfair/playfair-latin-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 800;font-display:swap;src:url(../fonts/playfair/playfair-vietnamese-italic.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 800;font-display:swap;src:url(../fonts/playfair/playfair-latin-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Great Vibes";font-weight:400;font-display:swap;src:url(../fonts/greatvibes/greatvibes-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Great Vibes";font-weight:400;font-display:swap;src:url(../fonts/greatvibes/greatvibes-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
    --fl-black:#0a0a0a;--fl-white:#fff;--fl-grey:#f4f4f4;--fl-line:#e0e0e0;--fl-line-dark:#303030;
    --fl-text:#141414;--fl-muted:#5c5c5c;--fl-muted-dark:#bdbdbd;--fl-red:#c8161d;
    --fl-serif:"Playfair Display",Georgia,"Times New Roman",serif;--fl-script:"Great Vibes","Playfair Display",cursive;--fl-sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    --bs-primary:#0a0a0a;--bs-primary-rgb:10,10,10;--bs-body-font-family:var(--fl-sans);--bs-body-color:var(--fl-text);--bs-link-color:var(--fl-text);--bs-link-color-rgb:20,20,20;--bs-link-hover-color:var(--fl-red);--bs-link-hover-color-rgb:200,22,29;
}
html{scroll-padding-top:90px}
body{margin:0;background:var(--fl-black);color:var(--fl-text);font-family:var(--fl-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--fl-text);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover,a:focus{color:var(--fl-red)}
:focus-visible{outline:2px solid var(--fl-red);outline-offset:2px}
h1,h2,h3{font-family:var(--fl-serif);font-weight:500;line-height:1.24}
.fl-wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:16px}
@media(min-width:768px){.fl-wrap{padding-inline:32px}}
.fl-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:#000;color:#fff;padding:10px 16px}
.fl-skip:focus{left:8px;top:8px;color:#fff}
#tip{position:absolute}
.fl-center{text-align:center}
.fl-script{margin:0;font-family:var(--fl-script);font-size:clamp(1.9rem,4vw,2.6rem);font-weight:400;line-height:1.2;letter-spacing:0}

/* Khối đen */
.fl-dark{background:var(--fl-black);color:#fff}
.fl-dark h2,.fl-dark h3{color:#fff}
.fl-dark a:not(.fl-btn){color:#fff}
.fl-dark a:not(.fl-btn):hover{color:#fff}

/* Nút */
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:10px 28px;border:1px solid transparent;border-radius:0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.fl-btn--solid{background:#fff;border-color:#fff;color:#000}
.fl-btn--solid:hover,.fl-btn--solid:focus{background:transparent;border-color:#fff;color:#fff}
.fl-btn--line{background:transparent;border-color:#fff;color:#fff}
.fl-btn--line:hover,.fl-btn--line:focus{background:#fff;border-color:#fff;color:#000}
.fl-btn--ink{background:#000;border-color:#000;color:#fff}
.fl-btn--ink:hover,.fl-btn--ink:focus{background:#fff;border-color:#000;color:#000}
.fl-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.fl-actions{display:flex;flex-wrap:wrap;gap:12px}
.fl-actions--center{justify-content:center}

/* Header */
.fl-header,#header.fl-header{background:rgba(10,10,10,.97);border-bottom:1px solid var(--fl-line-dark);padding:0;margin:0;z-index:1030}
.fl-header__row{display:flex;align-items:center;gap:14px;min-height:72px}
.fl-brand{display:inline-flex;align-items:center;flex:none}
.fl-brand img{display:block;width:auto;height:54px}
.fl-burger{flex:none;width:44px;height:44px;margin-left:-9px;padding:13px 10px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:space-between}
.fl-burger span{display:block;height:1.5px;background:#fff}
.fl-header__call{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.08em;text-decoration:none}
.fl-header__call:hover,.fl-header__call:focus{color:#fff;text-decoration:underline}
@media(max-width:419.98px){.fl-header__call span{display:none}.fl-header__call{width:44px;height:44px;justify-content:center;border:1px solid #fff}}

/* Menu */
.fl-nav{list-style:none;margin:0;padding:0}
.fl-nav>li{position:relative;display:flex;flex-wrap:wrap;align-items:center}
.fl-nav__link{flex:1;display:block;padding:14px 2px;color:#fff;font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none}
.fl-nav__link:hover,.fl-nav__link:focus,.fl-nav>li.active>.fl-nav__link{color:#fff}
.fl-nav__caret{flex:none;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:17px}
.fl-nav .dropdown-menu{--bs-dropdown-bg:#000;--bs-dropdown-link-color:#fff;--bs-dropdown-link-hover-bg:#fff;--bs-dropdown-link-hover-color:#000;--bs-dropdown-link-active-bg:#fff;--bs-dropdown-link-active-color:#000;--bs-dropdown-border-radius:0;list-style:none}
.fl-nav .dropdown-item{white-space:normal;font-size:14px;line-height:1.45;padding:10px 14px;color:#fff;text-transform:lowercase}
.fl-nav .dropdown-item::first-letter{text-transform:uppercase}
.fl-nav .dropdown-item:hover,.fl-nav .dropdown-item:focus{background:#fff;color:#000}
@media(max-width:1199.98px){
    .fl-navpanel{--bs-offcanvas-width:min(340px,88vw);--bs-offcanvas-bg:#0a0a0a;background:#0a0a0a;color:#fff}
    .fl-navpanel .offcanvas-header{border-bottom:1px solid var(--fl-line-dark)}
    .fl-nav>li{border-bottom:1px solid var(--fl-line-dark)}
    .fl-nav>li.active>.fl-nav__link{font-weight:700}
    .fl-nav .dropdown-menu{position:static!important;flex-basis:100%;float:none;width:100%;margin:0 0 10px;padding:0 0 0 10px;border:0;border-left:1px solid #fff;background:transparent;transform:none!important}
    .fl-navpanel__foot{display:grid;gap:10px;margin-top:22px}
}
@media(min-width:1200px){
    .fl-burger{display:none}
    .fl-navpanel.offcanvas-start{position:static;visibility:visible!important;transform:none!important;width:auto;flex:1;border:0;background:transparent;display:flex;min-width:0;z-index:auto}
    .fl-navpanel .offcanvas-header,.fl-navpanel__foot{display:none}
    .fl-navpanel .offcanvas-body{padding:0;overflow:visible;display:flex;justify-content:center;flex:1}
    .fl-nav{display:flex;flex-wrap:nowrap;align-items:center}
    .fl-nav>li{flex-wrap:nowrap}
    .fl-nav__link{flex:none;position:relative;padding:8px 8px;font-size:12px;letter-spacing:.03em;white-space:nowrap}
    .fl-nav__link::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .25s}
    .fl-nav__link:hover::after,.fl-nav>li.active>.fl-nav__link::after{transform:scaleX(1)}
    .fl-nav__caret{width:18px;height:30px;margin-left:-6px;font-size:14px;padding:0}
    .fl-nav .dropdown-menu{top:100%;left:0;width:340px;margin-top:0;border:1px solid #555;padding:6px}
    .fl-nav>li.dropdown:hover>.dropdown-menu{display:block}
    .fl-header__call{margin-left:0}
}
@media(min-width:1360px){.fl-nav__link{padding-inline:10px;font-size:12.5px}.fl-nav__link::after{left:10px;right:10px}}

/* Hero */
.fl-hero{position:relative;overflow:hidden}
.fl-hero__phoenix{position:absolute;left:-4%;top:-3%;width:min(760px,110%);height:auto;opacity:.14;pointer-events:none;transform-origin:10% 90%;animation:fl-float 14s ease-in-out infinite alternate}
.fl-hero__grid{position:relative;display:grid;gap:36px;padding-block:44px 0}
.fl-hero__script{font-size:clamp(2rem,5vw,3.1rem);margin-bottom:10px}
.fl-hero h1{font-size:clamp(2.2rem,4.6vw,3.7rem);font-weight:400;margin:0 0 20px;color:#fff}
.fl-hero h1 em{font-style:italic}
.fl-hero__lead{max-width:52ch;margin:0 0 28px;font-size:clamp(1rem,1.6vw,1.1rem);color:#d8d8d8}
.fl-hero__since{margin:26px 0 0;font-size:13px;letter-spacing:.06em;color:var(--fl-muted-dark)}
.fl-hero__panels{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px;align-items:end;margin-inline:-16px}
.fl-panel{display:block;overflow:hidden;background:#111}
.fl-panel img{display:block;width:100%;height:100%;object-fit:cover}
.fl-panel--a,.fl-panel--c{aspect-ratio:9/16}
.fl-panel--b{aspect-ratio:9/15}
.fl-panel--b img{object-position:58% 50%}
.fl-panel--a,.fl-panel--c{margin-top:44px}
@media(min-width:768px){.fl-hero__panels{margin-inline:-32px}.fl-hero__grid{padding-block:64px 0}}
@media(min-width:1100px){
    .fl-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:40px;align-items:end;padding-block:56px 0}
    .fl-hero__text{padding-bottom:84px}
    .fl-hero__panels{margin-inline:0 -32px;gap:10px}
    .fl-panel--a{margin-top:70px}
    .fl-panel--c{margin-top:30px}
}
@keyframes fl-float{from{transform:rotate(-1.2deg) translateY(6px)}to{transform:rotate(1.6deg) translateY(-10px)}}

/* Dòng tên khách sạn, resort chạy ngang */
.fl-venues{background:#fff;color:#000;border-bottom:1px solid var(--fl-line);overflow:hidden}
.fl-marquee{display:flex;width:max-content;animation:fl-marquee 70s linear infinite}
.fl-marquee:hover{animation-play-state:paused}
.fl-marquee__track{display:flex;flex:none;align-items:center;padding-block:22px}
.fl-marquee__track span{font-family:var(--fl-serif);font-style:italic;font-size:clamp(1.15rem,2.2vw,1.55rem);white-space:nowrap;padding-inline:26px;position:relative}
.fl-marquee__track span::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;margin-top:-3px;background:#000;transform:rotate(45deg)}
@keyframes fl-marquee{to{transform:translateX(-50%)}}

/* Khối chung */
.fl-section{position:relative;padding-block:64px;background:#fff;color:var(--fl-text)}
.fl-section.fl-dark{background:var(--fl-black);color:#fff}
.fl-section--ribbon{overflow:hidden}
.fl-section--ribbon>.fl-wrap{position:relative}
.fl-ribbon{position:absolute;left:50%;top:50%;width:max(1200px,110%);max-width:none;height:auto;transform:translate(-50%,-50%);opacity:.1;pointer-events:none}
.fl-head{max-width:760px;margin:0 auto 40px;text-align:center}
.fl-head h2{margin:2px 0 14px;font-size:clamp(1.8rem,4vw,2.9rem);font-weight:400}
.fl-divider{display:block;width:min(340px,76%);height:auto;margin-inline:auto;filter:invert(1)}
.fl-divider--light{filter:none}
@media(min-width:992px){.fl-section{padding-block:104px}.fl-head{margin-bottom:60px}}

/* Xuất hiện khi cuộn tới */
.js .fl-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js .fl-reveal.is-in{opacity:1;transform:none}
.js .fl-head .fl-divider{clip-path:inset(0 50% 0 50%);transition:clip-path 1.1s ease .25s}
.js .fl-head.is-in .fl-divider{clip-path:inset(0)}
@media(prefers-reduced-motion:reduce){
    .fl-marquee,.fl-hero__phoenix{animation:none}
    .js .fl-reveal{opacity:1;transform:none;transition:none}
    .js .fl-head .fl-divider{clip-path:none;transition:none}
}

/* Các dịp: ô so le */
.fl-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fl-tile{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#000;color:#fff;text-decoration:none}
.fl-tile:hover,.fl-tile:focus{color:#fff}
.fl-tile picture,.fl-tile img{display:block;width:100%;height:100%}
.fl-tile img{object-fit:cover;transition:transform .7s ease}
.fl-tile:hover img,.fl-tile:focus img{transform:scale(1.05)}
.fl-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 34%,rgba(0,0,0,0) 62%)}
.fl-tile__text{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:14px 12px;display:flex;flex-direction:column;gap:3px}
.fl-tile__text b{font-family:var(--fl-serif);font-weight:500;font-size:clamp(1rem,2vw,1.3rem);line-height:1.25}
.fl-tile__text small{font-size:12.5px;line-height:1.4;color:#dcdcdc}
.fl-tile--ask{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;background:#000;text-align:center}
.fl-tile--ask::after{display:none}
.fl-tile--ask small{font-size:13px;color:#d0d0d0;line-height:1.5}
.fl-tile--ask .fl-link{color:#fff}
.fl-tile--ask .fl-script{font-size:clamp(1.5rem,3vw,2.2rem)}
@media(max-width:575.98px){.fl-tile__text small{display:none}.fl-tile__text b{font-size:.98rem}.fl-tile--ask .fl-link{font-size:11px;letter-spacing:.06em}}
@media(min-width:768px){.fl-tiles{gap:14px}.fl-tile__text{padding:20px 18px}}
@media(min-width:992px){
    .fl-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:48px}
    .fl-tile:nth-child(even){transform:translateY(48px)}
    .js .fl-tile.fl-reveal:nth-child(even){transform:translateY(70px)}
    .js .fl-tile.fl-reveal.is-in:nth-child(even){transform:translateY(48px)}
}

/* Đội hình */
.fl-lineup{list-style:none;counter-reset:lineup;display:grid;gap:0;margin:0 0 36px;padding:0;border-top:1px solid var(--fl-line-dark)}
.fl-lineup>li{counter-increment:lineup;position:relative;padding:22px 0 22px 62px;border-bottom:1px solid var(--fl-line-dark)}
.fl-lineup>li::before{content:counter(lineup);position:absolute;left:0;top:10px;font-family:var(--fl-script);font-size:3.1rem;line-height:1.2;color:#fff}
.fl-lineup h3{margin:0;font-size:1.4rem;font-weight:400}
.fl-lineup__meta{margin:3px 0 7px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.fl-lineup p:last-child{margin:0;font-size:14.5px;line-height:1.6;color:var(--fl-muted-dark)}
.fl-lineup__foot{display:grid;gap:20px;justify-items:start}
.fl-lineup__foot p{margin:0;max-width:62ch;font-size:14.5px;color:var(--fl-muted-dark)}
.fl-lineup__foot b{color:#fff;font-weight:600}
@media(min-width:768px){
    .fl-lineup{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;border-top:0}
    .fl-lineup>li:nth-child(-n+2){border-top:1px solid var(--fl-line-dark)}
    .fl-lineup>li{padding:28px 0 28px 76px}
    .fl-lineup>li::before{font-size:3.6rem;top:14px}
    .fl-lineup__foot{grid-template-columns:1fr auto;align-items:center}
}

/* Sự kiện gần đây */
.fl-shows{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;margin:0 -16px 34px;padding:0 16px 6px;-webkit-overflow-scrolling:touch}
.fl-show{flex:0 0 78%;max-width:340px;scroll-snap-align:start;color:var(--fl-text);text-decoration:none}
.fl-show:hover,.fl-show:focus{color:var(--fl-text)}
.fl-show__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--fl-grey);margin-bottom:14px}
.fl-show__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.fl-show:hover .fl-show__img img{transform:scale(1.05)}
.fl-show__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-family:var(--fl-serif);font-size:1.12rem;line-height:1.35}
.fl-show:nth-child(n+7){display:none}
@media(min-width:768px){.fl-shows{margin-inline:-32px;padding-inline:32px;scroll-padding-inline:32px}.fl-show{flex-basis:42%}}
@media(min-width:1100px){.fl-shows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px;overflow:visible;margin:0 0 48px;padding:0}.fl-show{max-width:none}}

/* Video */
.fl-video__grid{display:grid;gap:34px;align-items:center}
.fl-video__grid h2{margin:0 0 18px;font-size:clamp(1.8rem,4vw,2.9rem);font-weight:400}
.fl-video__poster{position:relative;display:block;overflow:hidden;width:100%;max-width:640px;margin-inline:auto;aspect-ratio:4/3;background:#111}
.fl-video__poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.fl-video__poster:hover img{transform:scale(1.04)}
.fl-video__poster i{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:flex;align-items:center;justify-content:center;padding-left:4px;font-size:22px;transition:background-color .2s,color .2s}
.fl-video__poster:hover i{background:#fff;color:#000}
.fl-videolist{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--fl-line-dark)}
.fl-videolist li{border-bottom:1px solid var(--fl-line-dark)}
.fl-videolist a{display:flex;gap:12px;align-items:flex-start;padding:13px 0;font-size:15px;line-height:1.45;text-decoration:none}
.fl-videolist a:hover span{text-decoration:underline;text-underline-offset:3px}
.fl-videolist i{font-size:20px;margin-top:1px;flex:none}
@media(min-width:992px){.fl-video__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px}.fl-video__poster{max-width:none}}
.fl-videomodal .modal-content{background:#000;border:0;border-radius:0}
.fl-videomodal .btn-close{position:absolute;right:0;top:-40px;opacity:1}

/* Cảm nhận */
.fl-quotes{display:grid;gap:34px}
.fl-quote{position:relative;margin:0;padding-top:44px;text-align:center}
.fl-quote::before{content:"\201C";position:absolute;left:0;right:0;top:-14px;font-family:var(--fl-script);font-size:5rem;line-height:1;color:#000}
.fl-quote blockquote{margin:0 0 16px;padding:0;border:0;font-family:var(--fl-serif);font-style:italic;font-size:1.16rem;line-height:1.6}
.fl-quote figcaption{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
@media(min-width:768px){.fl-quotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}}

/* Lời mời liên hệ */
.fl-cta{position:relative;padding-block:72px;text-align:center}
.fl-cta h2{margin:0 0 6px;color:#fff}
.fl-cta__phone{display:block;margin-bottom:12px;font-family:var(--fl-serif);font-size:clamp(2.5rem,8vw,5rem);line-height:1.15;letter-spacing:.02em;text-decoration:none}
.fl-cta p{margin:0 auto 26px;max-width:52ch;color:var(--fl-muted-dark)}
@media(min-width:992px){.fl-cta{padding-block:112px}}

/* Chân trang */
#footer.fl-footer{background:#000;color:var(--fl-muted-dark);font-size:14.5px;padding:0 0 64px;margin:0;border-top:1px solid var(--fl-line-dark)}
#footer.fl-footer a{color:#fff}
#footer.fl-footer a:hover{color:#fff;text-decoration:underline}
.fl-footer__grid{display:grid;gap:32px;padding-block:48px 36px}
.fl-footer__logo{display:block;width:auto;height:72px;margin-bottom:14px}
.fl-footer__head{margin:0 0 12px;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.fl-footer__shows,.fl-footer__shows *{color:inherit!important;font-size:inherit!important}
.fl-footer__shows>h3,.fl-footer__shows [title^="HAPPYWEDDING"]{display:none}
.fl-footer__shows p{margin:0;text-align:left!important}
.fl-footer__shows br{display:none}
.fl-footer__shows strong{display:block;margin-bottom:6px;font-weight:600}
.fl-footer__shows strong span{color:#fff!important}
.fl-footer address{margin:0}
.fl-footer address div{margin-bottom:6px;overflow-wrap:anywhere}
.fl-footer .org span{font-size:inherit!important;color:#fff}
#footer.fl-footer .panel{background:transparent;border:0;box-shadow:none;margin:0}
#footer.fl-footer .panel-heading{display:none}
#footer.fl-footer .panel-body{padding:0;color:var(--fl-muted-dark)}
.fl-social{display:flex;gap:10px;margin-top:18px}
.fl-social a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid #555;text-decoration:none!important}
#footer.fl-footer .fl-social a:hover,#footer.fl-footer .fl-social a:focus{background:#fff;border-color:#fff;color:#000}
.fl-linklist{list-style:none;margin:0;padding:0}
.fl-linklist li{padding:5px 0}
.fl-linklist a{text-decoration:none}
.fl-footer__end{border-top:1px solid var(--fl-line-dark);padding-block:16px;font-size:13px}
@media(min-width:768px){#footer.fl-footer{padding-bottom:0}.fl-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fl-footer__company{grid-column:1/-1}}
@media(min-width:1100px){.fl-footer__grid{grid-template-columns:5fr 3fr 5fr;gap:48px;padding-block:68px 52px}.fl-footer__company{grid-column:auto}}

/* Liên hệ nhanh: điện thoại ở đáy màn hình, tablet và desktop nổi góc phải */
.fl-dock{position:fixed;left:0;right:0;bottom:0;z-index:1020;display:grid;grid-template-columns:1.3fr 1fr 1fr;background:#000;border-top:1px solid #444;padding-bottom:env(safe-area-inset-bottom)}
.fl-dock__item{display:flex;align-items:center;justify-content:center;gap:7px;min-height:52px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;border-left:1px solid #444}
.fl-dock__item:hover,.fl-dock__item:focus{color:#fff}
.fl-dock__item b{font-size:16px;font-weight:700}
.fl-dock__item.is-call{background:#fff;color:#000;border-left:0}
.fl-dock__item.is-call:hover,.fl-dock__item.is-call:focus{color:#000}
@media(min-width:768px){
    .fl-dock{left:auto;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;background:transparent;border:0;padding:0}
    .fl-dock__item,.fl-dock__item.is-call{width:44px;min-height:44px;border-radius:50%;border:1px solid #fff;background:#000;color:#fff}
    .fl-dock__item span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
    .fl-dock__item i{font-size:16px}
    .fl-dock__item:hover,.fl-dock__item:focus,.fl-dock__item.is-call:hover,.fl-dock__item.is-call:focus{background:#fff;color:#000;border-color:#000}
}

/* Trang trong: dải đen đường dẫn, nội dung nền trắng, chân trang đen */
.fl-crumbs{background:var(--fl-black);color:var(--fl-muted-dark);font-size:13px;letter-spacing:.02em;border-bottom:1px solid var(--fl-line-dark)}
.fl-crumbs ol{display:flex;flex-wrap:nowrap;margin:0;padding:12px 0;list-style:none;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.fl-crumbs li{flex:none}
.fl-crumbs li+li::before{content:"/";margin:0 9px;color:#777}
.fl-crumbs a{color:#fff;text-decoration:none}
.fl-crumbs a:hover,.fl-crumbs a:focus{color:#fff;text-decoration:underline}
.fl-main{background:#fff;color:var(--fl-text);padding-block:36px 64px;min-height:55vh;overflow-wrap:anywhere;overflow-x:clip}
@media(min-width:992px){.fl-main{padding-block:60px 104px}}
.fl-main table,.fl-main .fl-table-wrap{overflow-wrap:normal}
.fl-main img,.fl-main video,.fl-main iframe,.fl-main embed,.fl-main object{max-width:100%}
.fl-main figure,.fl-main .hometext{max-width:100%;min-width:0}
.fl-main figure.article{width:auto!important;max-width:100%}
.fl-main pre{white-space:pre-wrap}
.fl-cols{display:flex;flex-direction:column;gap:28px}
.fl-cols__main{min-width:0;flex:1}
.fl-side:empty{display:none}
@media(min-width:992px){.fl-cols{flex-direction:row;gap:40px}.fl-side{flex:0 0 260px;min-width:0}}
.fl-pagetitle,.fl-main h1,.fl-main h1.title{font-size:clamp(1.9rem,4.4vw,3rem);font-weight:400;margin:0 0 22px}
.fl-pagetitle{text-align:center;margin-bottom:12px}
.fl-pagedivider{display:block;width:min(300px,70%);margin:0 auto 40px;filter:invert(1)}
.fl-main .panel{border:0;box-shadow:none;background:transparent;margin-bottom:24px}
.fl-main .panel-body{padding:0}
.fl-main .panel-heading{background:#000;color:#fff;border:0;border-radius:0}
.fl-main .panel-heading a,.fl-main .panel-heading .dimgray{color:#fff}
.fl-main .panel-heading h3,.fl-main .panel-heading h4{margin:0;font-size:1.2rem;color:#fff}
.fl-main .news_column,.fl-main .page{max-width:900px;margin-inline:auto}
.fl-main .bodytext{font-size:17px;line-height:1.8}
.fl-main .bodytext *{font-family:inherit!important;color:inherit!important}
.fl-main .bodytext a{text-decoration:underline}
.fl-main .bodytext [style*="background"]{background:none!important}
.fl-main .bodytext img{height:auto!important}
.fl-main .bodytext h2{font-size:1.65rem;margin-top:1.6em}
.fl-main .bodytext h3{font-size:1.35rem;margin-top:1.4em}
.fl-main .hometext{font-size:18px;margin-bottom:20px}
.fl-main .img-thumbnail{border-radius:0;border:0;padding:0}
.fl-main .h5{font-size:14px;font-weight:400;color:var(--fl-muted)}
.fl-main .h5 em{font-style:normal}
.fl-main .h5 strong{color:var(--fl-text)}
.fl-main .detail-related h4{display:inline;font-family:var(--fl-sans);font-size:15px;font-weight:500}
.fl-main .detail-related li{margin-bottom:7px}
.fl-main p.h3{font-family:var(--fl-serif);font-size:1.3rem;margin-top:30px}
.fl-table-wrap{overflow-x:auto;margin-bottom:1em}
.fl-table-wrap table{min-width:100%}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#000;--bs-btn-border-color:#000;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#000;--bs-btn-active-color:#fff;--bs-btn-active-bg:#333;--bs-btn-active-border-color:#333;--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#555;--bs-btn-disabled-border-color:#555;border-radius:0}
.fl-main .btn-default{border-radius:0}
.fl-main .form-control,.fl-main select{border-radius:0;border-color:#bbb;min-height:46px}
.fl-main .form-control:focus,.fl-main select:focus{border-color:#000;box-shadow:0 0 0 1px #000}
.fl-main .input-group-addon,.fl-main .input-group-text{border-radius:0;background:#f4f4f4;border-color:#bbb}
.fl-main .alert-info,.fl-main .well{background:var(--fl-grey);border:0;border-left:2px solid #000;color:var(--fl-text);border-radius:0;padding:14px 16px;line-height:1.6}
.fl-main .alert-danger{background:var(--fl-grey);border:1px solid var(--fl-line);color:var(--fl-text);border-radius:0}
.fl-main .alert-danger a{color:var(--fl-text)}
.fl-main .badge,.fl-main .label-info,.fl-main .label{background:#000!important;color:#fff!important;border-radius:0}
.fl-main .nav>li.active>a,.fl-main .nav>li.active>a:hover,.fl-main .nav>li.active>a:focus,.fl-main .nav-link.active{background:#000!important;color:#fff!important;border-color:#000!important;border-radius:0}
.fl-main .nav>li>a{color:var(--fl-text)}
.pagination{--bs-pagination-color:#000;--bs-pagination-hover-color:#fff;--bs-pagination-hover-bg:#000;--bs-pagination-hover-border-color:#000;--bs-pagination-active-bg:#000;--bs-pagination-active-border-color:#000;--bs-pagination-border-radius:0;flex-wrap:wrap}
.fl-pages{margin-top:44px;display:flex;justify-content:center}
.fl-page-contact-main .page{max-width:none}
.fl-contact-left,.fl-contact-right{min-width:0}
[class*="fl-page-video-ban-nhac"] .news_column{max-width:none;padding-inline:0}
.fl-main .news_column.container{max-width:none;padding-inline:0}
.fl-main .related.row,.fl-main .related_new.row{margin-inline:0}
.fl-main .videos_list h3,.fl-main .videos_list h4,.fl-main .videos-text h3{height:auto!important;max-height:none!important;overflow:visible!important;margin:8px 0 4px;font-family:var(--fl-sans);font-size:15px;font-weight:600;line-height:1.4}
.fl-main .videos_list a{color:var(--fl-text)}
.fl-main .videos_list .text-muted{font-size:13px}
.fl-main .videos-home-thumbnail{padding-inline:0}
.fl-main .videos-home-thumbnail img{width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover}
.fl-side .sidebar-nav a,.fl-side .module-menu a{background:#000;color:#fff}
.fl-side .sidebar-nav a:hover,.fl-side .module-menu a:hover{background:#333;color:#fff}
.fl-side a.active,.fl-side .active>a,.fl-side li.active>a{background:#fff!important;color:#000!important;box-shadow:inset 0 0 0 1px #000;border-left-color:#000!important}

/* Danh sách bài */
.fl-cathead{margin-bottom:34px;text-align:center}
.fl-cathead h1{margin:0 0 10px}
.fl-cathead__img{display:none}
.fl-cathead__text{color:var(--fl-muted);max-width:70ch;margin-inline:auto}
.fl-cards{display:grid;gap:36px 22px}
.fl-card{display:flex;flex-direction:column;min-width:0}
.fl-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--fl-grey);margin-bottom:14px}
.fl-card__img img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .7s ease}
.fl-card__img:hover img{transform:scale(1.05)}
.fl-card__title{margin:0 0 6px;font-size:1.22rem;font-weight:500;line-height:1.32}
.fl-card__title a{text-decoration:none}
.fl-card__title a:hover{text-decoration:underline;color:var(--fl-text)}
.fl-card__meta{display:flex;flex-wrap:wrap;gap:2px 14px;margin:0 0 8px;font-size:12.5px;color:var(--fl-muted)}
.fl-card__text{font-size:15px;line-height:1.55;color:#333;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.fl-card__text img{display:none}
.fl-related{margin-top:44px;padding-top:22px;border-top:1px solid #000}
.fl-related h4{font-size:1.25rem;font-family:var(--fl-serif)}
.fl-related ul{padding-left:18px;margin:0}
.fl-related li{margin-bottom:6px}
.fl-related em{color:var(--fl-muted);font-size:13px;font-style:normal}
@media(min-width:576px){.fl-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.fl-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}}
.is-noimg{background:#0a0a0a url(../images/logo-reverse.png) center/auto 52% no-repeat!important}
@media print{.js .fl-reveal{opacity:1!important;transform:none!important}.fl-dock,.fl-hero__phoenix,.fl-ribbon{display:none!important}}

/* Rồng bay, phượng múa */
.fl-beast{position:absolute;height:auto;pointer-events:none;max-width:none}
.fl-beast--lineup{right:-4%;top:6%;width:min(620px,70%);opacity:.08;animation:fl-fly 16s ease-in-out infinite alternate}
.fl-beast--ql,.fl-beast--qr{filter:invert(1);opacity:.07}
.fl-beast--ql{left:-3%;top:8%;width:300px;animation:fl-fly 18s ease-in-out infinite alternate}
.fl-beast--qr{right:-4%;top:4%;width:420px;animation:fl-dance 15s ease-in-out infinite alternate}
.fl-cta{overflow:hidden}
.fl-cta__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-items:center}
.fl-cta__body{grid-column:1/-1;grid-row:2;position:relative;min-width:0}
.fl-cta__art{display:block;width:auto;height:auto;max-width:100%;max-height:210px;margin-inline:auto}
.fl-cta__art--dragon{grid-row:1;grid-column:1}
.fl-cta__art--phoenix{grid-row:1;grid-column:2}
@media(min-width:1100px){
    .fl-cta__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1fr);gap:24px}
    .fl-cta__body{grid-column:2;grid-row:1}
    .fl-cta__art{max-height:460px}
    .fl-cta__art--dragon{grid-column:1;grid-row:1}
    .fl-cta__art--phoenix{grid-column:3;grid-row:1}
}
.fl-cta__art.is-in{animation:fl-fly 14s ease-in-out 1s infinite alternate}
.fl-cta__art--phoenix.is-in{animation-name:fl-dance}
@keyframes fl-fly{from{translate:0 8px;rotate:-1deg}to{translate:0 -12px;rotate:1.5deg}}
@keyframes fl-dance{from{translate:-6px 10px;rotate:1.5deg}to{translate:8px -12px;rotate:-2deg}}
@media(max-width:767.98px){.fl-beast--ql,.fl-beast--qr{display:none}.fl-beast--lineup{width:88%;right:-30%}}
@media(prefers-reduced-motion:reduce){.fl-beast,.fl-cta__art.is-in{animation:none}}
