
/* ===== WP GO MAPS - TOM'S BRANDING ===== */

/* Map container */
.wpgmza_map {
    border-radius: 12px !important;
    overflow: hidden;
    border: 1px solid #333 !important;
}

/* Store locator search bar */
.wpgmza-store-locator {
    background: #1a1a1a !important;
    padding: 20px !important;
    border-radius: 12px !important;
    margin-bottom: 15px !important;
    border: 1px solid #333 !important;
}
.wpgmza-store-locator input[type="text"],
.wpgmza-store-locator .wpgmza-address {
    background: #2a2a2a !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
}
.wpgmza-store-locator input::placeholder {
    color: #888 !important;
}
.wpgmza-store-locator select {
    background: #2a2a2a !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px !important;
}
.wpgmza-store-locator .wpgmza-search-button,
.wpgmza-store-locator button,
.wpgmza-store-locator input[type="submit"] {
    background: #c41230 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.wpgmza-store-locator .wpgmza-search-button:hover,
.wpgmza-store-locator button:hover {
    background: #a00f28 !important;
}

/* Category filter */
.wpgmza-category-filter,
.wpgmza-cat-checkbox {
    color: #fff !important;
}
.wpgmza-category-filter {
    padding: 10px 0 !important;
}

/* Info window styling - Modern dark theme */
/* Targets the actual WP Go Maps OpenLayers modern info window classes */

/* Main popup container - dark background */
.wpgmza_modern_infowindow,
.wpgmza_modern_infowindow.wpgmza-shadow {
    background: #1a1a1a !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.6) !important;
    min-width: 300px !important;
    max-width: 380px !important;
    overflow: visible !important;
}

/* Inner content area */
.wpgmza_modern_infowindow_inner {
    padding: 20px !important;
    color: #e0e0e0 !important;
    line-height: 1.6 !important;
    font-size: 14px !important;
}

/* Title */
.wpgmza_iw_title {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 17px !important;
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #333 !important;
    line-height: 1.3 !important;
}

/* Address */
.wpgmza_iw_address {
    color: #bbb !important;
    font-size: 13px !important;
    margin-bottom: 8px !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
}

/* Description (phone, email, site) */
.wpgmza_iw_description {
    color: #ccc !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
    margin-bottom: 8px !important;
}

/* Links in info window */
.wpgmza_modern_infowindow a {
    color: #c41230 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.wpgmza_modern_infowindow a:hover {
    color: #ff1a40 !important;
    text-decoration: underline !important;
}

/* Close button */
.wpgmza_modern_infowindow_close {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 28px !important;
    height: 28px !important;
    background: #333 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #999 !important;
    font-size: 14px !important;
    transition: all 0.2s !important;
    z-index: 10 !important;
}
.wpgmza_modern_infowindow_close:hover {
    background: #c41230 !important;
    color: #fff !important;
}

/* Buttons container (directions) */
.wpgmza_iw_buttons {
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid #333 !important;
}
.wpgmza_iw_buttons a,
.wpgmza_iw_buttons button,
.wpgmza_gd,
a.wpgmza_gd {
    display: inline-block !important;
    background: #c41230 !important;
    color: #fff !important;
    padding: 8px 20px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.wpgmza_iw_buttons a:hover,
.wpgmza_iw_buttons button:hover,
.wpgmza_gd:hover,
a.wpgmza_gd:hover {
    background: #a00f28 !important;
    color: #fff !important;
}

/* Rating container */
.wpgmza-rating-container {
    display: none !important;
}

/* Custom fields */
.wpgmza_iw_custom_fields {
    color: #999 !important;
    font-size: 12px !important;
}

/* Directions box (below/beside map) */
.wpgmza-modern-directions-box,
.wpgmaps_directions_outer_div {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    color: #e0e0e0 !important;
}
.wpgmza-modern-directions-box h2 {
    color: #fff !important;
}
.wpgmza-modern-directions-box input[type="text"],
.wpgmza-modern-directions-box select {
    background: #2a2a2a !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px !important;
}

/* Distance label */
.wpgmza-distance-from-location {
    color: #888 !important;
    font-size: 12px !important;
}

/* Also handle the fallback ol-info-window-plain for non-modern mode */
.ol-info-window-plain {
    background: #1a1a1a !important;
    color: #e0e0e0 !important;
    border-radius: 12px !important;
    border: 1px solid #333 !important;
    padding: 20px !important;
    min-width: 280px !important;
    max-width: 380px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
}


/* Marker listing below map */
.wpgmza-marker-listing,
.wpgmza-basic-listing {
    background: #1a1a1a !important;
    border-radius: 12px !important;
    padding: 15px !important;
    margin-top: 15px !important;
    border: 1px solid #333 !important;
    max-height: 400px !important;
    overflow-y: auto !important;
}
.wpgmza-marker-listing .wpgmza-basic-listing-item,
.wpgmza-marker-listing tr {
    border-bottom: 1px solid #333 !important;
    padding: 10px 5px !important;
}
.wpgmza-marker-listing td,
.wpgmza-marker-listing .wpgmza-basic-listing-item {
    color: #ccc !important;
    font-size: 14px !important;
}
.wpgmza-marker-listing .wpgmza-title,
.wpgmza-marker-listing a {
    color: #fff !important;
    font-weight: 600 !important;
}

/* Directions box */
.wpgmza-directions-box {
    background: #1a1a1a !important;
    border-radius: 12px !important;
    padding: 15px !important;
    border: 1px solid #333 !important;
}
.wpgmza-directions-box input[type="text"] {
    background: #2a2a2a !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px !important;
}
.wpgmza-directions-box input[type="submit"],
.wpgmza-directions-box button {
    background: #c41230 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-weight: 600 !important;
}

/* Scrollbar styling for dark theme */
.wpgmza-marker-listing::-webkit-scrollbar { width: 6px; }
.wpgmza-marker-listing::-webkit-scrollbar-track { background: #1a1a1a; }
.wpgmza-marker-listing::-webkit-scrollbar-thumb { background: #444; border-radius: 3px; }

/* Reset button */
.wpgmza-reset,
.wpgmza-store-locator .wpgmza-reset {
    color: #999 !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

/* Distance display */
.wpgmza-distance {
    color: #c41230 !important;
    font-weight: 600 !important;
}

/* Page wrapper - dark bg */
body.page-id-27915 .wd-content-area,
body.page-id-27915 main.wd-content-layout {
    background: #111 !important;
}
body.page-id-27915 .page-title {
    color: #fff !important;
}

/* ===== MARKER FIX ===== */
/* WoodMart theme sets img{max-width:100%} which makes OL overlay markers 0px
   because OL overlay containers (.ol-marker) are 0px wide by design.
   Override to allow marker images to display at natural size. */
.ol-marker img,
.ol-overlay-container img,
.wpgmza_map .ol-marker img {
    max-width: none !important;
    width: auto !important;
    height: auto !important;
}

/* ===== CANVAS RENDER FIX ===== */
/* Handled by wpgmza-render-fix.js (inline styles required for OL's dynamic elements) */


/* === WHERE TO BUY PAGE === */
body.page-id-27915 {
    background-color: #111111 !important;
}
body.page-id-27915 .main-page-wrapper,
body.page-id-27915 .site-content,
body.page-id-27915 .content-area,
body.page-id-27915 .container,
body.page-id-27915 article {
    background-color: #111111 !important;
}
/* Kill any WoodMart page title bar */
body.page-id-27915 .page-title-default,
body.page-id-27915 .wd-page-title {
    display: none !important;
}

.wtb-hero {
    text-align: center;
    padding: 80px 20px 40px;
    max-width: 900px;
    margin: 0 auto;
}
.wtb-hero h1 {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.2;
}
.wtb-hero .wtb-subtitle {
    font-size: 18px;
    color: #999999;
    line-height: 1.7;
    margin: 0;
}
.wtb-hero .wtb-accent {
    color: #c8102e;
    font-weight: 600;
}

.wtb-map-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
.wtb-map-wrap .wpgmza_map {
    border-radius: 12px !important;
    overflow: hidden;
    border: 1px solid #222;
}

.wtb-marketplace {
    display: flex !important;
    gap: 20px;
    justify-content: center;
    margin: 40px auto;
    flex-wrap: wrap;
    max-width: 600px;
    padding: 0 15px;
}
.wtb-marketplace a.wtb-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 60px;
    border: 2px solid #333;
    border-radius: 12px;
    text-decoration: none !important;
    font-size: 18px;
    font-weight: 600;
    transition: all .25s ease;
    background: transparent;
}
.wtb-marketplace a.wtb-btn:hover {
    border-color: #555;
    transform: translateY(-2px);
}
.wtb-marketplace .wtb-ozon { color: #005bff !important; }
.wtb-marketplace .wtb-ozon:hover { background: rgba(0,91,255,0.08); }
.wtb-marketplace .wtb-wb { color: #cb11ab !important; }
.wtb-marketplace .wtb-wb:hover { background: rgba(203,17,171,0.08); }

.wtb-divider {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 15px;
    border: none;
    border-top: 1px solid #222;
    background: none;
}

.wtb-info {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px 20px;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}
.wtb-info-card {
    background: rgba(255,255,255,0.03);
    border-radius: 16px;
    padding: 40px 30px;
    border: 1px solid rgba(255,255,255,0.08);
    text-align: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.wtb-info-card .wtb-icon {
    font-size: 36px;
    margin-bottom: 16px;
    display: block;
    line-height: 1;
}
.wtb-info-card h3 {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
}
.wtb-info-card p {
    color: #888;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.wtb-partner-section {
    max-width: 800px;
    margin: 0 auto 40px;
    padding: 0 20px;
    text-align: center;
}
.wtb-partner-section h2 {
    font-size: 32px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 12px;
}
.wtb-partner-section .wtb-partner-desc {
    color: #999;
    font-size: 16px;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 600px;
}

.wtb-form-wrap {
    max-width: 700px;
    margin: 0 auto 60px;
    padding: 40px;
    background: rgba(255,255,255,0.03);
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
}
/* GF form dark theme overrides */
body.page-id-27915 .gform_wrapper .gfield_label,
body.page-id-27915 .gform_wrapper label {
    color: #ccc !important;
    font-weight: 500 !important;
}
body.page-id-27915 .gform_wrapper input[type="text"],
body.page-id-27915 .gform_wrapper input[type="email"],
body.page-id-27915 .gform_wrapper input[type="tel"],
body.page-id-27915 .gform_wrapper input[type="url"],
body.page-id-27915 .gform_wrapper textarea,
body.page-id-27915 .gform_wrapper select {
    background: #111 !important;
    border: 1px solid #333 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
}
body.page-id-27915 .gform_wrapper input:focus,
body.page-id-27915 .gform_wrapper textarea:focus,
body.page-id-27915 .gform_wrapper select:focus {
    border-color: #c8102e !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200,16,46,0.2) !important;
}
body.page-id-27915 .gform_wrapper .gform_button,
body.page-id-27915 .gform_wrapper input[type="submit"],
body.page-id-27915 .gform_wrapper button[type="submit"] {
    background: #c8102e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background .2s;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: 100%;
}
body.page-id-27915 .gform_wrapper .gform_button:hover,
body.page-id-27915 .gform_wrapper input[type="submit"]:hover,
body.page-id-27915 .gform_wrapper button[type="submit"]:hover {
    background: #a00d24 !important;
}
body.page-id-27915 .gform_wrapper .gchoice label,
body.page-id-27915 .gform_wrapper .gfield_checkbox label,
body.page-id-27915 .gform_wrapper .gfield_radio label {
    color: #bbb !important;
}
body.page-id-27915 .gform_wrapper .gfield_description {
    color: #666 !important;
}
body.page-id-27915 .gform_wrapper .gform_required_legend {
    color: #666 !important;
}
body.page-id-27915 .gform_wrapper .gfield_required {
    color: #c8102e !important;
}


/* Custom icon images in info cards */
.wtb-info-card .wtb-card-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    display: block;
    object-fit: contain;
}

@media (max-width: 768px) {
    .wtb-hero { padding: 50px 15px 30px; }
    .wtb-hero h1 { font-size: 26px; }
    .wtb-hero .wtb-subtitle { font-size: 15px; }
    .wtb-info { grid-template-columns: 1fr !important; gap: 16px; }
    .wtb-partner-section h2 { font-size: 24px; }
    .wtb-form-wrap { padding: 24px 16px; margin-left: 15px; margin-right: 15px; }
    .wtb-marketplace a.wtb-btn { width: 100%; max-width: 300px; }
}
/* === END WHERE TO BUY PAGE === */
