/**
 * Third-party plugin styling.
 *
 * Kept out of style.css because none of it describes the theme's own
 * markup — it restyles output from Elementor, WPForms, WooCommerce, the
 * WooCommerce Product Table plugin, Jetpack's layout grid and CoBlocks so
 * they match the design system. If a plugin is dropped, its block here can
 * go with it without touching the theme's stylesheet.
 *
 * Everything reads from the theme's custom properties, so a rebrand in
 * style.css carries through here automatically.
 *
 * @package EzeCredit
 */

/* ============================================================
   Elementor
   ============================================================ */

.elementor main{display:block;}
.elementor .e-paragraph-base a{
  color:var(--brand-ink);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.elementor .e-paragraph-base a:hover{color:var(--brand);}
.elementor h1 span,.elementor h2 span{color:var(--brand);}
.elementor .e-paragraph-base ul,.elementor .e-paragraph-base ol{
  margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:.5em;
}
.elementor .e-paragraph-base li::marker{color:var(--brand);}

/* Elementor containers honour the theme's max width. */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con.e-con-boxed > .e-con-inner{max-width:min(var(--maxw), 100%);}
.e-con,.elementor-section,.elementor-widget-wrap{max-width:100%;}

/* ============================================================
   Jetpack layout grid / CoBlocks
   ============================================================ */

.wp-block-jetpack-layout-grid-column > p,
.wp-block-jetpack-layout-grid-column > h2,
.wp-block-jetpack-layout-grid-column > h3,
.wp-block-jetpack-layout-grid-column > ul,
.wp-block-jetpack-layout-grid-column > ol{max-width:var(--measure);}

.wp-block-jetpack-layout-grid:has(> .wp-block-jetpack-layout-grid-column:only-child)
  > .wp-block-jetpack-layout-grid-column{grid-column:1 / -1 !important;}
.wp-block-jetpack-layout-grid{
  padding-inline:0 !important;
  column-gap:clamp(16px,2vw,32px) !important;
}

/* ============================================================
   WPForms (rendered through an Elementor shortcode widget)
   ============================================================ */

.elementor .elementor-widget-shortcode .wpforms-container{
  margin:10px 0 0 !important;
  --wpforms-button-background-color:#1B7A43;
  --wpforms-button-border-radius:10px;
  --wpforms-field-border-radius:10px;
  --wpforms-field-size-input-height:46px;
}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field{padding:9px 0 !important;}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-label{
  font-weight:600 !important;font-size:14px !important;
  color:var(--ink) !important;margin:0 0 6px !important;
}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-sublabel,
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-description{
  font-size:12px !important;color:var(--muted) !important;
}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-medium,
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-small,
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-row.wpforms-field-medium{
  max-width:100% !important;width:100% !important;
}
.elementor .elementor-widget-shortcode .wpforms-container input[type=text],
.elementor .elementor-widget-shortcode .wpforms-container input[type=email],
.elementor .elementor-widget-shortcode .wpforms-container input[type=tel],
.elementor .elementor-widget-shortcode .wpforms-container input[type=url],
.elementor .elementor-widget-shortcode .wpforms-container input[type=number],
.elementor .elementor-widget-shortcode .wpforms-container select,
.elementor .elementor-widget-shortcode .wpforms-container textarea{
  border:1px solid #D0D5DD !important;border-radius:10px !important;
  min-height:46px;padding-top:10px !important;padding-bottom:10px !important;
  padding-right:14px !important;font-size:16px !important;
  color:var(--ink) !important;background:#fff !important;box-shadow:none !important;
}
.elementor .elementor-widget-shortcode .wpforms-container input:not([type=tel]):not([type=checkbox]):not([type=radio]),
.elementor .elementor-widget-shortcode .wpforms-container select,
.elementor .elementor-widget-shortcode .wpforms-container textarea{padding-left:14px !important;}
.elementor .elementor-widget-shortcode .wpforms-container input:focus,
.elementor .elementor-widget-shortcode .wpforms-container select:focus,
.elementor .elementor-widget-shortcode .wpforms-container textarea:focus{
  border-color:var(--brand) !important;
  box-shadow:0 0 0 3px rgba(27,122,67,.15) !important;
  outline:0 !important;
}
.elementor .elementor-widget-shortcode .wpforms-container input[type=checkbox],
.elementor .elementor-widget-shortcode .wpforms-container input[type=radio]{accent-color:var(--brand);}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-checkbox li,
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-field-radio li{margin-bottom:6px !important;}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-submit-container{padding-top:14px !important;}
.elementor .elementor-widget-shortcode .wpforms-container button[type=submit]{
  background:var(--brand) !important;color:var(--on-brand) !important;
  border:0 !important;border-radius:10px !important;
  padding:14px 32px !important;min-height:50px;
  font-size:16px !important;font-weight:700 !important;
  cursor:pointer;transition:background .15s ease;
}
.elementor .elementor-widget-shortcode .wpforms-container button[type=submit]:hover,
.elementor .elementor-widget-shortcode .wpforms-container button[type=submit]:focus{
  background:var(--brand-2) !important;
}
.elementor .elementor-widget-shortcode .wpforms-container .wpforms-required-label{color:var(--danger) !important;}
@media (max-width:767px){
  .elementor .elementor-widget-shortcode .wpforms-container button[type=submit]{width:100%;}
}

/* ============================================================
   WooCommerce Product Table
   ============================================================ */

/* The plugin emits empty <p> wrappers that show as stray gaps. */
.wpt_table_tag_wrapper > p,
.main-content-table-part > p,
.normal_table_wrapper > p,
.wpt-stats-report:empty{display:none !important;}

.wpt_product_table_wrapper,.wpt-wrap{width:100%;max-width:100%;}
.wpt_table_tag_wrapper{
  width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  border:1px solid var(--line);border-radius:var(--radius-lg);
  background:var(--surface);box-shadow:var(--card-shadow);
}
table.wpt_product_table{
  width:100% !important;min-width:720px;margin:0 !important;
  border-collapse:separate;border-spacing:0;border:0 !important;
  font-size:.94rem;font-variant-numeric:tabular-nums;
}
table.wpt_product_table thead th{
  position:sticky;top:0;
  background:var(--brand-soft) !important;color:var(--ink) !important;
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
  padding:14px 16px !important;border:0 !important;
  border-bottom:1px solid var(--line) !important;white-space:nowrap;
}
table.wpt_product_table tbody td{
  padding:14px 16px !important;border:0 !important;
  border-bottom:1px solid var(--line) !important;
  background:var(--surface) !important;color:var(--ink-2) !important;
  vertical-align:middle;
}
table.wpt_product_table tbody tr:last-child td{border-bottom:0 !important;}
table.wpt_product_table tbody tr:hover td{background:var(--bg-alt) !important;}
table.wpt_product_table .wpt_price,
table.wpt_product_table .wpt_short_description strong{color:var(--ink) !important;font-weight:700;}
table.wpt_product_table a{color:var(--brand-ink);}
table.wpt_product_table .wpt_stock{color:var(--positive-ink) !important;font-weight:600;}

/* Scroll-shadow hint so the horizontal scroll is discoverable on phones. */
@media (max-width:767px){
  .wpt_table_tag_wrapper{
    background:
      linear-gradient(to right, var(--surface) 30%, transparent) left / 24px 100% no-repeat local,
      linear-gradient(to left, var(--surface) 30%, transparent) right / 24px 100% no-repeat local,
      radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.12), transparent) left / 10px 100% no-repeat scroll,
      radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.12), transparent) right / 10px 100% no-repeat scroll,
      var(--surface);
  }
  table.wpt_product_table tbody td,
  table.wpt_product_table thead th{padding:12px !important;}

  /* Three columns have to fit a phone, so the table stops forcing a
     min-width and the thumbnail column takes the slack. */
  table.wpt_product_table{min-width:0 !important;}
  table.wpt_product_table thead th{
    padding:12px 24px 12px 10px !important;font-size:12px !important;
    letter-spacing:.04em;white-space:normal !important;line-height:1.25;
  }
  table.wpt_product_table tbody td{padding:14px 10px !important;}
  table.wpt_product_table th.wpt_thumbnails,
  table.wpt_product_table td.wpt_thumbnails{width:50%;}
  table.wpt_product_table td.wpt_thumbnails img{max-width:56px;height:auto;}
  .wpt_product_table_wrapper .wpt_woo_add_cart_button{margin:6px 0;}
}
@media (max-width:360px){
  table.wpt_product_table tbody td{padding:12px 8px !important;}
  table.wpt_product_table thead th{padding:10px 20px 10px 8px !important;}
}

