/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* CUSTOM CSS */
/* GENERAL */
a { text-decoration: none; }

/* site description italic */
.site-description { font-style: italic; }

/* LOGIN stuff for users */
/* TOP BAR if logged in */
.top-bar { display: flex;
  justify-content: flex-end; 
}
/* Login Icon in Menu */
.login-menu-item {
    display: inline-flex;
    align-items: center;
    margin-left: 15px;
}
.login-menu-item a {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.login-menu-item i {
    font-size: 18px;
}

.login-menu-item a:hover {
    opacity: 0.7;
}

/* Float login icon to the right of menu */
.main-navigation .menu-bar-items {
    display: flex;
    align-items: center;
}

.main-navigation .menu-bar-item:last-child {
    margin-left: auto;
}

/* Topbar User Greeting - Widget Method */
.topbar-user-greeting {
    padding: 8px 15px;
    font-size: 14px;
    text-align: right;
}

.topbar-user-greeting strong {
    font-weight: 600;
}

.top-bar-username strong {
    font-weight: 600;
    color: #0073aa;
}
/* Responsive adjustments */
@media (max-width: 768px) {
    .login-menu-item {
        margin-left: 10px;
    }
    
    .login-menu-item i {
        font-size: 16px;
    }
    
    .topbar-user-greeting,
    .top-bar-username {
        font-size: 12px;
        padding: 8px 10px;
    }
}
/* Extra top-bar layout */
 .topbar-user-greeting {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
  }
 
  .topbar-username {
      margin-right: auto;
  }
 
  .topbar-icons-right {
      display: flex;
      gap: 25px;
      align-items: center;
	  margin-left: 25px;
  }
 
  .topbar-account-link,
  .topbar-logout-link {
      color: inherit;
      text-decoration: none;
      font-size: 1.1em;
      transition: opacity 0.2s;
  }
 
  .topbar-account-link:hover,
  .topbar-logout-link:hover {
      opacity: 0.7;
  }

/* LOGIN page with custom block */
.custom-login-wrapper {
    max-width: 320px;
    margin: 20px 0;
}
.h-inloggen { text-align: center; }
.custom-login-wrapper form {
    background-color: rgba(232,60,51,0.75);
    padding: 20px;
    border-radius: 6px;
    border: 1px solid #ddd;
}
.custom-login-wrapper label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    color: #333;
}
/* Password field wrapper for toggle button */
.custom-login-wrapper .password-input-wrapper {
    position: relative;
    margin-bottom: 15px;
}
.custom-login-wrapper input[type="text"] { width: 100%; }
.custom-login-wrapper .password-input-wrapper input[type="password"],
.custom-login-wrapper .password-input-wrapper input[type="text"] {
    padding-right: 45px;
    margin-bottom: 0;
}

.custom-login-wrapper .password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #666;
    font-size: 16px;
    line-height: 1;
}

.custom-login-wrapper .password-toggle:hover {
    color: #333;
}

.custom-login-wrapper .password-toggle:focus {
    outline: none;
}

/* Lost password link */
.custom-login-wrapper .lost-password {
    margin-top: 15px;
    font-size: 14px;
    text-align: left;
}

.custom-login-wrapper .lost-password a {
    color: #0073aa;
    text-decoration: none;
}

.custom-login-wrapper .lost-password a:hover {
    text-decoration: underline;
}

/* HEADER */
.inside-header { padding-left: 5px; padding-right: 5px; }
/* CONTENT area */
/* home page */
.home h1 { font-size: 25px; }
ul.home-list { list-style-type: none; 
	margin-top: -10px;
	margin-left: 1em; }
