:root { --primary: #2563eb; --text: #1f2937; --text-light: #6b7280; --bg: #ffffff; --bg-alt: #f8fafc; --border: #e2e8f0; --radius: 0.5rem; --shadow: 0 1px 3px rgba(0, 0, 0, 0.1); --transition: all 0.2s ease; } html { scroll-behavior: smooth; } /* Loading state */ .loading { text-align: center; padding: 2rem; color: var(--text-light); } body { font-family: -apple-system, BlinkMacSystemFont, 'Inter', system-ui, sans-serif; line-height: 1.7; max-width: 1100px; margin: 0 auto; padding: 2rem; color: var(--text); background: var(--bg); } /* Typography */ h1, h2, h3, h4 { margin-top: 2.5rem; margin-bottom: 1.5rem; font-weight: 600; line-height: 1.3; color: var(--text); } h1 { font-size: 2.25rem; } h2 { font-size: 1.875rem; } h3 { font-size: 1.5rem; } /* Links */ a { color: var(--primary); text-decoration: none; transition: var(--transition); } a:hover { opacity: 0.8; text-decoration: underline; } a[href^="http"]::after { content: " ↗"; font-size: 0.8em; opacity: 1; text-decoration: none; display: inline-block; transition: var(--transition); color: var(--primary); } /* Tables */ table { width: 100%; border-collapse: collapse; /* Changed from separate to collapse for better visual consistency */ margin: 2rem 0; font-size: 0.95rem; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; /* Prevents border-radius from being clipped by cell backgrounds */ } th, td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--border); } th { background-color: var(--primary); color: white; font-weight: 600; position: sticky; /* For better header visibility on scroll */ top: 0; z-index: 1; /* Ensure the sticky header is above the content */ } /* Improve visual separation of header cells */ th:not(:last-child) { border-right: 1px solid var(--border); } tr:nth-child(even) { background: var(--bg-alt); } tr:hover { background: rgba(37, 99, 235, 0.05); transition: var(--transition); } /* Style the first and last cells of the header row */ th:first-child { border-top-left-radius: var(--radius); } th:last-child { border-top-right-radius: var(--radius); } /* Style the first and last cells of the last data row */ tr:last-child td:first-child { border-bottom-left-radius: var(--radius); } tr:last-child td:last-child { border-bottom-right-radius: var(--radius); } .pricing-tb{ font-weight: normal; } /* Search Container */ #search-container, #search-container-adult { /* Apply styles to both search containers */ margin: 2rem auto; /* Center the search container */ max-width: 1000px; /* Limit the width for better layout */ padding: 1rem; border-radius: var(--radius); position: relative; display: flex; align-items: center; } #host-search-input, #adult-host-search-input { /* Apply styles to both search inputs */ width: 100%; /* Make the input take full width of its container */ padding: 0.75rem 1rem; border: 1px solid var(--border); border-radius: var(--radius); font-size: 1rem; transition: var(--transition); box-sizing: border-box; /* Include padding and border in the element's total width and height */ } #host-search-input:focus, #adult-host-search-input:focus { outline: none; border-color: var(--primary); } /* Blockquote */ blockquote { margin: 2rem 0; padding: 1rem 2rem; border-left: 4px solid var(--primary); background: var(--bg-alt); } /* Code Blocks */ code { background: var(--bg-alt); padding: 0.2em 0.4em; border-radius: var(--radius); font-size: 0.875em; font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, monospace; } /* Comparison Select Groups */ #compare-container { margin-top: 30px; margin-bottom: 20px; display: flex; flex-direction: column; /* Stack the select groups on smaller screens */ align-items: center; gap: 1rem; } .compare-select-group { display: flex; gap: 0.5rem; align-items: center; width: 100%; /* Take full width on smaller screens */ max-width: 500px; /* Limit width on larger screens */ background: var(--bg-alt); padding: 0.75rem; border-radius: var(--radius); border: 1px solid var(--border); } .compare-select-group label { font-weight: 600; flex-shrink: 0; /* Prevent label from shrinking */ min-width: 80px; /* Ensure labels have some minimum width */ text-align: right; /* Align labels to the right */ } .compare-select-group select { padding: 0.6rem 1rem; border: 1px solid var(--border); border-radius: var(--radius); font-size: 1rem; appearance: none; background-image: url('data:image/svg+xml;utf8,'); background-repeat: no-repeat; cursor: pointer; flex-grow: 1; box-sizing: border-box; background-color: var(--bg); background-position: right 8px center; } .compare-select-group select:hover { border-color: var(--primary); } .compare-select-group select:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1); } /* Responsive adjustments */ @media (max-width: 768px) { body { padding: 1rem; } h1 { font-size: 1.875rem; } h2 { font-size: 1.5rem; } h3 { font-size: 1.25rem; } table { border-radius: 0; border-left: none; border-right: none; /* Enable horizontal scrolling for tables on small screens */ display: block; overflow-x: auto; white-space: nowrap; } th, td { padding: 0.75rem; min-width: 120px; font-size: 0.9rem; } th { white-space: nowrap; } #search-container, #search-container-adult { margin-left: 0; margin-right: 0; border-radius: 0; /* Remove border-radius on small screens for full-width feel */ } #compare-container { flex-direction: column; /* Ensure select groups stack on smaller screens */ align-items: stretch; /* Make select groups take full width */ } .compare-select-group { flex-direction: column; /* Stack label and select */ align-items: stretch; /* Make label and select take full width */ } .compare-select-group label { text-align: left; /* Align label to the left when stacked */ min-width: auto; /* Allow label to take necessary width */ } } /* Clear icon button */ .clear-icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); cursor: pointer; font-size: 14px; color: var(--text-light); background: var(--bg-alt); border: none; border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; opacity: 0; transition: var(--transition); } .clear-icon:hover { background: var(--border); color: var(--text); } .search-input:not(:placeholder-shown)+.clear-icon { opacity: 1; } #compare-table-container { position: relative; margin-top: 2rem; border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem; } #close-compare { position: absolute; top: -12px; right: -12px; background-color: var(--text); color: white; border: 2px solid var(--bg); border-radius: 50%; width: 24px; height: 24px; font-size: 12px; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0.8; transition: var(--transition); box-shadow: var(--shadow); } #close-compare:hover { opacity: 1; transform: scale(1.1); } footer { margin-top: 4rem; padding: 2rem 0; border-top: 1px solid var(--border); text-align: center; color: var(--text-light); } /* Section transitions */ main>* { opacity: 0; transform: translateY(20px); animation: fadeIn 0.5s ease forwards; } @keyframes fadeIn { to { opacity: 1; transform: translateY(0); } }