/* Deluxe Cruises premium luxury red redesign layer */
.dc-luxury-global, .dc-seo-enhancement, .dc-footer-cta, .dc-mobile-sticky { box-sizing: border-box; }
.dc-luxury-global *, .dc-seo-enhancement *, .dc-footer-cta *, .dc-mobile-sticky * { box-sizing: border-box; }
.dc-luxury-global { width: min(1180px, calc(100% - 28px)); margin: 18px auto 22px; color: #fff; font-family: Georgia, 'Times New Roman', serif; border: 1px solid rgba(255,255,255,.18); border-radius: 24px; overflow: hidden; background: radial-gradient(circle at 20% 0%, rgba(211,32,46,.55), transparent 34%), linear-gradient(135deg,#130305 0%,#4a0509 48%,#080304 100%); box-shadow: 0 18px 60px rgba(0,0,0,.45); }
.dc-contact-ribbon { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; justify-content:center; padding:10px 18px; background:rgba(0,0,0,.52); font-family: Arial, Helvetica, sans-serif; font-size:14px; letter-spacing:.02em; }
.dc-contact-ribbon a, .dc-footer-cta a, .dc-mobile-sticky a { color:#fff; text-decoration:none; }
.dc-contact-ribbon a:hover, .dc-footer-cta a:hover { text-decoration:underline; }
.dc-hero { display:grid; grid-template-columns: 1.35fr .65fr; gap:24px; padding:38px; align-items:center; }
.dc-eyebrow { color:#ffd9a3; text-transform:uppercase; letter-spacing:.18em; font:700 12px/1.4 Arial, Helvetica, sans-serif; margin-bottom:12px; }
.dc-hero h1 { color:#fff; margin:0 0 14px; font-size:clamp(30px, 5vw, 58px); line-height:1.02; font-weight:500; text-shadow: 0 2px 22px rgba(0,0,0,.35); }
.dc-hero p { color:#f8ecec; font: 18px/1.65 Arial, Helvetica, sans-serif; margin:0 0 20px; }
.dc-cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.dc-btn { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:13px 20px; min-height:46px; font:700 14px/1 Arial, Helvetica, sans-serif; letter-spacing:.02em; text-decoration:none!important; transition:transform .2s ease, box-shadow .2s ease; }
.dc-btn:hover { transform:translateY(-1px); }
.dc-btn-primary { color:#290000!important; background:linear-gradient(135deg,#ffd991,#fff3d1); box-shadow:0 10px 28px rgba(255,217,145,.22); }
.dc-btn-secondary { color:#fff!important; border:1px solid rgba(255,255,255,.38); background:rgba(255,255,255,.08); }
.dc-trust-card { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); border-radius:20px; padding:24px; backdrop-filter: blur(7px); font-family: Arial, Helvetica, sans-serif; }
.dc-trust-card strong { display:block; color:#ffd9a3; font-size:14px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.dc-trust-card ul { margin:0; padding-left:19px; color:#fff; line-height:1.7; }
.dc-seo-enhancement { width:min(1180px, calc(100% - 28px)); margin: 20px auto; padding:0; color:#1b1b1b; font-family: Arial, Helvetica, sans-serif; }
.dc-seo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.dc-panel { background:#fff; border:1px solid rgba(102,0,0,.14); border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.dc-panel h2 { margin:0 0 10px; color:#62070b; font:700 22px/1.2 Georgia, 'Times New Roman', serif; }
.dc-panel p, .dc-panel li { color:#2d2d2d; font-size:15.5px; line-height:1.7; }
.dc-panel ul { margin:8px 0 0; padding-left:20px; }
.dc-faq { margin-top:16px; background:#fff; border:1px solid rgba(102,0,0,.14); border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.dc-faq h2 { color:#62070b; margin:0 0 12px; font:700 24px/1.2 Georgia, 'Times New Roman', serif; }
.dc-faq details { border-top:1px solid #eee; padding:13px 0; }
.dc-faq details:first-of-type { border-top:0; }
.dc-faq summary { cursor:pointer; color:#4f0508; font-weight:700; }
.dc-faq p { color:#333; line-height:1.65; margin:10px 0 0; }
.dc-footer-cta { width:min(1180px, calc(100% - 28px)); margin:28px auto 70px; border-radius:24px; overflow:hidden; color:#fff; background:linear-gradient(135deg,#240407,#76090f 52%,#140203 100%); border:1px solid rgba(255,255,255,.18); box-shadow:0 18px 60px rgba(0,0,0,.38); font-family:Arial, Helvetica, sans-serif; }
.dc-footer-inner { padding:30px; display:flex; gap:22px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.dc-footer-cta h2 { margin:0 0 8px; color:#fff; font:500 30px/1.15 Georgia, 'Times New Roman', serif; }
.dc-footer-cta p { margin:0; color:#f9e9e9; line-height:1.6; }
.dc-mobile-sticky { display:none; position:fixed; left:0; right:0; bottom:0; z-index:2147483000; background:linear-gradient(90deg,#5a060a,#a40f18); padding:9px 12px; border-top:1px solid rgba(255,255,255,.25); box-shadow:0 -8px 26px rgba(0,0,0,.35); font-family:Arial, Helvetica, sans-serif; }
.dc-mobile-sticky .dc-mobile-inner { display:flex; gap:8px; justify-content:center; }
.dc-mobile-sticky a { flex:1; max-width:220px; text-align:center; border-radius:999px; padding:10px 12px; background:rgba(255,255,255,.13); font-weight:700; font-size:14px; }
@media (max-width: 860px){ .dc-hero{grid-template-columns:1fr; padding:28px 20px;} .dc-seo-grid{grid-template-columns:1fr;} .dc-footer-inner{display:block;} .dc-footer-inner .dc-cta-row{margin-top:18px;} .dc-mobile-sticky{display:block;} }
@media print { .dc-mobile-sticky { display:none!important; } .dc-luxury-global, .dc-seo-enhancement, .dc-footer-cta { box-shadow:none; } }
