/**
 * @file elvez-style.css
 * @lastModifiedBy 冨永善視
 * @modified 2025年3月15日
 * @version 1.0.2
 * @description Elvez SDKの標準CSS。
 * @copyright © 2024 株式会社エルブズ. All rights reserved.
 */

/**
 * version: 1.3.4
 */

/**
 * Vars
 */
:root {
    --elv-primary-color: #3F62A7;
    --elv-primary-color-variant-light: #577abf;
    --elv-primary-color-variant-dark: #27407b;
    --elv-on-primary-color: #ffffff;
    --elv-highlight-color: #FFD32D;
    --elv-highlight-color-variant-light: #ffeb45;
    --elv-highlight-color-variant-dark: #e7bb15;
    --elv-on-highlight-color: #000000;
}

/**
 * Layout
 */
.elv-text-center {
	text-align: center !important;
}
.elv-text-left {
	text-align: left !important;
}
.elv-text-right {
	text-align: right !important;
}

/**
  * Space
  */
.elv-mx-auto {
	margin-right: auto !important;
	margin-left: auto !important;
}
.elv-my-auto {
	margin-top: auto !important;
	margin-bottom: auto !important;
}
.elv-ml-auto {
	margin-left: auto !important;
}
.elv-mr-auto {
	margin-right: auto !important;
}
.elv-mt-0 {
    margin-top: 0 !important;
}
.elv-mb-0 {
    margin-bottom: 0 !important;
}
.elv-ml-0 {
    margin-left: 0 !important;
}
.elv-mr-0 {
    margin-right: 0 !important;
}
.elv-mx-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.elv-my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/**
 * Size
 */
.elv-w-25 {
	width: 25% !important;
}
.elv-w-50 {
	width: 50% !important;
}
.elv-w-75 {
	width: 75% !important;
}
.elv-w-100 {
	width: 100% !important;
}


/**
 * Display
 */
.elv-d-block {
	display: block !important;
}
.elv-opacity-100 {
	opacity: 100%;
}
.elv-opacity-50 {
	opacity: 50%;
}
.elv-opacity-0 {
	opacity: 0%;
}


/**
 * Border-radius
 */
.elv-rounded {
	border-radius: 3px !important;
}

/**
 * Background
 */
.elv-bg-primary-grad,
.elv-bg-primary-grad .wp-block-button__link {
    color: var(--elv-on-primary-color) !important;
    background: -webkit-linear-gradient( var(--elv-primary-color-variant-dark), var(--elv-primary-color-variant-light), var(--elv-primary-color-variant-dark) ) !important;
}
.elv-bg-highlight-grad
.elv-bg-highlight-grad .wp-block-button__link {
    color: var(--elv-on-highlight-color) !important;
    background: -webkit-linear-gradient( var(--elv-highlight-color-variant-dark), var(--elv-highlight-color-variant-light), var(--elv-highlight-color-variant-dark) ) !important;
}

/**
 * Button
 */
.elv-button-primary,
.elv-button-primary .wp-block-button__link {
    color: var(--elv-on-primary-color) !important;
    background-color: var(--elv-primary-color) !important;
}
.elv-button-highlight,
.elv-button-highlight .wp-block-button__link {
    color: var(--elv-on-highlight-color) !important;
    background-color: var(--elv-highlight-color) !important;
}
.elv-button-primary-grad,
.elv-button-primary-grad .wp-block-button__link {
    color: var(--elv-on-primary-color) !important;
    background: -webkit-linear-gradient( var(--elv-primary-color-variant-dark), var(--elv-primary-color-variant-light), var(--elv-primary-color-variant-dark) ) !important;
}
.elv-button-highlight-grad,
.elv-button-highlight-grad .wp-block-button__link {
    color: var(--elv-on-highlight-color) !important;
    background: -webkit-linear-gradient( var(--elv-highlight-color-variant-dark), var(--elv-highlight-color-variant-light), var(--elv-highlight-color-variant-dark) ) !important;
}

.elv-prev-button-text:after,
.elv-next-button-text:before {
    white-space: pre-wrap;
    content: '  ';
}
.elv-card-action-area button {
	font-size: 100%;
}
.elv-card button:focus,
.elv-card button:hover,
.elv-modal button:focus,
.elv-modal button:hover {
    text-decoration: none;
}
.elv-card button:disabled,
.elv-modal button:disabled {
    opacity: 65%;
}

/**
 * Nav
 */
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: var(--elv-on-primary-color);
    background-color: var(--elv-primary-color);
}


/**
 * Card
 */
 .elv-card .card-body:not(:last-child) {
	border-bottom: 1px solid #dee2e6!important;  /* bootstrap border-bottom */
 }
 .elv-card .card-header {
	max-height: 2em;
    overflow: hidden;
 }

 .elv-card-media-area img,
 .elv-card-media-area iframe {
	height: 8em;
 }
 .elv-card-text-area {
	height: 4em;
	overflow: scroll;
 }
 .elv-card-action-area button:not(last-child) {
    margin-bottom: 1rem;
}

