body {
    background: #e6e6e6;
    min-height: 100vh;
    font-family: 'Ubuntu', Arial, sans-serif;
    color: #414141;
    margin: 0;
    padding: 0;
}
.site-header {
    background: #232429;
    color: #fff;
    position: sticky;
    top: 0; left: 0; z-index: 99;
    height: 60px;
    box-shadow: 0 3px 7px #0002;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 36px;
}
.logo {
    color: #fff !important;             /* белый текст по-умолчанию (если не хотим override) */
    background: #fff !important;        /* ЗАЛИВКА белая — именно div будет белым! */
    border-radius: 10px;                /* если нужен закругленный угол */
    padding: 3px 18px;                  /* чуть “воздуха” вокруг текста */
    display: inline-block;
}

.logo a {
    color: #232429 !important;          /* Сам текст Driler.Ru делаем тёмным, чтобы контрастировал на белом фоне */
    text-decoration: none;
    font-weight: 700;
    font-size: 1.5em;
    font-family: 'Ubuntu', Arial, sans-serif;
}
.logo a:hover {
    text-decoration: none;
    color: #232429 !important;
}
.nav-link {
    color: #fff;
    background: none;
    text-decoration: none;
    font-size: 1em;
    border-radius: 5px;
    padding: 6px 26px;
    margin-left: 26px;
    transition: background .14s, color .14s;
}
.nav-link:hover, .nav-link.active {
    background: #616161;
    color: #bada55;
}
main {
    margin: 35px auto 0 auto;
    padding: 35px 7vw 50px 7vw;
    background: #fff;
    max-width: 530px;
    border-radius: 20px;
    box-shadow: 0 8px 28px rgba(10,20,50,0.07), 0 2px 2px rgba(10,20,40,0.06);
}
h2 {
    font-family: 'Ubuntu', Arial, sans-serif;
    font-size: 2em;
    font-weight: 700;
    color: #4c4c4c;
    margin: 0 0 30px 0;
    letter-spacing: 0.02em;
    text-align:center;
}
.category-menu {
    display: flex; flex-wrap: wrap; gap: 13px;
    justify-content: center; margin-bottom: 25px;
}
.category-menu button {
    border-radius: 8px;
    background:#e6e6e6;
    border:0;
    color:#606060;
    padding:10px 23px;
    font-size:1.01em;
    font-family:inherit;
    font-weight:500;
    box-shadow:0 2px 8px 0 #8bb1b10a;
    transition: background .13s, color .13s;
    cursor:pointer;
}
.category-menu button.active,
.category-menu button:hover {
    background:#00a3f5;
    color: #f2f2f2;
}

/* BEAUTIFUL SELECTS */
.nice-select {
    width:100%;
    position:relative;
}
.nice-select .current,
.nice-select select,
select,
input[type="text"] {
    width: 100%;
    background: #5c5c5c;
    color: #fff;
    font-size: 1.23em;
    border: none;
    border-radius: 10px;
    padding: 16px 14px;
    font-family:'Ubuntu', Arial, sans-serif;
    font-weight: 700;
    box-shadow: 0 3px 9px #0001;
    margin-bottom:6px;
    transition: box-shadow .13s, background .13s;
    outline: none;
}
.nice-select .current { cursor:pointer; }
.nice-select .options-list {
    z-index: 201;
    display: none;
    margin-top:-4px;
    position: absolute;
    left: 0; right: 0;
    background: #5c5c5c;
    border-radius: 10px;
    box-shadow: 0 11px 23px rgba(0,0,0,.14);
    overflow-y: auto;
    max-height: 278px;
}
.nice-select.open .options-list { display: block; }
.nice-select .option {
    padding: 12px 22px;
    color: #fff;
    font-size: 1.13em;
    cursor: pointer;
    transition: background .12s;
    border: none;
    background: none;
}
.nice-select .option.selected, .nice-select .option:hover {
    background: #00a3f5;
    color: #e6e6e6;
}

