/*
Theme Name:   	Storefront Child Theme
Theme URI:    	https://github.com/stuartduff/storefront-child-theme
Author:       	Stuart Duff
Author URI:     http://stuartduff.com
Template:     	storefront
Description:  	This is a blank child theme for WooThemes StoreFront theme
Version:      	1.0.0
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	storefront
Tags:         	black, white, light, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Storefront is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
FontAwesome License: SIL Open Font License - http://scripts.sil.org/OFL
Images License: GNU General Public License v2 or later
*/
/*
 * Add your own custom css below this text.
 */

/* -----------------------------------------
   Azure CF7 - Typeform-Style Stepper
------------------------------------------ */

.hidden-field {
  display: none !important;
}

.wpcf7-form {
  background: #f7f2ea;
  border: 1px solid #e3d7c5;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(47, 37, 4, 0.08);
  color: #2f2504;
  padding: 1.5rem;
}

.cf7-form-shell {
  --cf7-accent: #9a1f2b;
  --cf7-ink: #2f2504;
  --cf7-muted: #6f614f;
  --cf7-border: #e3d7c5;
  --cf7-bg: #fffdf9;
  --cf7-focus: rgba(154, 31, 43, 0.2);
}

.cf7-progress {
  color: var(--cf7-muted);
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.cf7-step {
  background: var(--cf7-bg);
  border: 1px solid var(--cf7-border);
  border-radius: 14px;
  padding: 1.5rem;
}

.cf7-step-title {
  font-size: 1.35rem;
  margin: 0 0 0.35rem;
}

.cf7-step-help {
  color: var(--cf7-muted);
  margin: 0 0 1.25rem;
}

.cf7-step p {
  margin: 0 0 1rem;
}

.wpcf7-form label,
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
  background: #fff;
  border: 2px solid var(--cf7-border);
  border-radius: 10px;
  color: var(--cf7-ink);
  font-size: 1.05rem;
  padding: 0.85rem 1rem;
  width: 100%;
}

.wpcf7-form input[type="number"] {
  max-width: 120px;
}

.wpcf7-form textarea {
  min-height: 140px;
}

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  border-color: var(--cf7-accent);
  box-shadow: 0 0 0 4px var(--cf7-focus);
  outline: none;
}

.cf7-field-error {
  border-color: #b0302f !important;
  box-shadow: 0 0 0 3px rgba(176, 48, 47, 0.18);
}

.cf7-pizza-grid {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.cf7-pizza-item {
  align-items: center;
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}

.cf7-pizza-item span {
  font-weight: 600;
}

.cf7-pizza-item.is-zero {
  opacity: 0.55;
}

.cf7-stepper-nav {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.cf7-stepper-back,
.cf7-stepper-next,
.wpcf7-form input[type="submit"] {
  border: none;
  border-radius: 999px;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.85rem 1.6rem;
}

.cf7-stepper-next,
.wpcf7-form input[type="submit"] {
  background: #3e6b8a;
  color: #fff;
}

.cf7-stepper-back {
  background: #f0e6d7;
  color: var(--cf7-ink);
}

.cf7-stepper-next:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.cf7-stepper-error {
  background: #fff3f2;
  border: 1px solid #e7b3b0;
  border-radius: 10px;
  color: #9b1c1c;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
}

.wpcf7-response-output {
  background: #f0f7ec;
  border: 1px solid #a8c6a1;
  border-radius: 12px;
  color: #2f2504;
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
}

.cf7-conditional-error {
  background: #fff3f2;
  border: 1px solid #e7b3b0;
  border-radius: 10px;
  color: #9b1c1c;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
}

.wpcf7-not-valid-tip {
  color: #9b1c1c;
  font-size: 0.9rem;
  margin-top: 0.25rem;
}

.wpcf7 form .cf7-event-only,
.wpcf7 form .cf7-quick-only {
  display: none;
}

.wpcf7 form.cf7-mode-event .cf7-event-only {
  display: block;
}

.wpcf7 form.cf7-mode-quick .cf7-quick-only {
  display: block;
}

.cf7-qty-row {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
}

.cf7-qty-row span {
  font-weight: 600;
}

.cf7-qty-row input[type="number"] {
  margin: 0;
  max-width: 120px;
}

@media (min-width: 768px) {
  .wpcf7-form {
    padding: 2rem;
  }

  .cf7-step {
    padding: 2rem;
  }
}
