File: /www/wwwroot/nasuhang.com/wp-content/themes/twentytwentyfive/jn/static/styles.css
/* ============================================
iOS 26 设计风格 - CSS变量定义
============================================ */
:root {
/* 动态色彩系统 */
--ios-primary: #007aff;
--ios-primary-dark: #0056b3;
--ios-secondary: #5856d6;
--ios-success: #34c759;
--ios-warning: #ff9500;
--ios-danger: #ff3b30;
/* 玻璃态背景色 */
--glass-bg-light: rgba(255, 255, 255, 0.7);
--glass-bg-medium: rgba(255, 255, 255, 0.5);
--glass-bg-dark: rgba(0, 0, 0, 0.3);
/* 阴影系统 - 多层深度 */
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.06);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);
--shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1), 0 10px 10px rgba(0, 0, 0, 0.04);
--shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.15);
/* 边框高光 */
--border-highlight: rgba(255, 255, 255, 0.8);
--border-subtle: rgba(0, 0, 0, 0.08);
/* 过渡动画 */
--transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
--transition-base: 0.24s cubic-bezier(0.4, 0, 0.2, 1);
--transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
--transition-bounce: 0.36s cubic-bezier(0.68, -0.55, 0.265, 1.55);
--modal-duration: 160ms;
--modal-ease: cubic-bezier(0.2, 0, 0, 1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* 为其他需要无点的列表单独设置样式 */
.question-meta li,
.nav li,
.comment li {
list-style: none;
}
/* 为 tips 部分的列表添加样式 */
.tips > ul > li {
list-style: disc;
margin-left: 20px;
}
/* 为嵌套的列表设置不同的点样式 */
.tips > ul > li ul {
list-style: circle;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
line-height: 1.6;
color: #333;
background-color: #e5eaf4;
}
.content-left .hero {
margin-bottom: 24px;
}
/* 移动端适配 */
@media (max-width: 768px) {
.content-left .hero {
margin-bottom: 20px;
}
.question-container {
padding: 0;
border-radius: 20px;
}
h1 {
font-size: 24px;
margin-bottom: 12px;
}
h2 {
font-size: 16px;
margin-bottom: 20px;
}
.question-tag {
padding: 4px 12px;
font-size: 13px;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 12px;
}
.questioner-details .name {
font-size: 15px;
}
.questioner-details .location {
font-size: 13px;
}
}
nav {
display: flex;
align-items: center;
gap: 40px;
margin-bottom: 24px;
}
.logo {
flex-shrink: 0;
}
.logo img {
height: 32px;
width: auto;
vertical-align: middle;
transition: opacity 0.2s ease;
}
.logo img:hover {
opacity: 0.8;
}
.hero {
flex: 1;
}
/* 添加标签容器样式 */
.question-tags {
display: flex;
gap: 8px;
margin-bottom: 16px;
}
.question-tag {
padding: 4px 12px;
border-radius: 16px;
font-size: 14px;
font-weight: 600;
}
.tag-blue {
background-color: rgba(96, 165, 250, 0.1);
color: #3b82f6;
}
.tag-green {
background-color: rgba(34, 197, 94, 0.1);
color: #22c55e;
}
/* 移动端适配 */
@media (max-width: 768px) {
.question-tag {
padding: 4px 10px;
font-size: 13px;
}
}
.question-container {
padding: 0;
background: transparent;
border-radius: 0;
width: 100%;
margin-top: 0;
border: none;
box-shadow: none;
}
.question-container:hover {
transform: none;
box-shadow: none;
}
h1 {
font-size: 32px;
font-weight: 700;
margin-bottom: 16px;
color: #1a1a1a;
line-height: 1.3;
letter-spacing: -0.02em;
}
h2 {
font-size: 18px;
font-weight: 400;
color: #4b5563;
margin-bottom: 28px;
line-height: 1.6;
}
.question-meta {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
padding-bottom: 20px;
margin-bottom: 20px;
}
.questioner-info {
display: flex;
align-items: center;
gap: 16px;
}
.questioner-details {
display: flex;
flex-direction: column;
gap: 4px;
}
.questioner-details .name {
font-size: 16px;
font-weight: 600;
color: #1a1a1a;
}
.question-stats {
display: flex;
align-items: center;
gap: 16px;
color: #6b7280;
font-size: 14px;
font-weight: 500;
}
.dot {
color: #d1d5db;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 50%;
object-fit: cover;
border: 2px solid #fff;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
}
.avatar:hover {
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.author-info {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
}
.container {
max-width: 1200px;
margin: 0 auto 20px;
padding: 0 20px;
display: grid;
grid-template-columns: 3fr 1fr;
gap: 40px;
}
.content-left {
background: #fff;
padding: 20px;
margin-top: 20px;
border-radius: 24px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.sidebar {
position: relative;
height: 100%;
}
.sticky-content {
position: sticky;
top: 20px;
padding: 24px;
background: #fff;
border-radius: 16px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.05);
text-align: center;
}
.guide-profile {
margin-bottom: 24px;
border-bottom: 1px solid #f0f0f0;
}
.guide-avatar-wrapper {
position: relative;
width: 72px;
height: 72px;
margin: 0 auto 16px;
}
.guide-avatar {
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
border: 3px solid #fff;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.verified-badge {
position: absolute;
right: 0;
bottom: 0;
width: 20px;
height: 20px;
background: #0066dd;
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
border: 2px solid #fff;
}
.guide-name {
font-size: 20px;
font-weight: 600;
color: #1d1d1f;
margin-bottom: 8px;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.guide-tag {
font-size: 12px;
background: #fff4e5;
color: #ff9500;
padding: 2px 8px;
border-radius: 12px;
font-weight: 500;
}
.guide-motto {
color: #666;
font-size: 14px;
font-style: italic;
}
.contact-section h4 {
font-size: 16px;
font-weight: 600;
color: #1d1d1f;
margin-bottom: 12px;
}
.qr-code {
width: 100%;
height: auto;
max-width: 200px;
border-radius: 8px;
}
.contact-tip {
font-size: 14px;
color: #666;
margin-top: 12px;
}
.response-time {
font-size: 12px;
color: #999;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}
.comments-section {
margin-top: 60px;
padding-top: 40px;
border-top: 1px solid rgba(226, 232, 240, 0.8);
}
.comments-section h3 {
font-size: 24px;
font-weight: 600;
color: #1a1a1a;
margin-bottom: 30px;
}
.comment {
display: flex;
gap: 16px;
margin: 24px 0;
}
.comment-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
}
footer {
text-align: center;
padding: 20px;
background-color: #f5f5f7;
color: #666;
font-size: 14px;
}
footer a {
color: #666;
text-decoration: none;
}
@media (max-width: 768px) {
.container {
width: 100%;
padding: 0;
grid-template-columns: 1fr;
margin: 0;
}
.content-left {
width: 100%;
padding: 20px;
margin-top: 0;
border-radius: 0;
}
.comments-section {
padding: 0;
}
.sidebar {
display: none;
}
.sticky-content {
padding: 20px;
}
nav {
flex-direction: column;
align-items: flex-start;
gap: 20px;
}
.logo {
margin-bottom: 0;
}
.question-container {
padding: 0;
border-radius: 16px;
}
h1 {
font-size: 24px;
margin-bottom: 12px;
}
h2 {
font-size: 16px;
margin-bottom: 20px;
}
.question-tag {
padding: 4px 12px;
font-size: 13px;
}
.question-meta {
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding-bottom: 16px;
margin-bottom: 16px;
}
.questioner-info {
gap: 12px;
}
.avatar {
width: 36px;
height: 36px;
}
.questioner-details .name {
font-size: 14px;
}
.questioner-details .location {
font-size: 12px;
}
.question-stats {
width: 100%;
justify-content: flex-start;
font-size: 13px;
gap: 10px;
}
.comment-avatar {
width: 30px;
height: 30px;
}
.comment-input .comment-avatar {
display: none;
}
}
/* 添加新的样式 */
.post-content h3 {
font-size: 28px;
margin: 20px 0;
color: #333;
}
.post-content h4 {
font-size: 24px;
color: #444;
}
.post-content p {
margin-bottom: 20px;
font-size: 16px;
line-height: 1.8;
}
.post-img {
width: 100%;
margin-bottom: 0;
}
.img-row {
display: flex;
gap: 0;
margin-bottom: 20px;
font-size: 0;
line-height: 0;
}
.img-row .expandable-img {
flex: 1;
min-width: 0;
margin-bottom: 0;
border-radius: 0;
}
.img-row .expandable-img .post-img {
width: 100%;
height: auto;
display: block;
border-radius: 0;
}
.expandable-img {
position: relative;
margin-bottom: 20px;
cursor: pointer;
overflow: hidden;
border-radius: 8px;
}
.expandable-img.expanded {
cursor: zoom-out;
}
.expandable-img .post-img {
transition: filter 0.3s;
}
.expandable-img:not(.expanded) .post-img {
filter: blur(0.5px);
}
.expandable-img:not(.expanded):hover .post-img {
filter: blur(0px);
}
.tips ul {
margin: 16px 0;
}
.tips li {
margin: 8px 0;
}
/* 评论区样式 */
.comment-input {
display: flex;
align-items: center;
gap: 16px;
margin: 24px 0;
padding: 0;
background: transparent;
border-radius: 0;
border: none;
}
.comment-input input {
user-select: none;
flex: 1;
padding: 16px 24px;
border: 1px solid rgba(226, 232, 240, 0.8);
border-radius: 16px;
font-size: 15px;
color: #1a1a1a;
background: #fff;
transition: all 0.3s ease;
}
.comment-input input:focus {
outline: none;
border-color: #0066dd;
box-shadow: 0 0 0 4px rgba(0, 102, 221, 0.1);
}
.comment-input button {
padding: 14px 28px;
background: linear-gradient(135deg, #0066dd 0%, #0077ff 100%);
color: white;
border: none;
border-radius: 16px;
font-size: 15px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
}
.comment-input button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
.comments-list {
margin-top: 30px;
background: #f9f9f9;
border-radius: 16px;
padding: 24px;
}
.comment-image {
max-width: 120px;
max-height: 120px;
border-radius: 8px;
margin: 8px 4px 8px 0;
object-fit: cover;
cursor: pointer;
transition: transform 0.2s;
}
.comment-image:hover {
transform: scale(1.05);
}
.comment-image.expanded {
max-width: 100%;
max-height: none;
object-fit: contain;
}
.comment-images-row {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin: 8px 0;
}
.comment-images-row .comment-image {
max-width: calc(50% - 4px);
max-height: 150px;
}
.comment-images-row .comment-image.expanded {
max-width: 100%;
max-height: none;
}
.comment {
display: flex;
gap: 16px;
margin: 0 0 20px;
border-bottom: 1px solid #e0e0e0;
padding-bottom: 10px;
}
.comment-info {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 15px;
}
.comment-author {
font-weight: 600;
color: #333;
}
.comment-author.guide-author {
color: #ff3b30;
}
.comment-info .comment-time {
font-size: 12px;
color: #2e7d32;
background-color: #e8f5e9;
padding: 2px 8px;
border-radius: 10px;
margin-left: 4px;
}
.comment-time {
font-size: 12px;
color: #999;
}
.comment-actions {
margin-top: 8px;
display: flex;
gap: 20px;
color: #666;
font-size: 14px;
}
.comment-actions span {
cursor: pointer;
}
.comment-actions span:hover {
color: #0066dd;
}
/* 在样式表中添加作者信息的样式 */
.article-author {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 20px;
}
.author-avatar {
border-radius: 50%;
object-fit: cover;
width: 50px;
height: 50px;
}
@media (max-width: 768px) {
.author-avatar {
width: 40px;
height: 40px;
}
}
.author-meta {
display: flex;
flex-direction: column;
gap: 4px;
}
.author-name {
font-size: 16px;
font-weight: 600;
color: #333;
}
.author-title {
font-size: 14px;
color: #666;
}
/* 添加留言按钮和提示语的样式 */
.message-alternative {
margin-top: 12px;
padding-top: 16px;
border-top: 1px solid #f0f0f0;
}
.message-btn {
background: #0066dd;
color: white;
border: none;
border-radius: 20px;
padding: 8px 24px;
font-size: 14px;
cursor: pointer;
transition: all 0.3s ease;
}
.message-btn:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
.message-tip {
font-size: 12px;
color: #666;
line-height: 1.6;
margin-top: 12px;
padding: 0 8px;
}
/* 移动端适配 */
@media (max-width: 768px) {
.author-avatar {
width: 40px;
height: 40px;
}
.author-meta {
gap: 0;
/* 减小名字和头衔之间的间距 */
}
.author-name {
font-size: 14px;
/* 减小名字字号 */
}
.author-title {
font-size: 12px;
/* 减小头衔字号 */
}
}
/* 行程安排样式 */
.itinerary {
margin: 40px 0;
background: #f6f7fb;
border-radius: 24px;
overflow: hidden;
border: 1px solid rgba(226, 232, 240, 0.8);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}
.day-plan {
padding: 20px;
border-bottom: 1px solid rgba(226, 232, 240, 0.8);
transition: all 0.3s ease;
}
.day-plan:last-child {
border-bottom: none;
}
.day-plan h5 {
color: #0066dd;
font-size: 22px;
margin-bottom: 16px;
font-weight: 600;
display: flex;
align-items: center;
gap: 12px;
}
.day-plan h5::before {
content: "";
width: 4px;
height: 24px;
background: linear-gradient(to bottom, #0066dd, #0077ff);
border-radius: 4px;
}
.day-plan p {
color: #374151;
line-height: 1.8;
font-size: 16px;
margin: 16px 0;
}
.day-plan .tips {
margin-top: 20px;
padding: 20px;
background: rgba(0, 102, 221, 0.04);
border-radius: 16px;
color: #0066dd;
font-size: 15px;
line-height: 1.6;
position: relative;
}
.day-plan .tips::before {
content: "💡";
font-size: 20px;
margin-right: 8px;
}
/* 添加行程图片样式 */
.day-img {
width: 100%;
border-radius: 8px;
margin: 12px 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 添加留言表单样式 */
.message-form {
margin-top: 40px;
padding: 30px;
background: #f5f5f7;
border-radius: 16px;
}
.message-form h4 {
font-size: 18px;
font-weight: 600;
color: #1d1d1f;
margin-bottom: 24px;
}
.contact-form {
display: flex;
flex-direction: column;
gap: 20px;
}
.form-group {
display: flex;
flex-direction: column;
gap: 8px;
}
.form-group label {
font-size: 14px;
font-weight: 500;
color: #1d1d1f;
}
.form-group input,
.form-group select,
.form-group textarea {
padding: 12px 16px;
border: 1px solid #d2d2d7;
border-radius: 12px;
font-size: 14px;
color: #1d1d1f;
background: #fff;
transition: all 0.3s ease;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
outline: none;
border-color: #0066dd;
box-shadow: 0 0 0 4px rgba(0, 102, 221, 0.1);
}
.form-group textarea {
resize: vertical;
min-height: 100px;
}
/* 添加必填星号样式 */
.form-group .required {
color: #ff3b30;
/* 使用苹果风格的红色 */
margin-left: 4px;
}
.submit-btn {
background: #0066dd;
color: white;
border: none;
border-radius: 12px;
padding: 14px 28px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 10px;
}
.submit-btn:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
/* 添加导游名称高亮样式 */
.guide-name-highlight {
color: #ff3b30;
}
/* 移动端适配 */
@media (max-width: 768px) {
.message-form {
padding: 20px;
margin-top: 30px;
}
.form-group input,
.form-group select,
.form-group textarea {
padding: 10px 14px;
}
.submit-btn {
padding: 12px 24px;
}
}
/* 添加单选按钮样式 */
.contact-options {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
margin-top: 4px;
}
.radio-group {
display: flex;
align-items: center;
gap: 12px;
padding: 6px 16px;
border: 1px solid #d2d2d7;
border-radius: 12px;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
background-color: #fff;
}
.radio-group::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
cursor: pointer;
}
.radio-group:hover {
background: #f5f5f7;
}
.radio-group input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 22px;
height: 22px;
border: 2px solid #d2d2d7;
border-radius: 50%;
margin: 0;
position: relative;
cursor: pointer;
transition: all 0.2s ease;
flex-shrink: 0;
padding: 0;
}
.radio-group input[type="radio"]:checked {
border-color: #0066dd;
background: #fff;
}
.radio-group input[type="radio"]:checked::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 12px;
height: 12px;
background: #0066dd;
border-radius: 50%;
}
.radio-group label {
font-size: 15px;
color: #1d1d1f;
cursor: pointer;
}
/* 移动端适配 */
@media (max-width: 768px) {
.radio-group {
padding: 8px;
}
}
/* 添加弹窗相关样式 */
.modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 1000;
backdrop-filter: blur(5px);
}
.modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1001;
width: 90%;
max-width: 500px;
background: #fff;
border-radius: 16px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
}
.modal-content {
padding: 24px;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
}
.modal-header h4 {
font-size: 20px;
font-weight: 600;
color: #1d1d1f;
margin: 0;
}
.close-btn {
background: none;
border: none;
font-size: 24px;
color: #666;
cursor: pointer;
padding: 4px;
line-height: 1;
}
.close-btn:hover {
color: #333;
}
/* 移动端适配 */
@media (max-width: 768px) {
.modal {
width: 90%;
}
.modal-content {
padding: 20px;
}
}
/* 添加快速留言按钮区域样式 */
.quick-contact {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #f0f0f0;
text-align: center;
}
.quick-contact p {
margin-bottom: 16px;
color: #666;
font-size: 15px;
}
.quick-contact .message-btn {
margin: 0 auto;
}
/* 移动端适配 */
@media (max-width: 768px) {
.quick-contact {
margin-top: 24px;
padding-top: 16px;
}
.quick-contact p {
font-size: 14px;
margin-bottom: 12px;
}
}
/* 添加微信号样式 */
.wechat-id {
color: red;
font-weight: bold;
cursor: pointer;
padding: 2px 4px;
border-radius: 4px;
transition: all 0.3s ease;
}
.wechat-id:hover {
background-color: #f0f7ff;
box-shadow: 0 2px 8px rgba(0, 102, 221, 0.15);
}
.copy-content {
background: white;
padding: 30px;
border-radius: 16px;
text-align: center;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
}
.loading-spinner {
width: 40px;
height: 40px;
border: 3px solid #f3f3f3;
border-top: 3px solid #0066dd;
border-radius: 50%;
margin: 0 auto 20px;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.copy-content p {
margin: 8px 0;
color: #333;
}
.copy-content p:last-child {
color: #666;
font-size: 14px;
}
/* 添加微信号组样式 */
.wechat-group {
display: inline-flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
/* 调整微信号样式 */
.wechat-id {
display: inline-flex;
align-items: center;
}
.contact-app-icon {
width: 18px;
height: 18px;
color: #00b900;
background: #fff;
border-radius: 50%;
padding: 2px;
box-sizing: border-box;
vertical-align: -4px;
}
/* 调整查看二维码按钮样式 */
.view-qr-btn {
background: none;
border: none;
padding: 0;
cursor: pointer;
display: inline-flex;
align-items: center;
vertical-align: middle;
}
.qr-icon {
max-width: 100px;
object-fit: contain;
}
/* 二维码弹窗样式 */
.qr-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 2000;
backdrop-filter: blur(5px);
animation: modalOverlayFadeIn 0.3s ease-out;
}
.qr-modal-content {
background: white;
width: 90%;
max-width: 350px;
border-radius: 16px;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
overflow: hidden;
display: flex;
flex-direction: column;
}
.qr-modal-header {
padding: 20px;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f0f0f0;
}
.guide-info {
display: flex;
align-items: center;
gap: 12px;
}
.modal-guide-avatar {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
}
.modal-guide-name {
display: flex;
flex-direction: column;
gap: 4px;
}
.qr-modal-body {
padding: 24px;
/* 减小内边距,让二维码看起来更清晰 */
text-align: center;
}
.modal-qr-code {
width: 260px;
/* 从 200px 改为 260px */
height: 260px;
border-radius: 12px;
}
.qr-tip {
color: #666;
font-size: 14px;
}
.qr-modal-footer {
padding: 20px;
display: flex;
justify-content: center;
gap: 20px;
border-top: 1px solid #f0f0f0;
width: 100%;
}
.qr-modal-footer .secondary-btn,
.qr-modal-footer .primary-btn {
flex: none;
min-width: 120px;
padding: 9px 20px;
text-align: center;
}
.qr-modal-footer .primary-btn {
background: #07c160;
}
.qr-modal-footer .primary-btn:hover {
background: #07c160;
box-shadow: 0 4px 12px rgba(7, 193, 96, 0.2);
}
.secondary-btn {
padding: 8px 20px;
background: #f5f5f7;
color: #666;
border: none;
border-radius: 8px;
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
}
.secondary-btn:hover {
background: #eee;
}
.primary-btn {
padding: 8px 20px;
background: #0066dd;
color: white;
border: none;
border-radius: 8px;
font-size: 14px;
cursor: pointer;
transition: all 0.3s ease;
}
.primary-btn:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
/* 移动端适配 */
@media (max-width: 768px) {
.qr-modal-content {
width: 95%;
}
.modal-qr-code {
width: 240px;
/* 从 180px 改为 240px */
height: 240px;
}
.qr-modal-header {
padding: 16px;
}
.qr-modal-body {
padding: 20px;
}
.qr-modal-footer {
padding: 16px;
}
}
/* 悬浮按钮样式 */
.floating-buttons {
position: fixed;
right: 16px;
bottom: 24px;
z-index: 999;
flex-direction: column;
gap: 12px;
display: none;
/* 默认隐藏所有按钮 */
}
/* 微信和留言按钮只在移动端显示 */
@media (max-width: 768px) {
.floating-buttons {
display: flex;
/* 移动端显示按钮组 */
}
}
/* 回到顶部按钮的基础样式 */
.float-btn[v-show="showBackToTop"] {
display: flex !important;
/* 强制显示回到顶部按钮 */
position: fixed;
right: 16px;
bottom: 24px;
z-index: 999;
opacity: 1;
transform: translateY(0);
transition: all 0.3s ease;
}
/* 回到顶部按钮隐藏时的样式 */
.float-btn[v-show="false"] {
opacity: 0;
transform: translateY(20px);
pointer-events: none;
}
/* 按钮基础样式 */
.float-btn {
width: 45px;
height: 45px;
border-radius: 25px;
background: #fff;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
border: none;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.float-btn svg {
width: 22px;
height: 22px;
fill: #0066dd;
}
.floating-buttons .float-btn:first-child {
background: #00B900 !important;
}
.floating-buttons .float-btn:first-child svg {
fill: #fff !important;
}
.float-btn-line {
background: #00B900 !important;
}
.float-btn-line svg {
fill: #fff !important;
}
.float-btn-whatsapp {
background: #00B900 !important;
}
.float-btn-whatsapp svg {
fill: #fff !important;
}
.float-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
/* 添加成功提示弹窗样式 */
.success-modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 2000;
backdrop-filter: blur(5px);
animation: fadeIn 0.3s ease;
}
.success-content {
background: white;
padding: 30px;
border-radius: 16px;
text-align: center;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
width: 90%;
max-width: 320px;
animation: slideUp 0.3s ease;
}
.success-icon {
width: 60px;
height: 60px;
margin: 0 auto 20px;
background: #34c759;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
animation: scaleIn 0.3s ease;
}
.success-icon svg {
width: 36px;
height: 36px;
fill: white;
}
.success-content h3 {
font-size: 20px;
color: #1d1d1f;
margin-bottom: 8px;
}
.success-content p {
font-size: 15px;
color: #666;
margin-bottom: 24px;
}
.success-btn {
background: #0066dd;
color: white;
border: none;
border-radius: 12px;
padding: 12px 32px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
}
.success-btn:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideUp {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
@keyframes scaleIn {
from {
transform: scale(0.5);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}
/* 移动端适配 */
@media (max-width: 768px) {
.success-content {
width: 85%;
padding: 24px;
}
.success-icon {
width: 50px;
height: 50px;
margin-bottom: 16px;
}
.success-icon svg {
width: 30px;
height: 30px;
}
.success-content h3 {
font-size: 18px;
}
.success-content p {
font-size: 14px;
margin-bottom: 20px;
}
.success-btn {
padding: 10px 28px;
font-size: 15px;
}
}
/* 通用提示弹窗样式 */
.alert-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
backdrop-filter: blur(10px);
animation: fadeIn 0.2s ease;
}
.alert-content {
background: rgba(255, 255, 255, 0.95);
padding: 24px;
border-radius: 16px;
text-align: center;
max-width: 320px;
width: 90%;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
animation: slideUp 0.3s ease;
}
.alert-content p {
margin-bottom: 20px;
font-size: 15px;
color: #1d1d1f;
line-height: 1.4;
}
.alert-content button {
background: #0066dd;
color: white;
border: none;
border-radius: 12px;
padding: 12px 32px;
font-size: 15px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.alert-content button:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
/* 评论注册弹窗样式 */
.comment-register-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
backdrop-filter: blur(10px);
animation: fadeIn 0.2s ease;
}
.comment-register-modal .modal-content {
background: rgba(255, 255, 255, 0.95);
padding: 24px;
border-radius: 20px;
max-width: 400px;
width: 90%;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
animation: slideUp 0.3s ease;
}
.comment-register-modal .modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24px;
}
.comment-register-modal .modal-header h4 {
font-size: 20px;
font-weight: 600;
color: #1d1d1f;
margin: 0;
}
.comment-register-modal .close-btn {
background: none;
border: none;
font-size: 28px;
color: #86868b;
cursor: pointer;
padding: 4px;
line-height: 1;
transition: all 0.2s ease;
}
.comment-register-modal .close-btn:hover {
color: #1d1d1f;
}
.comment-register-modal .submit-btn {
width: 100%;
background: #0066dd;
color: white;
border: none;
border-radius: 12px;
padding: 14px 24px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 8px;
}
.comment-register-modal .submit-btn:hover {
background: #0055bb;
box-shadow: 0 4px 12px rgba(0, 102, 221, 0.2);
}
.comment-register-modal .form-group {
margin-bottom: 16px;
}
/* 添加动画效果 */
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideUp {
from {
transform: translateY(20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
/* 移动端适配 */
@media (max-width: 768px) {
.comment-input {
padding: 0;
gap: 12px;
}
.comment-input input {
padding: 10px 14px;
font-size: 14px;
}
.comment-input button {
padding: 10px 20px;
font-size: 14px;
}
.alert-content,
.comment-register-modal .modal-content {
width: 85%;
padding: 20px;
}
.comment-register-modal .modal-header h4 {
font-size: 18px;
}
}
#contact-number,
#contact-number2,
#comment-contact-number {
width: 100%;
}
.iti__selected-flag {
border-top-left-radius: 12px;
border-bottom-left-radius: 12px;
}
/* 弹窗动画相关样式 */
@keyframes modalFadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes modalOverlayFadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
/* 为弹窗添加动画 */
.modal-overlay {
animation: modalOverlayFadeIn 0.3s ease-out;
}
.modal .modal-content,
.comment-register-modal .modal-content,
.qr-modal .qr-modal-content {
animation: modalFadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* 添加错误消息样式 */
.error-message {
color: #dc3545;
font-size: 0.875rem;
margin-top: 0.25rem;
display: block;
}
/* 调整电话输入框样式 */
.iti {
width: 100%;
}
/* 艾特颜色 */
.at-color {
color: #f39c12;
}
/* 主题颜色 */
.theme-color {
color: #1e90ff;
}
/* 红色 */
.red-color {
color: #ff0000;
}
/* 加粗 */
.bold {
font-weight: bold;
}
/* 内容二维码 */
.ewm img {
max-width: 40%;
}
@media (max-width: 768px) {
.ewm img {
max-width: 60%;
}
.comment-reply .comment-avatar {
width: 30px;
height: 30px;
border-radius: 50%;
}
.luxian {
font-size: 14px;
}
}
.food ul li {
margin-bottom: 20px;
list-style: none;
}
.attractions ul li {
list-style: none;
}
/* 最后一个 li 不需要底部间距 */
.food ul li:last-child {
margin-bottom: 0;
}
/* 评论回复样式 */
.comment-reply {
padding-bottom: 15px;
display: flex;
gap: 12px;
margin: 0 0 20px;
border-bottom: 1px solid #e0e0e0;
}
.reply-content {
flex: 1;
}
.author-tag {
background: #ff6b6b;
color: white;
padding: 2px 8px;
border-radius: 8px;
font-size: 12px;
margin-left: 4px;
}
/* Line 链接提示 */
.contact-label-with-help {
display: inline-flex;
align-items: center;
gap: 6px;
}
.line-help-btn {
width: 18px;
height: 18px;
border-radius: 50%;
border: none;
background: var(--ios-primary);
color: #fff;
font-size: 12px;
line-height: 18px;
text-align: center;
cursor: pointer;
padding: 0;
}
.line-help-modal {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.4);
display: flex;
align-items: center;
justify-content: center;
z-index: 2100;
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
}
.line-help-content {
width: 90%;
max-width: 380px;
background: var(--glass-bg-light);
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-radius: 20px;
padding: 20px;
border: 1px solid var(--border-highlight);
box-shadow: var(--shadow-2xl);
}
.line-help-image {
width: 100%;
border-radius: 12px;
margin: 8px 0 12px;
}
.line-help-text {
font-size: 14px;
color: #444;
line-height: 1.6;
}
/* 复制成功弹窗 */
.copy-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
backdrop-filter: blur(4px);
}
/* 微信悬浮按钮弹窗 */
.wechat-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
backdrop-filter: blur(4px);
}
.wechat-modal-content {
position: relative;
background: white;
padding: 30px 30px;
border-radius: 16px;
width: 90%;
max-width: 320px;
text-align: center;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
animation: modalPop 0.3s ease-out;
}
.wechat-modal-content .close-btn {
position: absolute;
top: 12px;
right: 12px;
background: none;
border: none;
font-size: 24px;
color: #999;
cursor: pointer;
padding: 0;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.2s ease;
}
.wechat-modal-content .close-btn:hover {
background: #f5f5f5;
color: #666;
transform: rotate(90deg);
}
.wechat-modal-header {
margin-bottom: 20px;
}
.wechat-modal-header svg {
color: #07c160;
width: 64px;
height: 64px;
filter: drop-shadow(0 2px 4px rgba(7, 193, 96, 0.2));
}
.wechat-modal-body h3 {
margin: 0 0 12px;
color: #333;
font-size: 20px;
font-weight: 600;
}
.wechat-modal-body p {
color: #666;
font-size: 16px;
word-break: break-all;
margin: 0 0 20px;
}
.wechat-modal-footer {
display: flex;
gap: 20px;
padding: 0 12px;
}
.wechat-modal-footer .secondary-btn,
.wechat-modal-footer .primary-btn {
flex: 1;
padding: 9px 0;
border: none;
border-radius: 10px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
}
.wechat-modal-footer .secondary-btn {
background: #f5f5f5;
color: #333;
}
.wechat-modal-footer .primary-btn {
background: linear-gradient(145deg, rgba(7, 193, 96, 0.92), rgba(46, 208, 121, 0.82)) !important;
color: #fff;
box-shadow: 0 2px 6px rgba(7, 193, 96, 0.2);
transition: box-shadow 0.2s ease, filter 0.2s ease;
}
.wechat-modal-footer .secondary-btn:hover {
background: #ebebeb;
}
.wechat-modal-footer .primary-btn:hover {
background: linear-gradient(145deg, rgba(7, 193, 96, 0.96), rgba(46, 208, 121, 0.86)) !important;
box-shadow: 0 4px 10px rgba(7, 193, 96, 0.24);
}
.wechat-modal-footer .secondary-btn:active,
.wechat-modal-footer .primary-btn:active {
transform: translateY(1px);
}
.copy-content {
position: relative;
background: white;
padding: 30px 30px;
border-radius: 16px;
width: 90%;
max-width: 320px;
text-align: center;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
animation: modalPop 0.3s ease-out;
}
@keyframes modalPop {
from {
transform: scale(0.95);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}
.copy-content .close-btn {
position: absolute;
top: 12px;
right: 12px;
background: none;
border: none;
font-size: 24px;
color: #999;
cursor: pointer;
padding: 0;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.2s ease;
}
.copy-content .close-btn:hover {
background: #f5f5f5;
color: #666;
transform: rotate(90deg);
}
.copy-header svg {
color: #07c160;
width: 48px;
height: 48px;
filter: drop-shadow(0 2px 4px rgba(7, 193, 96, 0.2));
}
.copy-header h3 {
margin: 0;
color: #333;
font-size: 20px;
font-weight: 600;
}
.copy-content p {
color: #666;
font-size: 16px;
word-break: break-all;
margin: 0;
}
.copy-footer {
display: flex;
gap: 20px;
padding: 0 12px;
margin-top: 20px;
}
.copy-footer .secondary-btn,
.copy-footer .primary-btn {
flex: 1;
padding: 9px 0;
border: none;
border-radius: 10px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
}
.copy-footer .secondary-btn {
background: #f5f5f5;
color: #333;
}
.copy-footer .primary-btn {
background: linear-gradient(145deg, rgba(7, 193, 96, 0.92), rgba(46, 208, 121, 0.82)) !important;
color: #fff;
box-shadow: 0 2px 6px rgba(7, 193, 96, 0.2);
transition: box-shadow 0.2s ease, filter 0.2s ease;
}
.copy-footer .secondary-btn:hover {
background: #ebebeb;
}
.copy-footer .primary-btn:hover {
background: linear-gradient(145deg, rgba(7, 193, 96, 0.96), rgba(46, 208, 121, 0.86)) !important;
transform: none;
box-shadow: 0 4px 10px rgba(7, 193, 96, 0.24);
}
.copy-footer .secondary-btn:active,
.copy-footer .primary-btn:active {
transform: translateY(1px);
}
/* 移动端适配 */
@media (max-width: 768px) {
.question-tags {
gap: 2px;
}
.question-tag {
padding: 4px 12px;
font-size: 13px;
}
}
/* 行程部分样式 */
.itinerary-section {
background: #fff;
border-radius: 12px;
padding: 24px;
margin: 20px 0;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}
.itinerary-section h3 {
color: #333;
font-size: 1.5em;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #f0f0f0;
}
/* 每日行程卡片样式 */
.day-by-day {
display: grid;
gap: 20px;
margin-bottom: 30px;
background: #fff;
border-radius: 12px;
}
.day {
background: #f8f9fa;
border-radius: 8px;
padding: 20px;
transition: transform 0.2s ease;
}
.day:hover {
transform: translateY(-3px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.day h4 {
color: #2c3e50;
font-size: 1.2em;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #e0e0e0;
}
.day p {
color: #666;
line-height: 1.6;
margin: 0;
}
/* 旅行贴士样式 */
.travel-tips {
background: #f8f9fa;
border-radius: 8px;
padding: 20px;
margin: 20px 0;
}
.travel-tips h3 {
color: #2c3e50;
font-size: 1.3em;
margin-bottom: 15px;
border-bottom: none;
}
.travel-tips ul {
list-style: none;
padding: 0;
margin: 0;
}
.travel-tips li {
margin-bottom: 12px;
padding-left: 10px;
border-left: 3px solid #4caf50;
line-height: 1.6;
}
.travel-tips strong {
color: #2c3e50;
}
/* 特别优惠框样式 */
.highlight-box {
background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
border-radius: 8px;
padding: 20px;
margin: 20px 0;
color: #fff;
text-align: center;
}
.highlight-box p {
margin: 0;
font-size: 1.1em;
line-height: 1.5;
}
.highlight-box strong {
color: #fff;
font-weight: 600;
}
/* 响应式布局 */
@media (min-width: 768px) {
.day-by-day {
grid-template-columns: 1fr; /* 改为单列布局 */
max-width: 800px; /* 限制最大宽度,使内容更易阅读 */
margin: 0 auto; /* 居中显示 */
}
}
@media (max-width: 767px) {
.itinerary-section {
padding: 16px;
}
.day {
padding: 15px;
}
.day h4 {
font-size: 1.1em;
}
.travel-tips {
padding: 15px;
}
}
/* 行程总结样式 */
.trip-summary {
background: #fff;
border-radius: 12px;
padding: 30px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}
.trip-summary h4 {
font-size: 1.4em;
color: #2c3e50;
margin-bottom: 25px;
text-align: center;
border-bottom: none;
}
.summary-content {
display: flex;
flex-direction: column;
gap: 15px;
}
.summary-content .highlight-text {
margin-bottom: 0;
}
.highlight-text {
font-size: 1.2em;
color: #0066dd;
font-weight: 600;
}
.trip-summary ul {
list-style: none;
padding: 0;
margin: 0;
}
.trip-summary li {
margin-bottom: 8px;
padding-left: 25px;
position: relative;
line-height: 1.6;
color: #444;
}
.trip-summary li:last-child {
margin-bottom: 0;
}
.summary-note {
background: #f8f9fa;
border-radius: 8px;
padding: 20px;
margin-top: 15px;
}
.summary-note p {
margin: 0;
color: #666;
line-height: 1.6;
}
.summary-note strong {
color: #2c3e50;
}
/* 移动端适配 */
@media (max-width: 768px) {
.trip-summary {
padding: 20px;
margin-top: 30px;
}
.trip-summary h4 {
font-size: 1.2em;
margin-bottom: 20px;
}
.highlight-text {
font-size: 1.1em;
}
.summary-note {
padding: 15px;
}
}
/* 懒加载图片淡入效果 */
.lazy-image {
opacity: 0;
transition: opacity 0.5s;
}
.lazy-image.loaded {
opacity: 1;
}
/* iOS 液态玻璃风格(按钮 & 弹窗) */
:root {
--glass-bg: rgba(255, 255, 255, 0.5);
--glass-bg-strong: rgba(255, 255, 255, 0.7);
--glass-border: rgba(255, 255, 255, 0.55);
--glass-shadow: 0 8px 32px rgba(31, 38, 135, 0.16);
--glass-blur: blur(16px) saturate(160%);
--ios-blue: #0a84ff;
--ios-green: #34c759;
}
/* 页面主卡片更简洁 */
.sticky-content,
.comments-list,
.message-form,
.itinerary,
.itinerary-section,
.trip-summary {
background: var(--glass-bg);
border: 1px solid var(--glass-border);
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
box-shadow: var(--glass-shadow);
}
/* 按需求:正文区域背景保持纯白 */
.content-left {
background: #fff;
}
/* 统一按钮玻璃态 */
.message-btn,
.submit-btn,
.primary-btn,
.secondary-btn,
.success-btn,
.alert-content button,
.comment-input button,
.copy-footer .secondary-btn,
.copy-footer .primary-btn,
.float-btn,
.view-qr-btn {
border: 1px solid rgba(255, 255, 255, 0.6);
backdrop-filter: blur(12px) saturate(170%);
-webkit-backdrop-filter: blur(12px) saturate(170%);
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
transition: all 0.28s ease;
}
.message-btn,
.submit-btn,
.primary-btn,
.success-btn,
.comment-input button,
.alert-content button {
background: linear-gradient(145deg, rgba(10, 132, 255, 0.88), rgba(64, 156, 255, 0.72));
color: #fff;
}
.secondary-btn,
.copy-footer .secondary-btn {
background: rgba(255, 255, 255, 0.6);
color: #1d1d1f;
}
.message-btn:hover,
.submit-btn:hover,
.primary-btn:hover,
.success-btn:hover,
.comment-input button:hover,
.alert-content button:hover,
.float-btn:hover {
transform: none;
background: linear-gradient(145deg, rgba(35, 147, 255, 0.86), rgba(88, 171, 255, 0.72));
box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
}
.copy-footer .primary-btn:hover {
transform: none;
background: linear-gradient(145deg, rgba(7, 193, 96, 0.96), rgba(46, 208, 121, 0.86)) !important;
box-shadow: 0 10px 22px rgba(7, 193, 96, 0.2);
filter: brightness(1.02);
}
.copy-footer .primary-btn,
.copy-footer .primary-btn:focus,
.copy-footer .primary-btn:active {
background: linear-gradient(145deg, rgba(7, 193, 96, 0.92), rgba(46, 208, 121, 0.82)) !important;
}
.secondary-btn:hover,
.copy-footer .secondary-btn:hover {
transform: none;
background: rgba(255, 255, 255, 0.72);
box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
}
.message-btn:active,
.submit-btn:active,
.primary-btn:active,
.success-btn:active,
.comment-input button:active,
.copy-footer .primary-btn:active,
.secondary-btn:active,
.copy-footer .secondary-btn:active,
.alert-content button:active,
.float-btn:active {
transform: none;
}
/* 悬浮按钮更贴近 iOS */
.float-btn {
background: rgba(255, 255, 255, 0.62);
border-radius: 16px;
}
.float-btn svg {
fill: var(--ios-blue);
}
.floating-buttons .float-btn:first-child {
background: #00B900 !important;
}
.floating-buttons .float-btn:first-child svg {
fill: #fff !important;
}
.float-btn-line {
background: #00B900 !important;
}
.float-btn-line svg {
fill: #fff !important;
}
.float-btn-whatsapp {
background: #00B900 !important;
}
.float-btn-whatsapp svg {
fill: #fff !important;
}
/* 弹窗背景与容器 */
.modal-overlay,
.copy-modal,
.qr-modal,
.success-modal,
.alert-modal,
.comment-register-modal {
background: rgba(15, 23, 42, 0.28);
backdrop-filter: blur(10px) saturate(140%);
-webkit-backdrop-filter: blur(10px) saturate(140%);
}
.modal,
.copy-content,
.qr-modal-content,
.success-content,
.alert-content,
.comment-register-modal .modal-content {
background: var(--glass-bg-strong);
border: 1px solid var(--glass-border);
box-shadow: 0 20px 40px rgba(2, 6, 23, 0.18);
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
}
.modal,
.copy-content,
.qr-modal-content,
.success-content,
.alert-content,
.comment-register-modal .modal-content {
border-radius: 24px;
}
.modal-header,
.qr-modal-header,
.qr-modal-footer,
.guide-profile,
.message-alternative {
border-color: rgba(255, 255, 255, 0.5);
}
/* 输入框简洁玻璃风 */
.comment-input input,
.form-group input,
.form-group select,
.form-group textarea {
background: rgba(255, 255, 255, 0.78);
border: 1px solid rgba(148, 163, 184, 0.58);
box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.35);
}
/* 评论输入框边框柔和增强(兼顾可见性与主题融合) */
.comment-input input {
border-color: rgba(148, 163, 184, 0.42);
}
.comment-input input:focus,
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
border-color: rgba(10, 132, 255, 0.62);
box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.16);
}
/* 单选项液态玻璃 */
.radio-group {
background: rgba(255, 255, 255, 0.68);
border: 1px solid rgba(148, 163, 184, 0.42);
}
/* 评论区底部快速留言表单:联系方式选项边框更清晰 */
.message-form .radio-group {
border-color: rgba(148, 163, 184, 0.58);
background: rgba(255, 255, 255, 0.82);
}
.radio-group:hover {
background: rgba(255, 255, 255, 0.86);
border-color: rgba(148, 163, 184, 0.62);
}
.radio-group.selected {
border-color: rgba(10, 132, 255, 0.62);
box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.12);
}
/* 移动端继续保持简洁 */
@media (max-width: 768px) {
.modal,
.copy-content,
.qr-modal-content,
.success-content,
.alert-content,
.comment-register-modal .modal-content {
border-radius: 20px;
}
.float-btn {
border-radius: 14px;
}
}
/* 已出遊标签样式 */
.travel-status {
display: inline-block;
background-color: #d4edda;
color: #155724;
padding: 2px 8px;
border-radius: 4px;
font-size: 12px;
margin-left: 8px;
font-weight: 500;
}
article {
margin-top: 40px;
}