label {
    margin-top:10px;
    margin-bottom: 6px;
    display:block;
    font-weight:500;
    color: #616161;
    font-size: 1.05em;
    letter-spacing: 0.01em;
}
.stat {
    font-size: 1.17em;
    margin: 14px 0 0 0;
    color: #393939;
    font-family:'Ubuntu',Arial,sans-serif;
}
.stat b { color:#00a3f5; }
input:focus, select:focus {
    outline:2px solid #83e3fe;
}
.site-footer {
    background: #1e1e1e;   /* Тёмно-серый фон */
    color: #fff;           /* Белый текст */
    text-align: center;
    padding: 16px 0 10px 0;
    font-size: 1.1em;
    letter-spacing: 0.02em;
    border-radius: 0 0 16px 16px;
}
.site-footer a {
    color: #bada55;                 /* Ярко-салатовые ссылки */
    text-decoration: none;
    margin: 0 6px;
    transition: color .18s;
}
.site-footer a:hover {
    color: #eaf3ff;                 /* Светлее при наведении */
    text-decoration: underline;
}
@media (max-width:690px) {
    .site-header, main { border-radius: 0; }
    main { max-width: 99vw; padding:10px 2vw 25px 2vw;}
    .category-menu {gap:7px;}
    .site-header { padding: 0 11px; }
}
main {
    max-width: 1150px;
    margin: 38px auto 0 auto;
    background: #fff;
    border-radius: 22px;
    padding: 34px 15px 50px 15px;
    box-shadow: 0 8px 28px rgba(10,20,50,0.07), 0 2px 2px rgba(10,20,40,0.06);
}

.yt-videos {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center;
    align-items: stretch;
    margin: 22px auto 38px auto;
    max-width: 1120px;
}

.yt-video-item {
    flex: 0 1 320px;
    width: 320px;
    min-width: 240px;
    background: #fafbfb;
    border-radius: 14px;
    box-shadow: 0 2px 18px #128cfa0f;
    padding: 8px 8px 16px 8px;
    transition: box-shadow .16s;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0;
}

.yt-video-item:hover { box-shadow: 0 6px 30px #00a3f572; z-index: 2; }
.yt-video-item img {
    width: 100%;
    border-radius: 11px;
}

.yt-title {
    margin-top: 11px;
    font-size: 1.06em;
    color: #262626;
    font-family: 'Ubuntu',Arial,sans-serif;
    font-weight: 600;
    line-height: 1.34;
    max-height: 3.4em;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 1020px) {
    main { max-width: 99vw; }
    .yt-videos { gap: 16px;}
    .yt-video-item { width: 240px; flex-basis: 240px;}
}
@media (max-width: 750px) {
    .yt-videos { gap: 9px; }
    .yt-video-item { width: 97vw; max-width:395px; flex-basis:99vw;}
}
@media (max-width: 500px) {
    .yt-video-item { max-width: 100vw; }
    .yt-videos {padding: 0;}
}
.site-footer {
    background: #1e1e1e;
    color: #fff;
    text-align: center;
    padding: 16px 0 10px 0;
    font-size: 1.1em;
    letter-spacing: 0.02em;
    border-radius: 0 0 16px 16px;
}
.site-footer a {
    color: #bada55;
    text-decoration: none;
    margin: 0 6px;
    transition: color .18s;
}
.site-footer a:hover {
    color: #eaf3ff;
    text-decoration: underline;
}
.nice-select {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-bottom: 14px;
}
.nice-select .current {
    width: 100%;
    padding: 10px 16px;
    font-size: 1.1em;
    border-radius: 10px;
    border: none;
    background: #525252;
    color: #fff;
    min-width: 0;
    box-sizing: border-box;
}
.options-list {
    display: none;
    position: absolute;
    left: 0; right:0;
    top: 100%;
    z-index: 11;
    max-height: 260px;
    overflow-y: auto;
    background: #32373d;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 4px 18px #0003;
    font-size: 1em;
    width: 100%;
}
.nice-select:focus-within .options-list,
.nice-select .current:focus + .options-list {
    display: block;
}
.wear-input {
    width: 100%;
    padding: 10px 16px;
    font-size: 1.1em;
    border-radius: 10px;
    border: none;
    background: #525252;
    color: #fff;
    margin-bottom: 14px;
    box-sizing: border-box;
}
.fishpoints-block {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  margin: 25px auto 2px auto;
  max-width: 1160px;
}
.fp-item {
  width: 205px;
  background: #f8fafd;
  border-radius: 14px;
  box-shadow: 0 1px 8px #48aaff12;
  padding: 11px 13px 15px 13px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2px;
  min-height: 238px;
  border: 1px solid #e1ecf6;
  position: relative;
}
.fp-thumb {
  width: 100%; max-width: 180px; height: 78px;
  object-fit: cover; border-radius: 7px; box-shadow: 0 0 7px #88e9fa1a;
  margin-bottom: 9px;
  background: #e6f3fa;
}
.fp-thumb-empty {
  display: flex; align-items:center; justify-content:center; color:#8b8c95; font-size: 1em; height:78px;
  background:#f1f1f2;border:1px dashed #b0b0b7;
}
.fp-tags {
  font-size: 0.95em; color: #099edb; margin-bottom: 2px; font-weight: 500;
  text-align: center;
  min-height: 25px;
}
.fp-text {
  color: #444; font-size: 0.97em; margin: 0 0 8px 0; text-align: center; min-height: 36px;
}
.fp-more {
  text-align:center;
  background: #00a3f5;
  color: #fff !important;
  padding: 6px 21px;
  border-radius: 7px;
  text-decoration: none;
  margin-top: 5px;
  display: inline-block;
  transition:.15s;
  font-size: 1.03em;
}
.fp-more:hover { background:#3bcdfd; color:#232429 !important;}
.fp-all-btn {
  background: #31bfff;
  color: #fff;
  font-size: 1.14em;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition:.18s;
  display: inline-block;
}
.fp-all-btn:hover { background:#2fa6d8; color: #fff; }
@media (max-width:1150px) {
  .fishpoints-block { max-width:97vw;}
}
@media (max-width: 900px) {
  .fishpoints-block {gap:13px;}
  .fp-item {width:44vw; max-width:244px;}
}
@media (max-width:550px) {
  .fp-item { width:97vw; max-width: 99vw; min-height:130px; }
}
::-webkit-scrollbar { width:6px; background: #c0c0c0;}
::-webkit-scrollbar-thumb { background: #888; border-radius:4px;}