/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */






/* ====== Společné (typografie + reset obalů) ====== */
.np-optin-wrap, .np-auth-wrap,
.np-optin-wrap *, .np-auth-wrap * {
  box-sizing: border-box;
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* ====== OPT-IN (popup) ====== */
.np-optin-wrap { width:100%; display:flex; justify-content:center; }
.np-optin-form { width:100%; max-width:640px; }
.np-optin-row  { display:flex; gap:12px; align-items:center; justify-content:center; }

/* input jako v návrhu */
.np-optin-wrap .np-optin-input{
  -webkit-appearance:none; appearance:none;
  flex:1 1 auto; height:48px; padding:0 20px;
  border-radius:28px !important;
  border:1px solid #E6E9EC !important;
  background:#fff !important; color:#111 !important;
  font-size:16px; line-height:1; outline:none;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.03) !important;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.np-optin-wrap .np-optin-input::placeholder{ color:#8B9096; opacity:1; }
.np-optin-wrap .np-optin-input:focus{
  border-color:#3DC383 !important;
  box-shadow:0 0 0 3px rgba(61,195,131,.18) !important;
  background:#fff !important;
}

/* tlačítko – červená pilulka */
.np-optin-wrap .np-optin-btn{
  flex:0 0 auto; height:48px; padding:0 22px;
  border-radius:28px; border:none;
  font-weight:700; font-size:16px; color:#fff; background:#D64531;
  cursor:pointer; transition: transform .06s, box-shadow .15s, background .2s;
}
.np-optin-wrap .np-optin-btn:hover{ background:#bf3b2a; box-shadow:0 8px 18px rgba(214,69,49,.25); transform:translateY(-1px); }
.np-optin-wrap .np-optin-btn[disabled]{ opacity:.6; pointer-events:none; }

.np-optin-msg{ margin:8px 10px 0; font-size:14px; color:#444; text-align:center; }
.np-optin-msg.error{ color:#c62828; }
.np-optin-msg.success{ color:#1B743A; }

@media (max-width:640px){
  .np-optin-row{ gap:8px; }
  .np-optin-wrap .np-optin-input{ height:46px; font-size:15px; }
  .np-optin-wrap .np-optin-btn{ height:46px; padding:0 16px; font-size:15px; }
}
@media (max-width:420px){
  .np-optin-row{ flex-direction:column; align-items:stretch; }
  .np-optin-wrap .np-optin-btn{ width:100%; }
}

/* Ochrana proti Elementor stylům */
.elementor .np-optin-wrap input.np-optin-input{ border-radius:28px !important; }

/* ====== AUTH – Login / Reset ====== */
.np-auth-wrap{ width:100%; max-width:620px; margin:0 auto; }
.np-field{ margin:0 0 14px; }
.np-field label{ display:block; font-size:14px; color:#111; margin:0 0 6px; }

.np-auth-wrap input[type="email"],
.np-auth-wrap input[type="password"],
.np-auth-wrap input[type="text"]{
  width:100%; height:44px; padding:0 16px; border-radius:28px !important;
  border:1px solid #E6E9EC !important; background:#fff; color:#111; font-size:15px;
  outline:none; box-shadow: inset 0 1px 0 rgba(0,0,0,.03) !important;
  transition: border-color .15s, box-shadow .15s;
}
.np-auth-wrap input:focus{
  border-color:#3DC383 !important;
  box-shadow:0 0 0 3px rgba(61,195,131,.18) !important;
}

.np-actions{ display:flex; gap:14px; align-items:center; margin-top:6px; }
.np-btn{
  display:inline-block; height:44px; padding:0 20px; border-radius:28px; border:none;
  font-weight:700; font-size:15px; cursor:pointer; transition: transform .06s, box-shadow .15s, background .2s;
}
.np-btn-primary{ background:#D64531; color:#fff; }
.np-btn-primary:hover{ background:#bf3b2a; box-shadow:0 8px 18px rgba(214,69,49,.25); transform:translateY(-1px); }
.np-btn[disabled]{ opacity:.6; pointer-events:none; }

.np-link{ color:#3DC383; text-decoration:none; font-size:14px; }
.np-link:hover{ text-decoration:underline; }

.np-form-msg{ margin:10px 0 0; font-size:14px; color:#444; }
.np-form-msg.error{ color:#c62828; }
.np-form-msg.success{ color:#1B743A; }

@media (max-width:560px){
  .np-actions{ flex-wrap:wrap; }
}


