Trang trí tiệc Year End Party
27 tháng 2, 2026
{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “LocalBusiness”,
“@id”: “https://trangtrisinhnhatdanang.com/#business”,
“name”: “Cát Decor – Trang trí Đà Nẵng”,
“url”: “https://trangtrisinhnhatdanang.com”,
“telephone”: “+84931929333”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “194 Tố Hữu”,
“addressLocality”: “Quận Cẩm Lệ”,
“addressRegion”: “Đà Nẵng”,
“addressCountry”: “VN”
},
“geo”: {
“@type”: “GeoCoordinates”,
“latitude”: 16.034013,
“longitude”: 108.211048
},
“openingHoursSpecification”: {
“@type”: “OpeningHoursSpecification”,
“dayOfWeek”: [“Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”,”Sunday”],
“opens”: “08:00”,
“closes”: “21:00”
},
“priceRange”: “₫₫”,
“image”: “https://trangtrisinhnhatdanang.com/wp-content/uploads/2025/03/Cat-2025-cam-RGB-800×800.png”,
“description”: “Chuyên trang trí sinh nhật, sự kiện, tiệc cưới, khai trương tại Đà Nẵng và các tỉnh lân cận từ năm 2016.”
},
{
“@type”: “CollectionPage”,
“name”: “Trang Trí Sự Kiện – Portfolio Thực Tế”,
“url”: “https://trangtrisinhnhatdanang.com/mau-tiec-hoan-thanh/trang-tri-su-kien-catdecor/”,
“description”: “Bộ sưu tập các mẫu trang trí sự kiện đã hoàn thiện của Cát Decor tại Đà Nẵng.”,
“publisher”: { “@id”: “https://trangtrisinhnhatdanang.com/#business” }
},
{
“@type”: “ItemList”,
“name”: “Danh sách mẫu trang trí sự kiện”,
“numberOfItems”: 10,
“itemListElement”: [
{ “@type”: “ListItem”, “position”: 1, “name”: “Trang trí tiệc Year End Party”, “url”: “https://trangtrisinhnhatdanang.com/trang-tri-tiec-year-end-party/” },
{ “@type”: “ListItem”, “position”: 2, “name”: “Trang trí Ngày Phụ Nữ 20/10”, “url”: “https://trangtrisinhnhatdanang.com/trang-tri-ngay-phu-nu-viet-nam-20-10-tai-da-nang/” },
{ “@type”: “ListItem”, “position”: 3, “name”: “Gói tổ chức tiệc 8/3 cho công ty”, “url”: “https://trangtrisinhnhatdanang.com/goi-to-chuc-tiec-8-3-cho-cong-ty/” },
{ “@type”: “ListItem”, “position”: 4, “name”: “Dịch vụ trang trí Tết công ty Đà Nẵng”, “url”: “https://trangtrisinhnhatdanang.com/dich-vu-trang-tri-tet-cong-ty-da-nang/” },
{ “@type”: “ListItem”, “position”: 5, “name”: “Trang trí kỷ yếu trường lớp Đà Nẵng”, “url”: “https://trangtrisinhnhatdanang.com/trang-tri-truong-lop-ki-yeu-da-nang/” }
]
},
{
“@type”: “FAQPage”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Cát Decor trang trí sự kiện những loại nào?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Cát Decor chuyên trang trí: khai trương, tiệc công ty, Year End Party, Gala Dinner, ngày lễ 8/3 – 20/10, kỷ yếu, cầu hôn, tiệc Tết và lễ hội tại Đà Nẵng và các tỉnh lân cận.”
}
},
{
“@type”: “Question”,
“name”: “Chi phí trang trí sự kiện tại Cát Decor bao nhiêu?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Chi phí phụ thuộc vào quy mô và yêu cầu. Cát Decor tư vấn miễn phí và báo giá chi tiết trong vòng 15 phút qua hotline 0931 929 333 hoặc Zalo.”
}
},
{
“@type”: “Question”,
“name”: “Cát Decor có nhận trang trí ngoài Đà Nẵng không?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Có. Cát Decor nhận trang trí tại Đà Nẵng, Huế, Hội An, Quảng Nam và các tỉnh miền Trung. Liên hệ để biết chi phí di chuyển.”
}
}
]
}
]
}
/* ══════════════════════════════════════════
DESIGN: Luxury Editorial – warm gold & deep charcoal
Vietnamese warmth meets high-end event brand
══════════════════════════════════════════ */
:root {
–gold: #C9A84C;
–gold-light: #E8C97A;
–gold-pale: #F5EDD0;
–deep: #1A1208;
–charcoal: #2D2416;
–warm-mid: #6B5533;
–cream: #FAF6EE;
–white: #FFFFFF;
–accent-red: #9B2335;
–text-body: #3D2F1A;
–ff-display: ‘Playfair Display’, Georgia, serif;
–ff-script: ‘Dancing Script’, cursive;
–ff-body: ‘Be Vietnam Pro’, sans-serif;
–shadow-sm: 0 2px 12px rgba(26,18,8,.08);
–shadow-md: 0 8px 32px rgba(26,18,8,.14);
–shadow-lg: 0 20px 60px rgba(26,18,8,.2);
–radius: 4px;
–transition: .35s cubic-bezier(.22,.61,.36,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
font-family: var(–ff-body);
background: var(–cream);
color: var(–text-body);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}
/* ─── Scrollbar ─── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(–cream); }
::-webkit-scrollbar-thumb { background: var(–gold); border-radius: 3px; }
/* ─── Selection ─── */
::selection { background: var(–gold-pale); color: var(–deep); }
/* ══ HEADER ══ */
.site-header {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
background: rgba(250,246,238,.92);
backdrop-filter: blur(16px) saturate(1.4);
border-bottom: 1px solid rgba(201,168,76,.25);
padding: 0 clamp(1.5rem, 5vw, 4rem);
height: 68px;
display: flex; align-items: center; justify-content: space-between;
transition: box-shadow var(–transition);
}
.site-header.scrolled { box-shadow: var(–shadow-md); }
.logo {
display: flex; align-items: center; gap: .6rem;
text-decoration: none;
font-family: var(–ff-display);
font-weight: 700;
font-size: 1.35rem;
color: var(–deep);
letter-spacing: -.02em;
}
.logo-badge {
width: 38px; height: 38px; border-radius: 50%;
background: linear-gradient(135deg, var(–gold) 0%, var(–gold-light) 100%);
display: flex; align-items: center; justify-content: center;
font-size: .8rem; color: var(–deep); font-weight: 800;
}
.header-cta {
display: flex; align-items: center; gap: 1rem;
}
.btn-call {
display: flex; align-items: center; gap: .45rem;
background: var(–gold);
color: var(–deep);
font-family: var(–ff-body);
font-weight: 600;
font-size: .85rem;
padding: .55rem 1.2rem;
border-radius: 100px;
text-decoration: none;
letter-spacing: .02em;
transition: background var(–transition), transform var(–transition);
}
.btn-call:hover { background: var(–gold-light); transform: translateY(-1px); }
.btn-call svg { width: 14px; height: 14px; }
/* ══ HERO ══ */
.hero {
margin-top: 68px;
min-height: 88vh;
display: grid;
grid-template-columns: 1fr 1fr;
overflow: hidden;
position: relative;
}
.hero-text-col {
padding: clamp(3rem, 8vw, 7rem) clamp(2rem, 5vw, 5rem);
display: flex; flex-direction: column; justify-content: center;
background: var(–cream);
position: relative; z-index: 2;
}
.hero-eyebrow {
display: inline-flex; align-items: center; gap: .6rem;
font-size: .78rem; font-weight: 600;
letter-spacing: .16em; text-transform: uppercase;
color: var(–gold);
margin-bottom: 1.4rem;
}
.hero-eyebrow::before {
content: ”; display: block;
width: 30px; height: 1px;
background: var(–gold);
}
.hero-title {
font-family: var(–ff-display);
font-size: clamp(2.4rem, 5vw, 4.2rem);
line-height: 1.1;
color: var(–deep);
font-weight: 900;
margin-bottom: .5rem;
}
.hero-title em {
font-style: italic;
color: var(–gold);
display: block;
}
.hero-subtitle {
font-family: var(–ff-script);
font-size: 1.6rem;
color: var(–warm-mid);
margin-bottom: 1.8rem;
}
.hero-desc {
font-size: 1.05rem;
line-height: 1.75;
color: var(–warm-mid);
max-width: 480px;
margin-bottom: 2.4rem;
}
.hero-actions {
display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.btn-primary {
background: var(–deep);
color: var(–gold-pale);
font-family: var(–ff-body);
font-weight: 600;
font-size: .92rem;
padding: .9rem 2rem;
border-radius: var(–radius);
text-decoration: none;
letter-spacing: .04em;
transition: all var(–transition);
display: inline-block;
}
.btn-primary:hover { background: var(–charcoal); transform: translateY(-2px); box-shadow: var(–shadow-md); }
.btn-outline {
border: 1.5px solid var(–gold);
color: var(–warm-mid);
font-family: var(–ff-body);
font-weight: 500;
font-size: .92rem;
padding: .9rem 2rem;
border-radius: var(–radius);
text-decoration: none;
transition: all var(–transition);
}
.btn-outline:hover { background: var(–gold-pale); }
.hero-stats {
display: flex; gap: 2rem;
margin-top: 3rem;
padding-top: 2rem;
border-top: 1px solid rgba(201,168,76,.3);
}
.stat { display: flex; flex-direction: column; }
.stat-num {
font-family: var(–ff-display);
font-size: 1.9rem;
font-weight: 900;
color: var(–deep);
line-height: 1;
}
.stat-label { font-size: .78rem; color: var(–warm-mid); letter-spacing: .04em; margin-top: .2rem; }
.hero-image-col {
position: relative;
overflow: hidden;
}
.hero-image-col::after {
content: ”;
position: absolute; inset: 0;
background: linear-gradient(to right, var(–cream) 0%, transparent 30%);
z-index: 1;
}
.hero-img {
width: 100%; height: 100%;
object-fit: cover;
transform: scale(1.05);
transition: transform 8s ease-out;
}
.hero-img.loaded { transform: scale(1); }
.hero-badge {
position: absolute; bottom: 2.5rem; right: 2.5rem; z-index: 10;
background: var(–deep);
color: var(–gold-pale);
padding: 1rem 1.5rem;
border-radius: var(–radius);
font-size: .78rem;
font-weight: 500;
letter-spacing: .04em;
box-shadow: var(–shadow-lg);
display: flex; align-items: center; gap: .5rem;
}
.hero-badge-dot {
width: 8px; height: 8px; border-radius: 50%;
background: #4ADE80;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%,100% { opacity: 1; transform: scale(1); }
50% { opacity: .6; transform: scale(1.4); }
}
/* ══ SECTION COMMON ══ */
section { padding: clamp(3.5rem, 8vw, 6rem) clamp(1.5rem, 5vw, 4rem); }
.section-label {
font-size: .75rem; font-weight: 600;
letter-spacing: .2em; text-transform: uppercase;
color: var(–gold);
display: flex; align-items: center; gap: .6rem;
margin-bottom: 1rem;
}
.section-label::after {
content: ”; flex: 1;
height: 1px; background: rgba(201,168,76,.4);
max-width: 60px;
}
.section-title {
font-family: var(–ff-display);
font-size: clamp(1.8rem, 3.5vw, 2.8rem);
font-weight: 700;
color: var(–deep);
line-height: 1.2;
}
.section-title span { color: var(–gold); font-style: italic; }
.section-desc {
font-size: 1rem; line-height: 1.7;
color: var(–warm-mid);
max-width: 560px;
margin-top: .8rem;
}
/* ══ FILTER TABS ══ */
.filter-wrap {
background: var(–deep);
padding: 1.2rem clamp(1.5rem, 5vw, 4rem);
display: flex; align-items: center; gap: .6rem;
overflow-x: auto; white-space: nowrap;
scrollbar-width: none;
position: sticky; top: 68px; z-index: 50;
}
.filter-wrap::-webkit-scrollbar { display: none; }
.filter-label {
font-size: .72rem; font-weight: 600;
letter-spacing: .14em; text-transform: uppercase;
color: rgba(255,255,255,.4);
margin-right: .5rem;
flex-shrink: 0;
}
.filter-btn {
padding: .45rem 1.1rem;
border-radius: 100px;
background: transparent;
border: 1px solid rgba(255,255,255,.15);
color: rgba(255,255,255,.65);
font-family: var(–ff-body);
font-size: .82rem;
font-weight: 500;
cursor: pointer;
flex-shrink: 0;
transition: all var(–transition);
}
.filter-btn:hover { border-color: var(–gold); color: var(–gold-light); }
.filter-btn.active {
background: var(–gold);
border-color: var(–gold);
color: var(–deep);
font-weight: 700;
}
/* ══ PORTFOLIO GRID ══ */
.portfolio-section { background: var(–cream); }
.portfolio-header {
display: flex; justify-content: space-between; align-items: flex-end;
flex-wrap: wrap; gap: 1rem;
margin-bottom: 2.5rem;
}
.portfolio-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5px;
}
/* Featured first card */
.portfolio-grid .card:first-child {
grid-column: 1 / 3;
grid-row: 1 / 3;
}
.card {
position: relative;
overflow: hidden;
cursor: pointer;
display: block;
text-decoration: none;
background: var(–charcoal);
}
.card::after {
content: ”;
position: absolute; inset: 0;
background: linear-gradient(to top, rgba(26,18,8,.85) 0%, rgba(26,18,8,.1) 55%, transparent 100%);
transition: opacity var(–transition);
}
.card:hover::after { opacity: .7; }
.card-img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(.25,.46,.45,.94);
filter: brightness(.95) saturate(1.05);
}
.card:first-child .card-img { aspect-ratio: auto; height: 100%; }
.card:hover .card-img { transform: scale(1.06); }
.card-content {
position: absolute; bottom: 0; left: 0; right: 0;
padding: 1.4rem 1.6rem;
z-index: 2;
transform: translateY(8px);
transition: transform var(–transition);
}
.card:hover .card-content { transform: translateY(0); }
.card-tag {
display: inline-block;
background: var(–gold);
color: var(–deep);
font-size: .7rem; font-weight: 700;
letter-spacing: .1em; text-transform: uppercase;
padding: .22rem .65rem;
border-radius: 2px;
margin-bottom: .6rem;
}
.card-title {
font-family: var(–ff-display);
font-size: 1.05rem;
font-weight: 700;
color: var(–white);
line-height: 1.35;
margin-bottom: .35rem;
}
.card:first-child .card-title { font-size: 1.5rem; }
.card-date {
font-size: .75rem;
color: rgba(255,255,255,.55);
letter-spacing: .04em;
}
.card-arrow {
position: absolute; top: 1.2rem; right: 1.2rem;
width: 36px; height: 36px; border-radius: 50%;
background: rgba(255,255,255,.1);
backdrop-filter: blur(8px);
display: flex; align-items: center; justify-content: center;
opacity: 0; transform: scale(.7);
transition: all var(–transition);
z-index: 3;
}
.card:hover .card-arrow { opacity: 1; transform: scale(1); }
.card-arrow svg { width: 14px; height: 14px; color: white; }
/* ══ SERVICES STRIP ══ */
.services-section {
background: var(–deep);
padding-top: clamp(3rem, 6vw, 5rem);
padding-bottom: clamp(3rem, 6vw, 5rem);
}
.services-section .section-title { color: var(–gold-pale); }
.services-section .section-label { color: var(–gold); }
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1.5px;
margin-top: 2.5rem;
}
.service-card {
background: rgba(255,255,255,.04);
border: 1px solid rgba(201,168,76,.12);
padding: 2rem 1.8rem;
transition: all var(–transition);
text-decoration: none;
display: flex; flex-direction: column;
gap: 1rem;
}
.service-card:hover {
background: rgba(201,168,76,.08);
border-color: rgba(201,168,76,.4);
transform: translateY(-3px);
}
.service-icon {
font-size: 2rem;
line-height: 1;
}
.service-name {
font-family: var(–ff-display);
font-size: 1.05rem;
font-weight: 700;
color: var(–gold-pale);
line-height: 1.3;
}
.service-desc {
font-size: .83rem;
color: rgba(245,237,208,.55);
line-height: 1.6;
}
.service-arrow {
margin-top: auto;
font-size: .78rem;
color: var(–gold);
letter-spacing: .06em;
font-weight: 600;
text-decoration: none;
display: flex; align-items: center; gap: .4rem;
}
/* ══ FAQ ══ */
.faq-section { background: var(–gold-pale); }
.faq-wrap {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 4rem;
align-items: start;
max-width: 1100px;
}
.faq-list { margin-top: 2.5rem; }
.faq-item {
border-top: 1px solid rgba(26,18,8,.12);
overflow: hidden;
}
.faq-question {
width: 100%; text-align: left;
background: none; border: none; cursor: pointer;
padding: 1.3rem 0;
font-family: var(–ff-body);
font-size: .97rem;
font-weight: 600;
color: var(–deep);
display: flex; justify-content: space-between; align-items: center;
gap: 1rem;
transition: color var(–transition);
}
.faq-question:hover { color: var(–gold); }
.faq-icon {
flex-shrink: 0;
width: 22px; height: 22px; border-radius: 50%;
border: 1.5px solid var(–gold);
display: flex; align-items: center; justify-content: center;
transition: all var(–transition);
font-size: .9rem; color: var(–gold); line-height: 1;
}
.faq-item.open .faq-icon { background: var(–gold); color: var(–deep); transform: rotate(45deg); }
.faq-answer {
max-height: 0; overflow: hidden;
font-size: .93rem; line-height: 1.7;
color: var(–warm-mid);
transition: max-height .4s ease, padding .4s ease;
}
.faq-item.open .faq-answer {
max-height: 200px;
padding-bottom: 1.2rem;
}
/* ══ CTA BANNER ══ */
.cta-section {
background: linear-gradient(135deg, var(–deep) 0%, var(–charcoal) 50%, #3D2010 100%);
padding: clamp(3rem, 7vw, 5.5rem) clamp(1.5rem, 5vw, 4rem);
text-align: center;
position: relative; overflow: hidden;
}
.cta-section::before {
content: ”;
position: absolute; inset: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,.15) 0%, transparent 70%);
}
.cta-title {
font-family: var(–ff-display);
font-size: clamp(2rem, 4.5vw, 3.5rem);
font-weight: 900;
color: var(–white);
line-height: 1.15;
position: relative; z-index: 1;
}
.cta-title em { color: var(–gold); font-style: italic; }
.cta-sub {
color: rgba(255,255,255,.6);
font-size: 1rem; line-height: 1.6;
margin: 1.2rem auto 2.5rem;
max-width: 480px;
position: relative; z-index: 1;
}
.cta-actions {
display: flex; justify-content: center; align-items: center;
gap: 1rem; flex-wrap: wrap;
position: relative; z-index: 1;
}
.btn-gold {
background: var(–gold);
color: var(–deep);
font-weight: 700;
font-size: .95rem;
padding: .9rem 2.2rem;
border-radius: var(–radius);
text-decoration: none;
letter-spacing: .04em;
transition: all var(–transition);
display: inline-block;
}
.btn-gold:hover { background: var(–gold-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(201,168,76,.35); }
.btn-ghost {
border: 1.5px solid rgba(255,255,255,.25);
color: rgba(255,255,255,.75);
font-size: .93rem;
padding: .9rem 2rem;
border-radius: var(–radius);
text-decoration: none;
transition: all var(–transition);
}
.btn-ghost:hover { border-color: var(–gold); color: var(–gold); }
/* ══ FOOTER ══ */
.site-footer {
background: var(–deep);
padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 5vw, 4rem) 2rem;
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
gap: 3rem;
}
.footer-brand {}
.footer-logo {
font-family: var(–ff-display);
font-size: 1.5rem; font-weight: 900;
color: var(–gold-pale);
margin-bottom: .5rem;
}
.footer-tagline {
font-size: .82rem;
color: rgba(245,237,208,.45);
letter-spacing: .06em; text-transform: uppercase;
margin-bottom: 1.2rem;
}
.footer-contact {
display: flex; flex-direction: column; gap: .5rem;
}
.footer-contact a {
color: rgba(245,237,208,.7);
text-decoration: none;
font-size: .87rem;
display: flex; align-items: center; gap: .5rem;
transition: color var(–transition);
}
.footer-contact a:hover { color: var(–gold); }
.footer-col-title {
font-family: var(–ff-display);
font-size: .95rem; font-weight: 700;
color: var(–gold-pale);
margin-bottom: 1rem;
letter-spacing: .04em;
}
.footer-links {
display: flex; flex-direction: column; gap: .5rem;
list-style: none;
}
.footer-links li a {
color: rgba(245,237,208,.55);
text-decoration: none;
font-size: .85rem;
transition: color var(–transition);
display: flex; align-items: center; gap: .4rem;
}
.footer-links li a::before {
content: ‘→’; color: var(–gold); opacity: 0;
transform: translateX(-4px);
transition: all var(–transition);
font-size: .75rem;
}
.footer-links li a:hover { color: var(–gold-pale); }
.footer-links li a:hover::before { opacity: 1; transform: translateX(0); }
.footer-bottom {
background: rgba(0,0,0,.25);
padding: 1rem clamp(1.5rem, 5vw, 4rem);
display: flex; justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: .5rem;
}
.footer-copy {
font-size: .78rem;
color: rgba(245,237,208,.35);
letter-spacing: .04em;
}
.footer-seo-links {
display: flex; gap: 1.2rem; flex-wrap: wrap;
}
.footer-seo-links a {
font-size: .75rem;
color: rgba(245,237,208,.3);
text-decoration: none;
transition: color var(–transition);
}
.footer-seo-links a:hover { color: var(–gold); }
/* ══ ANIMATIONS ══ */
.fade-up {
opacity: 0;
transform: translateY(30px);
transition: opacity .7s ease, transform .7s ease;
}
.fade-up.visible {
opacity: 1;
transform: translateY(0);
}
.fade-up:nth-child(2) { transition-delay: .1s; }
.fade-up:nth-child(3) { transition-delay: .2s; }
.fade-up:nth-child(4) { transition-delay: .3s; }
/* ══ RESPONSIVE ══ */
@media (max-width: 900px) {
.hero { grid-template-columns: 1fr; min-height: auto; }
.hero-image-col { height: 50vw; }
.hero-image-col::after { background: linear-gradient(to top, var(–cream) 0%, transparent 40%); }
.portfolio-grid { grid-template-columns: 1fr 1fr; }
.portfolio-grid .card:first-child { grid-column: 1 / 3; grid-row: auto; }
.faq-wrap { grid-template-columns: 1fr; gap: 1.5rem; }
.site-footer { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
.portfolio-grid { grid-template-columns: 1fr; }
.portfolio-grid .card:first-child { grid-column: auto; }
.site-footer { grid-template-columns: 1fr; gap: 2rem; }
.hero-stats { gap: 1.5rem; }
.services-grid { grid-template-columns: 1fr 1fr; }
}
/* ══ BREADCRUMB ══ */
.breadcrumb {
padding: .9rem clamp(1.5rem, 5vw, 4rem);
background: var(–white);
border-bottom: 1px solid rgba(201,168,76,.15);
margin-top: 68px;
}
.breadcrumb ol {
list-style: none;
display: flex; flex-wrap: wrap; gap: .3rem;
align-items: center;
font-size: .78rem;
color: var(–warm-mid);
}
.breadcrumb ol li + li::before { content: ‘›’; margin-right: .3rem; color: var(–gold); }
.breadcrumb a { color: var(–warm-mid); text-decoration: none; }
.breadcrumb a:hover { color: var(–gold); }
.breadcrumb [aria-current] { color: var(–deep); font-weight: 600; }
/* remove margin-top on hero since breadcrumb is before it */
.hero { margin-top: 0; }
/* ══ DECORATIVE DIVIDER ══ */
.ornament {
text-align: center;
padding: .5rem 0;
color: var(–gold);
font-size: 1rem;
opacity: .6;
letter-spacing: .5em;
}
Cát Decor
Chuyên nghiệp trong từng chi tiết
Từ Year End Party, khai trương đến Gala Dinner — Cát Decor biến không gian bình thường thành sân khấu ấn tượng với thiết kế riêng cho từng sự kiện.
Mẫu đã hoàn thiện
Mỗi không gian là một câu chuyện riêng. Xem qua các mẫu thực tế đã thực hiện.
27 tháng 2, 2026
5 tháng 10, 2025
12 tháng 2, 2025
3 tháng 1, 2025
21 tháng 12, 2024
23 tháng 8, 2024
7 tháng 5, 2024
14 tháng 3, 2024
Dịch vụ
Từ ý tưởng đến thi công – một đầu mối, trọn vẹn sự kiện.
Hỏi & Đáp
Chưa rõ điều gì? Đọc nhanh bên cạnh hoặc gọi trực tiếp 0931 929 333 để được tư vấn miễn phí.
Tư vấn miễn phí · Thiết kế theo yêu cầu · Báo giá trong 15 phút · Phục vụ toàn Đà Nẵng và miền Trung
// ── Header scroll shadow ──
const header = document.getElementById(‘site-header’);
window.addEventListener(‘scroll’, () => {
header.classList.toggle(‘scrolled’, window.scrollY > 20);
}, { passive: true });
// ── Intersection Observer: fade-up animations ──
const fadeEls = document.querySelectorAll(‘.fade-up’);
const obs = new IntersectionObserver((entries) => {
entries.forEach(e => {
if (e.isIntersecting) { e.target.classList.add(‘visible’); obs.unobserve(e.target); }
});
}, { threshold: .1, rootMargin: ‘0px 0px -40px 0px’ });
fadeEls.forEach(el => obs.observe(el));
// ── Portfolio filter ──
function filterCards(cat, btn) {
document.querySelectorAll(‘.filter-btn’).forEach(b => {
b.classList.remove(‘active’);
b.setAttribute(‘aria-pressed’, ‘false’);
});
btn.classList.add(‘active’);
btn.setAttribute(‘aria-pressed’, ‘true’);
document.querySelectorAll(‘#portfolio-grid .card’).forEach(card => {
const show = cat === ‘all’ || card.dataset.cat === cat;
card.style.display = show ? ‘block’ : ‘none’;
card.style.animation = show ? ‘none’ : ”;
if (show) { setTimeout(() => card.classList.add(‘visible’), 50); }
});
}
// ── FAQ accordion ──
function toggleFaq(btn) {
const item = btn.closest(‘.faq-item’);
const isOpen = item.classList.contains(‘open’);
document.querySelectorAll(‘.faq-item.open’).forEach(i => {
i.classList.remove(‘open’);
i.querySelector(‘.faq-question’).setAttribute(‘aria-expanded’, ‘false’);
});
if (!isOpen) {
item.classList.add(‘open’);
btn.setAttribute(‘aria-expanded’, ‘true’);
}
}
// ── Lazy image fade-in ──
document.querySelectorAll(‘img[loading=”lazy”]’).forEach(img => {
img.style.opacity = ‘0’;
img.style.transition = ‘opacity .5s ease’;
img.addEventListener(‘load’, () => img.style.opacity = ‘1’);
if (img.complete) img.style.opacity = ‘1’;
});
Trang Trí Ngày Phụ Nữ Việt Nam 20/10 Tại Đà Nẵng: Ý Tưởng Độc Đáo & Dịch Vụ Chuyên Nghiệp Ngày Phụ nữ Việt Nam 20/10 đang đến gần, đây là dịp đặc biệt để các cơ quan, doanh nghiệp và tổ chức tại Đà Nẵng thể hiện sự trân trọng và tôn vinh những […]
TRANG TRÍ SINH NHẬT TẠI HUẾ NHANH GỌN TINH TẾ , ĐEM LẠI CHO QUÝ KHÁCH SỰ HÀI LÒNG – CÁT DECOR | 0931929333 Trang Trí Sinh Nhật Tại Huế – Đẹp, Giá Rẻ, Đa Dạng Mẫu Mã | Cát Decor 🎉 Bạn đang tìm dịch vụ trang trí sinh nhật tại Huế vừa đẹp, […]
Tổ chức tiệc 8/3 cho công ty đơn giản, lịch sự và đẹp mắt ! Sắp đến 8/3 Happy Women’s Day rồi nhỉ. Có thể đối với một số công ty đây không phải là một buổi tiệc lớn, long trọng như Gala cuối năm, Trao thường, nhưng cũng là dịp rất để tâm cho […]
DỊCH VỤ TRANG TRÍ TẾT CÔNG TY ĐÀ NẴNG ĐẸP , ĐỘC ĐÁO , TIỂU CẢNH TẾT CHECK-IN VỚI 2- 3 GÓC ĐẸP, ĐEM THẬT NHIỀU TÀI LỘC MAY MẮN ĐẾN QUÝ KHÁCH HÀNG Đón Tết ấm áp, rực rỡ sắc xuân cùng Cát Decor – trang trí tết đẹp !Tết đến xuân về, Cát […]
Trang trí Tết truyền thống tại Đà Nẵng với nhiều tiểu cảnh đẹp và mang đến cho các bạn những khung hình check-in TẾT đẹp nhất Để hiểu hơn về Trang trí Tết truyền thống là gì, đầu tiên chúng ta phải nắm những khái niệm cơ bản nhất trước nhé ! Tết Nguyên Đán […]
Trang trí 20 tháng 10 Tham khảo một số mẫu tại đây 20 tháng 10 hàng năm là ngày kỷ niệm nhằm tôn vinh phụ nữ việt Nam. Vào ngày này, tất cả những người phụ nữ Việt Nam đều được tôn vinh, tri ân, được bày tỏ sự quan tâm, được gửi tới những lời […]
Trang trí cầu hôn tại phòng khách sạn, riêng tư, lãng mạn.
TRANG TRÍ TRƯỜNG LỚP KỈ YẾU ĐÀ NẴNG đẹp, nhanh chóng, chuyên nghiệp dành cho từng cấp với phụ kiện kỉ yếu dễ thương. Những mùa hè là mùa vui với rất nhiều bạn học sinh, sinh viên . Nhưng cũng có những mùa hè là mùa cuối cùng cho một cấp học , một […]
Birthday decoration store DA NANG CITY professional with full accessories / decoration items in Da Nang city, Viet Nam You are traveling in Viet Nam, Da Nang and want to celebrate a party and want to decor your room / your place / restaurant for more beautiful. We will make it to you ! There […]