/**
 * Modal
 */

 @media (max-height:667px) {
    .elv-modal {
        font-size: 80%;
    }
    .elv-modal .elv-modal-tab-wrapper {
        height: 4rem;
    }
    .elv-modal .elv-modal-footer-wrapper {
        height: 4rem;
    }
}

 .elv-modal button:focus,
 .elv-modal button:hover {
     text-decoration: none;
 }

.elv-modal .modal-header .header-left-icon-wrapper {
    position: absolute;
    left: 1rem;
}
.elv-modal .modal-header .header-left-icon {
    line-height: inherit;
}

.elv-modal .modal-body {
    /** header (5rem) + tab (5rem) + footer (5rem) */
    max-height: calc( 100vh - 15rem );
    overflow: scroll;
}

/** Media Area */
.elv-modal .elv-card-media-area img,
.elv-modal .elv-card-media-area iframe {
        max-height: 15vh;
}

/** Action Area */
.elv-modal .elv-card-action-area {
    overflow: scroll;
    max-height: 45vh;
}

/** Modal Tab */
.elv-modal .elv-modal-tab-wrapper {
    display: flex;
    justify-content: space-evenly;
    height: 5rem;
}
.elv-modal .elv-modal-tab-wrapper button {
    width: 100%;
    height: 100%;
    font-size: 100%;
}
.elv-modal .elv-modal-tab-wrapper button:not(:last-child) {
    margin-right: 1rem;
}

/** Modal Footer*/
.elv-modal .elv-modal-footer-wrapper {
    position: relative;
    width: 100%;
    height: 5rem;
}
.elv-modal .elv-modal-footer-wrapper button {
    font-size: 100%;
}
.elv-modal .elv-modal-footer-wrapper button span {
    display: block;
}
.elv-modal .elv-modal-footer-wrapper .elv-modal-back-button {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 20%;
}
.elv-modal .elv-modal-footer-wrapper .elv-modal-submit-button,
.elv-modal .elv-modal-footer-wrapper .elv-modal-close-button {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 50%;
}
.elv-modal .elv-modal-footer-wrapper .elv-modal-action-button {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 20%;
}


.elv-modal .elv-modal-close-button,
.elv-modal .elv-modal-back-button {
    background-color: var(--elv-primary-color);
    color: var(--elv-on-primary-color);
}
.elv-modal .elv-modal-submit-button {
    background-color: var(--elv-highlight-color);
    color: var(--elv-on-highlight-color);
}
.elv-modal .elv-modal-submit-button:disabled,
.elv-modal .elv-modal-close-button:disabled {
    background-color: #6c757d; /* bootstrap bg-secondary */
    color: var(--elv-on-primary-color);
}


.elv-modal .elv-list-modal-body {
    max-height: calc(100vh - 16rem);
    overflow: scroll;
}

.elv-modal.modal-bottom .modal-dialog {
    position: absolute;
    bottom: 0;
    width: calc(100vw - 1rem);
}

.elv-modal.modal-bottom.fade .modal-dialog {
    transform: translateY(100%);
}
.elv-modal.modal-bottom.show .modal-dialog {
    transform: inherit;
}

@media (min-width:580px) {
    .elv-modal.modal-bottom .modal-dialog {
        left: 50%;
    }
    .elv-modal.modal-bottom.fade .modal-dialog {
        transform: translate(-50%, 100%);
    }
    .elv-modal.modal-bottom.show .modal-dialog {
        transform: translate(-50%);
    }
}

.elv-message-modal-subtitle {
    font-weight: 700;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-size: 1.25em;
    color: var(--elv-primary-color);
}


/* Refer from wp-content/themes/twentytwenty/style.css?ver=1.5 */
.elv-label {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
}

@supports ( font-variation-settings: normal ) {
	.elv-label {
		font-family: "Inter var", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, sans-serif;
	}
}

/* WP */
.wp-block-button.elv-w-100 .wp-block-button__link {
	width: 100% !important;
}
.wp-block-button.elv-rounded .wp-block-button__link {
	border-radius: 3px !important;
}

input.wpcf7-submit[type="submit"] {
    color: var(--elv-on-primary-color);
    background-color: var(--elv-primary-color);
    border-radius: 3px!important;
}

.entry-content .form-row {
    display: inherit;
    margin-right: inherit;
    margin-left: inherit;
}

/* Woocommerce */
.woocommerce .col-1,
.woocommerce .col-2 {
	max-width: none;
	padding-right: 0px;
	padding-left: 0px;
}

/**
 * Compartibule Bootstrap 4
 */
.font-weight-bold {
    font-weight: 700!important;
}
.text-left {
    text-align: left!important;
}
.text-right {
    text-align: right!important;
}