/* ============================================================
   AgroBox — Auth pages (Login + Register) shared stylesheet v2
   Φορτώνεται μόνο στις σελίδες login/register.
   Fonts: Montserrat (display) · Mulish (text). Brand: #1f9d55
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Mulish:wght@400;500;600;700;800&display=swap');

:root {
  --ab-green: #1f9d55;
  --ab-green-hover: #178247;
  --ab-bright: #7ee08f;
}

/* ---------- Hide logged-out app chrome (full-viewport canvas) ---------- */
body.page_login, body.page_register,
body.page_login .wrapper, body.page_register .wrapper,
body.page_login .main-panel, body.page_register .main-panel,
body.page_login .main-panel-fluid, body.page_register .main-panel-fluid,
body.page_login .content, body.page_register .content,
body.page_login .main-panel > .content, body.page_register .main-panel > .content,
body.page_login .content > .container-fluid, body.page_register .content > .container-fluid { background:#fff !important; background-image:none !important; }

body.page_login .sidebar, body.page_register .sidebar,
body.page_login .mobile-header-agrobox, body.page_register .mobile-header-agrobox,
body.page_login .agro-header, body.page_register .agro-header,
body.page_login .main-panel > .navbar, body.page_register .main-panel > .navbar,
body.page_login .navbar.navbar-expand-lg, body.page_register .navbar.navbar-expand-lg,
body.page_login .footer, body.page_register .footer,
body.page_login .main-panel > .footer, body.page_register .main-panel > .footer { display:none !important; }

body.page_login .wrapper, body.page_register .wrapper,
body.page_login .main-panel, body.page_register .main-panel { margin:0 !important; padding:0 !important; width:100% !important; float:none !important; }
body.page_login .content, body.page_register .content,
body.page_login .main-panel > .content, body.page_register .main-panel > .content,
body.page_login .content > .container-fluid, body.page_register .content > .container-fluid { padding:0 !important; margin:0 !important; max-width:none !important; min-height:0 !important; }
body.page_login #main, body.page_register #main,
body.page_login #main.section, body.page_register #main.section,
body.page_login .section, body.page_register .section,
body.page_login .card, body.page_register .card,
body.page_login .agro-dashboard-element, body.page_register .agro-dashboard-element,
body.page_login .leaf-container, body.page_register .leaf-container { background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important; border-radius:0 !important; }

* { box-sizing: border-box; }

@keyframes ab-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes ab-spin  { to { transform: rotate(360deg); } }

/* ---------- Layout ---------- */
.ab-page {
  position: fixed; inset: 0; overflow-y: auto;
  display: flex; width: 100%;
  font-family: 'Mulish', system-ui, -apple-system, sans-serif;
  color: #142e1f; background: #fff; z-index: 1;
  -webkit-font-smoothing: antialiased;
}
.ab-page a { color: inherit; }

/* ---------- HERO (left) ---------- */
.ab-hero {
  flex: 1 1 52%; position: relative; overflow: hidden; color: #fff;
  padding: 48px 56px 44px; min-height: 100vh;
  background-color: #0c2e1c;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='700'%20height='500'%3E%3Cg%20fill='none'%20stroke='%23ffffff'%20stroke-opacity='0.06'%20stroke-width='1.4'%3E%3Cpath%20d='M-50%2060%20C150%2010%20350%20110%20550%2060%20750%2020%20850%2070%20950%2050'/%3E%3Cpath%20d='M-50%20130%20C150%2080%20350%20180%20550%20130%20750%2090%20850%20140%20950%20120'/%3E%3Cpath%20d='M-50%20200%20C150%20150%20350%20250%20550%20200%20750%20160%20850%20210%20950%20190'/%3E%3Cpath%20d='M-50%20270%20C150%20220%20350%20320%20550%20270%20750%20230%20850%20280%20950%20260'/%3E%3Cpath%20d='M-50%20340%20C150%20290%20350%20390%20550%20340%20750%20300%20850%20350%20950%20330'/%3E%3Cpath%20d='M-50%20410%20C150%20360%20350%20460%20550%20410%20750%20370%20850%20420%20950%20400'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(115% 105% at 6% 0%, rgba(6,28,17,.94) 0%, rgba(6,28,17,.45) 34%, rgba(6,28,17,0) 60%),
    radial-gradient(62% 52% at 92% 104%, rgba(224,234,158,.62) 0%, rgba(168,198,104,.32) 30%, rgba(70,128,58,0) 60%),
    radial-gradient(100% 92% at 80% 98%, #93b850 0%, #5e9a3e 32%, #357630 56%, rgba(28,74,38,0) 74%),
    linear-gradient(160deg, #0e3320 0%, #1a552b 42%, #2f7130 74%, #4a8a36 100%);
  background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat;
}
.ab-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3C/filter%3E%3Crect%20width='200'%20height='200'%20filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: overlay; opacity: .13;
}
.ab-hero__cloud {
  position: absolute; top: 96px; right: 8%; z-index: 0; pointer-events: none;
  width: 320px; height: 120px;
  background:
    radial-gradient(58% 68% at 34% 64%, rgba(255,255,255,.95), rgba(255,255,255,0) 72%),
    radial-gradient(50% 82% at 60% 54%, rgba(255,255,255,.88), rgba(255,255,255,0) 74%),
    radial-gradient(40% 70% at 82% 66%, rgba(255,255,255,.7), rgba(255,255,255,0) 76%);
  filter: blur(9px); opacity: .78;
}
.ab-hero > *:not(.ab-hero__cloud) { position: relative; z-index: 1; }

.ab-logo { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; }
.ab-logo img { height: 42px; width: auto; display: block; }

.ab-hero__title {
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 44px; line-height: 1.08;
  letter-spacing: -1px; margin: 38px 0 0; max-width: 14ch; color: #fff !important;
}
.ab-hero__sub { font-size: 17px; line-height: 1.55; color: #bfd2c6 !important; margin: 20px 0 0; max-width: 46ch; }

/* Chips */
.ab-chips { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 24px; }
.ab-chip { display: flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 999px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); font-size: 13.5px; font-weight: 600; color: #e4efe7; }

/* Product mockup */
.ab-mockup { position: relative; margin-top: 34px; max-width: 620px; }
.ab-mockup__img { display: block; width: 100%; height: auto; border-radius: 12px;
  filter: drop-shadow(0 34px 60px rgba(0,0,0,.45)); animation: ab-float 6s ease-in-out infinite; }
.ab-callout { position: absolute; z-index: 2; display: flex; align-items: center; gap: 8px;
  background: #fff; color: #142e1f; border-radius: 11px; padding: 9px 13px;
  box-shadow: 0 12px 30px -8px rgba(0,0,0,.4); font-size: 12px; font-weight: 700; }
.ab-callout--top { top: 64px; right: -6px; animation: ab-float 4s ease-in-out infinite; }
.ab-callout--bottom { top: 150px; left: -8px; animation: ab-float 4.6s ease-in-out infinite .5s; }
.ab-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.ab-dot--green { background: #1f9d55; }
.ab-dot--orange { background: #e0892f; }

/* Social proof */
.ab-social { margin-top: 36px; }
.ab-social__label { font-size: 12px; font-weight: 600; letter-spacing: .3px; color: #9fb6a6; text-transform: uppercase; }
.ab-social__grid { display: flex; gap: 14px; margin-top: 14px; flex-wrap: wrap; align-items: stretch; }
.ab-stat-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; flex: 1 1 380px; align-content: start; }
.ab-stat-card { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); border-radius: 16px; padding: 15px 16px; display: flex; flex-direction: column; gap: 2px; }
.ab-stat-card--wide { grid-column: span 2; flex-direction: row; align-items: center; gap: 12px; }
.ab-stat-card__icon { color: #8fdfa1; opacity: .85; margin-bottom: 5px; }
.ab-stat-card__num { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 25px; line-height: 1; color: #fff; }
.ab-stat-card__num .plus { color: #7ee08f; }
.ab-stat-card__num .star { color: #f5bd4f; }
.ab-stat-card__cap { font-size: 12px; color: #a9bfb0; }
.ab-badge-card__mark { width: 36px; height: 36px; border-radius: 10px; flex: none; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(143,223,161,.5); color: #8fdfa1; }
.ab-badge-card__t1 { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 800; color: #fff; line-height: 1.25; }
.ab-badge-card__t2 { font-size: 11px; color: #a9bfb0; }

.ab-testimonial { flex: 1 1 290px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); border-radius: 16px; padding: 18px 20px; display: flex; flex-direction: column; }
.ab-testimonial__head { display: flex; align-items: center; gap: 12px; }
.ab-testimonial__avatar { width: 46px; height: 46px; border-radius: 50%; flex: none; background: linear-gradient(150deg,#39c057,#1f7d44); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #fff; }
.ab-testimonial__name { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; }
.ab-testimonial__role { font-size: 12px; color: #a9bfb0; }
.ab-testimonial__stars { margin-left: auto; color: #f5bd4f; font-size: 13px; letter-spacing: 1px; }
.ab-testimonial__text { font-size: 14px; line-height: 1.55; color: #dce7df; margin: 13px 0 0; font-style: italic; }

/* ---------- SIGNUP / LOGIN (right) ---------- */
.ab-panel { flex: 1 1 48%; position: relative; padding: 48px 60px; display: flex; flex-direction: column; justify-content: center; }
.ab-topcta { position: absolute; top: 34px; right: 60px; font-size: 13.5px; color: #5b6b62; }
.ab-topcta a { color: var(--ab-green); font-weight: 700; text-decoration: none; }
.ab-topcta__btn { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; margin-left: 6px; border-radius: 10px; background: #e7f4ec; border: 1.5px solid #bfe6cd; color: #15823f !important; font-weight: 800; }

.ab-form-wrap { width: 100%; max-width: 420px; margin: 0 auto; }
.ab-mobilelogo { display: none; margin-bottom: 16px; }
.ab-mobilelogo img { height: 40px; width: auto; }

.ab-pill { display: inline-flex; align-items: center; gap: 8px; background: #e7f4ec; color: #15823f; font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 7px 14px; }
.ab-form__title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 34px; letter-spacing: -.8px; margin: 18px 0 0; color: #142e1f; }
.ab-form__sub { font-size: 15px; line-height: 1.5; color: #5b6b62; margin: 10px 0 0; }

/* Flash */
.ab-alert { border-radius: 11px; padding: 11px 14px; font-size: 13.5px; font-weight: 600; margin: 16px 0 0; }
.ab-alert--danger { background: #fdecec; color: #b42318; border: 1px solid #f6cdca; }
.ab-alert--success { background: #e7f6ec; color: #178247; border: 1px solid #bfe6cd; }
.ab-alert--info { background: #eef4ff; color: #1d4ed8; border: 1px solid #cdddfb; }

/* OAuth (Google) — styled platform dispatch */
#auth-services { width: 100%; margin-top: 24px; }
#auth-services a, #auth-services button, #auth-services .btn {
  width: 100% !important; display: flex !important; align-items: center; justify-content: center; gap: 11px;
  background: #fff !important; border: 1.5px solid #dde4df !important; border-radius: 13px !important;
  padding: 15px !important; font-size: 15px !important; font-weight: 700 !important; color: #142e1f !important;
  font-family: inherit !important; text-decoration: none !important; cursor: pointer; box-shadow: none !important; margin: 0 !important; }
#auth-services a:hover, #auth-services button:hover, #auth-services .btn:hover { background: #f6f8f6 !important; border-color: #c7d2cb !important; }

.ab-divider { display: flex; align-items: center; gap: 14px; margin: 20px 0; }
.ab-divider::before, .ab-divider::after { content: ""; flex: 1; height: 1px; background: #e6ece7; }
.ab-divider span { font-size: 12.5px; color: #94a39a; white-space: nowrap; }

/* Inputs */
.ab-label { display: block; font-size: 13.5px; font-weight: 700; color: #142e1f; margin-bottom: 8px; }
.ab-label-row { display: flex; align-items: center; justify-content: space-between; margin: 16px 0 8px; }
.ab-label-row .ab-label { margin: 0; }
.ab-link-btn { background: none; border: none; font-size: 13.5px; font-weight: 700; color: var(--ab-green); cursor: pointer; font-family: inherit; padding: 0; }
.ab-input { width: 100%; background: #eef1f4; border: 1.5px solid transparent; border-radius: 13px; padding: 15px 16px; font-size: 15px; color: #142e1f; font-family: inherit; outline: none; transition: background .15s, border-color .15s; }
.ab-input::placeholder { color: #97a39b; }
.ab-input:focus { background: #fff; border-color: var(--ab-green); }
.ab-input-wrap { position: relative; }
.ab-input-wrap .ab-input { padding-right: 46px; }
.ab-input__eye { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); background: none; border: none; padding: 0; cursor: pointer; color: #7d8a82; display: flex; }
.ab-input__eye:hover { color: var(--ab-green); }

/* Consents (real checkboxes styled as switches) */
.ab-consents { margin-top: 18px; display: flex; flex-direction: column; gap: 11px; }
.ab-consent { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: #3f4d45; cursor: pointer; }
.ab-consent a { color: var(--ab-green); font-weight: 700; text-decoration: none; }
.ab-consent input[type=checkbox] { -webkit-appearance: none; appearance: none; width: 36px; height: 21px; border-radius: 999px; background: #cdd8d0; position: relative; flex: none; cursor: pointer; margin: 0; transition: background .15s; }
.ab-consent input[type=checkbox]::after { content: ""; position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: left .15s; }
.ab-consent input[type=checkbox]:checked { background: var(--ab-green); }
.ab-consent input[type=checkbox]:checked::after { left: 17px; }

.ab-captcha { display: flex; justify-content: center; margin-top: 16px; }

/* Buttons */
.ab-btn-primary { position: relative; margin-top: 22px; width: 100%; background: var(--ab-green); border: none; border-radius: 13px; padding: 17px; font-size: 16px; font-weight: 800; color: #fff; font-family: inherit; cursor: pointer; box-shadow: 0 12px 26px -8px rgba(31,157,85,.6); transition: background .15s; }
.ab-btn-primary:hover { background: var(--ab-green-hover); }
.ab-btn-primary.is-loading { pointer-events: none; opacity: .92; }
.ab-btn-primary.is-loading .ab-btn__label { visibility: hidden; }
.ab-btn-primary.is-loading::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1.1rem; height: 1.1rem; margin: -.55rem 0 0 -.55rem; border: 2px solid rgba(255,255,255,.95); border-right-color: transparent; border-radius: 50%; animation: ab-spin .7s linear infinite; }

/* Trust */
.ab-trust-rating { margin-top: 16px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #f5bd4f; font-size: 14px; letter-spacing: 1px; }
.ab-trust-rating span { color: #5b6b62; font-size: 12.5px; letter-spacing: 0; font-weight: 600; }
.ab-trust-strip { margin-top: 11px; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: #5b6b62; font-weight: 600; }
.ab-foot { font-size: 13.5px; line-height: 1.55; font-weight: 600; color: #5b6b62; text-align: center; margin: 18px 0 0; }
.ab-foot a { color: var(--ab-green); font-weight: 800; text-decoration: none; }
.ab-forgot { font-size: 13px; font-weight: 700; color: var(--ab-green); text-decoration: none; }
.ab-row { display: flex; align-items: center; justify-content: flex-end; margin-top: 8px; }
.ab-langs { text-align: center; margin-top: 14px; font-size: 13px; }
.ab-langs a { color: var(--ab-green); text-decoration: none; font-weight: 600; margin: 0 4px; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .ab-page { position: static; flex-direction: column; }
  .ab-hero, .ab-panel { max-width: none; min-height: auto; }
  .ab-hero { padding: 40px 28px; }
  .ab-hero__title { font-size: 34px; }
  .ab-panel { padding: 36px 24px 48px; }
  .ab-topcta { position: static; text-align: center; margin: 0 0 18px; }
  .ab-input { font-size: 16px; } /* no iOS zoom */
}
@media (max-width: 560px) {
  .ab-stat-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  /* Mobile: κρατάμε πληροφορίες + μαρτυρία πάνω, κρύβουμε τα βαριά visuals */
  .ab-mockup, .ab-hero__cloud { display: none; }
  .ab-hero { padding: 24px 20px 22px; }
  .ab-hero__title { font-size: 25px; margin-top: 26px; }
  .ab-hero__sub { font-size: 15px; margin-top: 14px; }
  .ab-chips { margin-top: 18px; }
  .ab-social { margin-top: 22px; }
  .ab-social__label { font-size: 11px; }
  .ab-stat-cards { display: none; } /* στο κινητό αφήνουμε μόνο τη μαρτυρία */
  .ab-logo img { height: 36px; }
  .ab-form__title { font-size: 27px; }
  .ab-pill { font-size: 12px; }
  .ab-trust-strip { gap: 10px; row-gap: 6px; }
}