/* ============================================================
   WooCommerce buttons
   ============================================================ */

.wpt_woo_add_cart_button,
.wpt-search-products,
.wpt_product_table_wrapper .button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .checkout-button,
.woocommerce #place_order{
  background:var(--brand) !important;
  border:1px solid var(--brand) !important;
  color:var(--on-brand) !important;
  border-radius:10px !important;
  padding:.6em 1.1em !important;
  font-weight:700 !important;line-height:1.2 !important;
  box-shadow:none !important;
  transition:background-color .2s ease,transform .2s ease;
}
.wpt_woo_add_cart_button:hover,
.wpt-search-products:hover,
.wpt_product_table_wrapper .button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover{
  background:var(--brand-2) !important;border-color:var(--brand-2) !important;
}
.wpt_woo_add_cart_button.added,.wpt_woo_add_cart_button.loading{opacity:.85;}

/* Icon-only cart button needs a real tap target. */
.wpt_product_table_wrapper .wpt_woo_add_cart_button{
  display:inline-flex !important;align-items:center;justify-content:center;
  min-width:64px;min-height:40px;padding:11px 22px !important;
}
.wpt_product_table_wrapper .wpt_woo_add_cart_button::before{
  font-size:18px !important;line-height:1 !important;
  margin:0 !important;padding:0 !important;width:auto !important;height:auto !important;
}