/* CTA on image book */
.home-image-wrap { position: relative; }
.home-image-cta { position: absolute; 
	width: 100%;
	bottom: 65px;
	background-color: #f5f5f5;
	opacity: 0.85;
	padding-top: 10px; padding-bottom: 10px;
	border-top-right-radius: 15px;
    border-bottom-left-radius: 15px;
	font-size: 14px;
}
.home-image-wrap a, .home-image-wrap a:hover, .home-image-wrap a:visited { color: #ff0000; 
 	font-weight: 600;
	font-style: italic;
}
.home p.no-blue-link a {color: #000; }
/* Events page */ 
#nf-form-1-cont .nf-form-fields-required { font-size: 13px; }
/* Newsletter page */
@media screen and (min-width: 767px) { 
	.page-id-185 #nf-form-2-cont { width: 75%; }
}
.page-id-185 .ninja-forms-req-symbol, .page-id-185 .nf-form-fields-required { display: none; }
.page-id-185 .nbc-layout { box-shadow: 2px 2px 3px 3px #c0c0c0;  padding: 30px;
}

/* SHOP area */
h1.product_title { font-size: 25px; margin-bottom: 7px; }
/* Hide text "De verzendopties worden bij het afrekenen geüpdatet. " */
.woocommerce-shipping-destination { display: none; }
/* wc cart */
a.woocommerce-remove-coupon { display: none; }
/* Hide waardebon toggle afrekenen pagina */
/* .page-id-11 .woocommerce-info { visibility: hidden; } */
/* Increase size input text field waardebon */
.woocommerce-page table.cart td.actions .input-text { width: 190px!important; }

/* =============================================================================
   WOOCOMMERCE PAYWALL STYLES
   Add these styles to your theme's style.css file
   ============================================================================= */

/* Success Message (after successful payment) */
.paywall-success-message {
    background: #4CAF50;        /* Green background */
    color: white;
    padding: 15px;
    margin: 20px 0;
    border-radius: 5px;
}

/* Access Denied Warning (on product page) */
.paywall-access-denied {
    background: #ff0000;        /* RED background for high visibility */
    color: white;               /* White text for readability on red */
    border-left: 4px solid #ffc107;  /* Yellow accent border */
    padding: 15px;
    margin: 20px 0;
    border-radius: 4px;
}

/* "Already Owned" Message (on product pages for buyers) */
.paywall-already-owned {
    margin: 20px 0;
    padding: 15px;
    background: #e7f7e7;        /* Light green background */
    border: 2px solid #4CAF50;  /* Green border */
    border-radius: 5px;
}

/* Dashboard Content Access Section */
.paywall-dashboard-access {
    margin: 20px 0;
    padding: 20px;
    background: #f0f8ff;        /* Light blue background */
    border: 2px solid #4CAF50;  /* Green border */
    border-radius: 8px;
}

.paywall-dashboard-title {
    margin-top: 0;
    color: #333;
}

.paywall-dashboard-subtitle {
    margin-bottom: 15px;
    color: #666;
}

/* Individual Content Items on Dashboard */
.paywall-content-item {
    margin-bottom: 15px;
    padding: 15px;
    background: white;
    border-radius: 5px;
    border-left: 4px solid #4CAF50;  /* Green accent border */
}

.paywall-product-name {
    display: block;
    margin-bottom: 5px;
    color: #333;
}

/* Access Content Button */
.paywall-access-button {
    margin-top: 10px;
}

/* =============================================================================
   RESPONSIVE DESIGN (optional - adjust breakpoints as needed)
   ============================================================================= */

@media (max-width: 768px) {
    .paywall-dashboard-access {
        padding: 15px;
        margin: 15px 0;
    }

    .paywall-content-item {
        padding: 12px;
    }
}

/* =============================================================================
   DESIGNER NOTES

   Easy customization guide:

   1. Colors:
      - Green accent: #4CAF50 (change all occurrences for consistent branding)
      - Red warning: #ff0000 (access denied message)
      - Yellow border: #ffc107 (warning accent)
      - Light blue: #f0f8ff (dashboard background)

   2. Spacing:
      - All padding and margin values can be adjusted
      - Use rem units instead of px for better accessibility

   3. Typography:
      - Add font-family, font-size, or font-weight to any class
      - Example: .paywall-dashboard-title { font-size: 1.5rem; font-weight: 600; }

   4. Borders:
      - All border-radius values can be adjusted for different corner styles
      - Border widths and colors can be modified

   ============================================================================= */

/* Paywall checkout notice styling */
.paywall-checkout-notice {
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 15px;
    margin-bottom: 20px;
}

/* Required password field emphasis */
.paywall-account-required {
    background: #f8f9fa;
    border: 2px solid #28a745;
    border-radius: 5px;
    padding: 15px;
}

.paywall-password-required label {
    font-weight: bold;
    color: #28a745;
}

/* Required badge styling */
.paywall-required-badge {
    display: inline-block;
    background: #28a745;
    color: white;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 8px;
}

/* WIDGETS area */
/* general */
.widget-area .widget { padding-bottom: 0!important; 
}
h2.widget-title { margin-bottom: 5px!important; }

/* newsletter submission */
#ninja_forms_widget-2 h3 { font-size: 20px; margin-bottom: 20px; }
#ninja_forms_widget-2 .nf-form-fields-required { display: none; }
#ninja_forms_widget-2 .ninja-forms-req-symbol { display: none; }
#ninja_forms_widget-2 .nf-field-element { margin-bottom: 15px; }
.nf-form-content label { font-size: 13px!important; line-height: 16px; }
.nf-form-content input.ninja-forms-field:not(#nf-field-13) { height: 40px!important; }
/* no left widgets Events page */
.page-id-69 #custom_html-2, .page-id-69 #custom_html-3 { display: none; }
/* bid72 widget */
#text-2 .widget-title { margin-bottom: 20px!important; }
.textwidget .b72 { margin-top: -20px!important; }
.widget ul li { margin-bottom: 0!important; }

/* AFFILIATE area */
.aflo { font-size: 25px; }
.afloblk { display: flex;
	flex-flow: column wrap;
	align-content: center; 
}
/* TEST pages 2375 = geschiedenis */
.page-id-12, .page-id-2336, .page-id-2343, .page-id-2371, .page-id-2375 { background-color: rgba(68, 149, 149, 0.33); }
.page-id-12 .inside-article, .page-id-2336 .inside-article, .page-id-2343 .inside-article, 
.page-id-2371 .inside-article, .page-id-2375 .inside-article { background-color: transparent!important; }
.page-id-2375 .df-icon-download, .page-id-2375 .df-icon-share { display: none; }
.df-ui-nav .df-ui-btn:before {
color: black!important;
filter: none;
}
/* Lite: */
.pdfemb-viewer { 
     border: none !important;
	background-color: transparent!important;
}
.pdfemb-viewer .pdfemb-pagescontainer {
  background-color: transparent!important;
}

/* FOOTER */
.site-info { background-color: transparent!important; }