
    :root {
      --bg: #f7f3e8;
      --card: #ffffff;
      --soft: #eef6ef;
      --text: #15261d;
      --muted: #66776d;
      --green950: #081f17;
      --green900: #0d2c21;
      --green800: #144232;
      --green700: #1f654c;
      --green600: #2c8a66;
      --green500: #44a476;
      --green100: #e7f5ec;
      --gold: #c89e48;
      --gold2: #f0d889;
      --cream: #f9f4e7;
      --red: #b24b39;
      --line: rgba(20, 66, 50, .12);
      --shadow: 0 24px 70px rgba(8, 31, 23, .14);
      --shadowSoft: 0 12px 36px rgba(8, 31, 23, .09);
      --radius: 24px;
      --radiusBig: 34px;
      --max: 1140px;
    }

    body.dark {
      --bg: #07140f;
      --card: #0d221a;
      --soft: #112a22;
      --text: #eef7f1;
      --muted: #b9c9c0;
      --green100: #17352a;
      --line: rgba(255,255,255,.10);
      --shadowSoft: 0 12px 36px rgba(0,0,0,.28);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Inter', Arial, sans-serif;
      background: linear-gradient(180deg, #f8f4ea 0%, var(--bg) 100%);
      color: var(--text);
      line-height: 1.72;
      overflow-x: hidden;
    }
    body.dark { background: linear-gradient(180deg, #07140f 0%, #091913 100%); }
    h1, h2, h3, h4, h5, h6, .brand strong, .btn, .nav-menu a, .eyebrow, .stat-card strong, .mini-card strong { font-family: 'Poppins', Arial, sans-serif; }
    h1, h2, h3, h4 { color: var(--green950); line-height: 1.1; font-weight: 800; }
    body.dark h1, body.dark h2, body.dark h3, body.dark h4 { color: #fff; }
    h1 { font-size: clamp(38px, 6.2vw, 74px); letter-spacing: -1.7px; }
    h2 { font-size: clamp(27px, 3.4vw, 46px); letter-spacing: -0.8px; }
    h3 { font-size: 20px; }
    p { color: var(--muted); font-size: 14.5px; }
    a { color: inherit; text-decoration: none; }
    img { width: 100%; display: block; }
    button, input, textarea, select { font-family: 'Inter', Arial, sans-serif; }
    button { cursor: pointer; }
    .container { width: min(100% - 32px, var(--max)); margin: auto; }
    .site-header .container { width: min(100% - 18px, 1880px); }
    .section { padding: 82px 0; position: relative; overflow: hidden; }
    .section-title { max-width: 900px; margin-bottom: 36px; }
    .center { text-align: center; margin-left: auto; margin-right: auto; }
    .eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--green700); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; margin-bottom: 12px; }
    .eyebrow:before, .center .eyebrow:after { content: ""; width: 34px; height: 2px; border-radius: 99px; background: linear-gradient(90deg, var(--gold), var(--gold2)); }

    .btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
    .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 13px 22px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; transition: .25s ease; white-space: nowrap; }
    .btn:hover { transform: translateY(-2px); box-shadow: var(--shadowSoft); }
    .btn-primary { background: linear-gradient(135deg, var(--gold), var(--gold2)); color: var(--green950); }
    .btn-dark { background: linear-gradient(135deg, var(--green900), var(--green700)); color: #fff; }
    .btn-green { background: var(--green700); color: #fff; }
    .btn-danger { background: var(--red); color: #fff; }
    .btn-outline { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.34); backdrop-filter: blur(10px); }
    .btn-ghost { background: transparent; border-color: var(--line); color: var(--text); }

    .leaf-particle { position: fixed; width: 16px; height: 16px; border-radius: 0 100% 0 100%; background: linear-gradient(135deg, var(--green500), var(--green700)); opacity: .16; z-index: 1; pointer-events: none; animation: fallLeaf linear infinite; }
    .leaf1 { top: 8%; left: 12%; animation-duration: 13s; }
    .leaf2 { top: 16%; left: 76%; animation-duration: 16s; }
    .leaf3 { top: 40%; left: 88%; animation-duration: 14s; }
    .leaf4 { top: 62%; left: 10%; animation-duration: 18s; }

    .topbar { background: var(--green950); color: rgba(255,255,255,.92); font-size: 13px; position: relative; z-index: 60; }
    .topbar-inner { min-height: 40px; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
    .topbar-links { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
    .topbar a:hover { color: var(--gold2); }

    .site-header { position: sticky; top: 0; z-index: 55; background: rgba(247,243,232,.92); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
    body.dark .site-header { background: rgba(7,20,15,.92); }
    .navbar { min-height: 78px; display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.85fr) auto; align-items: center; gap: 12px; }
    .navbar nav { min-width: 0; display: flex; justify-content: center; }
    .brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
    .brand-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 18px; background: radial-gradient(circle at 28% 18%, rgba(240,216,137,.9), transparent 27%), linear-gradient(135deg, var(--green700), var(--green950)); color: #fff; font-family: 'Poppins', Arial, sans-serif; font-weight: 900; border: 2px solid rgba(200,158,72,.55); box-shadow: var(--shadowSoft); }
    .brand strong { display: block; color: var(--green950); font-size: 14px; line-height: 1.08; font-weight: 800; }
    body.dark .brand strong { color: #fff; }
    .brand span { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; }
    .nav-menu { display: flex; list-style: none; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap; min-width: 0; }
    .nav-menu a { display: inline-flex; align-items: center; justify-content: center; padding: 7px 7px; border-radius: 999px; font-weight: 700; font-size: 11.5px; color: var(--green900); transition: .22s ease; line-height: 1.05; white-space: nowrap; }
    body.dark .nav-menu a { color: #eaf7f0; }
    .nav-menu a:hover, .nav-menu a.active { background: var(--green100); color: var(--green700); }
    .nav-actions { display: flex; align-items: center; gap: 8px; }
    .nav-actions select, .nav-actions button, .mobile-toggle { height: 44px; border-radius: 14px; border: 1px solid var(--line); background: var(--card); color: var(--text); padding: 0 10px; font-weight: 800; cursor: pointer; }
    .voice-toggle { min-width: 106px; background: linear-gradient(135deg, var(--green900), var(--green700)) !important; color: #fff !important; border-color: rgba(200,158,72,.36) !important; box-shadow: 0 10px 26px rgba(8,31,23,.12); }
    .voice-toggle.voice-muted { background: #f4ead7 !important; color: var(--green950) !important; border-color: rgba(200,158,72,.55) !important; }
    body.dark .voice-toggle.voice-muted { background: #2d2415 !important; color: #f6e5bd !important; }
    .voice-listen { position: fixed; left: 18px; bottom: 18px; z-index: 96; min-height: 46px; padding: 0 16px; border-radius: 16px; border: 1px solid rgba(200,158,72,.48); background: linear-gradient(135deg, var(--green950), var(--green700)); color: #fff; font-weight: 900; box-shadow: var(--shadow); opacity: 0; transform: translateY(14px); pointer-events: none; transition: .22s ease; }
    .voice-listen.show { opacity: 1; transform: translateY(0); pointer-events: auto; }
    .ambient-toggle { position: fixed; right: 16px; bottom: 72px; z-index: 94; min-height: 38px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(200,158,72,.48); background: rgba(8,31,23,.82); color: #fff; font-size: 11px; font-weight: 900; box-shadow: 0 12px 30px rgba(8,31,23,.18); backdrop-filter: blur(10px); opacity: .72; transition: .22s ease; }
    .ambient-toggle:hover { opacity: 1; transform: translateY(-1px); }
    .ambient-toggle.muted { background: rgba(249,244,231,.92); color: var(--green950); }
    .admin-open { background: var(--green950) !important; color: #fff !important; }
    .mobile-toggle { display: none; }

    .hero { min-height: calc(100vh - 118px); color: #fff; position: relative; overflow: hidden; background: linear-gradient(110deg, rgba(8,31,23,.94), rgba(20,66,50,.76), rgba(8,31,23,.38)), url("https://mangrovesungaibersejarah.wordpress.com/wp-content/uploads/2024/06/50568-2.jpg?w=1600") center/cover no-repeat; }
    .hero:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 24px 24px; opacity: .15; animation: drift 18s linear infinite; }
    .hero:after { content: ""; position: absolute; inset: auto 0 0; height: 160px; background: linear-gradient(to top, var(--bg), transparent); }
    .hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; gap: 42px; align-items: center; padding: 86px 0 118px; }
    .hero-badge { display: inline-flex; padding: 9px 14px; border-radius: 999px; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.25); font-weight: 800; margin-bottom: 18px; }
    .hero h1 { color: #fff; margin-bottom: 20px; }
    .hero h1 span { color: var(--gold2); }
    .lead { font-size: clamp(17px, 2vw, 20px); color: #e7f1ec; max-width: 760px; }
    .hero-panel { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 30px; padding: 22px; box-shadow: var(--shadow); backdrop-filter: blur(16px); animation: floatSoft 6s ease-in-out infinite; }
    .hero-panel img { height: 320px; object-fit: cover; border-radius: 22px; margin-bottom: 18px; }
    .hero-panel h3, .hero-panel p { color: #fff; }
    .hero-mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 24px; }
    .mini-card { padding: 16px; border-radius: 18px; background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); }
    .mini-card strong { display: block; color: #fff; font-size: 22px; }
    .mini-card span { display: block; color: #d7e8df; font-size: 12px; }

    .section.has-mangrove:before, .section.has-mangrove:after { content: ""; position: absolute; pointer-events: none; opacity: .16; z-index: 0; background-repeat: no-repeat; background-size: contain; }
    .section.has-mangrove:before { left: -30px; bottom: 0; width: 220px; height: 220px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><path fill="%231f654c" d="M93 190c0-31 5-59 9-78 4-19 6-35 6-52 0-19-8-39-20-56-2-3 0-7 4-7 9 0 19 9 27 20 6 8 12 19 15 30 3-12 9-22 15-30 8-11 18-20 27-20 4 0 6 4 4 7-12 17-20 37-20 56 0 17 2 33 6 52 4 19 9 47 9 78h-18c0-31-3-55-7-72-1-5-2-10-3-15-1 5-2 10-3 15-4 17-7 41-7 72H93z"/></svg>'); animation: sway 7s ease-in-out infinite; }
    .section.has-mangrove:after { right: -10px; top: 40px; width: 140px; height: 140px; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120"><path fill="%2344a476" d="M58 112c-2-18-1-31 1-42-17 1-31-3-43-12 12-10 27-15 44-15-6-16-6-31-1-43 15 7 25 19 30 35 10-12 24-20 40-23 0 17-5 31-15 43 16 2 28 8 37 17-12 8-25 11-41 10 4 11 6 21 6 30H58z"/></svg>'); animation: floatLeaf 9s ease-in-out infinite; }
    .section > .container { position: relative; z-index: 1; }
    .ornament { height: 18px; border-radius: 999px; margin: 0 auto 28px; max-width: 640px; background: repeating-linear-gradient(45deg, rgba(200,158,72,.95) 0 12px, rgba(31,101,76,.95) 12px 24px); opacity: .22; }

    .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
    .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .card { background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadowSoft); overflow: hidden; backdrop-filter: blur(10px); }
    body.dark .card { background: rgba(13,34,26,.92); }
    .pad { padding: 20px; }
    .card small { display: block; color: var(--green700); font-family: 'Poppins', Arial, sans-serif; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: 11px; margin-bottom: 7px; }
    .tag { display: inline-flex; padding: 6px 12px; border-radius: 999px; background: var(--green100); color: var(--green700); font-size: 12px; font-weight: 700; margin-bottom: 12px; }
    .icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 18px; background: linear-gradient(135deg, var(--green100), #dff2e6); color: var(--green700); font-weight: 800; margin-bottom: 16px; }
    .list { list-style: none; display: grid; gap: 9px; margin-top: 14px; }
    .list li { position: relative; padding-left: 18px; color: var(--muted); }
    .list li:before { content: ""; position: absolute; left: 0; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
    .green-section { background: radial-gradient(circle at 10% 12%, rgba(200,158,72,.18), transparent 28%), radial-gradient(circle at 90% 8%, rgba(68,164,118,.18), transparent 30%), linear-gradient(135deg, #081f17, #113729); color: #fff; }
    .green-section h2, .green-section h3 { color: #fff; }
    .green-section p, .green-section .list li { color: #dcece4; }
    .green-section .card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); }
    .green-section .icon { background: rgba(255,255,255,.12); color: var(--gold2); }

    .real-photo { height: 430px; object-fit: cover; border-radius: 28px; box-shadow: var(--shadow); }
    .card-photo { height: 250px; object-fit: cover; }
    .photo-frame { position: relative; }
    .photo-frame:after { content: ""; position: absolute; inset: 18px -10px -10px 18px; border: 2px solid rgba(200,158,72,.35); border-radius: 28px; z-index: -1; }

    .timeline { position: relative; display: grid; gap: 16px; }
    .timeline:before { content: ""; position: absolute; left: 20px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(var(--gold), var(--green700)); opacity: .55; }
    .timeline-item { position: relative; padding-left: 58px; }
    .timeline-dot { position: absolute; left: 6px; top: 4px; width: 30px; height: 30px; border-radius: 50%; background: var(--gold); border: 6px solid var(--green100); box-shadow: var(--shadowSoft); }
    .timeline-card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 18px; box-shadow: var(--shadowSoft); }
    .timeline-card strong { display: inline-block; color: var(--green700); margin-bottom: 6px; font-family: 'Poppins', Arial, sans-serif; }

    .booking-box { display: grid; grid-template-columns: .92fr 1.08fr; gap: 22px; align-items: start; }
    .booking-info, .booking-form { background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow); padding: 26px; backdrop-filter: blur(10px); }
    body.dark .booking-info, body.dark .booking-form { background: rgba(13,34,26,.92); }
    .pantun-box { margin-top: 22px; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, rgba(200,158,72,.12), rgba(31,101,76,.08)); border: 1px solid rgba(200,158,72,.24); }
    .pantun-box p { color: var(--green900); font-style: italic; font-size: 15px; line-height: 1.9; }
    body.dark .pantun-box p { color: #e9f6ef; }
    .booking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .booking-grid .full { grid-column: 1 / -1; }
    .field label { display: block; font-weight: 700; color: var(--green700); margin-bottom: 6px; font-size: 13px; }
    .field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line); border-radius: 16px; background: var(--bg); color: var(--text); padding: 13px 14px; outline: none; font-size: 15px; }
    .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--green600); box-shadow: 0 0 0 4px rgba(44,138,102,.12); }
    textarea { min-height: 120px; resize: vertical; }
    .check-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 8px; }
    .check-card { display: flex; align-items: center; gap: 9px; padding: 12px 13px; border-radius: 16px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.7), rgba(243,249,244,.9)); color: var(--text); font-weight: 600; font-size: 14px; transition: .2s ease; }
    body.dark .check-card { background: rgba(255,255,255,.03); }
    .check-card:hover { transform: translateY(-2px); border-color: rgba(44,138,102,.35); box-shadow: var(--shadowSoft); }
    .check-card input { width: auto; accent-color: var(--green700); }

    .stat-card { text-align: center; padding: 24px; border-radius: 24px; background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadowSoft); }
    .stat-card strong { display: block; font-size: 34px; color: var(--green700); line-height: 1.1; }
    .stat-card span { color: var(--muted); font-weight: 700; }
    .ticket-price { display: block; font-family: 'Poppins', Arial, sans-serif; font-size: 32px; font-weight: 900; color: var(--green950); }
    body.dark .ticket-price { color: #fff; }
    .adopt-box { display: grid; grid-template-columns: 1.05fr .95fr; background: var(--card); border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow); overflow: hidden; }
    .adopt-copy { padding: 36px; }
    .adopt-photo { min-height: 440px; background: linear-gradient(rgba(6,32,25,.12), rgba(6,32,25,.82)), url("https://mangrovesungaibersejarah.wordpress.com/wp-content/uploads/2024/06/1-2.png") center/cover no-repeat; display: flex; align-items: end; padding: 28px; }
    .adopt-photo p { color: #fff; font-size: 20px; font-weight: 800; }
    .amounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
    .amount { padding: 16px; border-radius: 18px; background: var(--bg); border: 1px solid var(--line); text-align: center; }
    .amount strong { display: block; color: var(--green700); font-family: 'Poppins', Arial, sans-serif; font-size: 22px; }

    .logo-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
    .logo-card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; min-height: 118px; display: grid; place-items: center; text-align: center; padding: 12px; box-shadow: var(--shadowSoft); min-width: 0; }
    .logo-card img { width: 58px; height: 58px; object-fit: contain; margin-bottom: 8px; }
    .logo-card strong { display: block; font-size: 12px; color: var(--green950); line-height: 1.2; }
    body.dark .logo-card strong { color: #fff; }
    .logo-fallback, .partner-initial { border-radius: 20px; display: grid; place-items: center; background: linear-gradient(135deg, var(--green700), var(--green950)); color: #fff; font-family: 'Poppins', Arial, sans-serif; font-weight: 900; text-align: center; line-height: 1.05; }
    .logo-fallback { width: 58px; height: 58px; margin-bottom: 8px; }
    .partner-card { display: grid; grid-template-columns: 78px 1fr; gap: 14px; align-items: start; min-width: 0; }
    .partner-photo { width: 78px; height: 78px; border-radius: 22px; background: linear-gradient(135deg, var(--green100), var(--gold2)); display: grid; place-items: center; border: 1px solid var(--line); overflow: hidden; }
    .partner-photo img { width: 58px; height: 58px; object-fit: contain; }
    .partner-initial { width: 58px; height: 58px; font-size: 15px; }
    .quote-box { border-left: 4px solid var(--gold); padding: 12px 0 12px 16px; margin-top: 12px; color: var(--muted); font-style: italic; }
    .structure-lead { max-width: 880px; margin: 0 auto 22px; text-align: center; }
    .structure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
    .structure-division { position: relative; min-height: 100%; }
    .structure-division h3 { padding-right: 54px; margin-bottom: 10px; }
    .structure-division h4 { margin-top: 16px; color: var(--green700); font-size: 15px; }
    .structure-number { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(135deg, var(--gold), var(--gold2)); color: var(--green950); font-family: 'Poppins', Arial, sans-serif; font-weight: 900; box-shadow: var(--shadowSoft); }
    .structure-flow { margin: 24px 0; padding: 22px; border-radius: 26px; background: linear-gradient(135deg, rgba(31,101,76,.10), rgba(200,158,72,.14)); border: 1px solid var(--line); box-shadow: var(--shadowSoft); }
    .structure-flow h3 { text-align: center; margin-bottom: 14px; }
    .flow-root { max-width: 620px; margin: 0 auto 16px; padding: 14px 18px; border-radius: 18px; background: var(--green950); color: #fff; text-align: center; font-weight: 900; }
    .flow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
    .flow-grid div { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 14px; text-align: center; }
    .flow-grid strong { display: block; color: var(--green950); font-family: 'Poppins', Arial, sans-serif; font-size: 13px; line-height: 1.25; }
    body.dark .flow-grid strong { color: #fff; }
    .flow-grid span { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; margin-top: 6px; }
    .structure-summary { max-width: 980px; margin: 0 auto; }
    .structure-summary p + p { margin-top: 12px; }
    .master-data-modal { max-width: 560px; }
    .master-field { display: grid; gap: 7px; margin: 12px 0; color: var(--green950); font-weight: 800; font-size: 13px; }
    body.dark .master-field { color: #fff; }
    .master-field input { min-height: 48px; border: 1px solid var(--line); border-radius: 16px; background: var(--card); color: var(--text); padding: 0 14px; outline: none; }
    .master-field input:focus { border-color: var(--green600); box-shadow: 0 0 0 4px rgba(44,138,102,.12); }
    .master-note { margin-top: 12px; font-size: 12px; }
    .master-access-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
    .master-access-row strong { display: block; }
    .master-access-row span, .master-access-row em { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
    .master-access-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: var(--green100); color: var(--green700); font-weight: 900; font-size: 11px; margin-top: 8px; }
    .master-access-badge.off { background: #f8ded9; color: var(--red); }

    .syair-card { background: linear-gradient(160deg, rgba(255,255,255,.96), rgba(232,246,238,.92)); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadowSoft); position: relative; overflow: hidden; }
    body.dark .syair-card { background: linear-gradient(160deg, rgba(13,35,27,.96), rgba(16,43,34,.92)); }
    .syair-card:after { content: ""; position: absolute; right: -28px; bottom: -28px; width: 120px; height: 120px; border-radius: 50%; background: rgba(200,158,72,.16); }
    .syair-card p { line-height: 1.9; font-style: italic; }

    .gallery-toolbar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 24px; }
    .filter-btn { border: 1px solid var(--line); background: var(--card); color: var(--text); border-radius: 999px; padding: 10px 14px; font-weight: 700; }
    .filter-btn.active, .filter-btn:hover { background: var(--gold); color: var(--green950); }
    .gallery-item { position: relative; min-height: 240px; border-radius: 24px; overflow: hidden; cursor: pointer; box-shadow: var(--shadow); }
    .gallery-item img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; transition: .3s ease; }
    .gallery-item:hover img { transform: scale(1.05); }
    .gallery-caption { position: absolute; inset: auto 0 0; padding: 18px; color: #fff; font-weight: 800; background: linear-gradient(to top, rgba(8,31,23,.92), transparent); }
    .post-meta { font-size: 13px; color: var(--green700); font-weight: 800; margin-bottom: 10px; }
    .news-panel { display: grid; gap: 16px; margin: -8px auto 28px; max-width: 980px; padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.74); box-shadow: var(--shadowSoft); backdrop-filter: blur(12px); }
    body.dark .news-panel { background: rgba(13,34,26,.74); }
    .news-controls { display: grid; grid-template-columns: 1fr minmax(180px, 240px); gap: 14px; align-items: end; }
    .news-search, .news-sort { display: grid; gap: 7px; color: var(--green700); font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
    .news-search input, .news-sort select { min-height: 48px; width: 100%; border: 1px solid var(--line); border-radius: 16px; background: var(--card); color: var(--text); padding: 0 14px; font-size: 14px; outline: none; }
    .news-search input:focus, .news-sort select:focus { border-color: var(--green600); box-shadow: 0 0 0 4px rgba(44,138,102,.12); }
    .news-category-row { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
    .news-filter-btn { min-height: 38px; border: 1px solid var(--line); background: var(--card); color: var(--green900); border-radius: 999px; padding: 8px 12px; font-weight: 800; font-size: 12px; }
    body.dark .news-filter-btn { color: #eaf7f0; }
    .news-filter-btn.active, .news-filter-btn:hover { background: var(--gold); color: var(--green950); }
    .news-count { text-align: center; color: var(--muted); font-size: 13px; font-weight: 700; }
    .news-featured { margin-bottom: 20px; }
    .news-featured-card { display: grid; grid-template-columns: minmax(280px, .9fr) 1.1fr; gap: 0; overflow: hidden; border-radius: 30px; border: 1px solid var(--line); background: var(--card); box-shadow: var(--shadow); }
    .news-featured-card img { height: 100%; min-height: 340px; object-fit: cover; }
    .news-featured-body { padding: 28px; display: grid; align-content: center; gap: 12px; }
    .news-featured-body h3 { font-size: clamp(24px, 3vw, 34px); }
    .news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .news-card { display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: var(--card); box-shadow: var(--shadowSoft); }
    .news-card img { height: 190px; object-fit: cover; }
    .news-card-body { display: flex; flex-direction: column; gap: 9px; padding: 18px; flex: 1; }
    .news-card-body h3 { font-size: 18px; line-height: 1.25; }
    .news-card-body p { flex: 1; }
    .news-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--green700); font-size: 12px; font-weight: 800; }
    .news-source { display: inline-flex; align-items: center; width: fit-content; margin-top: 4px; padding: 7px 10px; border-radius: 999px; background: var(--green100); color: var(--green700); font-size: 12px; font-weight: 800; }
    .news-source:hover { background: var(--gold); color: var(--green950); }
    .news-action-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
    .news-read { min-height: 40px; padding: 9px 14px; font-size: 12px; }
    .news-empty { grid-column: 1 / -1; padding: 28px; border: 1px dashed var(--line); border-radius: 22px; text-align: center; background: var(--card); color: var(--muted); font-weight: 800; }
    .center-row { justify-content: center; }
    .article-detail { max-width: 920px; margin: 0 auto; background: var(--card); border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow); overflow: hidden; }
    .article-cover { height: min(480px, 52vw); object-fit: cover; }
    .article-body { padding: 30px; }
    .article-body h1 { font-size: clamp(28px, 4vw, 48px); margin: 12px 0 18px; }
    .article-body p { font-size: 16px; line-height: 1.9; margin-top: 15px; }
    .article-source-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
    .doctor-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 22px; align-items: start; }
    .doctor-form, .doctor-result { background: var(--card); border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); padding: 22px; }
    .plant-preview { min-height: 230px; border: 1px dashed rgba(31,101,76,.28); border-radius: 22px; background: var(--bg); display: grid; place-items: center; color: var(--muted); overflow: hidden; margin-bottom: 16px; text-align: center; }
    .plant-preview img { width: 100%; height: 260px; object-fit: cover; }
    .doctor-symptoms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .doctor-symptoms label { display: flex; align-items: center; gap: 9px; padding: 12px; border-radius: 16px; border: 1px solid var(--line); background: var(--bg); color: var(--text); font-weight: 700; font-size: 13px; }
    .doctor-empty, .doctor-loading, .doctor-error { min-height: 260px; display: grid; align-content: center; gap: 10px; text-align: center; border-radius: 22px; background: var(--bg); padding: 24px; }
    .doctor-error { color: #fff; background: var(--red); }
    .doctor-result-card { display: grid; gap: 18px; }
    .doctor-result-head p { margin-top: 8px; }
    .doctor-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .doctor-result-grid div { padding: 14px; border-radius: 18px; background: var(--bg); border: 1px solid var(--line); }
    .doctor-result-grid small { display: block; color: var(--green700); font-weight: 900; text-transform: uppercase; font-size: 11px; margin-bottom: 5px; }
    .doctor-result-grid strong { display: block; color: var(--green950); line-height: 1.25; }
    body.dark .doctor-result-grid strong { color: #fff; }
    .doctor-result-sections { display: grid; gap: 14px; }
    .doctor-result-sections section { padding: 16px; border-radius: 18px; background: var(--bg); border: 1px solid var(--line); }
    .doctor-result-sections h3 { margin-bottom: 9px; }
    .doctor-result-sections ul { padding-left: 20px; color: var(--muted); display: grid; gap: 7px; }
    .doctor-disclaimer { padding: 14px; border-radius: 18px; background: rgba(200,158,72,.14); border: 1px solid rgba(200,158,72,.28); font-size:13px; }
    .doctor-section-title { font-weight: 800; font-size: 14px; color: var(--green700); padding: 6px 0 2px; border-bottom: 1px solid var(--line); margin-top: 4px; }
    .badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
    .badge-green { background: var(--green100); color: var(--green700); }
    .badge-gold { background: rgba(200,158,72,.15); color: var(--gold); }
    .badge-red { background: rgba(220,38,38,.12); color: #dc2626; }
    .badge-muted { background: var(--bg); color: var(--muted); border: 1px solid var(--line); }
    @media (max-width: 900px) {
      .news-controls, .news-featured-card, .news-grid, .doctor-layout, .doctor-result-grid { grid-template-columns: 1fr; }
      .news-featured-card img { min-height: 230px; }
      .news-grid { gap: 14px; }
      .doctor-symptoms { grid-template-columns: 1fr; }
    }
    .map-card { display: grid; place-items: center; min-height: 360px; text-align: center; padding: 28px; background: linear-gradient(140deg, var(--card), var(--green100)); border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow); }
    .satellite-map { position: relative; padding: 0; overflow: hidden; min-height: 420px; background: var(--green950); }
    .satellite-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(1.08) contrast(1.03); }
    .map-overlay { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 18px; border-radius: 22px; background: rgba(8,31,23,.88); color: #fff; text-align: left; backdrop-filter: blur(10px); }
    .map-overlay h3, .map-overlay p { color: #fff; }
    .map-overlay .btn { margin-top: 12px; }
    .info-list { display: grid; gap: 14px; margin-top: 22px; }
    .info-item { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: start; padding: 16px; background: var(--card); border: 1px solid var(--line); border-radius: 20px; }
    .info-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: var(--green100); color: var(--green700); font-weight: 900; }
    .faq-question { width: 100%; display: flex; justify-content: space-between; gap: 12px; background: transparent; border: 0; color: inherit; font-size: 17px; font-weight: 800; text-align: left; cursor: pointer; }
    .faq-answer { max-height: 0; overflow: hidden; transition: .25s ease; }
    .faq-item.open .faq-answer { max-height: 280px; margin-top: 12px; }
    .stars { color: var(--gold); letter-spacing: 3px; font-weight: 900; margin-bottom: 14px; }
    .review-person { display: flex; align-items: center; gap: 12px; margin-top: 18px; }
    .avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--green100); color: var(--green700); font-weight: 900; }
    .contact-list { list-style: none; display: grid; gap: 14px; margin-top: 20px; }
    .contact-list li { display: grid; grid-template-columns: 46px 1fr; gap: 12px; padding: 15px; background: var(--bg); border: 1px solid var(--line); border-radius: 20px; }
    .contact-symbol { width: 46px; height: 46px; border-radius: 16px; display: grid; place-items: center; background: var(--green100); color: var(--green700); font-weight: 900; }

    .admin-area { display: none; border-top: 6px solid var(--green950); background: var(--bg); }
    .admin-area.show { display: block; }
    .admin-layout { display: grid; grid-template-columns: 260px 1fr; gap: 22px; align-items: start; }
    .admin-sidebar { background: var(--green950); color: #fff; border-radius: 24px; padding: 20px; position: sticky; top: 100px; }
    .admin-sidebar h3 { color: #fff; }
    .admin-sidebar p { color: #d8e8df; font-size: 13px; }
    .admin-tab { width: 100%; text-align: left; margin-top: 8px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.08); color: #fff; font-weight: 800; cursor: pointer; }
    .admin-tab.active, .admin-tab:hover { background: var(--gold); color: var(--green950); }
    .admin-section { display: none; }
    .admin-section.active { display: block; }
    .admin-card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 22px; box-shadow: var(--shadow); margin-bottom: 16px; }
    .admin-field { display: grid; gap: 6px; margin-bottom: 14px; }
    .admin-field label { color: var(--green700); font-weight: 800; }
    .admin-field input, .admin-field textarea, .admin-field select { width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: var(--bg); color: var(--text); }
    .admin-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .small-btn { min-height: 38px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--text); font-weight: 800; }
    .small-btn.green { background: var(--green700); color: #fff; }
    .small-btn.red { background: var(--red); color: #fff; }
    .admin-post-list { display: grid; gap: 12px; }
    .admin-post-item { border: 1px solid var(--line); background: var(--bg); border-radius: 16px; padding: 14px; }
    .notice { padding: 14px; border-radius: 16px; border: 1px solid rgba(200,158,72,.38); background: rgba(200,158,72,.14); margin-top: 14px; }

    .footer { background: var(--green950); color: #fff; padding: 68px 0 28px; }
    .footer-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 28px; margin-bottom: 40px; }
    .footer h3, .footer h4 { color: #fff; margin-bottom: 14px; }
    .footer p, .footer li, .footer a { color: #d8e8df; font-size: 14px; }
    .footer ul { list-style: none; display: grid; gap: 8px; }
    .copyright { border-top: 1px solid rgba(255,255,255,.12); padding-top: 22px; color: #bfcfc7; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; }
    .floating { position: fixed; right: 18px; bottom: 18px; z-index: 90; display: grid; gap: 10px; }
    .float-btn { min-width: 54px; min-height: 50px; padding: 0 12px; border-radius: 18px; display: grid; place-items: center; background: var(--green950); color: #fff; font-size: 12px; font-weight: 900; box-shadow: var(--shadow); border: 0; }
    .float-wa { background: #128c4a; }
    .modal { position: fixed; inset: 0; z-index: 120; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(8,31,23,.88); }
    .modal.show { display: flex; }
    .modal-content { width: min(760px, 100%); background: var(--card); color: var(--text); border-radius: 26px; box-shadow: var(--shadow); overflow: hidden; max-height: 92vh; overflow-y: auto; }
    .modal-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); }
    .modal-body { padding: 22px; }
    .modal-close { width: 42px; height: 42px; border-radius: 14px; border: 0; background: var(--green100); color: var(--green950); font-size: 22px; font-weight: 900; }
    .toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(20px); background: var(--green950); color: #fff; padding: 12px 16px; border-radius: 999px; opacity: 0; pointer-events: none; transition: .25s ease; z-index: 140; font-weight: 900; }
    .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
    .reveal { opacity: 0; transform: translateY(24px); transition: .75s ease; }
    .reveal.show { opacity: 1; transform: translateY(0); }

    .pricing-notice { background: linear-gradient(135deg, rgba(200,158,72,.16), rgba(31,101,76,.08)); border: 1px solid rgba(200,158,72,.28); border-radius: 22px; padding: 18px; box-shadow: var(--shadowSoft); margin-bottom: 22px; }
    .pricing-notice strong { display: block; color: var(--green950); font-family: 'Poppins', Arial, sans-serif; font-size: 18px; margin-bottom: 6px; }
    body.dark .pricing-notice strong { color: #fff; }
    .pricing-table-wrap { overflow-x: auto; border-radius: 24px; box-shadow: var(--shadowSoft); border: 1px solid var(--line); background: var(--card); }
    .pricing-table { width: 100%; border-collapse: collapse; min-width: 760px; }
    .pricing-table th { background: linear-gradient(135deg, var(--green900), var(--green700)); color: #fff; text-align: left; padding: 14px; font-family: 'Poppins', Arial, sans-serif; font-size: 13px; }
    .pricing-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; vertical-align: top; }
    .pricing-table td:nth-child(2) { color: var(--green700); font-weight: 800; white-space: nowrap; }
    .price-card { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; padding: 20px; box-shadow: var(--shadowSoft); overflow: hidden; }
    .price-card.highlight { border-color: rgba(240,216,137,.65); background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(200,158,72,.12)); }
    .price-card .price-value { display: inline-flex; margin: 12px 0; padding: 8px 12px; border-radius: 999px; background: var(--gold); color: var(--green950); font-family: 'Poppins', Arial, sans-serif; font-weight: 900; font-size: 18px; }
    .price-card .list { margin-bottom: 18px; }
    .policy-card { background: var(--card); border: 1px solid var(--line); border-radius: 24px; padding: 22px; box-shadow: var(--shadowSoft); overflow: hidden; }
    .number-list { margin-top: 14px; padding-left: 20px; display: grid; gap: 8px; color: var(--muted); }
    .number-list li { padding-left: 4px; }

    @media (max-width: 680px) {
      .pricing-notice { padding: 8px !important; border-radius: 14px !important; margin-bottom: 10px !important; }
      .pricing-notice strong { font-size: 8.5px !important; margin-bottom: 3px !important; }
      .pricing-table-wrap { border-radius: 14px !important; }
      .pricing-table { min-width: 620px !important; }
      .pricing-table th { padding: 7px !important; font-size: 7px !important; }
      .pricing-table td { padding: 6px 7px !important; font-size: 6.8px !important; line-height: 1.25 !important; }
      .price-card { padding: 7px !important; border-radius: 14px !important; }
      .price-card .price-value { margin: 5px 0 !important; padding: 4px 6px !important; font-size: 7.5px !important; }
      .price-card .list { margin-bottom: 8px !important; }
      .policy-card { padding: 8px !important; border-radius: 14px !important; }
      .number-list { margin-top: 6px !important; padding-left: 12px !important; gap: 3px !important; font-size: 7px !important; line-height: 1.25 !important; }
    }

    .booking-total-box { background: linear-gradient(135deg, rgba(31,101,76,.10), rgba(200,158,72,.12)); border: 1px solid rgba(31,101,76,.18); border-radius: 20px; padding: 16px; }
    .booking-total-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
    .booking-total-head strong { display: block; color: var(--green950); font-family: 'Poppins', Arial, sans-serif; font-size: 18px; }
    body.dark .booking-total-head strong { color: #fff; }
    .booking-total-head span { display: block; color: var(--muted); font-size: 12px; }
    #bookingGrandTotal { color: var(--green700); font-size: 24px; white-space: nowrap; }
    .booking-breakdown { display: grid; gap: 7px; }
    .booking-breakdown div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed var(--line); padding-bottom: 6px; color: var(--muted); font-size: 13px; }
    .booking-breakdown strong { color: var(--green700); white-space: nowrap; }
    .booking-total-note { margin-top: 10px; font-size: 12px; }

    @media (max-width: 680px) {
      .booking-total-box { padding: 7px !important; border-radius: 12px !important; }
      .booking-total-head { gap: 5px !important; margin-bottom: 5px !important; }
      .booking-total-head strong { font-size: 8px !important; }
      .booking-total-head span { font-size: 6px !important; }
      #bookingGrandTotal { font-size: 10px !important; }
      .booking-breakdown { gap: 3px !important; }
      .booking-breakdown div { gap: 5px !important; padding-bottom: 3px !important; font-size: 6.5px !important; line-height: 1.15 !important; }
      .booking-total-note { margin-top: 5px !important; font-size: 6.3px !important; line-height: 1.2 !important; }
    }

    .booking-mini-note { margin-top: 8px; }
    .booking-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
    .booking-steps div { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; padding: 12px; border-radius: 16px; background: var(--bg); border: 1px solid var(--line); }
    .booking-steps strong { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(135deg, var(--green700), var(--green950)); color: #fff; font-family: 'Poppins', Arial, sans-serif; }
    .booking-steps span { color: var(--muted); font-size: 13px; font-weight: 700; line-height: 1.25; }
    .booking-alert { margin-top: 16px; padding: 14px; border-radius: 16px; border: 1px solid rgba(31,101,76,.18); background: linear-gradient(135deg, rgba(31,101,76,.09), rgba(200,158,72,.10)); }
    .booking-alert strong { display: block; color: var(--green950); font-family: 'Poppins', Arial, sans-serif; margin-bottom: 4px; }
    body.dark .booking-alert strong { color: #fff; }
    .form-block-title { padding: 12px 14px; border-radius: 16px; background: linear-gradient(135deg, rgba(31,101,76,.09), rgba(200,158,72,.10)); border: 1px solid rgba(31,101,76,.16); }
    .form-block-title strong { display: block; font-family: 'Poppins', Arial, sans-serif; color: var(--green950); font-size: 14px; }
    body.dark .form-block-title strong { color: #fff; }
    .form-block-title span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.35; }

    @media (max-width: 680px) {
      .booking-steps { gap: 4px !important; margin-top: 8px !important; }
      .booking-steps div { grid-template-columns: 18px 1fr !important; gap: 4px !important; padding: 5px !important; border-radius: 9px !important; }
      .booking-steps strong { width: 18px !important; height: 18px !important; border-radius: 6px !important; font-size: 7px !important; }
      .booking-steps span { font-size: 6.5px !important; line-height: 1.15 !important; }
      .booking-alert { margin-top: 7px !important; padding: 6px !important; border-radius: 9px !important; }
      .booking-alert strong { font-size: 7.5px !important; margin-bottom: 2px !important; }
      .form-block-title { padding: 6px !important; border-radius: 9px !important; }
      .form-block-title strong { font-size: 7.3px !important; }
      .form-block-title span { font-size: 6.3px !important; margin-top: 1px !important; line-height: 1.2 !important; }
    }

    .service-check-group { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .conditional-field[hidden] { display: none !important; }

    @media (max-width: 680px) {
      .service-check-group { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    }

    .duration-preview { background: linear-gradient(135deg, rgba(31,101,76,.09), rgba(200,158,72,.10)); border: 1px solid rgba(31,101,76,.16); border-radius: 14px; padding: 10px 12px; color: var(--muted); }
    .duration-preview strong { color: var(--green950); font-family: 'Poppins', Arial, sans-serif; }
    body.dark .duration-preview strong { color: #fff; }
    .duration-preview span { color: var(--green700); font-weight: 900; }
    @media (max-width: 680px) {
      .duration-preview { padding: 5px 6px !important; border-radius: 9px !important; font-size: 6.8px !important; }
      .duration-preview strong, .duration-preview span { font-size: 6.8px !important; }
    }

    .service-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .service-overview-card { background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 16px; box-shadow: var(--shadowSoft); overflow: hidden; }
    .service-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; margin-bottom: 10px; background: linear-gradient(135deg, var(--green700), var(--green950)); color: #fff; font-family: 'Poppins', Arial, sans-serif; font-weight: 900; font-size: 12px; }
    .service-overview-card h3 { font-size: 16px; margin-bottom: 7px; }
    .service-overview-card p { font-size: 12.5px; line-height: 1.45; }

    @media (max-width: 1120px) {
      .service-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
      .service-overview-card { padding: 12px; border-radius: 18px; }
      .service-overview-card h3 { font-size: 13px; }
      .service-overview-card p { font-size: 10.5px; }
    }

    @media (max-width: 680px) {
      .service-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 4px !important; }
      .service-overview-card { padding: 6px !important; border-radius: 10px !important; }
      .service-icon { width: 22px !important; height: 22px !important; border-radius: 7px !important; margin-bottom: 4px !important; font-size: 6.2px !important; }
      .service-overview-card h3 { font-size: 7.5px !important; line-height: 1.08 !important; margin-bottom: 2px !important; }
      .service-overview-card p { font-size: 6.2px !important; line-height: 1.18 !important; }
    }

    @keyframes floatSoft { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
    @keyframes drift { from { background-position: 0 0; } to { background-position: 240px 240px; } }
    @keyframes sway { 0%,100% { transform: rotate(0deg); } 50% { transform: rotate(2deg); } }
    @keyframes floatLeaf { 0%,100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-8px) rotate(6deg); } }
    @keyframes fallLeaf { 0% { transform: translateY(-10px) rotate(0deg); opacity: .05; } 50% { opacity: .18; } 100% { transform: translateY(120px) rotate(180deg); opacity: .03; } }

    @media (min-width: 1121px) and (max-width: 1280px) {
      .nav-menu { display: none; position: absolute; top: 78px; left: 16px; right: 16px; padding: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; }
      .nav-menu.show { display: flex; }
      .nav-menu a { padding: 13px 14px; }
      .mobile-toggle { display: inline-flex; align-items: center; }
    }

    @media (max-width: 1120px) {
      .card { min-height: auto; }
      .grid-3 .card, .grid-4 .card { align-self: stretch; }
      .logo-card { align-content: center; }
      .nav-menu { display: none; position: absolute; top: 78px; left: 16px; right: 16px; padding: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); flex-direction: column; align-items: stretch; }
      .nav-menu.show { display: flex; }
      .nav-menu a { padding: 13px 14px; }
      .mobile-toggle { display: inline-flex; align-items: center; }

      .hero-grid { grid-template-columns: 1.08fr .92fr; gap: 22px; }
      .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
      .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
      .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
      .hero-mini { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
      .booking-box { grid-template-columns: .92fr 1.08fr; gap: 16px; }
      .adopt-box { grid-template-columns: 1.05fr .95fr; }
      .admin-layout { grid-template-columns: 220px 1fr; }
      .admin-sidebar { position: sticky; top: 100px; }
      .logo-row { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }

      .container { width: min(100% - 18px, var(--max)); }
      h1 { font-size: clamp(30px, 5.2vw, 60px); }
      h2 { font-size: clamp(22px, 3.4vw, 38px); }
      h3 { font-size: 16px; }
      p { font-size: 12.8px; }
      .pad { padding: 14px; }
      .btn { min-height: 44px; padding: 11px 16px; font-size: 13px; }
      .real-photo { height: 300px; }
      .hero-panel img { height: 220px; }
    }

    @media (max-width: 680px) {
      .topbar { display: none; }
      .section { padding: 58px 0; }
      .container { width: calc(100% - 12px); }
      .navbar { min-height: 68px; gap: 6px; }
      .brand { min-width: 120px; gap: 6px; }
      .brand-mark { width: 40px; height: 40px; border-radius: 14px; font-size: 12px; }
      .brand strong { font-size: 10.5px; max-width: 150px; }
      .brand span { display: none; }
      .nav-actions { gap: 4px; }
      .nav-actions select, .nav-actions button, .mobile-toggle { height: 38px; border-radius: 12px; padding: 0 6px; font-size: 11px; }
      .nav-actions select { max-width: 92px; }
      .voice-toggle { min-width: 78px; font-size: 10px !important; }
      .voice-listen { left: 8px; right: auto; bottom: 56px; min-height: 40px; padding: 0 12px; font-size: 11px; }

      .hero-grid { grid-template-columns: 1.08fr .92fr; gap: 10px; padding: 48px 0 86px; }
      .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
      .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
      .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
      .hero-mini { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
      .booking-box { grid-template-columns: .92fr 1.08fr; gap: 8px; }
      .booking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
      .booking-grid .full { grid-column: 1 / -1; }
      .check-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
      .adopt-box { grid-template-columns: 1.05fr .95fr; }
      .amounts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
      .logo-row { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
      .footer-grid { grid-template-columns: 1.25fr 1fr 1fr 1fr; gap: 10px; }
      .partner-card { grid-template-columns: 52px 1fr; gap: 6px; }
      .admin-layout { grid-template-columns: 150px 1fr; gap: 8px; }

      h1 { font-size: clamp(22px, 6vw, 36px); letter-spacing: -1px; }
      h2 { font-size: clamp(18px, 4.8vw, 28px); }
      h3 { font-size: 14px; }
      p, .list li { font-size: 11.5px; line-height: 1.45; }
      .lead { font-size: 12.5px; line-height: 1.5; }
      .eyebrow { font-size: 9px; gap: 5px; margin-bottom: 8px; }
      .eyebrow:before, .center .eyebrow:after { width: 18px; }
      .section-title { margin-bottom: 20px; }
      .pad, .booking-info, .booking-form, .adopt-copy, .admin-card { padding: 10px; border-radius: 18px; }
      .card, .stat-card, .syair-card { border-radius: 18px; }
      .btn-row { gap: 6px; margin-top: 14px; }
      .btn { min-height: 34px; padding: 8px 10px; font-size: 10px; }
      .tag { font-size: 9px; padding: 4px 7px; margin-bottom: 8px; }
      .icon { width: 34px; height: 34px; border-radius: 12px; margin-bottom: 8px; font-size: 10px; }
      .mini-card { padding: 8px; border-radius: 14px; }
      .mini-card strong { font-size: 14px; }
      .mini-card span { font-size: 8.5px; line-height: 1.2; }
      .hero-panel { padding: 8px; border-radius: 20px; }
      .hero-panel img, .real-photo { height: 160px; border-radius: 16px; }
      .card-photo { height: 96px; }
      .field label { font-size: 9.5px; margin-bottom: 4px; }
      .field input, .field textarea, .field select { padding: 7px 7px; border-radius: 11px; font-size: 10px; }
      textarea { min-height: 80px; }
      .check-card { padding: 6px; border-radius: 10px; font-size: 8.5px; gap: 4px; }
      .ticket-price, .stat-card strong, .amount strong { font-size: 18px; }
      .stat-card { padding: 10px; }
      .logo-card { min-height: 74px; padding: 6px; border-radius: 14px; }
      .logo-card img, .logo-fallback { width: 34px; height: 34px; border-radius: 12px; margin-bottom: 4px; }
      .logo-card strong { font-size: 6.8px; line-height: 1.05; }
      .partner-photo { width: 48px; height: 48px; border-radius: 14px; }
      .partner-photo img, .partner-initial { width: 36px; height: 36px; border-radius: 12px; font-size: 8.5px; }
      .quote-box { padding: 8px 0 8px 10px; margin-top: 8px; }
      .timeline:before { left: 12px; }
      .timeline-item { padding-left: 34px; }
      .timeline-dot { left: 2px; width: 22px; height: 22px; border-width: 4px; }
      .timeline-card { padding: 10px; border-radius: 16px; }
      .gallery-item, .gallery-item img { min-height: 96px; }
      .gallery-caption { padding: 10px; font-size: 10px; }
      .map-card { min-height: 220px; padding: 14px; }
      .contact-list li, .info-item { grid-template-columns: 32px 1fr; gap: 8px; padding: 9px; }
      .contact-symbol, .info-icon, .avatar { width: 32px; height: 32px; border-radius: 12px; font-size: 10px; }
      .floating { right: 8px; bottom: 8px; gap: 6px; }
      .float-btn { min-width: 42px; min-height: 38px; border-radius: 14px; font-size: 9px; }
    }
  

/* Split page and latest feature additions */
.admin-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--green950)!important;color:#fff!important;padding:0 10px;font-weight:800;}
.impact-layout{display:grid;grid-template-columns:1.4fr .9fr;gap:22px;align-items:start}
.impact-bars{display:grid;gap:14px}.impact-item{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadowSoft)}.impact-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.impact-head h3{margin:0 0 8px}.impact-head span{font-weight:900;color:var(--green700);white-space:nowrap}.impact-bar-track{height:14px;border-radius:999px;background:rgba(31,101,76,.12);overflow:hidden;margin:10px 0}.impact-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green700),var(--gold),var(--green500))}.impact-item strong,.source-line{display:block;margin-top:8px;color:var(--gold);font-size:12px;font-weight:900}.impact-summary{display:grid;gap:12px}.impact-badge{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadowSoft)}.impact-badge strong{display:block;font-size:30px;color:var(--green700);line-height:1}
.testimony-grid,.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.testimony-card,.voice-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);border-radius:26px;overflow:hidden;box-shadow:var(--shadowSoft)}#voices .voice-card,.section:not(.green-section) .testimony-card,.section:not(.green-section) .voice-card{background:var(--card);border-color:var(--line)}.testimony-card img,.voice-card img{height:190px;object-fit:cover}.testimony-body,.voice-body{padding:18px}.testimony-body blockquote{font-size:17px;line-height:1.5;font-weight:800;color:#fff;margin:10px 0}.section:not(.green-section) .testimony-body blockquote{color:var(--green950)}.voice-body p,.testimony-body p{font-size:13px}body.dark .section:not(.green-section) .testimony-body blockquote{color:#fff}
.admin-area{display:none}.admin-area.show{display:block}.footer .btn-row a[href*="wa.me"]{display:none}
@media(max-width:980px){.impact-layout{grid-template-columns:1fr}.testimony-grid,.voice-grid{grid-template-columns:repeat(2,1fr)}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.testimony-grid,.voice-grid,.structure-grid,.flow-grid{grid-template-columns:1fr}.impact-head{display:block}.admin-link{height:38px;font-size:11px;padding:0 7px}.testimony-card img,.voice-card img{height:160px}.structure-division h3{padding-right:46px}.structure-flow{padding:16px}}

/* Final refinements: uploaded logo, detailed admin, public figure images */
.brand-mark{overflow:hidden;background:#fff!important;padding:3px}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.hero-logo-badge{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);border-radius:20px;padding:10px;margin-bottom:14px}
.hero-logo-badge img{max-height:64px;width:auto;object-fit:contain}
.admin-sidebar{max-height:calc(100vh - 120px);overflow:auto}
.admin-section .admin-card textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.voice-card img,.testimony-card img{height:230px;object-fit:cover;object-position:center}
.ticket-price{font-size:30px!important}
@media(max-width:680px){
  .brand-mark img{object-fit:contain}
  .hero-logo-badge{padding:5px;border-radius:10px;margin-bottom:8px}
  .hero-logo-badge img{max-height:34px}
  .voice-card img,.testimony-card img{height:120px}
  .admin-section .admin-card textarea{min-height:140px;font-size:9px}
}

/* Official video playback and short click feedback */
.ico-video:before{
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm6 4v6l6-3-6-3z'/%3E%3C/svg%3E");
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm6 4v6l6-3-6-3z'/%3E%3C/svg%3E");
}
.click-feedback{
  position:fixed;
  right:18px;
  bottom:84px;
  z-index:145;
  max-width:min(360px,calc(100vw - 28px));
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(217,179,108,.45);
  background:linear-gradient(135deg,var(--green950),var(--green700));
  color:#fff;
  box-shadow:var(--shadow);
  font-size:12px;
  font-weight:900;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:.18s ease;
}
.click-feedback.show{opacity:1;transform:translateY(0)}
.official-video-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:18px;
  align-items:start;
}
.official-video-player{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--card);
  box-shadow:var(--shadow);
}
.official-video-player iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  background:#061b14;
}
.official-video-player iframe[hidden]{display:none}
.official-video-info{
  display:grid;
  gap:9px;
  padding:20px;
}
.official-video-info h3{font-size:22px}
.official-video-list{
  display:grid;
  gap:12px;
}
.official-video-card{
  display:grid;
  gap:7px;
  width:100%;
  padding:16px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--card);
  color:var(--text);
  box-shadow:var(--shadowSoft);
  cursor:pointer;
  text-align:left;
  transition:.2s ease;
}
.official-video-card span{
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:var(--green100);
  color:var(--green700);
  font-size:11px;
  font-weight:900;
}
.official-video-card strong{
  color:var(--green950);
  font-family:'Poppins',Arial,sans-serif;
  font-size:16px;
  line-height:1.25;
}
body.dark .official-video-card strong{color:#fff}
.official-video-card small{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.official-video-card.active,
.official-video-card:hover{
  border-color:rgba(200,158,72,.7);
  transform:translateY(-1px);
}
.official-video-panel{
  display:grid;
  gap:18px;
  margin-bottom:22px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadowSoft);
  backdrop-filter:blur(12px);
}
body.dark .official-video-panel{background:rgba(13,34,26,.78)}
.official-video-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto;
  gap:14px;
  align-items:end;
}
.official-video-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.official-video-tab{
  min-height:48px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--card);
  color:var(--green950);
  font-weight:900;
  cursor:pointer;
  transition:.2s ease;
}
body.dark .official-video-tab{color:#fff}
.official-video-tab span{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  margin-left:6px;
  border-radius:999px;
  background:var(--green100);
  color:var(--green700);
  font-size:11px;
}
.official-video-tab.active,
.official-video-tab:hover{
  background:linear-gradient(135deg,var(--green950),var(--green700));
  color:#fff;
  transform:translateY(-2px);
  box-shadow:var(--shadowSoft);
}
.official-video-tab.active span,
.official-video-tab:hover span{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.official-video-form{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(31,101,76,.16);
  border-radius:20px;
  background:var(--card);
}
.official-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.official-media-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--card);
  box-shadow:var(--shadowSoft);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.official-media-card:hover,
.official-media-card:focus-within{
  transform:translateY(-5px) scale(1.012);
  border-color:rgba(200,158,72,.72);
  box-shadow:0 18px 45px rgba(8,31,23,.16);
}
.official-media-preview{
  position:relative;
  min-height:230px;
  background:#082118;
}
.official-media-preview img{
  width:100%;
  height:260px;
  object-fit:cover;
  opacity:.92;
}
.official-media-play{
  position:absolute;
  left:16px;
  bottom:16px;
  min-height:40px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--green950);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadowSoft);
}
.official-media-body{
  display:grid;
  gap:9px;
  padding:18px;
}
.official-media-body h3{
  font-size:20px;
  line-height:1.24;
}
.official-media-player{
  overflow:hidden;
  margin-top:4px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#061b14;
}
.official-media-player iframe,
.official-media-native{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  border:0;
  background:#061b14;
}
.book-hero{
  padding-bottom:44px;
}
.book-lead{
  color:var(--muted);
  margin:16px auto 0;
}
.book-panel{
  max-width:1080px;
  margin:26px auto 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadowSoft);
  backdrop-filter:blur(12px);
}
body.dark .book-panel{background:rgba(13,34,26,.78)}
.book-controls{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(170px,230px) minmax(150px,210px);
  gap:14px;
  align-items:end;
}
.book-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.book-card{
  display:grid;
  grid-template-columns:minmax(150px,.48fr) minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--card);
  box-shadow:var(--shadowSoft);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.book-card:hover,
.book-card:focus-within{
  transform:translateY(-4px) scale(1.01);
  border-color:rgba(200,158,72,.7);
  box-shadow:0 16px 42px rgba(8,31,23,.14);
}
.book-cover{
  min-height:260px;
  background:linear-gradient(135deg,var(--green950),var(--green700));
}
.book-cover img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.book-cover-fallback{
  height:100%;
  min-height:260px;
  display:grid;
  place-items:center;
  padding:18px;
  color:#fff;
  background:radial-gradient(circle at 18% 14%,rgba(240,216,137,.28),transparent 28%),linear-gradient(135deg,var(--green950),var(--green700));
}
.book-cover-fallback span{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  font-family:'Poppins',Arial,sans-serif;
  font-weight:900;
}
.book-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px;
}
.book-body h3{font-size:22px;line-height:1.22}
.book-body p{flex:1}
.book-body small{color:var(--green700);font-weight:900}
.book-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--green700);
  font-size:12px;
  font-weight:900;
}
.book-meta span{
  padding:5px 9px;
  border-radius:999px;
  background:var(--green100);
}
.book-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.book-tags span{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(200,158,72,.14);
  color:var(--green900);
  font-size:11px;
  font-weight:900;
}
body.dark .book-tags span{color:#f8edd0}
.book-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.book-modal-content{max-width:860px}
.book-modal-cover{
  max-height:320px;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:14px;
}
.book-content{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.admin-thumb-fallback{
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#0b3d2e,#d9b36c);
  color:#fff;
  font-family:'Poppins',Arial,sans-serif;
  font-weight:900;
}
.danger-soft{color:#b3261e!important;border-color:rgba(179,38,30,.3)!important}
.service-overview-card,
.quick-action-item,
.news-card,
.product-card,
.book-card,
.partner-card,
.voice-card,
.testimony-card,
.stat-card,
.mini-card,
.impact-item,
.impact-badge,
.structure-division,
.logo-card{
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.service-overview-card:hover,
.quick-action-item:hover,
.news-card:hover,
.product-card:hover,
.book-card:hover,
.partner-card:hover,
.voice-card:hover,
.testimony-card:hover,
.stat-card:hover,
.mini-card:hover,
.impact-item:hover,
.impact-badge:hover,
.structure-division:hover,
.logo-card:hover{
  transform:translateY(-4px) scale(1.012);
  border-color:rgba(200,158,72,.65);
  box-shadow:0 16px 36px rgba(8,31,23,.14);
}
@media(max-width:900px){
  .official-video-layout{grid-template-columns:1fr}
  .official-video-toolbar,
  .official-video-tabs,
  .official-video-grid{grid-template-columns:1fr}
  .book-controls,
  .book-grid,
  .book-card{grid-template-columns:1fr}
  .book-cover,.book-cover img,.book-cover-fallback{min-height:220px}
  .click-feedback{right:10px;left:10px;bottom:74px;text-align:center}
}

/* Admin friendly form UI and stronger contrast */
.admin-area{background:#efe5d2;color:#12352a}
.admin-card{background:#fff8e8!important;color:#12352a!important;border:1px solid rgba(6,43,32,.18)!important}
.admin-card h3,.admin-card p,.admin-field label{color:#12352a!important}
.admin-field input,.admin-field textarea,.admin-field select{
  background:#ffffff!important;
  color:#12352a!important;
  border:1.5px solid rgba(6,43,32,.28)!important;
}
.admin-field input::placeholder,.admin-field textarea::placeholder{color:#6e7f73!important}
.form-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form-2 .full{grid-column:1/-1}
.admin-table-wrap{overflow:auto;margin-top:18px;border-radius:18px;border:1px solid rgba(6,43,32,.14)}
.admin-table{width:100%;border-collapse:collapse;background:#fff}
.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid rgba(6,43,32,.12);text-align:left;color:#12352a}
.admin-table th{background:#0b3d2e;color:#fff;font-weight:900}
.admin-list{display:grid;gap:12px;margin-top:18px}
.admin-list-item{background:#fff;border:1px solid rgba(6,43,32,.14);border-radius:18px;padding:14px;color:#12352a}
.admin-list-item strong{display:block;color:#062b20}
.admin-list-item p,.admin-list-item span,.admin-list-item em{display:block;color:#44584d;margin:4px 0}
.admin-list-item.with-thumb{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start}
.admin-list-item.with-thumb img{width:88px;height:88px;object-fit:cover;border-radius:16px;background:#eee}
.small-btn{border:none;border-radius:10px;padding:7px 10px;font-weight:800;cursor:pointer;margin-right:6px}
.small-btn.green{background:#17774e;color:#fff}
.small-btn.red{background:#b3261e;color:#fff}
.notice{background:#fff3cd!important;color:#4b3900!important;border:1px solid #e0b94d!important}
@media(max-width:760px){
  .form-2{grid-template-columns:1fr}
  .admin-list-item.with-thumb{grid-template-columns:1fr}
  .admin-list-item.with-thumb img{width:100%;height:160px}
}

/* Live Editor CMS */
.cms-edit-mode *{scroll-margin-top:110px}
.cms-edit-mode [data-cms-id]:hover,
.cms-edit-mode [data-cms-section-id]:hover{
  outline:2px dashed #f2b84b!important;
  outline-offset:3px;
  cursor:pointer;
}
.cms-selected-outline{
  outline:3px solid #20b36b!important;
  outline-offset:4px;
}
#cmsLoginGate{
  position:fixed;
  inset:0;
  z-index:99998;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(6,43,32,.38);
  backdrop-filter:blur(4px);
}
.cms-login-card{
  width:min(460px,100%);
  background:linear-gradient(180deg,#fffaf0,#f2e3c6);
  color:#12352a;
  border:2px solid rgba(6,43,32,.18);
  border-radius:24px;
  box-shadow:0 28px 90px rgba(0,0,0,.25);
  padding:20px;
  font-family:Inter,Arial,sans-serif;
}
.cms-login-card strong{
  display:block;
  font-size:22px;
  color:#062b20;
  margin-bottom:8px;
}
.cms-login-card p,
.cms-login-card small{
  color:#486056;
  line-height:1.6;
}
.cms-login-card label{
  display:grid;
  gap:6px;
  margin:12px 0;
  font-size:13px;
  font-weight:800;
  color:#062b20;
}
.cms-login-card input{
  width:100%;
  border:1.5px solid rgba(6,43,32,.22);
  border-radius:14px;
  padding:12px 13px;
  font:inherit;
  color:#12352a;
  background:#fff;
}
.cms-login-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 10px;
}
.cms-login-actions button,
.cms-login-actions a{
  border:0;
  border-radius:999px;
  padding:11px 15px;
  min-height:44px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cms-login-actions button{
  background:linear-gradient(135deg,#34b36b,#d9b36c);
  color:#062b20;
}
.cms-login-actions a{
  background:#062b20;
  color:#fff;
}
#cmsLivePanel{
  position:fixed;
  right:18px;
  top:88px;
  width:min(380px,calc(100vw - 28px));
  max-height:calc(100vh - 110px);
  overflow:auto;
  z-index:99999;
  background:#fff7e6;
  color:#12352a;
  border:2px solid rgba(6,43,32,.22);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  border-radius:24px;
  font-family:Inter,Arial,sans-serif;
}
.cms-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:#062b20;
  color:#fff;
  border-radius:20px 20px 0 0;
}
.cms-head strong{color:#fff}
.cms-head button{
  border:0;
  background:#d9b36c;
  color:#062b20;
  font-weight:900;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
}
.cms-body{padding:16px}
.cms-help{
  background:#e7f6eb;
  color:#12352a;
  border:1px solid rgba(6,43,32,.14);
  border-radius:14px;
  padding:10px;
  font-size:12px;
  margin:0 0 12px;
}
.cms-selected{
  background:#fff;
  color:#12352a;
  border:1px solid rgba(6,43,32,.18);
  border-radius:14px;
  padding:10px;
  margin-bottom:12px;
  font-weight:800;
}
#cmsLivePanel label{
  display:grid;
  gap:6px;
  color:#12352a;
  font-weight:800;
  font-size:12px;
  margin-bottom:10px;
}
#cmsLivePanel input,
#cmsLivePanel textarea,
#cmsLivePanel select{
  width:100%;
  background:#fff!important;
  color:#12352a!important;
  border:1.5px solid rgba(6,43,32,.28)!important;
  border-radius:12px;
  padding:10px;
  font:inherit;
}
#cmsLivePanel textarea{min-height:100px;resize:vertical}
.cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cms-actions,.cms-section-tools{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.cms-actions button,.cms-section-tools button{
  border:0;
  border-radius:12px;
  padding:10px;
  font-weight:900;
  cursor:pointer;
  background:#0b3d2e;
  color:#fff;
}
.cms-actions button:nth-child(2),.cms-actions button:nth-child(3){background:#8a4b00}
.cms-actions button:nth-child(4),.cms-section-tools button{background:#7a1f16}
.live-edit-info{
  background:#f5ead5;
  color:#12352a;
  border:1px solid rgba(6,43,32,.14);
  border-radius:18px;
  padding:14px;
  margin:12px 0;
}
.live-edit-info li{margin:6px 0;color:#12352a}
.live-edit-buttons .btn{margin:4px}
@media(max-width:680px){
  #cmsLoginGate{padding:12px}
  .cms-login-card{padding:18px;border-radius:20px}
  .cms-login-actions{display:grid;grid-template-columns:1fr}
  #cmsLivePanel{right:8px;left:8px;top:78px;width:auto;max-height:70vh}
  .cms-grid,.cms-actions,.cms-section-tools{grid-template-columns:1fr}
}


/* Final portal/shop/live editor corrections */
.topbar{display:none!important}
.nav-actions .admin-link{display:none!important}
.portal-link{
  background:linear-gradient(135deg,var(--green950),var(--green700));
  color:#fff!important;
  padding:10px 14px;
  border-radius:999px;
}
.hero-logo-badge{
  background:linear-gradient(135deg,#062b20,#0b5a3f)!important;
  border:1px solid rgba(217,179,108,.55);
  box-shadow:0 14px 35px rgba(6,43,32,.24);
}
.hero-logo-badge img{
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.35));
}
.shop-tools{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:14px;
  margin:20px 0;
}
.shop-tools input,.shop-tools select{
  min-height:52px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fffaf0;
  color:var(--green950);
  padding:0 16px;
  font-weight:800;
}
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.product-card{
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,250,240,.98),rgba(242,228,202,.98));
  box-shadow:var(--shadowSoft);
}
.product-img{
  height:220px;
  background:linear-gradient(135deg,var(--green950),var(--gold));
  display:grid;
  place-items:center;
  color:#fff;
  font-size:34px;
  font-weight:900;
}
.product-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.product-body{padding:18px}
.product-body h3{font-size:22px;margin:10px 0}
.product-body p{min-height:58px}
.product-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:14px 0;
  padding:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
}
.product-meta strong{font-size:20px;color:var(--green950)}
.product-meta span{font-size:12px;color:var(--muted);font-weight:800}
.empty-state{
  grid-column:1/-1;
  padding:24px;
  border-radius:24px;
  background:#fffaf0;
  border:1px dashed var(--line);
  color:var(--muted);
  font-weight:800;
}
.admin-help + .admin-help{margin-top:12px}
.cms-body .cms-grid{grid-template-columns:1fr 1fr}
#cmsLivePanel select,#cmsLivePanel input,#cmsLivePanel textarea{color:#12352a!important;background:#fff!important}
@media(max-width:980px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-tools{grid-template-columns:1fr}
}
@media(max-width:680px){
  .product-grid{grid-template-columns:1fr}
  .product-img{height:170px}
}


/* Navigation UI/UX icon menu final */
.site-header .container,
.nav-wrap,
.main-nav,
.nav-list{
  min-width:0;
}
.nav-list{
  display:flex!important;
  align-items:center;
  gap:8px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
}
.nav-list li{
  flex:0 0 auto;
}
.nav-list a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap!important;
  word-break:keep-all;
  line-height:1;
  padding:10px 10px!important;
  border-radius:999px;
  font-size:13px!important;
}
.menu-ico{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(52,179,107,.12);
  font-size:14px;
  line-height:1;
}
.menu-text{
  display:inline-block;
  white-space:nowrap!important;
}
.portal-link{
  margin-left:8px!important;
  background:linear-gradient(135deg,#062b20,#17774e)!important;
  color:#fff!important;
  border:1px solid rgba(217,179,108,.55);
  box-shadow:0 8px 20px rgba(6,43,32,.18);
}
.portal-link .menu-ico{
  background:rgba(255,255,255,.18);
}
.portal-link .menu-text{
  color:#fff!important;
}
@media(min-width:981px){
  .main-nav{
    margin-left:auto!important;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar{display:none}
  .portal-link{
    order:99;
  }
}
@media(max-width:980px){
  .nav-list{
    flex-wrap:wrap!important;
    white-space:normal!important;
  }
  .nav-list a{
    font-size:12px!important;
    padding:9px 10px!important;
  }
  .portal-link{
    margin-left:0!important;
  }
}
@media(max-width:520px){
  .menu-text{font-size:11px}
  .menu-ico{width:20px;height:20px;font-size:12px}
}

/* Header centering fix: menu center, brand left, actions right */
@media(min-width:981px){
  .site-header .container.navbar{
    width:min(100% - 14px, 1880px)!important;
    display:grid!important;
    grid-template-columns:minmax(200px,260px) 1fr max-content!important;
    align-items:center!important;
    gap:6px!important;
  }
  .site-header .navbar nav{
    min-width:0!important;
    overflow:visible!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
  }
  .site-header .nav-menu{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:2px!important;
    max-height:none!important;
    overflow:visible!important;
    white-space:normal!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .site-header .nav-menu li{flex:0 0 auto!important}
  .site-header .nav-menu a{
    padding:6px 7px!important;
    font-size:10.5px!important;
    gap:3px!important;
    white-space:nowrap!important;
  }
  .site-header .brand{min-width:0!important;flex-shrink:0!important}
  .site-header .brand span{font-size:10.5px!important}
  .site-header .brand strong{font-size:13px!important}
  .site-header .nav-actions{justify-content:flex-end!important;flex-shrink:0!important}
  .site-header .nav-actions select{max-width:100px}
  .site-header .nav-actions button{padding:0 8px!important}
  .site-header .menu-ico{width:20px!important;height:20px!important}
  .portal-link{margin-left:2px!important}
}

/* Live editor reliability/visibility */
.cms-edit-mode .cms-selected-outline{
  outline:3px solid #1fbf70!important;
  outline-offset:5px!important;
  box-shadow:0 0 0 6px rgba(31,191,112,.16)!important;
}
#cmsLivePanel{
  border-color:rgba(217,179,108,.7)!important;
}
#cmsLivePanel .cms-head{
  background:linear-gradient(135deg,#062b20,#0b5a3f)!important;
}
#cmsLivePanel button{
  transition:.18s ease;
}
#cmsLivePanel button:hover{
  transform:translateY(-1px);
}


/* One-color Android-like icon menu */
.menu-ico{
  position:relative;
  display:inline-grid!important;
  place-items:center;
  width:24px!important;
  height:24px!important;
  min-width:24px;
  border-radius:8px!important;
  background:rgba(23,119,78,.12)!important;
  color:var(--green950)!important;
}
.menu-ico:before{
  content:"";
  width:15px;
  height:15px;
  display:block;
  background:currentColor;
  mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  -webkit-mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
}
.ico-home:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11 12 3l9 8v10h-6v-6H9v6H3V11z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11 12 3l9 8v10h-6v-6H9v6H3V11z'/%3E%3C/svg%3E")}
.ico-leaf:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C10 4 4 10 4 20c10 0 16-6 16-16zM5 19c4-6 8-9 14-14-3 7-7 11-14 14z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C10 4 4 10 4 20c10 0 16-6 16-16zM5 19c4-6 8-9 14-14-3 7-7 11-14 14z'/%3E%3C/svg%3E")}
.ico-story:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4zm3 4h8v2H8V8zm0 4h8v2H8v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h12a2 2 0 0 1 2 2v14H7a2 2 0 0 1-2-2V4zm3 4h8v2H8V8zm0 4h8v2H8v-2z'/%3E%3C/svg%3E")}
.ico-compass:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm4 6-2 6-6 2 2-6 6-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm4 6-2 6-6 2 2-6 6-2z'/%3E%3C/svg%3E")}
.ico-shop:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 7V6a6 6 0 0 1 12 0v1h3l-2 14H5L3 7h3zm2 0h8V6a4 4 0 0 0-8 0v1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 7V6a6 6 0 0 1 12 0v1h3l-2 14H5L3 7h3zm2 0h8V6a4 4 0 0 0-8 0v1z'/%3E%3C/svg%3E")}
.ico-booking:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10v3h4v17H3V5h4V2zm2 0v5h6V2H9zm-2 9h10v2H7v-2zm0 4h10v2H7v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10v3h4v17H3V5h4V2zm2 0v5h6V2H9zm-2 9h10v2H7v-2zm0 4h10v2H7v-2z'/%3E%3C/svg%3E")}
.ico-book:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h11a3 3 0 0 1 3 3v15H7a3 3 0 0 1-3-3V4a1 1 0 0 1 1-1zm2 2v11.2c.35-.13.72-.2 1.1-.2H17V6a1 1 0 0 0-1-1H7zm1 13a1 1 0 0 0 0 2h9v-2H8zm1-10h6v2H9V8zm0 4h5v2H9v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h11a3 3 0 0 1 3 3v15H7a3 3 0 0 1-3-3V4a1 1 0 0 1 1-1zm2 2v11.2c.35-.13.72-.2 1.1-.2H17V6a1 1 0 0 0-1-1H7zm1 13a1 1 0 0 0 0 2h9v-2H8zm1-10h6v2H9V8zm0 4h5v2H9v-2z'/%3E%3C/svg%3E")}
.ico-news:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v16H4V4zm3 4h6v5H7V8zm8 0h3v2h-3V8zm0 4h3v2h-3v-2zM7 15h11v2H7v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v16H4V4zm3 4h6v5H7V8zm8 0h3v2h-3V8zm0 4h3v2h-3v-2zM7 15h11v2H7v-2z'/%3E%3C/svg%3E")}
.ico-ai:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 2h2v3h3a4 4 0 0 1 4 4v7a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V9a4 4 0 0 1 4-4h3V2zm-3 7v3h3V9H8zm5 0v3h3V9h-3zM8 15h8v2H8v-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 2h2v3h3a4 4 0 0 1 4 4v7a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4V9a4 4 0 0 1 4-4h3V2zm-3 7v3h3V9H8zm5 0v3h3V9h-3zM8 15h8v2H8v-2z'/%3E%3C/svg%3E")}
.ico-gallery:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4V5zm2 2v9l4-4 3 3 2-2 3 3V7H6z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v14H4V5zm2 2v9l4-4 3 3 2-2 3 3V7H6z'/%3E%3C/svg%3E")}
.ico-map:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E")}
.ico-lock:before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V8a5 5 0 0 1 10 0v2h2v12H5V10h2zm2 0h6V8a3 3 0 0 0-6 0v2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V8a5 5 0 0 1 10 0v2h2v12H5V10h2zm2 0h6V8a3 3 0 0 0-6 0v2z'/%3E%3C/svg%3E")}
.portal-link .menu-ico{color:#fff!important;background:rgba(255,255,255,.18)!important}

/* Shopee-like marketplace UI */
.shop-hero{
  padding:42px 0 70px;
  background:linear-gradient(180deg,#fff5df,#f7ead0);
}
.shop-banner{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:18px;
  align-items:center;
  padding:24px;
  border-radius:30px;
  background:linear-gradient(135deg,#062b20,#17774e 60%,#d9b36c);
  color:#fff;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.shop-banner h1{font-size:42px;color:#fff;margin:8px 0}
.shop-banner p{color:rgba(255,255,255,.86);max-width:760px}
.shop-badge-big{
  width:170px;
  height:170px;
  border-radius:34px;
  display:grid;
  place-items:center;
  text-align:center;
  font-weight:900;
  font-size:24px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
}
.shop-searchbar{
  display:grid;
  grid-template-columns:1fr 120px;
  gap:10px;
  padding:12px;
  background:#fff;
  border-radius:24px;
  border:1px solid var(--line);
  margin:18px 0;
  box-shadow:var(--shadowSoft);
}
.shop-searchbar input{
  border:0;
  background:#f7f1e5;
  border-radius:18px;
  min-height:52px;
  padding:0 18px;
  font-weight:800;
  color:var(--green950);
}
.shop-searchbar button{
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#17774e,#d9b36c);
  color:#fff;
  font-weight:900;
}
.shop-filter-row{
  display:grid;
  grid-template-columns:1fr 220px 110px;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
}
.cat-pills{
  display:flex;
  gap:8px;
  overflow:auto;
  padding-bottom:4px;
}
.cat-pill{
  white-space:nowrap;
  border:1px solid var(--line);
  background:#fff;
  color:var(--green950);
  font-weight:900;
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
}
.cat-pill.active{
  background:#17774e;
  color:#fff;
  border-color:#17774e;
}
.shop-filter-row select{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:12px;
  color:var(--green950);
  font-weight:800;
}
#productCount{
  color:var(--muted);
  font-size:13px;
}
.market-shell{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:18px;
}
.market-side{
  background:#fffaf0;
  border:1px solid var(--line);
  border-radius:24px;
  padding:18px;
  height:max-content;
  position:sticky;
  top:96px;
  box-shadow:var(--shadowSoft);
}
.market-side h3{margin:0 0 8px}
.market-side p{font-size:13px}
.market-tips{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.market-tips span{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  font-size:12px;
  font-weight:900;
}
.shopee-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
.shopee-grid .product-card{
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(6,43,32,.08)!important;
  transition:.18s ease;
  border:1px solid rgba(6,43,32,.10)!important;
}
.shopee-grid .product-card:hover{
  transform:translateY(-3px);
  border-color:#17774e!important;
}
.shopee-grid .product-img{
  height:auto!important;
  aspect-ratio:1/1;
  border-radius:16px 16px 0 0;
  position:relative;
}
.product-badge{
  position:absolute;
  left:8px;
  top:8px;
  background:#17774e;
  color:#fff;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
}
.shopee-grid .product-body{padding:10px!important}
.shopee-grid .product-body h3{
  font-size:14px!important;
  line-height:1.32;
  min-height:38px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.shopee-grid .product-body p{
  display:none;
}
.product-price{
  color:#d45b18;
  font-size:18px;
  font-weight:900;
  margin:8px 0;
}
.product-info,.product-meta{
  display:flex;
  justify-content:space-between;
  gap:6px;
  align-items:center;
  font-size:11px;
  color:var(--muted);
}
.product-meta{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin:7px 0!important;
}
.product-buy{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  border-radius:12px;
  background:#17774e;
  color:#fff!important;
  font-weight:900;
  text-decoration:none;
  margin-top:8px;
}
.cms-palette-wrap{
  background:#f6ead3;
  border:1px solid rgba(6,43,32,.14);
  border-radius:16px;
  padding:10px;
  margin-bottom:10px;
}
.cms-palette-wrap strong{
  display:block;
  color:#12352a;
  font-size:12px;
  margin-bottom:8px;
}
.cms-palettes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.cms-palettes button{
  border:1px solid rgba(6,43,32,.14)!important;
  border-radius:12px!important;
  min-height:34px;
  padding:7px!important;
  font-size:11px;
  color:#12352a!important;
  background:#fff!important;
}
@media(max-width:1220px){
  .shopee-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .market-shell{grid-template-columns:1fr}
  .market-side{position:static}
  .shopee-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .shop-filter-row{grid-template-columns:1fr}
}
@media(max-width:680px){
  .shop-banner{grid-template-columns:1fr}
  .shop-badge-big{display:none}
  .shop-searchbar{grid-template-columns:1fr}
  .shopee-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .shop-banner h1{font-size:30px}
}


/* Role, undo/redo, and rich text final update */
.admin-quicklink{
  margin-bottom:16px;
  background:linear-gradient(135deg,#fffaf0,#e8f5e9)!important;
  border:1px solid rgba(6,43,32,.16)!important;
}
.cms-inline-color{
  border-radius:4px;
  padding:0 1px;
}
#cmsApplyInlineBtn{
  background:#1d4ed8!important;
  color:#fff!important;
}
#cmsUndoBtn,#cmsRedoBtn{
  background:#8a6339!important;
  color:#fff!important;
}
#cmsSelectedColorInput{
  min-height:42px;
  padding:4px!important;
}
.cms-add-box{
  background:#fff8e8;
  border:1px solid rgba(6,43,32,.14);
  border-radius:14px;
  margin:12px 0;
  padding:12px;
}
.cms-add-box strong{
  display:block;
  color:#12352a;
  margin-bottom:8px;
}
.cms-add-actions button:first-child{
  background:#0b5a3f!important;
  color:#fff!important;
}
#cmsDuplicateSectionBtn{
  background:#0f5f8f!important;
  color:#fff!important;
}
.cms-added-element{
  margin-top:14px;
}
@media(max-width:680px){
  .cms-actions{
    grid-template-columns:1fr!important;
  }
}


/* Live Editor partial text color fix */
.cms-inline-color{border-radius:3px;padding:0 1px}
.cms-actions-extended{
  grid-template-columns:1fr 1fr!important;
}
#cmsApplyInlineBtn{background:#1d4ed8!important;color:#fff!important}
#cmsUndoBtn,#cmsRedoBtn{background:#8a6339!important;color:#fff!important}
#cmsSelectedColorInput{min-height:42px;padding:4px!important}
@media(max-width:680px){
  .cms-actions-extended{grid-template-columns:1fr!important}
}

/* Final UX polish and responsive cleanup */
.skip-link{
  position:fixed;
  left:16px;
  top:16px;
  z-index:200;
  padding:10px 14px;
  border-radius:999px;
  background:var(--green950);
  color:#fff;
  font-weight:800;
  transform:translateY(-140%);
  transition:.2s ease;
  box-shadow:var(--shadowSoft);
}
.skip-link:focus{
  transform:translateY(0);
}
.quick-contact-card{
  background:linear-gradient(180deg,rgba(255,250,240,.98),rgba(232,246,238,.92));
}
.quick-action-list{
  display:grid;
  gap:12px;
  margin-top:18px;
}
.quick-action-item{
  display:block;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.72);
  transition:.2s ease;
}
.quick-action-item strong{
  display:block;
  color:var(--green950);
  font-family:'Poppins', Arial, sans-serif;
  margin-bottom:4px;
}
.quick-action-item span{
  display:block;
  color:var(--muted);
  font-size:13px;
}
.quick-action-item:hover{
  transform:translateY(-2px);
  border-color:rgba(44,138,102,.28);
  box-shadow:var(--shadowSoft);
}
.admin-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.admin-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0 18px;
}
.admin-stat-card,
.admin-dashboard-panel,
.admin-mini-item{
  background:linear-gradient(180deg,#fffdf8,#f5ead6);
  border:1px solid rgba(6,43,32,.12);
  border-radius:20px;
  box-shadow:var(--shadowSoft);
}
.admin-stat-card{
  padding:16px;
}
.admin-stat-card span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.admin-stat-card strong{
  display:block;
  margin-top:8px;
  font-size:24px;
  color:var(--green950);
  font-family:'Poppins', Arial, sans-serif;
}
.admin-dashboard-panels{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.admin-dashboard-panel{
  padding:16px;
}
.admin-dashboard-panel h4{
  margin:0 0 12px;
  color:var(--green950);
  font-family:'Poppins', Arial, sans-serif;
}
.admin-chart-box,
.admin-mini-list{
  display:grid;
  gap:10px;
}
.admin-mini-item{
  padding:12px 14px;
}
.admin-mini-item strong{
  display:block;
  color:var(--green950);
}
.admin-mini-item p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
}
.admin-chart-empty{
  color:var(--muted);
  font-size:13px;
  padding:10px 0;
}
.admin-bar-row{
  display:grid;
  gap:7px;
}
.admin-bar-row div:first-child{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.admin-bar-row strong{
  color:var(--green950);
  font-size:13px;
}
.admin-bar-row span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.admin-bar-track{
  height:10px;
  border-radius:999px;
  background:#efe3cb;
  overflow:hidden;
}
.admin-bar-fill{
  display:block;
  height:100%;
  border-radius:999px;
}

@media (max-width: 980px) {
  .hero-grid,
  .grid-2,
  .grid-3,
  .booking-box,
  .adopt-box,
  .impact-layout,
  .structure-grid,
  .admin-layout,
  .footer-grid,
  .shop-tools,
  .market-shell {
    grid-template-columns: 1fr !important;
  }

  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hero-mini,
  .amounts,
  .logo-row,
  .flow-grid,
  .testimony-grid,
  .voice-grid,
  .admin-overview-grid,
  .admin-dashboard-grid,
  .admin-dashboard-panels {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .admin-sidebar,
  .market-side {
    position: static !important;
    top: auto !important;
  }

  .nav-menu {
    max-height: calc(100vh - 110px);
    overflow: auto;
  }
}

@media (max-width: 680px) {
  body {
    line-height: 1.6;
  }

  .leaf-particle,
  .section.has-mangrove:before,
  .section.has-mangrove:after {
    display: none !important;
  }

  .container {
    width: min(100% - 24px, var(--max)) !important;
  }

  .admin-dashboard-grid,
  .admin-dashboard-panels {
    grid-template-columns: 1fr !important;
  }

  .navbar {
    min-height: 72px !important;
    align-items: center;
  }

  .brand {
    min-width: 0 !important;
    flex: 1 1 auto;
  }

  .brand-mark {
    width: 44px !important;
    height: 44px !important;
  }

  .brand strong {
    font-size: 12px !important;
    max-width: none !important;
  }

  .nav-actions {
    flex-shrink: 0;
  }

  .nav-actions select {
    display: none;
  }

  .nav-actions button,
  .mobile-toggle {
    min-height: 40px;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  .nav-actions .voice-toggle {
    min-width: 82px !important;
    padding: 0 8px !important;
    font-size: 10.5px !important;
  }

  .nav-menu {
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
    padding: 12px !important;
    border-radius: 20px !important;
  }

  .nav-menu a {
    width: 100%;
    justify-content: flex-start !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
  }

  .section {
    padding: 56px 0 !important;
  }

  h1 {
    font-size: clamp(30px, 9vw, 40px) !important;
    letter-spacing: -1.1px !important;
  }

  h2 {
    font-size: clamp(24px, 7vw, 31px) !important;
  }

  h3 {
    font-size: 17px !important;
  }

  p,
  .list li,
  .voice-body p,
  .testimony-body p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .lead {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .eyebrow {
    font-size: 11px !important;
    gap: 8px !important;
  }

  .eyebrow:before,
  .center .eyebrow:after {
    width: 24px !important;
  }

  .pad,
  .booking-info,
  .booking-form,
  .adopt-copy,
  .admin-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .btn {
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .hero-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .hero-mini,
  .booking-grid,
  .check-group,
  .amounts,
  .logo-row,
  .structure-grid,
  .flow-grid,
  .footer-grid,
  .testimony-grid,
  .voice-grid,
  .admin-overview-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .hero {
    min-height: auto;
  }

  .hero-grid {
    padding: 40px 0 78px !important;
  }

  .hero-panel,
  .timeline-card,
  .impact-item,
  .impact-badge,
  .policy-card,
  .quick-action-item {
    border-radius: 20px !important;
  }

  .hero-panel img,
  .real-photo {
    height: 220px !important;
  }

  .card-photo,
  .testimony-card img,
  .voice-card img {
    height: 180px !important;
  }

  .mini-card {
    padding: 14px !important;
  }

  .mini-card strong {
    font-size: 18px !important;
  }

  .mini-card span {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .field label {
    font-size: 12px !important;
  }

  .field input,
  .field textarea,
  .field select {
    padding: 11px 12px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
  }

  .check-card {
    padding: 12px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    gap: 8px !important;
  }

  .tag {
    font-size: 11px !important;
    padding: 5px 9px !important;
  }

  .ticket-price,
  .stat-card strong,
  .amount strong,
  .impact-badge strong {
    font-size: 24px !important;
  }

  .logo-card {
    min-height: 96px !important;
  }

  .logo-card strong {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .partner-card {
    grid-template-columns: 60px 1fr !important;
    gap: 12px !important;
  }

  .partner-photo {
    width: 60px !important;
    height: 60px !important;
  }

  .partner-photo img,
  .partner-initial {
    width: 42px !important;
    height: 42px !important;
    font-size: 11px !important;
  }

  .gallery-item,
  .gallery-item img {
    min-height: 180px !important;
  }

  .contact-list li,
  .info-item {
    padding: 12px !important;
  }

  .admin-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    max-height: none !important;
  }

  .admin-sidebar h3,
  .admin-sidebar p,
  .admin-sidebar .btn-row {
    grid-column: 1 / -1;
  }

  .admin-tab {
    min-height: 46px;
  }

  .floating {
    right: 12px !important;
    bottom: 12px !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, max-content);
  }

  .float-btn {
    min-width: 56px !important;
    min-height: 40px !important;
    font-size: 11px !important;
  }
}

/* ==========================================================
   PATCH BJ/MSB - Mobile Desktop Responsive Lock
   Tujuan: tampilan mobile tetap membawa susunan desktop,
   tetapi tetap muat, dapat discroll rapi, dan fungsi JS/API tidak disentuh.
   Ditambahkan otomatis dari backup cPanel terbaru.
   ========================================================== */

html,
body{
  max-width:100%;
}

body{
  overflow-x:hidden;
}

img,
video,
iframe{
  max-width:100%;
}

.admin-table-wrap,
.table-wrap,
.official-video-panel,
.book-panel,
.cms-login-card,
.modal-content{
  max-width:100%;
}

@media (max-width: 980px){
  body{
    overflow-x:hidden!important;
  }

  .site-header .container.navbar{
    width:min(100% - 10px, 1880px)!important;
    display:grid!important;
    grid-template-columns:minmax(118px,.82fr) minmax(0,2.2fr) max-content!important;
    align-items:center!important;
    gap:6px!important;
    min-height:64px!important;
  }

  .site-header .brand{
    min-width:0!important;
    gap:6px!important;
  }

  .site-header .brand-mark{
    width:38px!important;
    height:38px!important;
    border-radius:13px!important;
    flex:0 0 38px!important;
  }

  .site-header .brand strong{
    font-size:10.8px!important;
    line-height:1.08!important;
    max-width:118px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  .site-header .brand span{
    display:block!important;
    font-size:8.8px!important;
    line-height:1.12!important;
    max-width:118px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .site-header .navbar nav{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .site-header .navbar nav::-webkit-scrollbar{
    display:none!important;
  }

  .site-header .nav-menu,
  .nav-menu{
    position:static!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:3px!important;
    width:max-content!important;
    min-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .site-header .nav-menu li,
  .nav-menu li{
    flex:0 0 auto!important;
  }

  .site-header .nav-menu a,
  .nav-menu a{
    width:auto!important;
    min-height:34px!important;
    justify-content:center!important;
    padding:6px 7px!important;
    border-radius:999px!important;
    font-size:9.8px!important;
    line-height:1!important;
    gap:3px!important;
    white-space:nowrap!important;
  }

  .site-header .menu-ico,
  .menu-ico{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    border-radius:7px!important;
  }

  .menu-ico:before{
    width:12px!important;
    height:12px!important;
  }

  .mobile-toggle{
    display:none!important;
  }

  .site-header .nav-actions{
    gap:4px!important;
    justify-content:flex-end!important;
    min-width:max-content!important;
  }

  .site-header .nav-actions select{
    display:none!important;
  }

  .site-header .nav-actions button{
    height:34px!important;
    min-height:34px!important;
    padding:0 8px!important;
    border-radius:11px!important;
    font-size:10px!important;
  }

  .container{
    width:min(100% - 14px, var(--max))!important;
  }

  .section{
    padding:54px 0!important;
  }

  .hero{
    min-height:auto!important;
  }

  .hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(138px,.92fr)!important;
    gap:10px!important;
    align-items:center!important;
    padding:42px 0 78px!important;
  }

  .grid-2,
  .doctor-layout,
  .news-featured-card,
  .book-card{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .grid-3,
  .news-grid,
  .testimony-grid,
  .voice-grid,
  .product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .grid-4,
  .hero-mini,
  .flow-grid,
  .service-overview-grid,
  .admin-dashboard-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .booking-box,
  .adopt-box,
  .impact-layout,
  .official-video-layout,
  .official-video-grid,
  .book-grid,
  .admin-dashboard-panels{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;
    gap:12px!important;
  }

  .booking-grid,
  .doctor-result-grid,
  .structure-grid,
  .form-2,
  .book-controls,
  .shop-tools,
  .shop-banner,
  .shop-searchbar,
  .shop-filter-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .check-group,
  .amounts,
  .logo-row,
  .official-video-toolbar,
  .official-video-tabs,
  .admin-overview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .footer-grid{
    grid-template-columns:1.25fr 1fr 1fr 1fr!important;
    gap:12px!important;
  }

  .admin-layout{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:10px!important;
  }

  .admin-sidebar,
  .market-side{
    position:sticky!important;
    top:78px!important;
  }

  .market-shell{
    grid-template-columns:170px minmax(0,1fr)!important;
    gap:12px!important;
  }

  .shopee-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }

  h1{
    font-size:clamp(24px, 7.4vw, 48px)!important;
    letter-spacing:-.9px!important;
  }

  h2{
    font-size:clamp(20px, 5.5vw, 34px)!important;
  }

  h3{
    font-size:15px!important;
  }

  p,
  .list li,
  .voice-body p,
  .testimony-body p{
    font-size:12px!important;
    line-height:1.5!important;
  }

  .lead{
    font-size:13.5px!important;
    line-height:1.52!important;
  }

  .pad,
  .booking-info,
  .booking-form,
  .adopt-copy,
  .admin-card,
  .card,
  .policy-card,
  .impact-item,
  .impact-badge,
  .structure-division{
    padding:12px!important;
    border-radius:17px!important;
  }

  .btn{
    min-height:36px!important;
    padding:8px 11px!important;
    font-size:11px!important;
  }

  .hero-panel{
    padding:9px!important;
    border-radius:18px!important;
  }

  .hero-panel img,
  .real-photo{
    height:180px!important;
    border-radius:15px!important;
  }

  .card-photo,
  .testimony-card img,
  .voice-card img,
  .official-media-preview img{
    height:130px!important;
    min-height:130px!important;
  }

  .product-img,
  .shopee-grid .product-img{
    height:auto!important;
    aspect-ratio:1/1!important;
  }

  .field input,
  .field textarea,
  .field select,
  .admin-field input,
  .admin-field textarea,
  .admin-field select,
  .shop-tools input,
  .shop-tools select,
  .shop-searchbar input{
    font-size:12px!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
  }

  .admin-table-wrap,
  .official-video-panel,
  .book-panel{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

@media (max-width: 680px){
  .container{
    width:min(100% - 10px, var(--max))!important;
  }

  .site-header .container.navbar{
    grid-template-columns:minmax(98px,.72fr) minmax(0,2.45fr) max-content!important;
    gap:4px!important;
    min-height:60px!important;
  }

  .site-header .brand-mark{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .site-header .brand strong{
    font-size:9.6px!important;
    max-width:94px!important;
  }

  .site-header .brand span{
    font-size:7.8px!important;
    max-width:94px!important;
  }

  .site-header .nav-menu a,
  .nav-menu a{
    min-height:30px!important;
    padding:5px 6px!important;
    font-size:8.8px!important;
  }

  .site-header .nav-actions button{
    height:30px!important;
    min-height:30px!important;
    padding:0 6px!important;
    font-size:8.8px!important;
  }

  .hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(118px,.95fr)!important;
    gap:7px!important;
    padding:34px 0 66px!important;
  }

  .grid-2,
  .doctor-layout,
  .news-featured-card,
  .booking-box,
  .adopt-box,
  .impact-layout,
  .official-video-layout,
  .official-video-grid,
  .book-grid,
  .book-card,
  .admin-dashboard-panels{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .grid-3,
  .news-grid,
  .testimony-grid,
  .voice-grid,
  .product-grid,
  .shopee-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .grid-4,
  .hero-mini,
  .flow-grid,
  .service-overview-grid,
  .amounts,
  .logo-row,
  .official-video-toolbar,
  .official-video-tabs,
  .admin-overview-grid,
  .admin-dashboard-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .booking-grid,
  .check-group,
  .doctor-result-grid,
  .structure-grid,
  .form-2,
  .book-controls,
  .shop-tools,
  .shop-banner,
  .shop-searchbar,
  .shop-filter-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .admin-layout{
    grid-template-columns:118px minmax(0,1fr)!important;
    gap:7px!important;
  }

  .market-shell{
    grid-template-columns:126px minmax(0,1fr)!important;
    gap:7px!important;
  }

  .footer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .section{
    padding:42px 0!important;
  }

  h1{
    font-size:clamp(20px, 7.4vw, 32px)!important;
    line-height:1.08!important;
  }

  h2{
    font-size:clamp(17px, 5.8vw, 26px)!important;
    line-height:1.12!important;
  }

  h3{
    font-size:12.5px!important;
  }

  p,
  .list li,
  .voice-body p,
  .testimony-body p{
    font-size:10px!important;
    line-height:1.36!important;
  }

  .lead{
    font-size:10.8px!important;
    line-height:1.38!important;
  }

  .eyebrow{
    font-size:8.5px!important;
    gap:5px!important;
  }

  .eyebrow:before,
  .center .eyebrow:after{
    width:16px!important;
  }

  .pad,
  .booking-info,
  .booking-form,
  .adopt-copy,
  .admin-card,
  .card,
  .policy-card,
  .impact-item,
  .impact-badge,
  .structure-division{
    padding:8px!important;
    border-radius:13px!important;
  }

  .btn{
    min-height:31px!important;
    padding:6px 8px!important;
    font-size:9px!important;
  }

  .hero-panel img,
  .real-photo{
    height:138px!important;
  }

  .card-photo,
  .testimony-card img,
  .voice-card img,
  .official-media-preview img{
    height:105px!important;
    min-height:105px!important;
  }

  .mini-card{
    padding:7px!important;
  }

  .mini-card strong,
  .ticket-price,
  .stat-card strong,
  .amount strong,
  .impact-badge strong{
    font-size:14px!important;
  }

  .mini-card span,
  .logo-card strong,
  .flow-grid span,
  .book-meta,
  .product-info,
  .product-meta{
    font-size:8px!important;
    line-height:1.18!important;
  }

  .field label,
  .admin-field label{
    font-size:9px!important;
  }

  .field input,
  .field textarea,
  .field select,
  .admin-field input,
  .admin-field textarea,
  .admin-field select,
  .shop-tools input,
  .shop-tools select,
  .shop-searchbar input{
    font-size:10px!important;
    min-height:32px!important;
    padding:6px 7px!important;
    border-radius:10px!important;
  }

  .check-card{
    padding:7px!important;
    border-radius:10px!important;
    font-size:8.5px!important;
    gap:4px!important;
  }

  .logo-card{
    min-height:74px!important;
  }

  .partner-card{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:6px!important;
  }

  .partner-photo{
    width:44px!important;
    height:44px!important;
  }

  .partner-photo img,
  .partner-initial{
    width:32px!important;
    height:32px!important;
    font-size:8px!important;
  }

  .admin-sidebar{
    display:block!important;
    max-height:calc(100vh - 78px)!important;
    overflow:auto!important;
    padding:8px!important;
    border-radius:13px!important;
  }

  .admin-tab{
    min-height:32px!important;
    padding:7px 8px!important;
    font-size:9px!important;
    border-radius:10px!important;
  }

  .floating{
    right:8px!important;
    bottom:8px!important;
    gap:5px!important;
    grid-template-columns:repeat(2,max-content)!important;
  }

  .float-btn{
    min-width:42px!important;
    min-height:34px!important;
    font-size:8.5px!important;
    border-radius:12px!important;
  }
}

@media (max-width: 420px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(102px,.78fr)!important;
  }

  .grid-4,
  .hero-mini,
  .flow-grid,
  .service-overview-grid,
  .amounts,
  .logo-row,
  .official-video-toolbar,
  .official-video-tabs,
  .admin-overview-grid,
  .admin-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* ==========================================================
   PATCH BJ/MSB 20260606 - Mobile menu selalu tampil lengkap
   Tujuan: di HP menu tidak hilang/hamburger, tetap seperti desktop
   tetapi menjadi dua baris: brand + tombol, lalu menu geser horizontal.
   ========================================================== */
@media (max-width: 980px){
  .site-header{
    overflow:visible!important;
  }
  .site-header .container.navbar,
  .navbar{
    width:min(100% - 10px, var(--max))!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    min-height:72px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  .site-header .brand{
    order:1!important;
    flex:1 1 0!important;
    min-width:0!important;
    gap:6px!important;
  }
  .site-header .brand-mark{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:13px!important;
  }
  .site-header .brand strong{
    font-size:10.5px!important;
    line-height:1.08!important;
    max-width:150px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .site-header .brand span{
    display:block!important;
    font-size:8.5px!important;
    max-width:150px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .site-header .nav-actions{
    order:2!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
  }
  .site-header .nav-actions select{
    display:none!important;
  }
  .site-header .nav-actions button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:31px!important;
    min-height:31px!important;
    padding:0 8px!important;
    border-radius:10px!important;
    font-size:9.4px!important;
    white-space:nowrap!important;
  }
  .site-header .mobile-toggle,
  .mobile-toggle{
    display:none!important;
  }
  .site-header .navbar nav,
  .navbar nav{
    order:3!important;
    flex:0 0 100%!important;
    width:100%!important;
    min-width:0!important;
    display:block!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    padding:2px 0 4px!important;
  }
  .site-header .nav-menu,
  .nav-menu{
    position:static!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    gap:4px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .site-header .nav-menu.show,
  .nav-menu.show{
    display:flex!important;
  }
  .site-header .nav-menu li,
  .nav-menu li{
    flex:0 0 auto!important;
    display:block!important;
  }
  .site-header .nav-menu a,
  .nav-menu a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-height:31px!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    font-size:9.2px!important;
    line-height:1!important;
    white-space:nowrap!important;
    background:rgba(255,255,255,.42)!important;
    border:1px solid rgba(6,59,42,.08)!important;
  }
  body.dark .site-header .nav-menu a,
  body.dark .nav-menu a{
    background:rgba(255,255,255,.08)!important;
    border-color:rgba(255,255,255,.1)!important;
  }
  .site-header .nav-menu a.active,
  .site-header .nav-menu a:hover,
  .nav-menu a.active,
  .nav-menu a:hover{
    background:var(--green100)!important;
    color:var(--green700)!important;
  }
  .site-header .menu-ico,
  .menu-ico{
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    border-radius:7px!important;
  }
  .site-header .menu-ico:before,
  .menu-ico:before{
    width:11px!important;
    height:11px!important;
  }
}
@media (max-width: 420px){
  .site-header .brand strong{font-size:9.6px!important;max-width:118px!important;}
  .site-header .brand span{font-size:7.8px!important;max-width:118px!important;}
  .site-header .brand-mark{width:34px!important;height:34px!important;flex-basis:34px!important;}
  .site-header .nav-actions button{height:29px!important;min-height:29px!important;font-size:8.4px!important;padding:0 6px!important;}
  .site-header .nav-menu a,.nav-menu a{min-height:29px!important;font-size:8.2px!important;padding:5px 6px!important;}
}


/* ==========================================================
   PATCH BJ/MSB 20260607 - Live Editor save button + mobile desktop lock
   ========================================================== */
.cms-save-strip{
  position:sticky;
  top:0;
  z-index:3;
  background:linear-gradient(180deg,#fff7e6,#f5e4c4);
  border:1px solid rgba(6,43,32,.16);
  border-radius:14px;
  padding:10px;
  margin:0 0 12px;
  box-shadow:0 8px 22px rgba(6,43,32,.10);
}
.cms-save-strip button,
#cmsSaveAllBtn{
  width:100%;
  border:0!important;
  border-radius:12px!important;
  background:#0b5a3f!important;
  color:#fff!important;
  min-height:42px;
  padding:10px!important;
  font-weight:900;
  cursor:pointer;
}
.cms-save-strip small{
  display:block;
  color:#38584d;
  font-size:11px;
  line-height:1.45;
  margin-top:7px;
}
#cmsSaveBtn{
  background:#0b5a3f!important;
  color:#fff!important;
}
#cmsLivePanel .cms-section-tools{
  grid-template-columns:1fr!important;
}
html.msb-desktop-lock,
body.msb-desktop-lock{
  min-width:1366px!important;
  width:1366px!important;
  max-width:none!important;
  overflow-x:auto!important;
  touch-action:pan-x pan-y!important;
}
html.msb-desktop-lock .site-header,
html.msb-desktop-lock main,
html.msb-desktop-lock footer{
  min-width:1366px!important;
}
html.msb-desktop-lock .site-header .container.navbar,
html.msb-desktop-lock .navbar{
  width:min(100% - 18px,1880px)!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
}
html.msb-desktop-lock .mobile-toggle{
  display:none!important;
}
html.msb-desktop-lock .navbar nav,
html.msb-desktop-lock .site-header .navbar nav{
  display:block!important;
  overflow:visible!important;
  flex:1 1 auto!important;
  width:auto!important;
}
html.msb-desktop-lock .nav-menu,
html.msb-desktop-lock .site-header .nav-menu{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  background:transparent!important;
  box-shadow:none!important;
  position:static!important;
}
html.msb-desktop-lock .nav-actions select{
  display:block!important;
}
@media(max-width:980px){
  html.msb-desktop-lock,
  body.msb-desktop-lock{
    min-width:1366px!important;
    width:1366px!important;
    overflow-x:auto!important;
  }
  html.msb-desktop-lock body{
    overflow-x:auto!important;
  }
}

/* PATCH 2026-06-07: Elementor-like Admin Visual Builder + Partner Logos */
#cmsLivePanel{
  width:390px!important;
  max-width:calc(100vw - 22px)!important;
  right:14px!important;
  top:84px!important;
  bottom:14px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:24px!important;
  box-shadow:0 22px 70px rgba(0,0,0,.25)!important;
}
#cmsLivePanel .cms-head{
  min-height:62px!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
#cmsLivePanel .cms-head strong{display:block;color:#fff!important;font-size:16px!important;line-height:1.1!important}
#cmsLivePanel .cms-head small{display:block;color:rgba(255,255,255,.72)!important;font-weight:800!important;margin-top:3px!important}
.cms-head-actions{display:flex!important;gap:8px!important;align-items:center!important}
.cms-head-actions button,#cmsSaveTopBtn{
  border:0!important;
  border-radius:13px!important;
  padding:10px 12px!important;
  font-weight:900!important;
  background:#fff!important;
  color:#063d2d!important;
}
#cmsLivePanel .cms-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  background:#f7ead0!important;
  border-bottom:1px solid rgba(6,43,32,.13)!important;
  padding:8px!important;
  gap:5px!important;
}
#cmsLivePanel .cms-tabs button{
  border:0!important;
  border-radius:13px!important;
  min-height:40px!important;
  padding:6px 5px!important;
  background:#fff!important;
  color:#33594b!important;
  font-size:11px!important;
  font-weight:900!important;
}
#cmsLivePanel .cms-tabs button.active{
  background:linear-gradient(135deg,#062b20,#17774e)!important;
  color:#fff!important;
}
#cmsLivePanel .cms-body{
  flex:1!important;
  overflow:auto!important;
  padding:14px!important;
  background:#fff8e8!important;
}
.cms-tab-panel{display:none!important;animation:cmsFade .16s ease}
.cms-tab-panel.active{display:block!important}
@keyframes cmsFade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.cms-panel-title{
  display:block!important;
  font-size:15px!important;
  color:#062b20!important;
  margin:0 0 10px!important;
}
#cmsLivePanel label{
  display:block!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#12352a!important;
  margin:10px 0!important;
}
#cmsLivePanel input,#cmsLivePanel select,#cmsLivePanel textarea{
  width:100%!important;
  min-height:42px!important;
  border:1px solid rgba(6,43,32,.2)!important;
  background:#fff!important;
  color:#12352a!important;
  border-radius:12px!important;
  padding:9px 10px!important;
  font-weight:800!important;
  outline:none!important;
}
#cmsLivePanel textarea{min-height:82px!important;resize:vertical!important}
#cmsLivePanel input[type="color"]{padding:4px!important;height:44px!important}
#cmsLivePanel input[type="file"]{padding:9px!important;background:#fdfaf1!important}
#cmsLivePanel .cms-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
#cmsLivePanel .cms-actions,#cmsLivePanel .cms-section-tools{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:12px!important;
}
#cmsLivePanel .cms-actions button,#cmsLivePanel .cms-section-tools button,.cms-add-actions button{
  min-height:44px!important;
  border:0!important;
  border-radius:12px!important;
  padding:8px 10px!important;
  background:#0b5a3f!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
}
#cmsLivePanel .cms-actions button:nth-child(2n),#cmsLivePanel .cms-section-tools button:nth-child(2n){background:#9a6b39!important}
#cmsLivePanel .cms-actions button#cmsResetElBtn,#cmsLivePanel .cms-actions button#cmsHideBtn,#cmsResetPageBtn{background:#8f1d14!important}
.cms-selected{
  border:1px dashed rgba(6,43,32,.28)!important;
  background:#fff!important;
  border-radius:14px!important;
  padding:10px!important;
  font-weight:900!important;
  color:#063d2d!important;
  margin:8px 0 12px!important;
}
.cms-save-strip{
  padding:12px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#e8f5e9,#fff)!important;
  border:1px solid rgba(6,43,32,.16)!important;
  margin:12px 0!important;
}
.cms-save-strip button{
  width:100%!important;
  min-height:44px!important;
  border:0!important;
  border-radius:12px!important;
  background:#0b5a3f!important;
  color:#fff!important;
  font-weight:900!important;
  margin-bottom:8px!important;
}
.cms-save-strip small,.cms-help{color:#445b53!important;font-size:12px!important;line-height:1.45!important;font-weight:700!important}
.cms-add-box{
  border:1px solid rgba(6,43,32,.14)!important;
  border-radius:18px!important;
  background:#fff4d8!important;
  padding:12px!important;
  margin:10px 0!important;
}
.cms-widget-grid,.cms-partner-logo-grid{
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:8px!important;
  margin-top:12px!important;
}
.cms-widget-grid button,.cms-partner-logo-grid button{
  min-height:56px!important;
  border:1px solid rgba(6,43,32,.14)!important;
  background:#fff!important;
  color:#063d2d!important;
  border-radius:14px!important;
  font-weight:900!important;
  font-size:12px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.06)!important;
}
.cms-palettes{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin-top:8px!important;
}
.cms-palettes button{border:0!important;border-radius:12px!important;padding:10px!important;font-size:11px!important;font-weight:900!important;background:#fff!important;color:#063d2d!important}
.cms-columns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;margin:16px 0!important}
.cms-divider{border:0!important;border-top:2px dashed rgba(6,43,32,.25)!important;margin:24px 0!important}
.cms-spacer{height:70px!important}
.cms-map iframe,.cms-video iframe{width:100%!important;min-height:260px!important;border:0!important;border-radius:18px!important;background:#f2f2f2!important}
.cms-icon{width:60px!important;height:60px!important;border-radius:20px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#17774e,#d9b36c)!important;color:#fff!important;font-size:28px!important;font-weight:900!important}
.cms-imagebox img{max-width:100%!important;border-radius:18px!important;margin-bottom:12px!important}
.cms-carousel{display:flex!important;gap:12px!important;overflow:auto!important;padding:8px!important}
.cms-carousel img{width:220px!important;height:140px!important;object-fit:cover!important;border-radius:18px!important;background:#fff!important}
.cms-counter strong{display:block!important;font-size:42px!important;color:#0b5a3f!important}
.cms-progress>div{height:14px!important;border-radius:20px!important;background:#e8dec6!important;overflow:hidden!important;margin:10px 0!important}
.cms-progress>div span{display:block!important;height:100%!important;background:linear-gradient(135deg,#17774e,#d9b36c)!important}
.cms-alert{padding:16px!important;border-radius:18px!important;background:#e8f5e9!important;border:1px solid rgba(6,43,32,.18)!important;color:#063d2d!important;font-weight:800!important;margin:14px 0!important}
.cms-social{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin:12px 0!important}
.cms-social a{padding:10px 14px!important;border-radius:999px!important;background:#0b5a3f!important;color:#fff!important;text-decoration:none!important;font-weight:900!important}
.cms-price-list p{display:flex!important;justify-content:space-between!important;gap:12px!important;border-bottom:1px solid rgba(6,43,32,.1)!important;padding:9px 0!important;margin:0!important}
.cms-toc a{display:block!important;margin:6px 0!important;color:#0b5a3f!important;font-weight:900!important;text-decoration:none!important}
.logo-row .logo-card img{width:70px!important;height:70px!important;object-fit:contain!important;background:#fff!important;border-radius:15px!important;padding:4px!important}
.partner-photo img{width:70px!important;height:70px!important;object-fit:contain!important;background:#fff!important;border-radius:14px!important;padding:4px!important}
@media(max-width:768px){
  html,body{touch-action:pan-x pan-y!important;overscroll-behavior:none!important}
  body{min-width:1180px!important;overflow-x:auto!important;-webkit-text-size-adjust:100%!important}
  .site-header,.mobile-fixed-desktop{min-width:1180px!important}
  #cmsLivePanel{right:auto!important;left:12px!important;top:78px!important;width:360px!important;max-height:calc(100vh - 96px)!important}
}


/* =========================================================
   MSB V15 - Audit Logo & Penempatan Mitra
   Logo tidak dipotong, tidak dipaksa cover, dan tidak memakai foto yang salah.
   ========================================================= */
.logo-card,
.partner-photo,
.brand-mark,
.receipt-logo,
.kasir-logo,
.portal-logo{
  background:#fff!important;
  overflow:hidden!important;
}
.logo-card img,
.partner-photo img,
.brand-mark img,
.receipt-logo img,
.kasir-logo img,
.portal-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  background:#fff!important;
  border-radius:inherit!important;
}
.logo-card{
  aspect-ratio:1/1!important;
  min-height:auto!important;
  padding:12px!important;
  gap:8px!important;
}
.logo-card img{
  width:min(74px,70%)!important;
  height:min(74px,70%)!important;
  padding:4px!important;
}
.logo-card strong{
  width:100%;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.partner-card{
  align-items:center!important;
}
.partner-photo{
  flex:0 0 86px!important;
  width:86px!important;
  height:86px!important;
  padding:7px!important;
  border-radius:22px!important;
  box-shadow:inset 0 0 0 1px rgba(10,64,45,.12)!important;
}
.partner-photo img{
  padding:3px!important;
}
.logo-fallback,
.partner-initial,
[data-logo-fallback]{
  background:linear-gradient(135deg,#0d5b3d,#cda35a)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  text-align:center!important;
  border-radius:inherit!important;
}
@media (max-width:1024px){
  .logo-card{padding:9px!important;border-radius:16px!important;}
  .logo-card img{width:54px!important;height:54px!important;}
  .partner-photo{flex-basis:64px!important;width:64px!important;height:64px!important;border-radius:18px!important;padding:5px!important;}
}
@media (max-width:600px){
  .logo-card{padding:7px!important;border-radius:14px!important;}
  .logo-card img{width:40px!important;height:40px!important;padding:2px!important;}
  .logo-card strong{font-size:9.5px!important;line-height:1.14!important;}
  .partner-photo{flex-basis:48px!important;width:48px!important;height:48px!important;border-radius:14px!important;padding:4px!important;}
  .partner-photo img{padding:1px!important;}
}