/* ============================================================
   Buy Tradelines landing page
   ============================================================ */

.eze-full-container{
  padding-left:max(var(--gutter), calc((100% - var(--maxw)) / 2)) !important;
  padding-right:max(var(--gutter), calc((100% - var(--maxw)) / 2)) !important;
}

.eze-tradeline-hero{
  background:
    radial-gradient(60% 90% at 95% 0%, rgba(27,122,67,.10), transparent 70%),
    linear-gradient(180deg, var(--bg-alt) 0%, var(--surface) 100%);
  border:1px solid #CFE7D7;border-radius:24px;
  padding:clamp(32px,5vw,64px) clamp(22px,5vw,64px);
  margin:clamp(16px,2.5vw,32px) 0 20px;
  box-shadow:var(--card-shadow);
}
.eze-tradeline-hero-content{max-width:860px;margin:0;text-align:left;}
.eze-tradeline-badge{
  background:transparent;border:0;padding:0;margin-bottom:16px;
  color:var(--brand);font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:12px;font-weight:600;letter-spacing:.14em;
}
.eze-tradeline-badge::before{
  content:"";display:inline-block;width:18px;height:2px;
  margin-right:10px;background:var(--brand);vertical-align:middle;
}
.eze-tradeline-hero h1{
  font-family:"Sora",ui-sans-serif,system-ui,sans-serif !important;
  font-size:clamp(2.25rem, 1.3rem + 3.2vw, 3.75rem) !important;
  font-weight:800 !important;line-height:1.05 !important;
  letter-spacing:-.035em;margin:0 0 16px !important;text-wrap:balance;
}
.eze-tradeline-hero p{
  margin:0;max-width:62ch;
  font-size:clamp(1.02rem, .96rem + .3vw, 1.2rem);line-height:1.65;
}

.eze-offer-section{margin:0 0 16px;}
.eze-offer-section .eze-offer-grid{gap:clamp(10px,1.4vw,16px);margin:0;}
.eze-offer-card{
  text-align:left;padding:clamp(16px,1.8vw,22px);border-radius:16px;
  border:1px solid var(--line);box-shadow:var(--card-shadow);
  display:flex;flex-direction:column;gap:4px;
}
.eze-offer-card:nth-child(-n+2){background:var(--brand-soft);border-color:#CFE7D7;}
.eze-offer-card:hover{border-color:#B9DCC6;transform:translateY(-2px);}
.eze-offer-icon{display:none;}
.eze-offer-number{
  font-family:"Sora",ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(1.35rem, 1rem + 1.2vw, 1.9rem);
  font-weight:800;letter-spacing:-.02em;color:var(--brand-ink);margin:0;
}
.eze-offer-title{font-size:14px;color:var(--ink);margin:2px 0 0;}
.eze-offer-description{font-size:13px;line-height:1.45;}

.eze-reporting-notice{
  border-radius:14px;border:1px solid #F0D9A8;border-left:4px solid var(--amber);
  background:var(--amber-soft);color:#5C4413;
  padding:16px 20px;margin:0 0 20px !important;font-size:15px;
}
.eze-reporting-notice-icon{background:var(--amber);}

.eze-reviews-section{border-radius:20px;padding:clamp(24px,3vw,40px);margin:0 0 40px !important;}
.eze-section-label{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-weight:600;letter-spacing:.14em;color:var(--brand);
}
.eze-section-title,
.eze-info-section h2,
.eze-content-section h2,
.eze-faq-section .wp-block-coblocks-faq__title{
  font-family:"Sora",ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;
}
.eze-info-section{border-radius:20px;padding:clamp(22px,3vw,40px);border:1px solid #CFE7D7;}
.eze-info-list li{border-radius:12px;}
.eze-content-section a,.eze-faq-section a{
  color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px;
}
.eze-faq-section .wp-block-coblocks-faq-item{border-radius:12px;}

.wpt_product_table_wrapper{margin:0 0 40px !important;}
.wpt_table_tag_wrapper{border-radius:16px;}
.wpt_edit_table{margin-top:12px;}

@media (max-width:767px){
  .eze-tradeline-hero{border-radius:18px;}
  .eze-offer-card{padding:14px;}
  .eze-offer-description{font-size:12px;}
  .eze-reporting-notice{font-size:14px;padding:14px 16px;}
}

/* ============================================================
   Site-specific content
   ============================================================ */

/* A single oversized inline image in post content. */
.entry-content img.wp-image-2316{
  width:100%;max-width:min(640px,100%) !important;
  height:auto;border-radius:var(--radius-lg);
}
