/* Shared final refinements: messenger-only contact and optical glass badges. */
.card-media{position:relative;margin:8px 8px 0;border-radius:12px;isolation:isolate}.card-media .card-image{margin:0}.card-badges{position:absolute;left:12px;right:12px;top:12px;display:flex;gap:7px;align-items:flex-start;pointer-events:none}.glass-badge{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;max-width:calc(100% - 72px);border:1px solid #fffffff0;border-radius:30px;background:linear-gradient(130deg,#ffffffb8,#edf8ff78);box-shadow:inset 0 1px 0 #fff,0 5px 16px #25637d23,inset 0 -1px 0 #b9e5f74d;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);font-size:9px;font-weight:650;letter-spacing:.015em;color:#234e63;line-height:1.3;text-shadow:0 1px 2px #ffffffc9}.glass-badge:before{content:"";position:absolute;inset:2px;border-top:1px solid #ffffffc9;border-radius:inherit;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 55%,transparent)}.premium-badge{letter-spacing:.12em;font-size:9px;color:#235f7e;background:linear-gradient(135deg,#f8fdffd9,#bfe8fa75);outline:1px solid #ffffff6b;outline-offset:2px;padding:7px 11px;flex-shrink:0;max-width:none}.verified-badge{margin-left:auto;white-space:nowrap;max-width:none}.verified-badge i{width:5px;height:5px;background:#5caaca;border-radius:50%;box-shadow:0 0 0 3px #d6f2ff91}.beach-badge{position:absolute;bottom:12px;left:12px;font-size:10px;padding:8px 11px;z-index:2;transition:background .2s,transform .2s}.beach-badge:hover{color:#214c61;background:#f8fdffe6;transform:translateY(-1px)}.beach-badge .icon{width:12px;height:12px}.card-media .image-note{bottom:51px;left:12px;font-size:8px;background:#f8fdffdb}.card-content>p{font-size:13px;line-height:1.65;min-height:43px}.card-content h3{font-size:20px}.contact-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.contact-buttons .btn{white-space:nowrap;gap:9px;font-size:12px}.contact-buttons img{width:18px;height:18px;object-fit:contain}.footer-grid .contact-buttons{margin-top:12px;gap:8px}.footer-grid .contact-buttons .btn{font-size:11px;min-height:38px;padding:8px 11px;color:#245b78!important}.detail-booking .contact-buttons{margin-top:20px;flex-direction:column;align-items:stretch}.detail-booking .like-shell{position:relative;inset:auto;display:flex;justify-content:center;margin-top:20px}.detail-booking .like-button{height:33px;width:auto;min-height:33px}.contact-messenger{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.contact-messenger .contact-info{border:0;box-shadow:none;border-radius:0;padding:38px;background:linear-gradient(140deg,#e7f6ffbb,#ffffff9c)}.contact-messenger>img{width:100%;height:100%;object-fit:cover;min-height:430px;filter:saturate(.75) brightness(1.08)}.contact-address{display:flex;align-items:center;gap:8px;font-size:12px;color:#5a7b8f;margin-top:25px}.contact-address .icon{width:16px}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px;margin-top:25px;background:linear-gradient(120deg,#e5f5ff,#fbfdff)}.admin-welcome h2{font-size:24px;margin:12px 0}.admin-welcome p{font-size:13px;margin:0}.admin-welcome>.btn{flex-shrink:0}.table{font-size:13px}.field label{font-size:13px}.like-toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:1060;padding:15px 20px;max-width:calc(100% - 40px);font-size:12px;color:#475e70;background:#fafdfff5}.like-shell{margin:0}.like-button{font-family:inherit;line-height:normal}.like-button:before{content:"";position:absolute;inset:-6px -3px;border-radius:inherit}.sea-ripple{animation:phuket-ripple .75s ease-out forwards;border-color:#c6f0ffb3;box-shadow:0 0 0 1px #ffffffa3,inset 0 0 8px #b2e8ff70}.sea-drop{animation:phuket-spray .8s var(--ease) forwards}.like-shell .form-result{display:none}@keyframes phuket-ripple{0%{opacity:.8;transform:scale(.6,.3)}100%{opacity:0;transform:scale(4.5,1.8)}}@keyframes phuket-spray{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.1)}}
@supports not(backdrop-filter:blur(1px)){.glass-badge,.like-button{background:#f5fbfff0!important;color:#24546b}}
@media(max-width:991px){.contact-messenger .contact-info{padding:30px}.contact-messenger .contact-info h2{font-size:26px}.contact-messenger .contact-buttons .btn{font-size:11px;padding-inline:12px}.verified-badge{font-size:8px}.glass-badge{padding-inline:8px}.card-badges{gap:5px;left:10px;right:10px}.beach-badge{font-size:9px}.admin-welcome{flex-wrap:wrap}}
@media(max-width:767px){.contact-messenger{grid-template-columns:1fr}.contact-messenger>img{min-height:0;height:260px}.contact-messenger .contact-info{padding:27px}.contact-messenger .contact-coordinate{display:block;font-size:24px}.closing-cta .contact-buttons{width:100%}.card-content>p{font-size:13px}.card-content h3{font-size:19px}}
@media(max-width:479px){.card-media{margin:7px 7px 0}.card-badges .glass-badge{font-size:9px;padding:7px 10px}.beach-badge{font-size:10px}.card-content h3{font-size:21px}.card-content>p{font-size:14px;min-height:46px}.contact-buttons .btn{font-size:12px;min-height:44px}.contact-messenger .contact-buttons{gap:9px}.contact-messenger .contact-buttons .btn{font-size:12px;flex:1}.admin-welcome{padding:23px}.admin-welcome h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.splash-ring,.splash-drop{display:none}.like-button svg{animation:none!important}.beach-badge{transition:none}}
.card-media .like-button,.card-media .beach-badge{height:28px;min-height:28px;padding:4px 8px;gap:4px;font-size:10px;line-height:1;box-sizing:border-box}.card-media .like-button{min-width:44px}.card-media .like-button svg{width:14px;height:14px}.card-media .beach-badge .icon{width:11px;height:11px}.card-media .like-shell,.card-media .beach-badge{bottom:12px}.card-media .like-button:before{inset:-8px -3px}.card-media .beach-badge:after{content:"";position:absolute;inset:-8px 0;border-radius:inherit}.photo-close{display:flex;margin:0 0 8px auto}
.glass-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:12px 24px;border-radius:100px;font-size:.94rem;font-weight:550;line-height:1.35;color:var(--ink);overflow:hidden;border:1px solid #ffffffe6;background:linear-gradient(130deg,#ffffffe0,#ffffff73);box-shadow:inset 0 1px 0 #fff,0 8px 28px #2e91b011;backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);transition:transform .35s var(--ease),box-shadow .35s,background .35s,border-color .35s}.glass-button:hover{transform:translateY(-3px);box-shadow:0 9px 24px #1386b329}.glass-button:active{transform:translateY(0) scale(.97)}.aurora-gallery+.detail-layout{margin-top:30px}.aurora-gallery+.detail-layout .prose{margin-top:0}.gallery-cover-label{max-width:calc(100% - 40px)}
.site-header{background:linear-gradient(115deg,#fafdffb3,#edf8ff80);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);border-bottom:1px solid #ffffffa6;box-shadow:0 4px 22px #3b87ad0b}.site-header .navbar{min-height:62px;padding-block:7px}.site-header .brand>.icon{width:28px;height:28px}.site-header .brand{font-size:16px}.site-header .brand small{font-size:7px}.site-header .nav-contact{min-height:34px;padding:7px 13px}.site-header .navbar .nav-link{padding-block:7px!important}.admin-topbar{height:60px;background:linear-gradient(110deg,#fbfdffb3,#edf8ff80);backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35)}.admin-main{min-height:calc(100vh - 116px)}.detail-booking{top:82px}.aurora-gallery .gallery-cover .glass-badge{max-width:calc(100% - 40px)}
@supports not(backdrop-filter:blur(1px)){.site-header,.admin-topbar{background:#f5fbfff5}}
@media(max-width:767px){.site-header .navbar{min-height:58px;padding-block:6px}.site-header .navbar-toggler{min-width:44px;min-height:44px;padding:8px}.admin-topbar{height:56px}.admin-sidebar{top:56px}.admin-main{min-height:calc(100vh - 112px)}.detail-booking{top:auto}}
.about-voyages{margin-top:28px;padding:18px 24px}.about-voyages summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;color:#4e778e;list-style:none}.about-voyages summary span{font-size:20px;transition:transform .2s}.about-voyages[open] summary span{transform:rotate(45deg)}.about-voyages .prose{border:0;box-shadow:none;background:transparent;padding:20px 0 0;margin:0;font-size:14px}.about-voyages .prose p{margin:0 0 16px}
@media(max-width:767px){.admin-sidebar{visibility:hidden}.admin-sidebar.open{visibility:visible}.site-header .navbar-nav .nav-link{min-height:42px;display:flex;align-items:center}}
